rotate_alm*


This routine transform the scalar (and tensor) alm coefficients to emulate the effect of an arbitrary rotation of the underlying map. The rotation is done directly on the alm using the Wigner rotation matrices, computed by recursion. To rotate the alm for $l\leq l_{\rm max}$ the number of operations scales like $l^3_{\rm max}$.

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


FORMAT

call rotate_alm*( nlmax, alm_TGC, psi, theta, phi )


ARGUMENTS

name & dimensionality kind in/out description
       
nlmax I4B IN maximum l value for the alm.
alm_TGC(1:p,0:nlmax,0:nlmax) SPC/ DPC INOUT complex alm values before and after rotation of the coordinate system. The first index here runs from 1:1 for temperature only, and 1:3 for polarisation. In the latter case, 1=T, 2=E, 3=B.
psi DP IN first rotation: angle $\psi$ about the z-axis. All angles are in radians and should lie in [-2$\pi$,2$\pi$], the rotations are active and the referential system is assumed to be right handed, the routine coordsys2euler_zyz can be used to generate the Euler angles $\psi, \theta, \varphi
$ for rotation between standard astronomical coordinate systems;
theta DP IN second rotation: angle $\theta$ about the original (unrotated) y-axis;
phi DP IN third rotation: angle $\varphi$ about the original (unrotated) z-axis;


EXAMPLE:

use alm_tools, only: rotate_alm
...
call rotate_alm(64, alm_TGC, PI/3., 0.5_dp, 0.0_dp)
Transforms scalar and tensor alm for $l_{\rm
max}=m_{\rm max} = 64$ to emulate a rotation of the underlying map by ( $\psi=\pi/3, \theta=0.5, \varphi=0 $).


EXAMPLE:

use coord_v_convert, only: coordsys2euler_zyz
use alm_tools, only: rotate_alm
...
call coordsys2euler_zyz(2000.0_dp, 2000.0_dp, 'E', 'G', psi, theta, phi)
call rotate_alm(64, alm_TGC, psi, theta, phi)
Rotate the alm from Ecliptic to Galactic coordinates.


RELATED ROUTINES

This section lists the routines related to rotate_alm*

coordsys2euler_zyz
can be used to generate the Euler angles $\psi, \theta, \varphi
$ for rotation between standard astronomical coordinate systems
create_alm
Routine to create alm coefficients.
alter_alm
Routine to modify alm coefficients to apply or remove the effect of an instrumental beam.
map2alm
Routines to analyze a HEALPix sky map into its alm coefficients.
alm2map
Routines to synthetize a HEALPix sky map from its alm coefficients.
alms2fits, dump_alms
Routines to save a set of alm in a FITS file.
xcc_v_convert
rotates a 3D coordinate vector from one astronomical coordinate system to another.

Version 3.31, 2017-01-06