Running CAESAR¶
CAESAR
offers three basic functions:
[1] Identify galaxies and halos, compute a wide range of properties for each object, and cross-match them.
[2] Compute photometry accounting for the line-of-sight dust extinction to each star in the object.
[3] Compute the N most massive progenitors/descendants for any galaxy or halo in another snapshot (see Progenitors docs page for usage).
Scripted¶
It is generally recommended to run CAESAR
within a script for computing galaxy
and halo properties. This allows for more
precise control over the various options, looping over many files, parallelizing, etc.
Here is a basic script for running member_search
:
import yt
import caesar
# first we load your snapshot into yt
ds = yt.load('my_snapshot')
# now we create a CAESAR object, and pass along the yt dataset
obj = caesar.CAESAR(ds)
# now we execute member_search(), which identifies halos, galaxies, and computes
# properties (including photometry; this requires installing FSPS) on 16 OpenMP cores
obj.member_search(haloid='fof',fof6d_file='my_fof6dfile',fsps_bands='uvoir',ssp_model='FSPS',ssp_table_file='FSPS_Chab_EL.hdf5',ext_law='composite',nproc=16)
# finally we save the CAESAR galaxy/halo catalog to your desired filename
obj.save('my_caesar_file.hdf5')
member_search() options¶
Here is a more detailed description of the options shown above:
nproc: Number of cores for OpenMP parallelization. This follows the
joblib
convention that negative numbers correspond to using all exceptnproc+1
cores, e.g.nproc=-2
uses all but 1 cores. Default: 1haloid: Source for particle halo ID’s.
haloid='fof'
uses a 3D Friends-of-Friends (3DFOF) with b=0.2 to identify halos.haloid='snap'
reads halo membership info for each particle from the snapshot variableHaloID
, if present. Default: ‘fof’fof6d_file: Stores results of 6DFOF galaxy finder in a file for future retrieval. If file does not exist, it is created; if it exists, the galaxy membership information is read from this file instead of running the 6DFOF. Default: None
fsps_bands: Triggers optional photometry computation, in specified list of bands. The
fsps.list_filters()
command underpython-fsps
lists the available bands. One can also specify a string (minimum 4 characters) that will be matched to all available bands, e.g.fsps_bands=['sdss','jwst']
will compute all bands that include the phrasesdss
orjwst
. Default: Nonessp_model: Choice of
FSPS
,BPASS
, orBC03
(Bruzual-Charlot 2003). Default: Nonessp_table_file: Path to lookup table for FSPS photometry. If this file does not exist or this keyword is unspecified, it will be generated; this takes some time. If it exists,
CAESAR
will read it in. Default: None
Command Line¶
NOTE: CURRENTLY, RUNNING FROM THE COMMAND-LINE IS NOT OPERATIONAL. Please use the Scripted method described above.