Interfacing onepower
with CosmosSIS
#
In order to gain even more usability out of onepower
, we provide a interface module for CosmoSIS
(also available in the CosmoSIS standard library). This module allows one to use the onepower
to calculate the power spectra for 3x2pt like analysis (or any combination thereof) and also calculate the observable functions (SMF or LF) as well. As CosmoSIS
includes other modules that can be used to obtain 2pt correlation functions in real space and efficiently use a plethora of
samplers, we think that an “official” interaface is a useful thing to have. You can find the interface in the cosmosis_modules
folder.
The interface module is set up so that all the parameters of the onepower
can be accessed through CosmoSIS
ini files, either through pipeline.ini
that sets static parameters like which halo mass function model to use, or throug values.ini
file that sets the parameters that can be fit for, for instance, cosmological paramaeters or HOD parameters.
The required options to be set in pipeline.ini
file are:
[onepower]
file = %(pipeline_path)s/onepower_interface.py
log_mass_min = 9.0
log_mass_max = 16.0
nmass = 200
zmin_hmf= 0.0
zmax_hmf= 3.0
nz_hmf= 15
nk = 300
hmf_model = Tinker10
bias_model = Tinker10
mdef_model = SOMean
overdensity = 200.0
delta_c = 1.686
cm_model_cen = Duffy08
cm_model_sat = Duffy08
profile_cen = NFW
profile_sat = NFW
hod_section_name = hod
observable_section_name = stellar_mass_function
save_observable = True
values_name = hod_parameters
hod_model = Cacciato
log10_obs_min_hod = 8.0 8.0
log10_obs_max_hod = 12.0 12.0
zmin_hod = 0.0 0.2
zmax_hod = 0.2 0.5
nz_hod = 15
nobs_hod = 300
; example for observable evaluated at one z_median of the survey
log10_obs_min_smf = 8.0
log10_obs_max_smf = 12.0
zmin_smf = 0.1
zmax_smf = 0.1
nz_smf = 1
nobs_smf = 300
; example for observable in more bins and z-dependent
; log10_obs_min_smf = 8.0 8.0
; log10_obs_max_smf = 12.0 12.0
; zmin_smf = 0.0 0.2
; zmax_smf = 0.2 0.5
; nz_smf = %(nz_def)s
; nobs_smf = 300
; example for observable in one wide bin and z-dependent
; log10_obs_min_smf = 8.0
; log10_obs_max_smf = 12.0
; zmin_smf = 0.0
; zmax_smf = 0.5
; nz_smf = 15
; nobs_smf = 100
update_bnl = 10
bnl = True
p_mm = True
p_gg = True
p_gm = True
p_gI = True
p_mI = True
p_II = True
split_ia = True
poisson_type = scalar
point_mass = True
dewiggle = True
mead2020_correction = mead2020_feedback
central_IA_depends_on = halo_mass
satellite_IA_depends_on = halo_mass
hod_section_name_ia = hod_ia
observables_file_ia = %(data_path)s/legacy_input_files/red_cen_lum_pdf.txt
nobs_ia = 300
nz_ia = 15
output_suffix_ia = ia
hod_section_name_ia_1 = hod_ia_red
observables_file_ia_1 = %(data_path)s/legacy_input_files/red_cen_lum_pdf.txt
nobs_ia_1 = 300
nz_ia_1 = 15
output_suffix_ia_1 = ia_red
hod_section_name_ia_2 = hod_ia_blue
observables_file_ia_2 = %(data_path)s/legacy_input_files/red_cen_lum_pdf.txt
nobs_ia_2 = 300
nz_ia_2 = 15
output_suffix_ia_2 = ia_blue
There are couple of examples in how to set up HOD/SMF/LF settings for different cases.
Similarly, the required parameters in the values.ini
file are:
[cosmological_parameters]
sigma_8 = 0.8170
omega_k = -0.0027
mnu = 0.0000
omch2 = 0.1146
ombh2 = 0.0224
n_s = 0.9646
TCMB = 2.7255
h0 = 0.6970
mnu = 0.06
wa = 0.0
w = -1.0
[halo_model_parameters]
logT_AGN = 7.8
m_b = 13.87
[profile_parameters]
norm_cen = 1.0
norm_sat = 1.0
eta_cen = 0.0
eta_sat = 0.0
[hod_parameters]
log10_obs_norm_c = 10.521
log10_m_ch = 11.145
g1 = 7.385
g2 = 0.201
sigma_log10_O_c = 0.159
norm_s = 0.562
pivot = 13.0
alpha_s = -0.847
beta_s = 2.0
b0 = -0.120
b1 = 1.177
b2 = 0.0
A_cen = 0.0
A_sat = 0.0
[pk_parameters]
linear_fraction_fortuna = 0.0
poisson = 1.0
[intrinsic_alignment_parameters_ia]
M_pivot = 13.5
gamma_2h_amplitude = 5.33
beta = 0.44
gamma_1h_radial_slope = -2.0
gamma_1h_amplitude = 0.000989
beta_sat = 0.7
[intrinsic_alignment_parameters_ia_red]
M_pivot = 13.5
gamma_2h_amplitude = 5.33
beta = 0.44
gamma_1h_radial_slope = -2.0
gamma_1h_amplitude = 0.0015
beta_sat = 0.44
[intrinsic_alignment_parameters_ia_blue]
M_pivot = 13.5
gamma_2h_amplitude = 5.33
beta = 0.0
gamma_1h_radial_slope = -2.0
gamma_1h_amplitude = -0.002
beta_sat = 0.44
Some of those will be share between other modules, for instance all cosmological parameters will be used in CAMB as well, if that is run. On the topic of CAMB, we highly suggest running CAMB before onepower
within the CosmoSIS
, as that significantly speeds up the calculations. The interface module is set up by default to take inputs from CAMB so that the CAMB it is not run internaly within onepower
. The minimal working pipeline is available in cosmosis_modules/examplit_ini_files
,
which will only calculate the power spectra. The projection and likelihood modules need to be added on top of that.
Please consult the ``module.yaml`` file for all the functinality in the interface module as well as the code itself for clarity!
We will try to update this more extensively in the future!