Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
},
}
vary = {
"mu": cp.Uniform(1.0, 100.0),
}
encoder = uq.encoders.GenericEncoder(template_fname='tests/gauss/gauss.template',
target_filename='gauss_in.json')
#decoder = JSONDecoder(target_filename='output.csv.json', output_columns=['numbers'])
decoder = uq.decoders.SimpleCSV(target_filename="output.csv",
output_columns=["numbers"],
header=0)
collater = uq.collate.AggregateSamples(average=False)
actions = uq.actions.ExecuteLocal("tests/gauss/gauss_json.py gauss_in.json")
sampler = uq.sampling.PCESampler(vary=vary, polynomial_order=4)
my_campaign = uq.Campaign(name='gauss_vector', work_dir=tmpdir)
my_campaign.add_app(name="gauss_vector",
params=params,
encoder=encoder,
decoder=decoder,
collater=collater)
my_campaign.set_sampler(sampler)
my_campaign.draw_samples()
my_campaign.populate_runs_dir()
my_campaign.apply_for_each_run_dir(actions)
my_campaign.collate()
data = my_campaign.get_collation_result()
print("===== DATA:\n ", data)
analysis = uq.analysis.PCEAnalysis(sampler=sampler, qoi_cols=["numbers"])
my_campaign.apply_analysis(analysis)
# Create an encoder and decoder for PCE test app
encoder = uq.encoders.GenericEncoder(
template_fname='tests/cooling/cooling.template',
delimiter='$',
target_filename='cooling_in.json')
decoder = uq.decoders.SimpleCSV(target_filename=output_filename,
output_columns=output_columns,
header=0)
# Create a collation element for this campaign
collater = uq.collate.AggregateSamples(average=False)
# Create the sampler
vary = {
"kappa": cp.Uniform(0.025, 0.075),
"t_env": cp.Uniform(15, 25)
}
sampler = uq.sampling.PCESampler(vary=vary,
polynomial_order=3)
actions = uq.actions.ExecuteLocal("tests/cooling/cooling_model.py cooling_in.json")
stats = uq.analysis.PCEAnalysis(sampler=sampler,
qoi_cols=output_columns)
campaign(tmpdir, 'pce', 'pce', params, encoder, decoder, sampler,
collater, actions, stats, vary, 0, 1)
output_columns = ["te", "ti"]
encoder = uq.encoders.GenericEncoder(
template_fname='tests/cooling/cooling.template',
delimiter='$',
target_filename='cooling_in.json')
decoder = uq.decoders.SimpleCSV(target_filename=output_filename,
output_columns=output_columns,
header=0)
collater = uq.collate.AggregateSamples(average=False)
vary = {
"kappa": cp.Uniform(0.025, 0.075),
"t_env": cp.Uniform(15, 25)
}
cooling_sampler = uq.sampling.PCESampler(vary=vary, polynomial_order=3)
cooling_action = uq.actions.ExecuteLocal("tests/cooling/cooling_model.py cooling_in.json")
cooling_stats = uq.analysis.PCEAnalysis(sampler=cooling_sampler, qoi_cols=output_columns)
return params, encoder, decoder, collater, cooling_sampler, cooling_action, cooling_stats
my_campaign.add_app(name="cooling",
params=params,
encoder=encoder,
decoder=decoder
)
# Create a collation element for this campaign
collater = uq.collate.AggregateSamples(average=False)
my_campaign.set_collater(collater)
# Create the sampler
vary = {
"kappa": cp.Uniform(0.025, 0.075),
"t_env": cp.Uniform(15, 25)
}
my_sampler = uq.sampling.PCESampler(vary=vary,
polynomial_order=3)
# Associate the sampler with the campaign
my_campaign.set_sampler(my_sampler)
# Will draw all (of the finite set of samples)
my_campaign.draw_samples()
my_campaign.populate_runs_dir()
my_campaign.apply_for_each_run_dir(uq.actions.ExecuteLocal(
"cooling_model.py cooling_in.json"))
my_campaign.collate()
# Post-processing analysis
my_analysis = uq.analysis.PCEAnalysis(sampler=my_sampler,
"chi": cp.Uniform(0.8, 1.2),
"Te_bc": cp.Uniform(80.0, 120.0)
}
""" other possible quantities to vary
"a0": cp.Uniform(0.9, 1.1),
"R0": cp.Uniform(2.7, 3.3),
"E0": cp.Uniform(1.4, 1.6),
"b_pos": cp.Uniform(0.95, 0.99),
"b_height": cp.Uniform(5e19, 7e19),
"b_sol": cp.Uniform(1e19, 3e19),
"b_width": cp.Uniform(0.015, 0.025),
"b_slope": cp.Uniform(0.005, 0.020)
"""
# Associate a sampler with the campaign
my_campaign.set_sampler(uq.sampling.PCESampler(vary=vary, polynomial_order=3))
# Will draw all (of the finite set of samples)
my_campaign.draw_samples()
print('Number of samples = %s' % my_campaign.get_active_sampler().count)
time_end = time.time()
print('Time for phase 2 = %.3f' % (time_end-time_start))
time_start = time.time()
# Create and populate the run directories
my_campaign.populate_runs_dir()
time_end = time.time()
print('Time for phase 3 = %.3f' % (time_end-time_start))
time_start = time.time()
collater = uq.collate.AggregateSamples(average=False)
# Add the app (automatically set as current app)
my_campaign.add_app(name="cooling",
params=params,
encoder=encoder,
decoder=decoder,
collater=collater)
# Create the sampler
vary = {
"kappa": cp.Uniform(0.025, 0.075),
"t_env": cp.Uniform(15, 25)
}
my_sampler = uq.sampling.PCESampler(vary=vary,
polynomial_order=3)
# Associate the sampler with the campaign
my_campaign.set_sampler(my_sampler)
# Will draw all (of the finite set of samples)
my_campaign.draw_samples()
cluster = SLURMCluster(job_extra=['--cluster=mpp2'], queue='mpp2_batch',
cores=28, memory='1 GB')
cluster.scale(1)
print(cluster.job_script())
client = Client(cluster)
my_campaign.populate_runs_dir()
collater = uq.collate.AggregateSamples(average=False)
# Add the app (automatically set as current app)
my_campaign.add_app(name="cooling",
params=params,
encoder=encoder,
decoder=decoder,
collater=collater)
# Create the sampler
vary = {
"kappa": cp.Uniform(0.025, 0.075),
"t_env": cp.Uniform(15, 25)
}
my_sampler = uq.sampling.PCESampler(vary=vary,
polynomial_order=3)
# Associate the sampler with the campaign
my_campaign.set_sampler(my_sampler)
# Will draw all (of the finite set of samples)
my_campaign.draw_samples()
my_campaign.populate_runs_dir()
cwd = os.getcwd()
cmd = f"{cwd}/cooling_model.py cooling_in.json"
my_campaign.apply_for_each_run_dir(uq.actions.ExecuteLocal(cmd, interpret='python3'))
my_campaign.collate()
# Post-processing analysis