generate_beam

This routine generates the beam window function in multipole space. It is either a gaussian parametrized by its FWHM in arcmin in real space, or it is read from an external file.

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


FORMAT

call generate_beam( fwhm_arcmin, lmax, beam[, beam_file] )

Arguments appearing in italic are optional.


ARGUMENTS

name & dimensionality kind in/out description
       
fwhm_arcmin DP IN fwhm size of the gaussian beam in arcminutes.
lmax I4B IN maximum $\ell$ value of the window function.
beam(0:lmax,1:p) DP OUT beam window function generated. The second index runs form 1:1 for temperature only, and 1:3 for polarisation. In the latter case, 1=T, 2=E, 3=B.
beam_file(LEN=filenamelen) (OPTIONAL) CHR IN name of the file containing the (non necessarily gaussian) window function $B_\ell$ of a circular beam. If present, it will override the argument fwhm_arcmin. If fewer columns than requested are found in the file, missing colums will duplicate the existing ones (based on the assumption that $B_\ell$ is the same in T, E and B). Supports the fitsio 'Extended Filename Syntax' (see examples below).


EXAMPLE:

use healpix_modules
real(dp), dimension(0:1024, 1:3) :: gb0, b1, b2, b3
call generate_beam(5.0_dp, 1024, gb0)
call generate_beam(0_dp, 1024, b1, beam_file='file.fits')
call generate_beam(0_dp, 1024, b2, beam_file='file.fits[col 1]')
call generate_beam(0_dp, 1024, b3, beam_file='file.fits[col 1; 2=0; 3=0]')
gb0 will contain the window function of a gaussian beam of FWHM = 5 arcmin, for $\ell
\leq 1024$.
b1 will contain the first 3 columns (if available) of file.fits. If the file contains only two columns, then b1(:,3) = b1(:,2), and if it contains a single column, then b1(:,3) = b1(:,2) = b1(:,1).
b2 will be based on a virtual FITS file containg only the first column of file.fits, and we will have b2(:,3) = b2(:,2) = b2(:,1).
Finally b3 will read a virtual FITS file in which the first column is the same as in file.fits, while the columns 2 and 3 are set to 0. Therefore b3(:,3) = b3(:,2) = 0.


MODULES & ROUTINES

This section lists the modules and routines used by generate_beam.

alm_tools
module, containing:
gaussbeam
routine to generate a gaussian beam


RELATED ROUTINES

This section lists the routines related to generate_beam

create_alm
Routine to create $a_{\ell m}$ coefficients using generate_beam.
alter_alm
Routine to alter $a_{\ell m}$ coefficients using generate_beam.
pixel_window
Routine returning a pixel window function.

Version 3.83, 2024-11-13