Read values from ini file
This commit is contained in:
parent
4baac7619e
commit
b89b1fe7ae
2 changed files with 56 additions and 11 deletions
54
example0.py
54
example0.py
|
@ -4,7 +4,7 @@ import numbers
|
||||||
import jaxlib
|
import jaxlib
|
||||||
import jax.numpy as jnp
|
import jax.numpy as jnp
|
||||||
import jax
|
import jax
|
||||||
|
import configparser
|
||||||
|
|
||||||
# Output stream management
|
# Output stream management
|
||||||
cons = borg.console()
|
cons = borg.console()
|
||||||
|
@ -14,25 +14,59 @@ def myprint(x):
|
||||||
else:
|
else:
|
||||||
cons.print_std(repr(x))
|
cons.print_std(repr(x))
|
||||||
|
|
||||||
|
def get_cosmopar(ini_file):
|
||||||
|
"""
|
||||||
|
Extract cosmological parameters from an ini file
|
||||||
|
|
||||||
|
Args:
|
||||||
|
:ini_file (str): Path to the ini file
|
||||||
|
|
||||||
|
Returns:
|
||||||
|
:cpar (borg.cosmo.CosmologicalParameters): Cosmological parameters
|
||||||
|
"""
|
||||||
|
|
||||||
|
config = configparser.ConfigParser()
|
||||||
|
config.read(ini_file)
|
||||||
|
|
||||||
|
cpar = borg.cosmo.CosmologicalParameters()
|
||||||
|
cpar.default()
|
||||||
|
cpar.fnl = float(config['cosmology']['fnl'])
|
||||||
|
cpar.omega_k = float(config['cosmology']['omega_k'])
|
||||||
|
cpar.omega_m = float(config['cosmology']['omega_m'])
|
||||||
|
cpar.omega_b = float(config['cosmology']['omega_b'])
|
||||||
|
cpar.omega_q = float(config['cosmology']['omega_q'])
|
||||||
|
cpar.h = float(config['cosmology']['h100'])
|
||||||
|
cpar.sigma8 = float(config['cosmology']['sigma8'])
|
||||||
|
cpar.n_s = float(config['cosmology']['n_s'])
|
||||||
|
cpar.w = float(config['cosmology']['w'])
|
||||||
|
cpar.wprime = float(config['cosmology']['wprime'])
|
||||||
|
|
||||||
|
return cpar
|
||||||
|
|
||||||
|
|
||||||
class MyLikelihood(borg.likelihood.BaseLikelihood):
|
class MyLikelihood(borg.likelihood.BaseLikelihood):
|
||||||
"""
|
"""
|
||||||
HADES likelihood class
|
HADES likelihood class
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self, fwd: borg.forward.BaseForwardModel):
|
def __init__(self, fwd: borg.forward.BaseForwardModel, ini_fname: str):
|
||||||
|
|
||||||
self.fwd = fwd
|
self.fwd = fwd
|
||||||
self.N = [32, 32, 32] # Number of grid points per side
|
|
||||||
self.L = [500, 500, 500] # Box size lenght Mpc/h
|
|
||||||
|
|
||||||
self.sigma_dens = 0.1 # Density scatter
|
# Read the ini file
|
||||||
|
self.ini_fname = ini_fname
|
||||||
|
config = configparser.ConfigParser()
|
||||||
|
config.read(ini_fname)
|
||||||
|
self.N = [int(config['system'][f'N{i}']) for i in range(3)] # Number of grid points per side
|
||||||
|
self.L = [float(config['system'][f'L{i}']) for i in range(3)] # Box size lenght Mpc/h
|
||||||
|
|
||||||
|
self.sigma_dens = float(config['mock']['sigma_dens']) # Density scatter
|
||||||
|
|
||||||
myprint(f"Likelihood initialized with {self.N} grid points and box size {self.L} Mpc/h")
|
myprint(f"Likelihood initialized with {self.N} grid points and box size {self.L} Mpc/h")
|
||||||
super().__init__(fwd, self.N, self.L)
|
super().__init__(fwd, self.N, self.L)
|
||||||
|
|
||||||
# Set up cosmoligical parameters
|
# Set up cosmoligical parameters
|
||||||
cpar = borg.cosmo.CosmologicalParameters()
|
cpar = get_cosmopar(ini_fname)
|
||||||
cpar.default()
|
|
||||||
self.updateCosmology(cpar)
|
self.updateCosmology(cpar)
|
||||||
|
|
||||||
# Gradient of the likelihood
|
# Gradient of the likelihood
|
||||||
|
@ -180,6 +214,7 @@ def build_gravity_model(state: borg.likelihood.MarkovState, box: borg.forward.Bo
|
||||||
global chain
|
global chain
|
||||||
myprint("Building gravity model")
|
myprint("Building gravity model")
|
||||||
|
|
||||||
|
# READ FROM INI FILE
|
||||||
which_model = 'cola'
|
which_model = 'cola'
|
||||||
ai = 0.05 # Initial scale factor
|
ai = 0.05 # Initial scale factor
|
||||||
af = 1.0 # Final scale factor
|
af = 1.0 # Final scale factor
|
||||||
|
@ -250,8 +285,7 @@ def build_gravity_model(state: borg.likelihood.MarkovState, box: borg.forward.Bo
|
||||||
chain @= mod
|
chain @= mod
|
||||||
|
|
||||||
# Cosmological parameters
|
# Cosmological parameters
|
||||||
cpar = borg.cosmo.CosmologicalParameters()
|
cpar = get_cosmopar(borg.getIniConfigurationFilename())
|
||||||
cpar.default()
|
|
||||||
chain.setCosmoParams(cpar)
|
chain.setCosmoParams(cpar)
|
||||||
|
|
||||||
return chain
|
return chain
|
||||||
|
@ -291,5 +325,5 @@ def build_likelihood(state: borg.likelihood.MarkovState, info: borg.likelihood.L
|
||||||
|
|
||||||
myprint("Building likelihood")
|
myprint("Building likelihood")
|
||||||
global likelihood
|
global likelihood
|
||||||
likelihood = MyLikelihood(chain)
|
likelihood = MyLikelihood(chain, borg.getIniConfigurationFilename())
|
||||||
return likelihood
|
return likelihood
|
||||||
|
|
13
ini_file.ini
13
ini_file.ini
|
@ -50,4 +50,15 @@ n_s = 0.97
|
||||||
w = -1
|
w = -1
|
||||||
wprime = 0
|
wprime = 0
|
||||||
beta = 1.5
|
beta = 1.5
|
||||||
z0 = 0
|
z0 = 0
|
||||||
|
|
||||||
|
[mock]
|
||||||
|
sigma_dens = 0.1
|
||||||
|
|
||||||
|
[gravity]
|
||||||
|
which_model = lpt
|
||||||
|
ai = 0.05 # Initial scale factor
|
||||||
|
af = 1.0 # Final scale factor
|
||||||
|
supersampling = 2
|
||||||
|
forcesampling = 2
|
||||||
|
nsteps = 20 # Number of steps in the PM solver
|
Loading…
Add table
Reference in a new issue