import numpy as np
sys.path.append('tools')
from tools import *
#Append analysis directories to path
extend_path()
from parameters_UVB_rates import param_UVB_Rates
from simulation_grid import Simulation_Grid
from simulation_parameters import *
from load_tabulated_data import *
from mcmc_data_functions import Get_Comparable_T0_Gaikwad

SG = Simulation_Grid(parameters=param_UVB_Rates,
                     sim_params=sim_params,
                     job_params=job_params,
                     dir=root_dir)
SG.Load_Grid_Analysis_Data()
sim_ids = SG.sim_ids
output_dir = SG.root_dir + 'simulation_grid_data/'
create_directory(output_dir)

grid_param_values = np.array(
    [SG.Grid[sim_id]['parameter_values'] for sim_id in sim_ids])
header = f'Row_i = Values of [ beta_He, beta_H, delta_z_He, delta_z_H ] for simulation i \nn_rows, n_cols = {grid_param_values.shape[0]}, {grid_param_values.shape[1]}  '
file_name = output_dir + f'grid_parameters.txt'
np.savetxt(
    file_name,
    grid_param_values,
    header=header,
    fmt='%.2f',
)
print(f'Saved File: {file_name}')
ps_data_dir = 'lya_statistics/data/'
mcmc_dir = root_dir + 'fit_mcmc/'
input_dir = mcmc_dir + f'{data_name}/'
output_dir = input_dir + 'observable_samples/'
create_directory(output_dir)

kmax = 0.2

# sim_ids = range(10)
sim_ids = None
SG = Simulation_Grid(parameters=param_UVB_Rates,
                     sim_params=sim_params,
                     job_params=job_params,
                     dir=root_dir)
SG.Load_Grid_UVB_Rates()
SG.Load_Grid_Analysis_Data(sim_ids=sim_ids,
                           mcmc_fit_dir='fit_mcmc_delta_0_1.0')
sim_ids = SG.sim_ids
ps_range = SG.Get_Power_Spectrum_Range(kmax=kmax)

z_vals = [2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 5.0]
data_grid, data_grid_power_spectrum = Get_Data_Grid_Composite(
    ['P(k)', 'T0', 'gamma', 'tau', 'tau_HeII'],
    SG,
    z_vals=z_vals,
    sim_ids=sim_ids,
    load_uvb_rates=True)

stats_file = input_dir + 'fit_mcmc.pkl'
samples_file = input_dir + 'samples_mcmc.pkl'

params = SG.parameters
Exemplo n.º 3
0
    F_los_rescaled = np.exp(-tau_los_rescaled)
    F_mean_rescaled = F_los_rescaled.mean()
    diff = np.abs(F_mean_rescaled - F_mean) / F_mean
    if diff > 1e-6:
        print(
            'WARNING: Rescaled F_mean mismatch: {F_mean_rescaled}   {f_mean}')
    return tau_los_rescaled


sim_id = 0

SG = Simulation_Grid(parameters=param_UVB_Rates,
                     sim_params=sim_params,
                     job_params=job_params,
                     dir=root_dir)
SG.Load_Grid_Analysis_Data(sim_ids=[sim_id], load_fit=False)
ps_out_dir = SG.root_dir + 'flux_power_spectrum_files/'

# sim_name = SG.Grid[sim_id]['key']
# output_dir = ps_out_dir + sim_name + '/'
output_dir = SG.root_dir + 'figures/rescaled_ps/'
create_directory(output_dir)

data_sim = SG.Grid[sim_id]['analysis']
data_ps = SG.Grid[sim_id]['analysis']['power_spectrum']
available_indices = data_sim['ps_available_indices']
# available_indices = [30]

sim_dir = SG.Get_Simulation_Directory(sim_id)
analysis_dir = sim_dir + 'analysis_files/'
Exemplo n.º 4
0
else:
    output_dir = mcmc_dir + f'fit_results_{field}_{name}/'
create_directory(output_dir)

load_mcmc_results = False
# load_mcmc_results = True

rescaled_walther = True
rescale_walter_file = ps_data_dir + 'rescale_walther_to_boss.pkl'

# sim_ids = range(10)
SG = Simulation_Grid(parameters=param_UVB_Rates,
                     sim_params=sim_params,
                     job_params=job_params,
                     dir=root_dir)
SG.Load_Grid_Analysis_Data(load_normalized_ps=fit_normalized_ps,
                           ps_norm=ps_norm)
ps_range = SG.Get_Power_Spectrum_Range(kmax=kmax)
sim_ids = SG.sim_ids

z_min = 2.2
z_max = 5.0
ps_extras = {
    'range': ps_range,
    'data_dir': ps_data_dir,
    'data_sets': data_ps_sets,
    'rescaled_walther': rescaled_walther,
    'rescale_walter_file': rescale_walter_file
}
comparable_data = Get_Comparable_Composite(
    field,
    z_min,
matplotlib.rcParams['font.family'] = "sans-serif"
matplotlib.rcParams['mathtext.fontset'] = 'cm'
matplotlib.rcParams['mathtext.rm'] = 'serif'

output_dir = root_dir + 'figures/'
create_directory(output_dir)

SG = Simulation_Grid(parameters=param_UVB_Rates,
                     sim_params=sim_params,
                     job_params=job_params,
                     dir=root_dir)

scales_He = SG.parameters[0]['values']
scales_H = SG.parameters[1]['values']
sim_ids = SG.sim_ids
SG.Load_Grid_Analysis_Data(sim_ids=sim_ids, load_fit=True)

data_sets = [
    data_thermal_history_Gaikwad_2020a, data_thermal_history_Gaikwad_2020b
]
data_colors = ['C9', 'C0', 'C1', 'C2']
font_size = 15

nrows = 1
ncols = 1
fig, ax = plt.subplots(nrows=nrows,
                       ncols=ncols,
                       figsize=(10 * ncols, 8 * nrows))

for sim_id in sim_ids:
    z = SG.Grid[sim_id]['analysis']['z']
from plot_T0_tau import plot_T0_and_tau, plot_tau_HeII
from mcmc_data_functions import Get_Comparable_Composite
from grid_ploting_functions import Plot_Grid_TO, Plot_Grid_TO_gamma, Plot_Grid_tau_HeII


ps_data_dir = 'lya_statistics/data/'
output_dir = root_dir + 'figures/'
create_directory( output_dir )

SG = Simulation_Grid( parameters=param_UVB_Rates, sim_params=sim_params, job_params=job_params, dir=root_dir )
sim_ids = list(SG.sim_ids)
# sim_ids = range(10)

rescaled_ps = True
ps_norm = {'normalization':'Becker', 'type':'tau_eff_global'}
SG.Load_Grid_Analysis_Data( sim_ids=sim_ids, load_fit=True, load_normalized_ps=rescaled_ps, ps_norm=ps_norm, mcmc_fit_dir='fit_mcmc_delta_0_1.0' )


field = 'T0+tau'
z_min = 2.0
z_max = 5.0 
tau_extras = {'factor_sigma_becker':6.0, 'factor_sigma_keating':4.0}
comparable_data = Get_Comparable_Composite( field, z_min, z_max, tau_extras=tau_extras  )

sim_data_sets = [ ]
# sim_ids_to_plot = [ 1 ]
sim_ids_to_plot = sim_ids
for sim_id in sim_ids_to_plot:
  sim_data  = SG.Grid[sim_id]['analysis']
  sim_param = SG.Grid[sim_id]['parameters']
  label = ''