Adding N_eff and m_s as base parameters in CosmoMC

Use of Cobaya. camb, CLASS, cosmomc, compilers, etc.
Post Reply
Shouvik Roychoudhury
Posts: 31
Joined: August 14 2016
Affiliation: IIT Bombay

Adding N_eff and m_s as base parameters in CosmoMC

Post by Shouvik Roychoudhury » September 28 2016

As far as I understand, CosmoMC uses one massive 0.06 eV active neutrino and one massless sterile neutrino as default. Suppose I want to add N_eff (effective number of relativistic neutrino species) and m_s (mass of the sterile neutrino) as my base parameters (I want a massive sterile neutrino) along with the 6 default lamda-CDM base parameters (omegab-h^2, omegac-h^2, theta, tau, n_s and A_s). What changes in different files do I have to make? (Also suppose that I want 3 massless active neutrinos)

CosmoMC version: June 2016. Fortran compiler: ifort 14.0.2

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

Re: Adding N_eff and m_s as base parameters in CosmoMC

Post by Antony Lewis » September 29 2016

It has one massive active and two massless active by default. Massive sterile neutrinos are supposed by default - see the nnu and meffsterile parameters (effective mass parameter described e.g. in the Planck 2013 parameter paper).

Shouvik Roychoudhury
Posts: 31
Joined: August 14 2016
Affiliation: IIT Bombay

Adding N_eff and m_s as base parameters in CosmoMC

Post by Shouvik Roychoudhury » September 29 2016

Okay. Thanks a lot! I was confused because of the "params_CMB_defaults.ini" file which has something like this:

num_massive_neutrinos=1
param[mnu] = 0.06
param[meffsterile] = 0

What I am asking is if I need to vary N_eff (or nnu) and m_s (meffsterile here) along with the six base parameters of lamba-CDM, would providing the "param[name]= center, min, max, start width, propose width" details in the params_CMB_defaults.ini or the params.ini (my input .ini file) be enough? Or do I need to make changes to any other files?

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

Re: Adding N_eff and m_s as base parameters in CosmoMC

Post by Antony Lewis » September 30 2016

put it in your params.ini, inheriting and overriding values included from the default ini files as needed (included using DEFAULT(xx)).

Shouvik Roychoudhury
Posts: 31
Joined: August 14 2016
Affiliation: IIT Bombay

Adding N_eff and m_s as base parameters in CosmoMC

Post by Shouvik Roychoudhury » October 06 2016

I do not understand the last part of your reply. Do I need to add a statement like "DEFAULT(batch2/params_CMB_defaults.ini)" in my main params.ini file or the inclusion is automatic? If I do need to include with the DEFAULT statement then should I add it above the "DEFAULT(batch2/common.ini)" or below?

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

Re: Adding N_eff and m_s as base parameters in CosmoMC

Post by Antony Lewis » October 06 2016

common.ini actually already includes that file. See the sample test.ini provided.

Shouvik Roychoudhury
Posts: 31
Joined: August 14 2016
Affiliation: IIT Bombay

Adding N_eff and m_s as base parameters in CosmoMC

Post by Shouvik Roychoudhury » October 06 2016

Yes. Thanks! That is a silly thing to have missed since I went through common.ini already a few times looking up the convergence criteria!

Shouvik Roychoudhury
Posts: 31
Joined: August 14 2016
Affiliation: IIT Bombay

Adding N_eff and m_s as base parameters in CosmoMC

Post by Shouvik Roychoudhury » October 18 2016

I have stumbled upon a error while using the priors from the Planck 2013 parameters paper (arxiv: 1303.5076v3). Table 1 lists the priors used. Along with the 6 parameters of lambda-CDM I am also varying N_eff and meffsterile. But when I use the prior (as given in the paper) for N_eff (Min:0.05 to Max:10) I get the following error:

starting Monte-Carlo
nnu < 3.046 with massive sterile
MpiStop: 0


How do I include priors for N_eff where values less than 3.046 are allowed?
PS: the code runs fine when I use the following priors for N_eff (Min: 3.046, Max: 10. However I don't really want that.)

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

Re: Adding N_eff and m_s as base parameters in CosmoMC

Post by Antony Lewis » October 18 2016

Neff is restricted to be a positive number of extra steriles in the case of massive sterile neutrinos (i.e. the prior changes in the +msterile case).

Shouvik Roychoudhury
Posts: 31
Joined: August 14 2016
Affiliation: IIT Bombay

Adding N_eff and m_s as base parameters in CosmoMC

Post by Shouvik Roychoudhury » October 31 2016

Another question: Instead of meffsterile, how to vary the actual mass of the sterile neutrino? I don't want to add it as a derived parameter but as a main parameter.

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

Re: Adding N_eff and m_s as base parameters in CosmoMC

Post by Antony Lewis » October 31 2016

You'd have to make a new (or edit existing) parameterization module in the code, and associated files (.paramnames etc). See the CosmologyParameterizations module.

Sunny Vagnozzi
Posts: 55
Joined: August 15 2016
Affiliation: Kavli Institute for Cosmology (KICC), University of Cambridge

Adding N_eff and m_s as base parameters in CosmoMC

Post by Sunny Vagnozzi » April 18 2017

You can still allow a lower prior for Neff which can go below 3.046 right? Since you can get Neff < 3.046 in low reheating models (which however might have some tension with BBN). However in this case you might need to tweak the code a bit (not sure, Antony will know)? Since when Neff < 3.046, and if you don't have steriles (i.e. only the three active neutrinos), then you might want to interpret this as rescaling the neutrino temperature according to Neff i.e. scaling the neutrino number density by (Neff/3.046)^(3/4)? Does the code already do this Antony?

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

Re: Adding N_eff and m_s as base parameters in CosmoMC

Post by Antony Lewis » April 18 2017

You can have Neff< 3.046 as long as meffsterile=0.

Post Reply