Cobaya: theory module camb - getting growth D(z) and growth rate f(z)

Use of Healpix, camb, CLASS, cosmomc, compilers, etc.
Post Reply
Chen Heinrich
Posts: 1
Joined: October 06 2018
Affiliation: Caltech

Cobaya: theory module camb - getting growth D(z) and growth rate f(z)

Post by Chen Heinrich » September 17 2020

Hi, I am writing a new theory class with Cobaya where I need the following ingredients:

1) D(z) (normalized to z = 0 or 1/(1+z) at matter domination)
2) f(z) for calculating the RSD parameter

I wonder what's the best way of getting them from the camb theory module in cobaya?
1) Would sigma8(z)/sigma8(z=0) suffice to get the unnormalized D(z) or are there caveats around doing that? In particular, I found that he following code could work for getting sigma8(z) but maybe there are dangers with going into the matter transfer data by had (e.g. z is flipped)? If so, would using the Cobaya interface self.provider.get_sigma_R() be the preferred option? Also, if there is a way to directly get D(z), that's probably preferable.

Code: Select all

params, results = self.provider.get_CAMB_transfers()
data = results.get_matter_transfer_data()
sigma8 = np.flip(data.sigma_8)
sigma8_z0 = self.provider.get_param('sigma8’)
D = sigma8 / sigma8_z0
where provider here is the camb module.

2) The closest thing I can come up with is f = fsigma8(z)/sigma8(z) where get_fsigma8() is provided by the theory module camb and sigma8(z) like above. But I wonder if that's safe and if there is a more direct way to get f(z). Thank you!

Antony Lewis
Posts: 1633
Joined: September 23 2004
Affiliation: University of Sussex
Contact:

Re: Cobaya: theory module camb - getting growth D(z) and growth rate f(z)

Post by Antony Lewis » September 17 2020

To get D(z) you need to define it first - it is not a well defined quantity since different matter species grow at different rates at different scales in general (e.g with massive neutrinos, which there always are). But yes, you could use sigma_R as an effective definition.

The fsigma8 functions follow the conventions in the Planck 2018 paper to define an effective RSD f(z), and indeed the best thing to do if you want to use those definitions.

Post Reply