Page 1 of 1

CAMB Python: Incorporating new cosmological model

Posted: May 23 2020
by Rajendra Gupta
Instead of putting a new set of parameters, I would like to use a new cosmological model based on varying physical constants (e.g. arXiv 1705.03461, 1810.12090). I wonder if it would be possible to incorporate a new module to do so, or modify an existing function, module or subroutine. I understand currently I can only change the parameter of an existing ΛCDM model as below (same as in the online version of CAMB):

#Set up a new set of parameters for CAMB
pars = camb.CAMBparams()
#This function sets up CosmoMC-like settings, with one massive neutrino and helium set using BBN consistency
pars.set_cosmology(H0=67.5, ombh2=0.022, omch2=0.122, mnu=0.06, omk=0, tau=0.06)
pars.InitPower.set_params(As=2e-9, ns=0.965, r=0)
pars.set_for_lmax(2500, lens_potential_accuracy=0);


I am writing a research paper and any assistance would expedite completion and publication of this paper.
Thank you.
raj gupta

Re: CAMB Python: Incorporating new cosmological model

Posted: May 23 2020
by Antony Lewis
Certainly you can, but obviously it will be some work to modify the actual physical calculation. Most of the work will be in fortran, but may also need to update the CAMB wrapper if you also want to work via python.

Re: CAMB Python: Incorporating new cosmological model

Posted: May 23 2020
by Rajendra Gupta
That is promising Antony. I was looking into the Fortran CAMB code listing that I could find online (URL: http://users.telenet.be/nicvroom/CAMB_all_html.htm). It appears we will need to modify not only the function dtauda(a) but also some other sections of the program and then test it. As I currently do not use Python, I would prefer to work directly with the original source code in FORTRAN.
I wonder if you have any student (e.g. summer student) who could do this work. I'll gladly pay the student's compensation from my research grant at UOttawa. - raj