-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
Milestone
Description
import simkernel as simk
import pytemper
def single_run_statistics(rho, seed, ts, return_period_generator, generator_options):
"""
The following is generic code that can go into the pytemper package
"""
t_max = max(ts)
# get the return periods from the given stochastic system at hand
return_periods_gen = return_period_generator(
rho=rho, seed=seed, t_max=t_max,
**generator_options
)
return_periods = list(return_periods_gen)
# compute and return the temporal percolation cluster statistics
return pytemper.singlerun.statistics(ts=ts, return_periods=return_periods)
# this is also generic and fits into the pytemper package
xp = simk.Experiment(
single_run_statistics
).aggregate(
# this aggregates before even specifying seed input -- delayed to upper layer / calls
'seed', pytemper.single_rho_statistics
)
res = xp(
rho=np.linspace(0, 1),
seed=range(100),
ts=simk.noit(np.logspace(0, 6).astype(int)), # noit: to take the argument as one literal list, do not iterate!
return_period_generator=simk.noit(...), # actual simulation!
generator_options=dict(...), # further simulation options
)I am still not so sure about the output. Is it clear that we can use an ndarray here. Or should it be in table format. Or dictionary access? pandas dataframe? res[rho]?