Closed DeaglanBartlett closed 5 days ago
This is part of https://github.com/maho3/ltu-gobig/issues/18
Pinocchio can now be run as a member of the nbody
models, e.g.:
python -m cmass.nbody.pinocchio nbody=quijote_z0
This is set up so that it can take the quijote white noise field or create its own field. The following power spectrum and cross-spectrum comparison demonstrates that these are being read correctly:
These are computed by reading the particles outputted in a snapshot and creating a density field from them. Note that a transpose is required to align the density field with what quijote has, which is the usual x-z ambiguity that arises when reading gadget files. We should finalise how we want this to be dealt with (particularly for the halo catalogues) before merging these commits.
We can see an oscillation in the ratio of the power spectra. This is likely due to us using the Eisenstein and Hu transfer function initially rather than something more accurate (see https://github.com/maho3/ltu-gobig/issues/15). This is not problematic as one of the remaining "To Do"s is to allow any transfer function to be used.
Indeed, the wiggles were due to using Eisenstein & Hu rather than a Boltzmann solver. Now any of E&H, camb or class can be used to compute this initial power spectrum. For class, we have:
and the same is seen for camb.
All halo catalog outputs at the redshift of interest are now produced in the pipeline.
Testing at redshift 0 and comparing to quijote, we obtain reasonable agreement for the halo mass function:
although there are more Quijote halos (2305) in this mass range than Pinocchio (2105). The distribution of halos matches reasonably too:
with a slight normalisation problem perhaps due to the different number of halos.
The velocity distribution is also reasonable:
and the cross correlation of the field produced by gridding components of the velocity demonstrates that the orientation of the axes is correct (see earlier comment):
This should be checked at a non-zero redshift before merging. Note that Pinocchio can also generate lightcone data, so maybe we want to use this functionality too.
Note: The minimum halo mass is quite large for these settings, so any realistic run needs higher resolution.
The histogram of velocities also looks good at redshift=0.5, so no 1+z factors appear to be missing:
As an alternative to the forward models created in LtU, we wish to use pre-existing methods to compare against. In this issue we wish to create halo catalogues using pinnochio https://github.com/pigimonaco/Pinocchio. This will require us to make a parameter file which matches the format for pinnochio, run the executable and output the halo catalog to the correct format. There is also an inbuilt lightcone maker which may be useful. The initial first steps are:
camb
and/orclass
;syren-halofit
.