-
Notifications
You must be signed in to change notification settings - Fork 18
Tutorial: Generating Mock Catalogs with Lightcones
Suppose that you want to create a catalog of galaxies as would be found in a survey of an area of the sky out to some redshift. Such a “mock catalog” can be built by populating with galaxies all of the dark matter halos which happen to lie within the cone which that area makes as it is projected from the observer through the Universe.
Generating such a mock catalog using Galacticus involves first extracting the halos (and their merger trees) within this “lightcone” from a suitable N-body simulation, and then processing them through . In this tutorial, we will specifically make use of the Millennium Simulation database to provide the merger trees, but the same principles apply to any N-body simulation.
The script, scripts/aux/Millennium_Lightcone_Grab.pl
can
be used to retrieve merger trees that intersect a given lightcone from
the Millennium Database and to store them in ’s format (see
here).
The script is used as follows:
scripts/aux/Millennium_Lightcone_Grab.pl <lightconeDirectory> <fieldSize> <maximumRedshift>
--user <myUserName> --password <myPassword> --treesPerFile <treesPerFile>
Here, <lightconeDirectory>
is the name of a
(pre-existing) directory into which merger tree data will be stored,
<fieldSize>
is the length (in degrees) of one side of
the square field of view of the lightcone,
<maximumRedshift>
is the highist redshift for which
halos should be included in the catalog. The --user
and
--password
options allow you to specify your username and
password for accessing the Millennium Simulation database. Finally, the
--treesPerFile
specifies how many merger trees should be
stored in each file (the script will split the lightcone between many
files—this is primarily so that each request sent to the Millennium
Database server is not too large). If no value is specified a default of
200 trees per file will be used.
The script generates multiple SQL queries to the Millennium database in
order to first find all halos which intersect the lightcone and second
to retrieve the complete merger tree associated with each such halo.
These merger trees are then stored in ’s merger tree file format in
files named Lightcone_Trees_AAA:BBB.hdf5
in the given
<lightconeDirectory>
, where AAA
and
BBB
are numbers giving the first and last trees in the
file5.
Each of the merger tree files created can then be run through Galacticus in the
usual way (see the tutorial on "Using N-body Merger Trees"). Outputs should be requested at every
Millennium snapshot (up to the largest redshift to be considered), and
the lightcone
filter should be used to cause only those
galaxies which intersect the lightcone to be output—for example:
<!-- Set output redshifts to the snapshots in the Millennium Simulation. -->
<outputRedshifts value=
"0.0000 0.0199 0.0414 0.0645 0.0893 0.1159 0.1444 0.1749 0.2075 0.2425
0.2798 0.3197 0.3623 0.4079 0.4566 0.5086 0.5642 0.6236 0.6871 0.7550
0.8277 0.9055 0.9887 1.0779 1.1734 1.2758 1.3857 1.5036 1.6303 1.7663
1.9126 2.0700 2.2395 2.4220 2.6189 2.8312 3.0604 3.3081 3.5759 3.8657
4.1795 4.5196 4.8884 5.2888 5.7239 6.1968"
/>
<!-- Add a lightcone filter with the required geometry -->
<mergerTreeOutput>
<galacticFilter value="lightcone"/>
</mergerTreeOutput>
<!-- Switch on output of lightcone data -->
<outputLightconeData value="true"/>
<!-- Prune away trees not appearing in the lightcone -->
<mergerTreeOperator value="pruneLightcone"/>
<!-- Specify lightcone geometry -->
<geometryLightcone value="square">
<origin value="0 0 0"/>
<unitVector1 value=" 1 1 1"/>
<unitVector2 value=" 0 1 -1"/>
<unitVector3 value="-2 1 1"/>
<lengthReplication value="500"/>
<lengthHubbleExponent value="-1"/>
<lengthUnitsInSI value="3.08567758135e22"/>
<angularSize value="0.5"/>
<timeEvolvesAlongLightcone value="true"/>
<redshift value=
"0.0000 0.0199 0.0414 0.0645 0.0893 0.1159 0.1444 0.1749 0.2075 0.2425
0.2798 0.3197 0.3623 0.4079 0.4566 0.5086 0.5642 0.6236 0.6871 0.7550
0.8277 0.9055 0.9887 1.0779 1.1734 1.2758 1.3857 1.5036 1.6303 1.7663
1.9126 2.0700 2.2395 2.4220 2.6189 2.8312 3.0604 3.3081 3.5759 3.8657
4.1795 4.5196 4.8884 5.2888 5.7239 6.1968"
/>
</geometryLightcone>
In the above causes lightcone coordinate information (i.e. the position
and velocity of each galaxy in a coordinate system with axes aligned
along the line of sight of the lightcone and parallel to the two edges
of the square field of view, along with the redshift) to be output (see the documentation on the lightcone
nodePropertyExtractor
), and is set to pruneLightcone
to
cause any merger trees which have no nodes within the lightcone volume
to be pruned away (as there is no need to process them). Finally, the
geometryLightcone
parameter describes the geometry of
the lightcone to be used—see the documentation for
details.
-
Tutorials
- Introduction to Galacticus parameter files
- Dark matter halo mass function
- Warm dark matter halo mass function
- Power spectra
- Warm dark matter power spectra
- Dark matter only merger trees
- Subsampling of merger tree branches
- Dark matter only subhalo evolution
- Solving the excursion set problem
- Reionization calculations
- Instantaneous & Non-instantaneous recycling
- Computing Broadband Stellar Luminosities
- Postprocessing of stellar spectra
- Using N-body Merger Trees
- Generating Mock Catalogs with Lightcones
- Constraining Galacticus parameters
- Generating galaxy merger trees
- Extracting star formation histories
-
How Galacticus works
- Structure Formation Flowchart
- Merger Tree Building Flowchart
- How Galacticus Evolves Halos and Galaxies
- Galaxy Physics Flowchart
- CGM Cooling Physics Flowchart
- Star Formation Physics Flowchart
- Outflow Physics Flowchart
- Galactic Structure Flowchart
- CGM Physics Flowchart
- SMBH Physics Flowchart
- Subhalo Evolution Flowchart
-
Reference models
- Benchmarks and validation scores
- Validation plots and data