Adding N_eff and m_s as base parameters in CosmoMC
-
- Posts: 31
- Joined: August 14 2016
- Affiliation: ASIAA
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 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
CosmoMC version: June 2016. Fortran compiler: ifort 14.0.2
-
- Posts: 1976
- 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: 31
- Joined: August 14 2016
- Affiliation: ASIAA
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 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?
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?
-
- Posts: 1976
- 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: 31
- Joined: August 14 2016
- Affiliation: ASIAA
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: 1976
- 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: 31
- Joined: August 14 2016
- Affiliation: ASIAA
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: 31
- Joined: August 14 2016
- Affiliation: ASIAA
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 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.)
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.)
-
- Posts: 1976
- 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: 31
- Joined: August 14 2016
- Affiliation: ASIAA
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: 1976
- 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: 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
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: 1976
- 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.