| name & dimensionality | kind | in/out | description | 
|---|
|  |  |  |  | 
| nside | I4B | IN | value of  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  . If zbounds(1)  zbounds(2), it is
performed on the strip zbounds(1)  zbounds(2); if not,
it is performed outside the strip
zbounds(2)  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  mask  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. | 
s = sin(15.0_dp * 
DEG2RAD) 
call 
remove_dipole*(128, map, 1, 2, multipoles, (/ s, -s /) )