Subsections

Older Changes

Changes between releases 3.00 and 3.40

Version 3.40

* The facilities anafast and smoothing now support pixel-based quadrature weights. Introduction of the supporting nside2npweights, unfold_weightsfile, get_healpix_weight_file, get_healpix_pixel_weight_file.
* The subroutine input_map in its default mode test the value of the POLCCONV FITS keyword when reading a polarized map, and interpret the polarization accordingly, as described in the note on POLCCONV in The HEALPix Primer.
* median subroutine: faster by moving an internal array from heap to stack; does not crash anymore when dealing with empty data sets.

Version 3.31

* Bug correction in input_map routine for reading of polarized multi-HDU cut sky FITS files;
* Introduction of winfiledir_* and windowfile_* qualifiers in alteralm facility.

Version 3.30

* new routines nest2uniq and uniq2nest for conversion of standard pixel index to/from Unique ID number. See ”The Unique Identifier scheme” section in HEALPix Introduction Document” for more details.
* alm2cl can now produces nine spectra (TT, EE, BB, TE, TB, EB, ET, BT and BE), instead of six previously, when called with two sets of polarized $a_{\ell m}$ and can also symmetrize the output $C(\ell)$ if requested
* the $a_{\ell m}$ generated by create_alm can now take into account non-zero (exotic) TB and EB cross-spectra (option polar=2) if the input FITS file contains the relevant information
* addition of asym_cl optional keyword in write_minimal_header routine
* addition of extno optional keyword in write_asctab routine to write in arbitrary HDU
* improved repeat behavior in write_bintabh routine
* edited map2alm_iterative routine to avoid a bug specific to Intel's Ifort 15.0.2
* CFITSIO version 3.20 (August 2009) or more now required

Version 3.20

* HEALPix-F90 routines and facilities can now also be compiled with the free Fortran95 compiler g95 (www.g95.org)
* a separate build directory is used to store the objects, modules, ... produced during the compilation of the source codes
* bug correction in query_disc for some very small discs in standard mode
* improved handling of long FITS keywords, now producing FITS files fully compatible with the PyFITS and Astropy (https://www.astropy.org) Python libraries
* improved FITS file parsing in generate_beam, affecting the external $B(\ell)$ reading in the F90 facilities alteralm, synfast, sky_ng_sim, smoothing.

Version 3.11

* libsharp C routines used for Spherical Harmonics Transforms and introduced in HEALPix 3.10 can now be compiled with any gcc version.
* bug correction in query_disc routine in inclusive mode
* bug correction in alm2map_spin routine, which had its spin value set to 2

Version 3.10

* Support for cfitsio ”Extended File Name Syntax”, and usage of libsharp Spherical Harmonics Transform library. See ”Fortran Facilities” for details.
* Faster Spherical Harmonics Transform routines thanks to libsharp C routines1.

Changes up to release 3.00


Version 3.00

* all input FITS files can now be compressed (with a .gz, .Z, .z, or .zip extension) and/or remotely located (with a ftp:// or http:// prefix). Besides, the fits2cl routine, used to read external beam window functions from FITS files, supports (part of) the CFTISIO Extended File Name Syntax in order to read an arbitrary extension identified by its number or its name.
Version 3.14 (March 2009) or newer of CFITSIO is required for HEALPix 3.00.
* new code process_mask and new module mask_tools containing the routines dist2holes_nest, fill_holes_nest, maskborder_nest, size_holes_nest useful for mask apodization,
* improved accuracy of the co-latitude calculation in the vicinity of the poles at high resolution in nest2ring, ring2nest, pix2ang_*, pix2vec_*, $\ldots$,
* the pixel query routine query_disc has been improved and will return fewer false positive pixels in the inclusive mode.


Version 2.20

* Spherical Harmonics Transform routines now transparently call libpsht C routines, leading to a significant (2 to 4) speed-up factor. This concerns temperature and polarized transforms (alm2map, map2alm) without precomputation of the $P_{\ell m}$ as well as spin weighted (alm2map_spin, map2alm_spin) transforms for $0 < \vert s\vert \le 100$, but not the generation of spatial derivatives (alm2map_der) which still uses the original F90 code. The compilation and linking to libpsht, now shipped with HEALPix , is done automatically, without any extra download or installation for the user2.

* All routines for Spherical Harmonics Transforms and most routines for pixel manipulations ( ang2xxx, pix2xxx, vec2xxx, $\ldots$, nside2npix, npix2nside, nside2ntemplates, $\ldots$) pixel queries ( query_*, $\ldots$) and FITS I/O (input_map, output_map, read_bintab, write_bintab, $\ldots$) of sky maps now support resolution parameters Nside> 8192. This means that the number of pixels and the pixel indexes can now be stored in either integer(I4B) or integer(I8B) variables (on systems supporting 64 bit variables).
The reading and writing of $a_{\ell m}$ containing files remains limited to $\ell < 46340 $, though. This restriction does not apply to $C(\ell)$ containing files.

* As a positive side effect of their upgrade, the F90 pixel/coordinate conversion routines are now up to 20% faster.

* Introduction of long_count and long_size functions.

Version 2.14

* In alm2map_der routine, a numerical bug affecting the accuracy of the Stokes parameter derivatives $\partial X/\partial\theta$, $\partial^2 X/(\partial\theta\partial\phi\sin\theta)$, $\partial^2 X/\partial \theta^2$, for X=Q,U has been corrected. See ”Fortran Facilities” Appendix for details.

Versions 2.10 and 2.13

* New functions in version 2.13:
* get_healpix_data_dir, get_healpix_main_dir, get_healpix_test_dir return full path to HEALPix directories.
* New routines in version 2.10:
* alm2map_spin: synthesis of maps of arbitrary spin
* map2alm_iterative: iterative analysis of map
* map2alm_spin: analysis of maps of arbitrary spin
* healpix_modules: meta-module
* write_minimal_header: routine to write minimal FITS header
* parse_check_unused: prints out parameters present in parameter file but not used by the code.
* Improved routines:
* query_strip: the inclusive option now returns all (and only) the pixels overlapping, even partially, with the strip
* query_disc: when the disc center is on one of the poles, only the pixels overlapping with the disc are now returned.
* remove_dipole: can now deal with non-uniform pixel weights.
* parse_init: silent mode
* parse_string: can expand environment variables (${XXX}) and leading ~$\!$/

Version 2.0

Some new features have been added
* Most routines dealing with maps and $a_{\ell m}$ (eg, create_alm, map2alm, alm2map, convert_inplace, convert_nest2ring, udgrade_nest, udgrade_ring) or inputting or outputting data (read_*, write_*) now accept both single and double precision arguments.
* The routines map2alm and remove_dipole can now deal with non-symmetric azimuthal cut sky. For backward compatibility, the former calling sequence is still accepted.
* most routines are now parallelized with OpenMP (for shared memory architecture), and some of them are also parallelized with MPI (for distributed memory architecture)

Some new routines have been introduced since version 1.2, as listed below.

* New routines in version 2.0
* add_dipole, alm2cl, alm2map_der, fits2cl (replaces read_asctab), nside2ntemplates, plm_gen, rand_gauss, rand_init, rand_uni, same_shape_pixels_nest, same_shape_pixels_ring, template_pixel_nest, template_pixel_ring, write_plm (replaces write_dbintab).
* New modules or modules with new name
* misc_utils: assert, assert_alloc, assert_directory_present, assert_not_present, assert_present, fatal_error, file_present, string, strupcase, strlowcase, upcase, lowcase, wall_clock_time, brag_openmp
* rngmod: rand_gauss, rand_init, rand_uni

* The following routines are superseded.
* read_asctab (replaced by fits2cl)
* write_dbintab (replaced by write_plm)

Version 1.2

Some new routines have been introduced since version 1.1, as listed below.

* New routines in version 1.2
* angdist, complex_fft, concatnl, del_card, get_card, getargument, getenvironment, input_tod*, nArguments, parse_double, parse_init, parse_int, parse_lgt, parse_long, parse_real, parse_string (see parse_xxx), query_disc (replaces getdisc_ring), query_polygon, query_strip, query_triangle, read_fits_cut4, real_fft, scan_directories, surface_triangle, vect_prod, write_bintabh, write_fits_cut4,

* New modules or modules with new name
* the modules extension (C extensions), healpix_fft (FFT operations), paramfile_io (parameter parsing) have been introduced,
* the module wrap_fits has been renamed head_fits to reflect its extended capabilities in manipulating FITS headers.

* The following routines are superseded. They have been moved to the obsolete module.
* ask_inputmap, ask_outputmap, ask_lrange (initially in fitstools module)
* setpar, getpar, anafast_parser, anafast_setpar, anafast_getpar, hotspots_parser, hotspots_setpar, hotspots_getpar, udgrade_parser, udgrade_setpar, udgrade_getpar, smoothing_parser, smoothing_setpar, smoothing_getpar (initially in utilities module).

Version 3.50, 2018-12-10