Usage
The simplest way to get started is to run the executable voiager from a terminal within the Voiager/ package directory. This launches Voiager following launch.py with python (version 3). For further help on its usage, type:
voiager --help
Voiager is set up to perform an example run from the Beyond-2pt blind data challenge, which consists of a simulated mock-galaxy lightcone in a wCDM cosmology (C_mock_lightcone.h5). It is based on a public halo catalog within the AbacusSummit set of simulations and a halo occupation distribution (HOD) formalism (credits: Andres Salcedo, Yosuke Kobayashi, and Elisabeth Krause). The input data is retrieved from the catalogs/ folder including void catalogs produced with VIDE, while the output of the code is stored in the results/ directory.
Note
The example data in catalogs/ and the example results in results/ are not automatically downloaded upon installation, but they can be accessed via the repository. Once the data is publicly released, the catalogs/ folder can be downloaded as a compressed archive catalogs.tar.gz and unpacked within the main code directory via
tar -xvzf catalogs.tar.gz
The executable voiager will produce the following output:
Launching Voiager...
Loading data (angles, redshifts, catalog sizes, void properties)...
Loading info...
Loading voids...
Read 16897 voids
Loading macrocenters...
Loading derived void information...
Generating void randoms...
Transforming coordinates...
Building stacks...
=> Loading previous stack
Finding best fit...
=> Parameters: ['f/b', 'qper', 'qpar', 'M', 'Q']
[[0.45943433 1.01968878 1.02069274 1.17909194 0.91292996]
[0.44439309 1.00533279 1.00509703 1.21756796 1.196998 ]]
qper/qpar:
[0.99901639 1.00023456]
Reduced chi-square:
[1.46139827 1.44428081]
MCMC sampling...
=> Deleting previous chain
Constraining cosmology...
=> Deleting previous chain
Plotting...
Done.
Note
All the parameters of Voiager are configured in the file params.yaml, which is used as default configuration. You can also point to your customized parameter file in yaml format like this:
voiager 'path/to/parameter_file.yaml'
Previously calculated data vectors are saved in the file stacks.dat, this step in the pipeline will be skipped in case the file already exists (i.e., it needs to be removed to start a new calculation, but note that it requires about 32GB of available memory). Similarly, the files named chains.dat contain previously run MCMCs, which the code will continue sampling when found. Human readable ASCII versions of the chains are also produced.
The file params.yaml contains the main adjustable parameters of the code, each of which appears with a brief comment about its meaning:
Info: # Survey information
survey: 'Beyond2pt' # Name of survey
sample: 'C_mock_lightcone' # Name of tracer sample
random: 'C_mock_lightcone_R10' # Name of random sample
version: '_0300' # Version (suffix) of void catalog
redshift: [0.8,1.3] # Redshift range
sky: 3759.6159 # Sky area in square degrees (full sky ~ 41253)
cosmology: "wCDM" # Cosmological model to constrain (current options: "LCDM", "wCDM", "w0waCDM")
IO: # Input / output
runExec: True # If True, run executable when called
basePath: '' # Location of the top level code directory relative to current working directory
tracerPath: 'catalogs/tracers/' # Location of tracer catalogs relative to basePath
voidPath: 'catalogs/voids/' # Location of void catalogs relative to basePath
outPath: 'results/' # Location to store output files relative to basePath
plotPath: 'plots/' # Location to store plots relative to outPath
inputFormat: 'hdf5' # Filetype for input tracer and random catalogs (supported types: https://docs.astropy.org/en/stable/io/unified.html)
inputExtension: 'h5' # Filename extension for input tracer and random catalogs
figFormat: 'pdf' # Format to save figures (e.g., pdf, png, jpg)
columnNames: ['RA','DEC','Z_red'] # Tracer and random catalog column headers for right ascension, declination, redshift (angles in degrees)
stackFile: 'stacks' # Filename for data of stacks
chainFile: 'chains' # Filename for data of chains
continueStack: True # If True, continue using previous stacks. If False, delete old stacks.
continueChain: False # If True, continue sampling of previous chains. If False, delete old chains.
Selection: # Void selection
zv: [0.8,1.3] # Void redshift range
rv: [35.,1.e+9] # Void radius range
mv: [0.0,1.e+9] # Void mass range (number of tracers per void)
dv: [0.0,1.e+9] # Void core (minimum) density range
Cv: [0.0,1.e+9] # Void compensation range
ev: [0.0,1.e+9] # Void ellipticity range
mgs: [2.0,1.e+9] # Void radius range in units of mean galaxy separation (mgs)
Bins: # Binning parameters
vbin: 'zv' # 'zv': void-redshift bins, 'rv': void-radius bins
binning: 'lin' # 'eqn': equal number of voids, 'lin': linearly spaced, 'log': logarithmicly spaced. Alternatively, provide a list for custom bin edges
Nvbin: 2 # Number of void bins
Nrbin: 20 # Number of radial bins in correlation function
Nrskip: 1 # Number of radial bins to skip in fit (starting from the first bin)
rmax: 3. # Maximum radial distance in units of void radius
ell: [0,2,4] # Multipole orders to consider
Nside: 128 # Mask resolution for generating random voids
symLOS: True # If True, assume void-centric symmetry along LOS (no odd multipoles).
project2d: True # If True, the projected correlation function is calculated from the POS vs. LOS 2d correlation function
rescov: False # If True, calculate covariance matrix for residuals between data and model (experimental!)
datavec: '2d' # Define data vector, '1d': multipoles, '2d': POS vs. LOS 2d correlation function
Computing: # Computing parameters
Ncpu: 16 # Number of CPUs to use
Nmock: 1 # Number of mock realizations (for observation = 1)
Nbin_nz: 20 # Number of bins for redshift distributions
Nbin_nv: 8 # Number of bins for void abundance function
Nspline: 200 # Number of nodes for splines (only for visualization in plots, does not affect fit)
Nsmooth: 0.5 # Smoothing factor for splines (for no smoothing = 0)
Nwalk: 16 # Number of MCMC walkers (ideally equal to Ncpu)
Nchain: 1000 # Length of each MCMC chain
Nburn: 3.0 # Initial burn-in steps of chain to discard, in units of auto-correlation time
Nthin: 0.5 # Thinning factor of chain, in units of auto-correlation time
Nmarg: 4.0 # Margin size for parameter limits in plots, in units of standard deviation
Model: # Model parameters with fiducial values and priors
par:
f/b: 0.5 # Redshift-space distortion parameter
qper: 1.0 # Perpendicular Alcock-Paczynski parameter
qpar: 1.0 # Parallel Alcock-Paczynski parameter
M: 1.0 # Monopole nuisance parameter
Q: 1.0 # Quadrupole nuisance parameter
prior:
f/b: [-10.,10.]
qper: [-10.,10.]
qpar: [-10.,10.]
M: [-10.,10.]
Q: [-10.,10.]
Cosmo: # Cosmological parameters with fiducial values and priors
par_cosmo:
Om: 0.30 # Omega_matter
Ok: 0.00 # Curvature
w0: -1.0 # DE eq. of state (constant)
wa: 0.00 # DE eq. of state (slope)
s8: 0.80 # RMS of density fluctuations of scale 8 Mpc/h
h: 0.70 # Reduced Hubble constant
b0: 1.20 # Linear tracer bias at z=0
prior_cosmo: # Only provide for sampled parameters
Om: [0.0,1.0]
w0: [-2,-0.333]
#wa: [-10,10]
blind: True # If True, subtract mean of cosmology posterior