remove_dipole*

This routine provides a means to fit and remove the dipole and monopole from a HEALPix map. The fit is obtained by solving the linear system

$\displaystyle \sum_{j=0}^{d^2-1}\ A_{ij}\ f_j = b_i$ (19)

with, $d=1$ or $2$, and

$\displaystyle b_i \equiv \sum_{p \in \cal{P}} s_i(p) w(p) m(p),$ (20)

$\displaystyle A_{ij} \equiv \sum_{p \in \cal{P}} s_i(p) w(p) s_j(p),$ (21)

where $\cal{P}$ is the set of valid, unmasked pixels, $m$ is the input map, $w$ is pixel weighting, while $s_0(p) = 1$ and $s_1(p)=x,\ s_2(p)=y,\ s_3(p)=z$ are respectively the monopole and dipole templates. The output map is then

$\displaystyle m'(p) = m(p) - \sum_{i=0}^{d^2-1} f_i s_i(p).$ (22)

Location in HEALPix directory tree: src/f90/mod/pix_tools.F90 


FORMAT

call remove_dipole*( nside, map, ordering, degree, multipoles, zbounds[, fmissval, mask, weights] )


ARGUMENTS

name & dimensionality kind in/out description
       
nside I4B IN value of $N_{\mathrm{side}}$ resolution parameter for input map
map(0:12*nside*nside-1) SP/ DP INOUT HEALPix map from which the monopole and dipole will be removed. Those are removed from all unflagged pixels, even those excluded by the cut zounds or the mask.
ordering I4B IN HEALPix scheme 1:RING, 2: NESTED
degree I4B IN multipoles to fit and remove. It is either 0 (nothing done), 1 (monopole only) or 2 (monopole and dipole).
multipoles(0:degree*degree-1) DP OUT values of best fit monopole and dipole. The monopole is described as a scalar in the same units as the input map, the dipole as a 3D cartesian vector, in the same units.
zbounds(1:2) DP IN section of the map on which to perform the fit, expressed in terms of $z=\sin({\rm latitude}) =
\cos(\theta)$. If zbounds(1)$<$zbounds(2), it is performed on the strip zbounds(1)$<z<$zbounds(2); if not, it is performed outside the strip zbounds(2)$\le z \le$zbounds(1). If absent, the whole map is processed.
fmissval (OPTIONAL) SP/ DP IN value used to flag bad pixel on input default:-1.6375e30. Pixels with that value are ignored during the fit, and left unchanged on output.
mask(0:12*nside*nside-1) (OPTIONAL) SP/ DP IN mask of valid pixels. Pixels with $\vert$mask $\vert<10^{-10}$ are not used for fit. Note: the map is not multiplied by the mask.
weights(0:12*nside*nside-1) (OPTIONAL) SP/ DP IN weight to be given to each map pixel before doing the fit. By default pixels are given a uniform weight of 1. Note: the output map is not multiplied by the weights.


EXAMPLE:

s = sin(15.0_dp * DEG2RAD)
call remove_dipole*(128, map, 1, 2, multipoles, (/ s, -s /) )
Will compute and remove the best fit monopole and dipole from a map with $N_{\mathrm{side}}=128$ in RING ordering scheme. The fit is performed on pixels with $\vert b\vert>15^o$.


MODULES & ROUTINES

This section lists the modules and routines used by remove_dipole*.

pix_tools
module, containing:


RELATED ROUTINES

This section lists the routines related to remove_dipole*

add_dipole
routine to add a dipole and monopole to a map.

Version 3.82, 2022-07-28