anafast
Anafast reads a file containing the maps(s) and produces a file containing the temperature power spectrum CTl and, if requested, also the polarisation power spectra CEl, CBl and CT×El. The alm coefficients computed during the execution also can be written to a file if requested.
Anafast executes an approximate, discrete point-set quadrature on
a sphere
sampled at the HEALPix pixel centers.
Spherical harmonic transforms are computed
using recurrence relations for Legendre polynomials on co-latitude,
,
and Fast Fourier Transforms on longitude,
.
Anafast is provided with an option to use precomputed Legendre Polynomials to decrease the total execution time.
Anafast permits two execution options which allow a significant improvement of accuracy of the approximate quadrature performed by this facility:
An improved analysis using the provided ring weights,
which correct the quadrature
on latitude, and/or
An iterative scheme using in
succession several backward and forward harmonic transforms
of the maps.
Location in HEALPix directory tree:
src/f90/anafast/anafast.f90
Execution of anafast requires a user to specify the maximum spherical harmonic order lmax up to which the harmonic decomposition of the input maps will be performed. Since there are no formal limits on parameter lmax enforced by anafast, the user should make his/her choices judiciously. Hereafter it is convenient to specify lmax in terms of the HEALPix map resolution parameter nsmax.If the function to be analysed is strictly band-width limited, or nearly band-width limited (as in the case of a Gaussian beam smoothed signal discretized at a rate of a few pixels per beam area), it is sufficient to run anafast with lmax
2 . nsmax, with a very good Cl error performance already in the raw (i.e. uncorrected quadrature) harmonic transform mode. If quadrature corrections are still desired in this case, it should be sufficient to use, at no extra cost in execution time, the ring-weighted quadrature scheme. This is the recommended mode of operation of anafast for essentially error and worry free typical applications, e.g. CPU-intensive Monte Carlo studies.
If more aggressive attempts are undertaken to extract from a map the spectral coefficients at l > 2 . nsmax (for example, as in a possible case of an attempt to analyse an existing map, which was irreversibly binned at a suboptimal resolution) the following should be kept in mind:
Spherical harmonics discretized using HEALPix (either sampled at pixel centers, or avaraged over pixel areas) form a linearly independent system up lmax = 3 . nsmax - 1. Hence, the functions which are strictly band-width limited to lmax = 3 . nsmax - 1 can be fully spectrally resolved with anafast, albeit with integration errors in the uncorrected quadrature mode, which grow up to
, with
< 0.1, at the highest values of l. These integration errors can be efficiently reduced using anafast in the iterative mode. Although this lmax range -- 2 . nsmax < lmax < 3 . nsmax - 1 -- is easily manageable with anafast used on strictly band-width limited functions, it should be used with caution in basic and automated applications, e.g. Monte Carlo simulations.
As with any discrete Fourier transform, anafast application to functions which are not band-width limited results with aliasing of power, which can not be remedied. If the particular case of interest may result in such a band-width violation (i.e. there is significant power in the function at l > 3 . nsmax - 1), the function should be smoothed before the application of anafast, or discretized and then analysed, on a refined HEALPix grid (with larger nsmax).
REMEMBER: A peculiar property of the sphere, which usually surprizes those whose intuition is built on experience with FFTs on a segment, or on a Euclidean multidimensional domains, is the lack of a regular and uniform point-set at arbitrary resolution, and the resulting non-commutativity of the forward and backward discrete Fourier transforms on nearly-uniform point-sets, e.g. HEALPix . Hence, as in any case of attempting an extreme application of an off-the-shelf software, use caution and understand your problem well before executing anafast under such cicumstances!
% anafast
Anafast reads a binary FITS-file containing a HEALPix map. This file can contain a temperature map or both temperature and polarisation (Q,U) maps. Anafast analyses the map(s) and makes an output ascii-FITS file containing the CTls (and CEl, CBl, CT×El if specified). Anafast produces Cls up to a specified maximum l-value (see Recommendations for Users). If requested, the computed alm coefficients can be written to a FITS file. This file can be used in the constrained realisation mode of synfast.Anafast permits two execution modes that allow to improve the quadrature accuracy: (1) the ring weight corrected quadrature, and (2) the iterative scheme. Using the ring weights does not increase the execution time. The precomputed ring weights to be used for each HEALPix resolution nsmax are provided in the Healpix/data directory. The more sophisticated iterative scheme increases the accuracy more effectively than the weighted ring scheme, but its disadvantage is that the time for the analysis increases, 1 iteration takes 3 times as long, 2 iterations 5 times as long on so forth, since each order of iteration requires one more forward and backward transform.
The spherical harmonics evaluation uses a recurrence on associated Legendre polynomials Plm(
). This recurrence consumes most of the CPU time used by anafast. We have therefore included an option to load precomputed values for the Plm(
) from a file generated by the HEALPix facility plmgen. This represents a tradeoff between memory usage and execution speed of anafast.
Dataset | Description |
---|---|
data/weight_ring_n0xxxx.fits | Files containing ring weights for the anafast improved quadrature mode. |
anafast |
Anafast runs in interactive mode -- self-explanatory.
anafast filename |
When `filename' is present, anafast enters the non-interactive mode and parses its inputs from the file `filename'. This has the following structure: the first entry is a qualifier which announces to the parser which input immediately follows. If this input is omitted in the input file, the parser assumes the default value. If the equality sign is omitted, then the parser ignores the entry. In this way comments may also be included in the file. In this example, the file contains the following qualifiers:
simul_type = 1
nlmax = 64
theta_cut_deg = 0
iter_order = 0
infile = map.fits
outfile = cl_out.fits
regression = 0
Anafast reads the map from map.fits, makes an analysis and produces CTls up to l=64. This powerspectrum is saved in the file cl_out.fits. No galactic cut is excised and no iterations are performed. As regression is set to 0 (its default value) the map is analyzed as is, without prior best fit removal of the monopole nor the dipole.
Since outfile_alms
w8file
w8filedir
plmfile
were omitted, they take their default values (empty strings). This means that no file for precomputed Legendre polynomials is read and anafast does not save the alm values from the analysis.Also since won
is not given, it takes it default value 2, which means that ring weights are not used.
![]()
- Initial release (HEALPix 0.90)
![]()
- Optional non-interactive operation. Proper FITS file support. Improved reccurence algorithm for Plm(
) which can compute to higher l values. New functionality: arbitrary order of iterations, precomputed Plm, dumping of alm. (HEALPix 1.00)
![]()
- New functionality : possibility of removing the best fit monopole and dipole. New Parser. Can be linked to FFTW (HEALPix 1.20)
Message | Severity | Text |
---|---|---|
can not allocate memory for array xxx | Fatal | You do not have sufficient system resources to run this facility at the map resolution you required. Try a lower map resolution. |
Eric Hivon 2003-02-07