Softwares and tutorials


You can find some tutorials of my codes in this google site.

I have developed a few Fortran codes in my research. Most of them are (or will be) made user-friendly, and will be publicly available. If you are interested, please feel free to contact me for a possible beta version.

  1.   21cm Cosmology Forecast code: this code computes the Fisher matrix of 21cm power spectra with respect to cosmological as well as ionization parameters for a number of 21cm interferometer arrays (MWA, LOFAR, SKA, FFTT), and then predicts the accuracy with which 21cm power spectra can put constraints on these parameters. Developed in the 21cm forecast paper.

  1. SPAM (“Smoothing Particles Adaptively to a Mesh”) code: this code smoothes the massively MPI-parallelized N-body particle data to a regular grid of any size downward to the N-body particle resolution, using adaptive smoothing kernels, and outputs the grid results in the slab decomposition (i.e. the array is divided according to the column [last dimension] of the data). It can also compute the power spectra of density fluctuations, and  velocity fluctuations, and halo bias, using MPI FFTW2.1.5 library.

  1.   PPM-RRM (“Particle-to-Particle-to-Mesh Real-to-Redshift-space-Mapping”) code: this code maps N-body particles from their real-space to redshift-space locations, smoothes their particle data (particle masses, velocities, and ionization fraction of their radiative-transfer cells) onto a regular grid in redshift-space, and finally outputs a reshift-space 21cm brightness temperature cube as seen by an observer and computes the three-dimensional power spectrum of 21cm fluctuations in redshift-space in the optically-thin approximation. See the flowchart in Figure 5 of Mao et al. 2011

  1.   MM-RRM (“Mesh-to-Mesh Real-to-Redshift-space-Mapping”) code: this code is similar to the PPM-RRM code, but based on real-space grid data, i.e. it maps real-space grid cells to the redshift space, with boundaries distorted by peculiar velocity, and then re-smooth the cell density to a regular grid in redshift space.  It outputs the same quantities as the PPM-RRM code. The MM-RRM scheme is computationally more efficient than the PPM-RRM scheme but generically less accurate. However, we demonstrate that MM-RRM can be optimized so as to achieve sufficient accuracy, so it is ideal for practical implementation of numerical data. See the flowchart in Figure 6 of Mao et al. 2011. Both PPM-RRM and MM-RRM codes were developed in this 21cm methodology paper.