Adding N_eff and m_s as base parameters in CosmoMC

 Posts: 29
 Joined: August 14 2016
 Affiliation: IIT Bombay
Adding N_eff and m_s as base parameters in CosmoMC
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 lamdaCDM base parameters (omegabh^2, omegach^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
CosmoMC version: June 2016. Fortran compiler: ifort 14.0.2

 Posts: 1547
 Joined: September 23 2004
 Affiliation: University of Sussex
 Contact:
Re: Adding N_eff and m_s as base parameters in CosmoMC
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).

 Posts: 29
 Joined: August 14 2016
 Affiliation: IIT Bombay
Adding N_eff and m_s as base parameters in CosmoMC
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 lambaCDM, 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?
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 lambaCDM, 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?

 Posts: 1547
 Joined: September 23 2004
 Affiliation: University of Sussex
 Contact:
Re: Adding N_eff and m_s as base parameters in CosmoMC
put it in your params.ini, inheriting and overriding values included from the default ini files as needed (included using DEFAULT(xx)).

 Posts: 29
 Joined: August 14 2016
 Affiliation: IIT Bombay
Adding N_eff and m_s as base parameters in CosmoMC
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?

 Posts: 1547
 Joined: September 23 2004
 Affiliation: University of Sussex
 Contact:
Re: Adding N_eff and m_s as base parameters in CosmoMC
common.ini actually already includes that file. See the sample test.ini provided.

 Posts: 29
 Joined: August 14 2016
 Affiliation: IIT Bombay
Adding N_eff and m_s as base parameters in CosmoMC
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!

 Posts: 29
 Joined: August 14 2016
 Affiliation: IIT Bombay
Adding N_eff and m_s as base parameters in CosmoMC
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 lambdaCDM 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 MonteCarlo
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.)
starting MonteCarlo
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.)

 Posts: 1547
 Joined: September 23 2004
 Affiliation: University of Sussex
 Contact:
Re: Adding N_eff and m_s as base parameters in CosmoMC
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).

 Posts: 29
 Joined: August 14 2016
 Affiliation: IIT Bombay
Adding N_eff and m_s as base parameters in CosmoMC
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.

 Posts: 1547
 Joined: September 23 2004
 Affiliation: University of Sussex
 Contact:
Re: Adding N_eff and m_s as base parameters in CosmoMC
You'd have to make a new (or edit existing) parameterization module in the code, and associated files (.paramnames etc). See the CosmologyParameterizations module.

 Posts: 51
 Joined: August 15 2016
 Affiliation: Kavli Institute for Cosmology (KICC), University of Cambridge
Adding N_eff and m_s as base parameters in CosmoMC
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?

 Posts: 1547
 Joined: September 23 2004
 Affiliation: University of Sussex
 Contact:
Re: Adding N_eff and m_s as base parameters in CosmoMC
You can have Neff< 3.046 as long as meffsterile=0.