180912 montepython cambridge · 2019. 11. 26. · montepython + class kavli workshop, cambridge −...

40
MontePython Thejs Brinckmann, Deanna C. Hooper, Julien Lesgourgues MontePython + CLASS Kavli workshop Code developed by Audren, Brinckmann, Lesgourgues & many others Lecture, Cambridge, 12/09/18

Upload: others

Post on 09-Apr-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

MontePython

Thejs Brinckmann, Deanna C. Hooper, Julien Lesgourgues

MontePython + CLASS Kavli workshop

Code developed by Audren, Brinckmann, Lesgourgues & many others

Lecture, Cambridge, 12/09/18

Page 2: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

2

Overview

1. Brief introduction of new features in MontePython 3

2. Overview of the structure of the code

3. Basic introduction on how to use the code

4. Advanced usage and details on MontePython 3 improvements

Page 3: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

3

MontePython 3: new features

New version 3.0 of MontePython earlier this year▶︎ see release paper Brinckmann & Lesgourgues 1804.07261

Notable new features1. Superupdate (speed up & easier to converge)

2. Fisher matrix calculation (speed up & easier to converge)

3. New likelihoods (more/new data, mock likelihoods)

4. Improved plotting (nice plots, easier to customize)

v3.1 coming soon!

Featuring manynew likelihoods

Page 4: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

4

MontePython 3: modular structure

sampler.py

Generic interface/API

with samplers

Gene

ric

inte

rfac

e/A

PI w

ith

Bolt

zman

n co

des

Generic interface/API with likelihoods

CLASS (C)

classy.py python wrapper

mcmc.py (Metropolis-Hastings with Cholesky and covmat, jumping factor update)

nested_sampling.py interface

cosmo_hammer.py interface

PyMultinest wrapper

Multinest (fortran)

CosmoHammer (C++)

importance_sampling.py

….

Planc

k_hig

hl

Planc

k_low

l

Planc

k_.....

.... ....

eucli

d_len

sing

eucli

d_pk

eucli

d_ga

laxy_

cl

eucli

d_len

sing_

galax

y

Plik Currently 67 likelihoods implemented (CMB, BAO, SNIa,

Hubble, time delay, cosmic clocks, galaxy correlation, cosmic shear, …)

montepython.py

developed internally

in development (internally)

developed externally

Page 5: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

5

MontePython 3: modular structure

sampler.py

Generic interface/API

with samplers/engines

montepython.py

mcmc.py (Metropolis-Hastings with Cholesky and covmat, jumping factor update)

nested_sampling.py interface

cosmo_hammer.py interface

PyMultinest wrapper

Multinest (fortran)

CosmoHammer (C++)

importance_sampling.py

…. developed internally

in development (internally)

developed externally

Page 6: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

6

MontePython 3: modular structure

sampler.py

Generic interface/API

with Boltzmann codes

official CAMB python wrapper

CAMB (fortran)

camby.py python

interface

CLASS (C)

classy.py python wrapper

montepython.py

developed internally

in development (internally)

developed externally

?

Page 7: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

7

MontePython 3: modular structure

Planc

k_hig

hl

Planc

k_low

l

Planc

k_.....

....

eucli

d_len

sing

eucli

d_pk

eucli

d_ga

laxy_

cl

eucli

d_len

sing_

galax

y

Plik

Currently 67 likelihoods implemented (CMB, BAO, SNIa, Hubble, time delay, cosmic clocks, galaxy

correlation, cosmic shear, …), see them in montepython/montepython/likelihoods

sampler.py

Generic interface/API with likelihoods

developed internally

in development (internally)

developed externally

Page 8: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

8

MontePython 3: installation• Download & install CLASS▶︎ https://github.com/lesgourg/class_public▶︎ compile CLASS with wrapper (i.e. use “make clean;make” not “make class”)

• Need Python 2.7.x with numpy, scipy, matplotlib and cython▶︎ Python 3 users will need to install Python 2.7 and use that version (including libraries!) in order to run MontePython. Be careful with pointers to Python 3, as they can cause problems. ▶︎ compatibility with Python 3 is planned ▶︎ for MPI parallel runs also need mpi4py

• Download or clone MontePython from github▶︎ https://github.com/brinckmann/montepython_public

• Set up configuration file ▶︎ cp default.conf.template default.conf▶︎ update paths

That’s it!

Page 9: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

9

MontePython 3: running the code

Basic options -c covmat/base2015.covmat -b bestfit/base2015.bestfit

Possible to launch parallel jobs manually (for Metropolis-Hastings) or using MPI▶︎ mpirun -np N montepython/MontePython.py run …

To use multiple cores per chain first write (CLASS is parallelized to 8-32 cores)▶︎ OMP_NUM_THREADS=M

This will create N number MPI processes each running on M number of cores

use covariance matrix as proposal distributionuse a bestfit file as starting point for the run

For more see appendix B of 1804.07261

input parameter file output directorynumber of proposed steps for each chain

Required input▶︎ python montepython/MontePython.py run plus … -p input/example.param -o chains/planck_run -N 10000

Page 10: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

10

MontePython 3: param fileUnderstanding the .param file

List of experiments: must matchnames in likelihood folder

Page 11: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

11

MontePython 3: param fileUnderstanding the .param file Over-sampling of fast nuisance parameters

Cosmologicalparameters

Nuisance parameters aresampled 4x as much

Page 12: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

MontePython 3: param file

12

Understanding the .param file

Cosmological parameters

Type1-sigma

Parameter namesmust be CLASS compatible, as in explanatory.ini* Mean

ScalingLower andupper bound

Page 13: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

13

MontePython 3: param fileUnderstanding the .param file

Nuisance parameters are onlyused by MontePython, i.e.are not passed to CLASS

Nuisance type

Nuisance parametersare often faster to vary

Over-sampling speedsup convergence

Page 14: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

14

MontePython 3: param fileUnderstanding the .param file

Derived parameters do notaffect the run and are computed

from the other parameters Derived type

Derived parameters can be added in post-processing

Page 15: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

15

MontePython 3: param fileUnderstanding the .param file

Cosmological argumentsare fixed parameters

passed to CLASS

Arguments control e.g. numerical precision and fixed cosmological parameters

Page 16: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

16

MontePython 3: analyzing output

Analyze chains with info▶︎ python montepython/MontePython.py info chains/planck_run plus …

Additional notable options

Fans of GetDist can also use that, as the chains formatis the same and a .paramnames file is provided

Plotting received an overhaul in 3.0!

+ many more (see documentation and 3.0 release paper)!

intelligent analysis:non-Markovian pointsremoved by default,

no unnecessaryremoval of data

For more see appendix C of 1804.07261

Page 17: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

17

MontePython 3: plotting

Created with MontePython info using▶︎ --extra example.plot with two customization scripts passed in example.plotpython montepython/MontePython info dir1 dir2 dir3 --extra plot_files/ex.plot

Improved contours,added control of e.g.colors, axes, legends,

Custom scripts of python code can be added

0.723

0.767

0.812

�8

0.28 0.302 0.325⌦m

66.6 68.3 70.1H0

0.28

0.302

0.325

⌦m

0.723 0.767 0.812�8

WI, logDP, log⇤CDM+�NfluidPlotting received an overhaul in 3.0!

For more see appendix C of 1804.07261

Page 18: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

18

MontePython 3: advanced usage

1. New features and advanced sampling options

2. Sampling new parameters in CLASS

3. Communication with CLASS and adding new parameterizations

4. Adding likelihoods

Page 19: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

19

MontePython 3: Fisher matrixCompute Fisher matrices by adding▶︎ --method Fisher▶︎ Can use inverse as input covariance matrix for faster convergence

0.117

0.118

0.119

0.12

0.121

!cd

m

1.04

1.04

1.04

1.04

1.04

100

⇤✓s

3.04

3.06

3.08

3.09

3.11

ln10

10A

s

0.953

0.957

0.962

0.966

0.971

ns

0.077

0.0857

0.0945

0.103

0.112

⌧ rei

o

0

0.0832

0.139

0.194

0.25

P m⌫

-1.15 -1.09 -1.02 -0.962 -0.901w0

2.19 2.21 2.23 2.25 2.27100 !b

-1.15

-1.09

-1.02

-0.962

-0.901

w0

0.117 0.118 0.119 0.12 0.121!cdm

1.04 1.04 1.04 1.04 1.04100 ⇤ ✓s

3.04 3.06 3.08 3.09 3.11

ln1010As

0.953 0.957 0.962 0.966 0.971ns

0.077 0.0857 0.0945 0.103 0.112⌧reio

0 0.0832 0.139 0.194 0.25Pm⌫

Worst approximated parameters shown

(for this run)

Much better than a poor or no input covariance matrix!

For more see section 3 of 1804.07261

Page 20: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

20

MontePython 3: Fisher matrix

Important

Speed up convergence by firstcomputing an inverse Fisher matrix

to use as proposal distribution!

For more see section 3 of 1804.07261

Page 21: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

21

MontePython 3: superupdate

--update : Periodically updates the covariance matrix ▶︎ changes the shape and size of the proposal distribution ▶︎ particularly important with parameter degeneracies

--superupdate : adjusts the jumping factor ▶︎ i.e. re-scales the size of the proposal distribution ▶︎ mitigates ill effects of poor initial knowledge ▶︎ optimizes jumping factor to optimal acceptance rate (~25%)

For more see section 2 of 1804.07261

Since v2.2 (October 2015)

New in v3.0

Boosting Metropolis-Hastings sampling

Page 22: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

--superupdate : adjusts the jumping factor

Cosmologists usually aim for an a.r. of 25% since Dunkley et al. 2005 ▶︎ achieved by above criteria because in many cases a.r. starts low

The jumping factor is directly related to the covariance matrix ▶︎ must update jumping factor after changing the covariance matrix

I.e., we want to keep the volume of the proposal density constant

22

MontePython 3: superupdateFor more see section 2 of 1804.07261

Page 23: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

23

MontePython 3: superupdate

NB: Fisher method struggles without

a good bestfit and/or

with non-Gaussianparameters

superupdate:consistent

performance boost

2x

3x

3x

!

For more see section 4 of 1804.07261

Page 24: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

24

MontePython 3: superupdate

12x48 core-hours saved!

For more see section 4 of 1804.07261

Page 25: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

Boosting Metropolis-Hastings samplingNote: superupdate always enables update

Main advantages▶︎ faster convergence▶︎ better at dealing with difficult cases

25

MontePython 3: superupdateFor more see section 2 of 1804.07261

Since v2.2 (October 2015)

Always neutral or better

New in v3.0

Page 26: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

26

Important

Speed up convergence of Metropolis-Hastings runs!

For more see appendix B of 1804.07261

Can also use MultiNest

MontePython 3: sampling optionsAdvanced options

Page 27: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

27

For more see appendix B of 1804.07261

Can also use MultiNest

MontePython 3: sampling optionsAdvanced options

More options

• --display-each-chi2 : display the 𝜒2 contribution of each likelihood in a given pointE.g. use with bestfit file

--b <file> and no jump -f 0• --quiet : reduce output

• --silent : silence all but essential output

Restarting chains• -r <file> : restart chains from previous run. Must pass the lowest index chains file, e.g. 2018-09-12_10000__1.txt .

MontePython will then create copies of all chains index 1 through N (number of MPI processes) with new names 2018-09-12_20000__1.txt etc. Once the chains have been copied the old chains can be moved to a backup folder or deleted. Note they will be automatically deleted at the completion of the run.

The old chains should not be included in the analysis

Page 28: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

28

MontePython 3: likelihoodsLikelihoods can be found in the folder: ▶︎ <montepython_directory>/montepython/likelihoods/

New (18) or updated (3) likelihoods in MontePython 3.0

For more see appendix D of 1804.07261

Page 29: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

29

MontePython 3: likelihoods

Start by creating fiducial spectra (may need to delete existing one first) ▶︎ python montepython/MontePython.py run -p <file> -o <directory> -f 0

Then run as normal!

For more see appendix D of 1804.07261

Easy to do forecasts with MontePython!

More coming soon!

No jump

E.g. CMB-S4, PICO, SKA

and

updated euclid likelihoods

Page 30: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

30

MontePython 3: communication with CLASS

MontePython interacts with CLASS through the wrapper and automatically accepts any parameter that is implemented in CLASS.

Example: you have implemented a model in CLASS with parameters my_parameter1 and my_parameter2, as well as precision parameters my_precision1 and my_precision2.

These parameters can be directly added to the .param file.

For more see appendix A of 1804.07261

Page 31: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

31

MontePython 3: communication with CLASS

These parameters can be directly added to the .param file.

That’s it!

For more see appendix A of 1804.07261

Page 32: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

32

MontePython 3: communication with CLASS

* We can add a custom parameterization for our new parameters. To do this, we have to modify ▶︎ <montepython_directory>/montepython/data.py

We have now redefined my_parameter2 as a function of my_parameter1 and my_parameterization

For more see appendix A of 1804.07261

Page 33: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

33

MontePython 3: communication with CLASS

The new parameterization can be directly added to the .param file.

That’s it!

For more see appendix A of 1804.07261

Page 34: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

34

MontePython 3: communication with CLASS

Can call any function in the wrapper:

For more see appendix A of 1804.07261

Page 35: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

35

MontePython 3: adding likelihoods

1. Create folder, e.g. starting from a similar likelihood ▶︎ cp -r simlow my_likelihood

The folder contains two files

▶︎

2. Rename .data file to match folder name, i.e. my_likelihood

▶︎

For more see appendix D of 1804.07261

Page 36: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

36

MontePython 3: adding likelihoods3. Rename class in __init__.py to match folder name

For more see appendix D of 1804.07261

Page 37: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

37

MontePython 3: adding likelihoods4. Rename class variables in my_likelihood.data

For more see appendix D of 1804.07261

Page 38: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

38

MontePython 3: adding likelihoodsPerhaps we want a prior on the sound horizon at drag epoch

5. Modify my_likelihood.data as necessary, e.g. in our example

For more see appendix D of 1804.07261

Page 39: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

39

MontePython 3: adding likelihoods6. Modify __init__.py as necessary, e.g. in our example

For more see appendix D of 1804.07261

Page 40: 180912 MontePython Cambridge · 2019. 11. 26. · MontePython + CLASS Kavli workshop, Cambridge − 12/09/18 17 MontePython 3: plotting Created with MontePython info using ︎--extra

Brinckmann, Hooper, Lesgourgues MontePython lecture

MontePython + CLASS Kavli workshop, Cambridge − 12/09/18

40

MontePython 3: more informationMontePython 3 paper▶︎ Brinckmann & Lesgourgues 1804.07261

Official documentation▶︎ http://monte-python.readthedocs.io/en/latest/

Help files▶︎ python montepython/MontePython.py run -h (more details: --help)▶︎ python montepython/MontePython.py info -h (more details: --help)

Github readme https://github.com/brinckmann/montepython_public

Wikihttps://github.com/baudren/montepython_public/wiki

Previous talks and tutorials on Julien Lesgourgues’ website https://lesgourg.github.io/courses.html

Problems? Open a ticket on my github page (after trying to find a solution yourself) https://github.com/brinckmann/montepython_public