Skip to content

Commit

Permalink
Merge branch 'master' into xcor_cmp
Browse files Browse the repository at this point in the history
  • Loading branch information
vitenti committed Feb 20, 2024
2 parents cd1f144 + c546da9 commit 17a7238
Show file tree
Hide file tree
Showing 16 changed files with 779 additions and 168 deletions.
316 changes: 265 additions & 51 deletions numcosmo/data/nc_data_planck_lkl.c

Large diffs are not rendered by default.

76 changes: 31 additions & 45 deletions numcosmo/data/nc_data_planck_lkl.h
Original file line number Diff line number Diff line change
Expand Up @@ -37,61 +37,47 @@

G_BEGIN_DECLS

#define NC_TYPE_DATA_PLANCK_LKL (nc_data_planck_lkl_get_type ())
#define NC_DATA_PLANCK_LKL(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), NC_TYPE_DATA_PLANCK_LKL, NcDataPlanckLKL))
#define NC_DATA_PLANCK_LKL_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), NC_TYPE_DATA_PLANCK_LKL, NcDataPlanckLKLClass))
#define NC_IS_DATA_PLANCK_LKL(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), NC_TYPE_DATA_PLANCK_LKL))
#define NC_IS_DATA_PLANCK_LKL_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), NC_TYPE_DATA_PLANCK_LKL))
#define NC_DATA_PLANCK_LKL_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), NC_TYPE_DATA_PLANCK_LKL, NcDataPlanckLKLClass))
#define NC_TYPE_DATA_PLANCK_LKL (nc_data_planck_lkl_get_type ())

typedef struct _NcDataPlanckLKLClass NcDataPlanckLKLClass;
typedef struct _NcDataPlanckLKL NcDataPlanckLKL;
G_DECLARE_FINAL_TYPE (NcDataPlanckLKL, nc_data_planck_lkl, NC, DATA_PLANCK_LKL, NcmData)

struct _NcDataPlanckLKLClass
{
/*< private >*/
NcmDataClass parent_class;
};

struct _NcDataPlanckLKL
/**
* NcDataPlanckLKLType:
* @NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_LOWL_TT: Planck 2018 baseline low-ell likelihood for TT.
* @NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_LOWL_EE: Planck 2018 baseline low-ell likelihood for EE.
* @NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_LOWL_BB: Planck 2018 baseline low-ell likelihood for BB.
* @NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_LOWL_EEBB: Planck 2018 baseline low-ell likelihood for TE.
* @NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_HIGHL_TT: Planck 2018 baseline high-ell likelihood for TT.
* @NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_HIGHL_TTTEEE: Planck 2018 baseline high-ell likelihood for TT, TE and EE.
* @NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_HIGHL_TT_LITE: Planck 2018 baseline high-ell likelihood for TT (lite).
* @NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_HIGHL_TTTEEE_LITE: Planck 2018 baseline high-ell likelihood for TT, TE and EE (lite).
*
* The Planck likelihood types.
*
*/
typedef enum _NcDataPlanckLKLType
{
/*< private >*/
NcmData parent_instance;
NcHIPertBoltzmann *pb;
gchar *filename;
gpointer obj;
gboolean is_lensing;
guint nparams;
guint ndata_entry;
gchar **pnames;
gchar *chksum;
gdouble check_m2lnL;
NcDataCMBDataType cmb_data;
NcmVector *data_params;
NcmVector *check_data_params;
NcmVector *data_TT;
NcmVector *data_EE;
NcmVector *data_BB;
NcmVector *data_TE;
NcmVector *data_TB;
NcmVector *data_EB;
NcmVector *data_PHIPHI;
NcmVector *params;
NcmModelCtrl *pfi_ctrl;
NcmModelCtrl *cosmo_ctrl;
gdouble cm2lnL;
gdouble A_planck;
GArray *param_map;
};

GType nc_data_planck_lkl_get_type (void) G_GNUC_CONST;
NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_LOWL_TT,
NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_LOWL_EE,
NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_LOWL_BB,
NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_LOWL_EEBB,
NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_HIGHL_TT,
NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_HIGHL_TTTEEE,
NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_HIGHL_TT_LITE,
NC_DATA_PLANCK_LKL_TYPE_BASELINE_18_HIGHL_TTTEEE_LITE,
/* < private > */
NC_DATA_PLANCK_LKL_TYPE_LENGTH,
} NcDataPlanckLKLType;

NcDataPlanckLKL *nc_data_planck_lkl_new (const gchar *filename);
NcDataPlanckLKL *nc_data_planck_lkl_full_new (const gchar *filename, NcHIPertBoltzmann *pb);
NcDataPlanckLKL *nc_data_planck_lkl_full_new_id (NcDataPlanckLKLType id, NcHIPertBoltzmann *pb);

const gchar *nc_data_planck_lkl_get_param_name (NcDataPlanckLKL *plik, guint i);
gchar **nc_data_planck_lkl_get_param_names (NcDataPlanckLKL *plik);

void nc_data_planck_lkl_set_hipert_boltzmann (NcDataPlanckLKL *plik, NcHIPertBoltzmann *pb);
void nc_data_planck_lkl_download_baseline (const gchar *dir);

G_END_DECLS

Expand Down
15 changes: 15 additions & 0 deletions numcosmo/math/ncm_cfg.c
Original file line number Diff line number Diff line change
Expand Up @@ -1419,6 +1419,21 @@ ncm_cfg_get_fullpath (const gchar *filename, ...)
return full_filename;
}

/**
* ncm_cfg_get_fullpath_base:
*
* Gets the full path base directory.
*
* Returns: (transfer none): the full path base directory.
*/
const gchar *
ncm_cfg_get_fullpath_base (void)
{
g_assert (numcosmo_init);

return numcosmo_path;
}

/**
* ncm_cfg_keyfile_to_arg:
* @kfile: keyfile filename
Expand Down
1 change: 1 addition & 0 deletions numcosmo/math/ncm_cfg.h
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ void ncm_cfg_enable_gsl_err_handler (void);
void ncm_cfg_register_obj (GType obj);
guint ncm_cfg_mpi_nslaves (void);
gchar *ncm_cfg_get_fullpath (const gchar *filename, ...);
const gchar *ncm_cfg_get_fullpath_base (void);

void ncm_cfg_keyfile_to_arg (GKeyFile *kfile, const gchar *group_name, GOptionEntry *entries, gchar **argv, gint *argc);
void ncm_cfg_entries_to_keyfile (GKeyFile *kfile, const gchar *group_name, GOptionEntry *entries);
Expand Down
6 changes: 5 additions & 1 deletion numcosmo/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -735,7 +735,11 @@ libnumcosmo = library(
# intl.lib is not compatible with SAFESEH
link_args: [noseh_link_args],
include_directories: [configinc, sundials_inc, libcuba_inc, plc_inc],
link_with: [libsundials, libcuba, liblevmar, libmisc, libtoeplitz, libclass, libplc],
# Planck likelihood code uses dlsym to load the Planck likelihood library
# components. This requires linking with link_whole to ensure that the
# symbols are available at runtime.
link_whole: [libplc],
link_with: [libsundials, libcuba, liblevmar, libmisc, libtoeplitz, libclass],
dependencies: libnumcosmo_dep,
c_args: numcosmo_c_args,
)
Expand Down
30 changes: 15 additions & 15 deletions numcosmo/nc_planck_fi_cor_tt.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ nc_planck_fi_cor_tt_class_init (NcPlanckFICorTTClass *klass)
ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_A_cib_217, "A^{\\mathrm{CIB}}_{217}", "A_cib_217",
0.0, 400.0, 5.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_A_cib_217,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_cib_index, "n^{\\mathrm{CIB}}", "cib_index",
-2.0, 0.0, 0.01,
Expand All @@ -89,57 +89,57 @@ nc_planck_fi_cor_tt_class_init (NcPlanckFICorTTClass *klass)
ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_xi_sz_cib, "\\xi^{\\mathrm{tSZ}\\times \\mathrm{CIB}}", "xi_sz_cib",
0.0, 1.0, 0.1,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_xi_sz_cib,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_A_sz, "A^{\\mathrm{tSZ}}", "A_sz",
0.0, 10.0, 0.5,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_A_sz,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_ps_A_100_100, "A^{\\mathrm{PS}}_{100}", "ps_A_100_100",
0.0, 400.0, 5.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_ps_A_100_100,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_ps_A_143_143, "A^{\\mathrm{PS}}_{143}", "ps_A_143_143",
0.0, 400.0, 5.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_ps_A_143_143,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_ps_A_143_217, "A^{\\mathrm{PS}}_{143\\times 217}", "ps_A_143_217",
0.0, 400.0, 5.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_ps_A_143_217,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_ps_A_217_217, "A^{\\mathrm{PS}}_{217}", "ps_A_217_217",
0.0, 400.0, 5.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_ps_A_217_217,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_ksz_norm, "A^{\\mathrm{kSZ}}", "ksz_norm",
0.0, 10.0, 0.5,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_ksz_norm,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_gal545_A_100, "A^{\\mathrm{dust}TT}_{100}", "gal545_A_100",
0.0, 50.0, 2.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_gal545_A_100,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_gal545_A_143, "A^{\\mathrm{dust}TT}_{143}", "gal545_A_143",
0.0, 50.0, 2.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_gal545_A_143,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_gal545_A_143_217, "A^{\\mathrm{dust}TT}_{143 \\times 217}", "gal545_A_143_217",
0.0, 100.0, 8.5,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_gal545_A_143_217,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_gal545_A_217, "A^{\\mathrm{dust}TT}_{217}", "gal545_A_217",
0.0, 400.0, 20.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_gal545_A_217,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_A_sbpx_100_100_TT, "A^{\\mathrm{sbpx}TT}_{100 \\times 100}", "A_sbpx_100_100_TT",
0.0, 1.0e2, 1.0e-2,
Expand All @@ -164,17 +164,17 @@ nc_planck_fi_cor_tt_class_init (NcPlanckFICorTTClass *klass)
ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_calib_100T, "c_{100}", "calib_100T",
0.0, 3.0, 0.001,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_calib_100T,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_calib_217T, "c_{217}", "calib_217T",
0.0, 3.0, 0.002,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_calib_217T,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TT_A_planck, "y_{\\mathrm{cal}}", "A_planck",
0.9, 1.1, 0.0025,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TT_DEFAULT_A_planck,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);

/* Check for errors in parameters initialization */
ncm_model_class_check_params_info (model_class);
Expand Down
18 changes: 12 additions & 6 deletions numcosmo/nc_planck_fi_cor_ttteee.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,9 @@ nc_planck_fi_cor_ttteee_class_init (NcPlanckFICorTTTEEEClass *klass)
ncm_model_class_set_name_nick (model_class, "Planck Foreground and Instument Model -- TT, TE, EE", "PlanckFICorTTTEEE");
ncm_model_class_add_params (model_class, NC_PLANCK_FI_COR_TTTEEE_SPARAM_LEN - NC_PLANCK_FI_COR_TT_SPARAM_LEN, 0, PROP_SIZE);

/*******************************************************************************************************************************************************/
/* EE modes are not usually included in high-l likelihood, thus the parameters below are kept fixed. */
/*******************************************************************************************************************************************************/
ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TTTEEE_galf_EE_A_100, "A^{\\mathrm{dust}EE}_{100}", "galf_EE_A_100",
0.0, 10.0, 1.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TTTEEE_DEFAULT_galf_EE_A_100,
Expand Down Expand Up @@ -103,30 +106,33 @@ nc_planck_fi_cor_ttteee_class_init (NcPlanckFICorTTTEEEClass *klass)
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TTTEEE_DEFAULT_galf_EE_index,
NCM_PARAM_TYPE_FIXED);

/*******************************************************************************************************************************************************/
/* TE modes */
/*******************************************************************************************************************************************************/
ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TTTEEE_galf_TE_A_100, "A^{\\mathrm{dust}TE}_{100}", "galf_TE_A_100",
0.0, 10.0, 1.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TTTEEE_DEFAULT_galf_TE_A_100,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);
ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TTTEEE_galf_TE_A_100_143, "A^{\\mathrm{dust}TE}_{100 \\times 143}", "galf_TE_A_100_143",
0.0, 10.0, 1.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TTTEEE_DEFAULT_galf_TE_A_100_143,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);
ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TTTEEE_galf_TE_A_100_217, "A^{\\mathrm{dust}TE}_{100 \\times 217}", "galf_TE_A_100_217",
0.0, 10.0, 1.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TTTEEE_DEFAULT_galf_TE_A_100_217,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);
ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TTTEEE_galf_TE_A_143, "A^{\\mathrm{dust}TE}_{143}", "galf_TE_A_143",
0.0, 10.0, 1.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TTTEEE_DEFAULT_galf_TE_A_143,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);
ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TTTEEE_galf_TE_A_143_217, "A^{\\mathrm{dust}TE}_{143 \\times 217}", "galf_TE_A_143_217",
0.0, 10.0, 1.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TTTEEE_DEFAULT_galf_TE_A_143_217,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);
ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TTTEEE_galf_TE_A_217, "A^{\\mathrm{dust}TE}_{217}", "galf_TE_A_217",
0.0, 10.0, 1.0,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TTTEEE_DEFAULT_galf_TE_A_217,
NCM_PARAM_TYPE_FIXED);
NCM_PARAM_TYPE_FREE);
ncm_model_class_set_sparam (model_class, NC_PLANCK_FI_COR_TTTEEE_galf_TE_index, "n^{\\mathrm{dust}TE}", "galf_TE_index",
-10.0, 10.0, 0.1,
NC_PLANCK_FI_DEFAULT_PARAMS_ABSTOL, NC_PLANCK_FI_COR_TTTEEE_DEFAULT_galf_TE_index,
Expand Down

0 comments on commit 17a7238

Please sign in to comment.