Skip to content

astrockragh/cosmic_variance

Repository files navigation

Cosmic Variance Calculator

Package to calculate cosmic variance in pencil-beam surveys

Python package based on the IDL code released with the Cosmic Variance Cookbook of Moster et al. (2010)

The code is based on galaxy stellar mass bins (as described in https://arxiv.org/pdf/1001.1737.pdf), scaled to dark matter cosmic variance (as described in https://arxiv.org/pdf/astro-ph/0109130.pdf).

This is significantly more useful than dark matter - only variance, since the empirical galaxy variance is significantly higher.

Free software: MIT license

Install and Use

To install the package, simply run:

pip install cosmic-variance

Then in your script/notebook, import the package as:

import cosmic_variance as cv

The main use of the package is through the get_cv function, which takes in a rectangular survey geometry with side lengths side1 and side2 (in degrees), and an array of redshift bin edges, and returns a pandas dataframe with the cosmic variance for 0.5 dex galaxy stellar mass bins for each redshift bin.

import cosmic_variance as cv
import numpy as np
# Example of using the main function, get_cv to calculate
# cosmic variance for a single JWST pointing

#### these arguments are required ####
side1 = 2.2/60. # /60 to convert from arcmin to degrees
side2 = 2*2.2/60. # /60 to convert from arcmin to degrees
zarray = np.array([7,8,9,11,13]) # redshift bin edges, if dz is given, this array will be the center of the redshift bins

#### these arguments are optional ####
name = 'JWST' # name of the survey, if provided, the output file will be saved as dfs/{name}.csv along with a meta file.
# Default is None, in which case the output will not be saved

acc = 'low' # accuracy of the calculation, 'low' or 'high, low is default, faster and sufficient for almost all applications

verbose = False # if True, will print out the progress of the calculation, default is False

#If you want to use a different cosmology, you can specify it by the following in the get_cv call
# OmegaM = 0.308, OmegaL = 0.692, OmegaBaryon = 0.022/(0.678)**2 sigma8 = 0.82, ns = 0.96, h = 0.678

cv_df = cv.get_cv(side1, side2, zarray, name = name, acc=acc, verbose = verbose)

This will calculate the cosmic variance for a 2.2 arcmin x 4.4 arcmin survey in redshifts bin [7, 8], [8,9], [9,11], [11,13] and save the output.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published