brinckmann / montepython_public

Public repository for the Monte Python Code
MIT License
92 stars 78 forks source link

Problem with the usage of Planck2018+ACT+SPT together #342

Closed ming-jian closed 8 months ago

ming-jian commented 10 months ago

Hi I want to use the Planck2018, ACT and SPT-3G to study a dark energy model. I have respectively test the Planck 2018, ACT and SPT-3G in this model. These three kinds of data all work well. However, it fails when I use these three datasets together!

In the my.param file: data.experiments=['Planck_highl_TTTEEE', 'Planck_lowl_EE', 'Planck_lowl_TT', 'ACTPol_lite_DR4', 'tau_prior', 'spt3g_y1']
data.over_sampling=[1, 5, 5]

The result shows: Configuration Error: The length of the over_sampling field should be equal to the number of /o\ blocks (one for cosmological parameters, plus one for each likelihood with nuisance parameters)

The initialisation was not successful, resulting in a potentially half /o\ created log.param. Please see the above error message. If you run the exact same command, it will not work. You should solve the problem, and try again.

I donnot know if it is a problem with data.over_sampling=[1, 5, 5]. And how to set this sampling ? The python version is 3.7.11. Montepython is 3.5.

brinckmann commented 10 months ago

Hi Ming-Jian,

You have multiple likelihoods with nuisance parameters. The oversampling field should have a number of entries equal to one (for the cosmological parameters) plus the number of likelihoods with independent nuisance parameters (and, for the record, if there are any likelihoods that share nuisance parameters they should be next to each other in the list and the nuisance parameters should be listed in the same order as the likelihoods are listed, i.e. in your case Planck nuisance parameters first, then ACT nuisance parameters, then SPT nuisance parameters). The first "1" in the oversampling field indicates the base level (cosmological parameters) and each subsequent number is tied to a likelihood with a nuisance parameter, so in your case you can try: data.over_sampling=[1, 5, 5, 5] Then the code should sample the cosmological parameters normally and oversample all the nuisance parameters.

Best, Thejs

ming-jian commented 10 months ago

Thanks very much, Prof. Thejs !