Exemplo n.º 1
0
from simulation_grid import Simulation_Grid
from simulation_parameters import *
from mcmc_functions import *
from mcmc_data_functions import *
from data_thermal_history import *
from mcmc_plotting_functions import *
from plot_UVB_Rates import Plot_Grid_UVB_Rates


field = 'T0+tau'
output_dir = root_dir + f'fit_results_{field}/'
create_directory( output_dir )



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

comparable_data = Get_Comparable_Composite_T0_tau( factor_sigma_tau_becker=6.0, factor_sigma_tau_keating=4.0,  )
comparable_grid = Get_Comparable_Composite_T0_tau_from_Grid( comparable_data, SG )

fields = [ 'T0', 'tau' ]
data_grid = Get_Data_Grid( fields, SG )

params = SG.parameters

deltaZ_H_vals = [ -0.45,  -0.15, 0.15, 0.45 ]
ids_closest = []
for deltaZ_H in deltaZ_H_vals:
  params_search = np.array([ 0.41, 0.82, 0.13, deltaZ_H ]) 
import os, sys
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',
)
Exemplo n.º 3
0
import os, sys
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 plot_UVB_Rates import Plot_Grid_UVB_Rates

SG = Simulation_Grid(parameters=param_UVB_Rates,
                     sim_params=sim_params,
                     job_params=job_params,
                     dir=root_dir)
SG.Create_Grid_Directory_Structure()
SG.Create_Directories_for_Simulations()
# SG.Create_All_Submit_Job_Scripts()
SG.Create_All_Parameter_Files()
SG.Create_UVB_Rates_Files(max_delta_z=0.1)

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

# SG.Load_Grid_UVB_Rates()
# Plot_Grid_UVB_Rates( SG, output_dir )
from simulation_grid import Simulation_Grid
from simulation_parameters import *
from mcmc_functions import *
from mcmc_data_functions import *
from data_thermal_history import *
from mcmc_plotting_functions import *
from mcmc_sampling_functions import *


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



SG = Simulation_Grid( parameters=param_UVB_Rates, sim_params=sim_params, job_params=job_params, dir=root_dir )
SG.Load_Grid_Analysis_Data()
ps_range = SG.Get_Power_Spectrum_Range( kmax=1 )
sim_ids = SG.sim_ids

z_vals = np.array([ 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.6, 4.4,  5.0,  5.4,   ])
data_grid, data_grid_power_spectrum = Get_Data_Grid_Composite( ['P(k)', 'T0', 'tau', 'tau_HeII'], SG, z_vals=z_vals )

params = SG.parameters
scale_He_values  = params[0]['values']
scale_H_values   = params[1]['values']
deltaZ_He_values = params[2]['values']
deltaZ_H_values  = params[3]['values']


scale_He_HL  = 0.44
Exemplo n.º 5
0
                            guess,
                            args=(F_mean, tau_los))
    tau_los_rescaled = alpha * tau_los
    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)
# data_labels = 'BOSS + Irsic'
# data_labels = 'BOSS + Boera'
data_labels = 'BOSS + Irsic + Boera'

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)
from generate_grackle_uvb_file import Load_Grackle_File, Modify_UVB_Rates, Extend_Rates_Redshift, Copy_Grakle_UVB_Rates

data_name = 'fit_results_P(k)+tau_HeII_Boss'
data_name = 'fit_results_P(k)+tau_HeII_Boss_Irsic_Boera'
# data_name = 'fit_results_P(k)+tau_HeII_Walther_kmax0.02_rescaleTauHeII1.0'
# data_name = 'fit_results_P(k)+tau_HeII_Walther_kmax0.10_rescaleTauHeII0.8'
# data_name = 'fit_results_P(k)+tau_HeII_Boss_Walther_kmax0.10_rescaleTauHeII0.3'

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)

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

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

print(f'Loading File: {stats_file}')
stats = pickle.load(open(stats_file, 'rb'))
for p_id in params.keys():
    p_name = params[p_id]['name']
    p_stats = stats[p_name]
    params[p_id]['mean'] = p_stats['mean']
    params[p_id]['sigma'] = p_stats['standard deviation']
print(f'Loading File: {samples_file}')
param_samples = pickle.load(open(samples_file, 'rb'))
Exemplo n.º 8
0
create_directory(mcmc_dir)
if fit_normalized_ps:
    output_dir = mcmc_dir + f'fit_results_{field}_{name}_normalizd_{ps_norm["normalization"]}_{ps_norm["type"]}/'
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
}
Exemplo n.º 9
0
import os, sys
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 plot_UVB_Rates import Plot_Grid_UVB_Rates

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

reduced_snaps_dir = SG.root_dir + 'reduced_snapshot_files/'
output_root_dir = SG.root_dir + 'selected_snapshot_files_params_H/'
create_directory( output_root_dir )

# fields = [ 'temperature' ]
fields = [ 'density', 'HI_density' ]

# params = { 'scale_He':None, 'deltaZ_He':None, 'scale_H':0.86, 'deltaZ_H':0.0 }
params = { 'scale_He':0.3, 'deltaZ_He':0.2, 'scale_H':None, 'deltaZ_H':None }
print( f'Selecting: {params} ' )
selected_sims = SG.Select_Simulations( params, tolerance=5e-3 )
n_sims = len( selected_sims )
print( f'N Selected Sims: {n_sims} ' )



sim_id = selected_sims[0]
data_sim = SG.Grid[sim_id]
Exemplo n.º 10
0
import pickle
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 plot_UVB_Rates import Plot_Grid_UVB_Rates


create_directory( root_dir )
create_directory( figures_dir )


SG = Simulation_Grid( parameters=param_UVB_Rates, sim_params=sim_params, job_params=job_params, dir=root_dir )
SG.Get_Grid_Status( check_queue=False )


SG.Load_Grid_Analysis_Data( )



sim_ids = SG.sim_ids
data_out = {}
for sim_id in sim_ids:
  data_out[sim_id] = {}
  data_out[sim_id]['z']  = SG.Grid[sim_id]['analysis']['z']
  data_out[sim_id]['T0'] = SG.Grid[sim_id]['analysis']['T0']
  data_out[sim_id]['F_mean'] = SG.Grid[sim_id]['analysis']['F_mean']
  data_out[sim_id]['parameters'] = SG.Grid[sim_id]['parameters']
#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 plot_flux_power_spectrum import plot_power_spectrum_grid
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 = [ ]