pywrdrb.pre.STARFITOfflineSimulator#
- class pywrdrb.pre.STARFITOfflineSimulator(initial_volume_frac=0.8, starfit_params_filename=None)#
Offline STARFIT reservoir simulator.
Replicates the STARFIT release logic from STARFITReservoirRelease (parameters/starfit.py) without requiring Pywr runtime objects. Pre-computes seasonal lookup tables and simulates storage dynamics day-by-day for each reservoir.
- Parameters:
initial_volume_frac (float) – Initial reservoir storage as a fraction of capacity. Default is 0.8, matching the default in ModelBuilder.Options.
starfit_params_filename (str, optional) – Path to an alternative STARFIT parameter CSV (same format as istarf_conus.csv). If None, the default packaged file is used.
Examples
>>> from pywrdrb.pre.generate_presimulated_releases import STARFITOfflineSimulator >>> sim = STARFITOfflineSimulator(initial_volume_frac=0.8) >>> sim.load_parameters() >>> releases_df = sim.simulate_all(catchment_inflows_df)
- __init__(initial_volume_frac=0.8, starfit_params_filename=None)#
Methods
__init__([initial_volume_frac, ...])generate_and_save(flow_type[, reservoir_list])Load catchment inflows, simulate all STARFIT reservoirs, and save results.
load_parameters()Load STARFIT parameters from istarf_conus.csv and water consumption data.
simulate_all(catchment_inflows_df[, ...])Simulate all STARFIT reservoirs given a catchment inflows DataFrame.
simulate_reservoir(reservoir_name, inflows, ...)Simulate a single STARFIT reservoir over all timesteps.