Simulation¶
Bakaano has two canonical simulation entry points:
simulate_grdc_csv_stationsfor station setssimulate_streamflowfor arbitrary lat/lon points
Simulate station sets¶
from bakaano.neuralnet.simulate import simulate_grdc_csv_stations
simulate_grdc_csv_stations(
working_dir="/path/to/working_dir",
study_area="/path/to/basin.shp",
model_path="/path/to/working_dir/models/bakaano_model.keras",
sim_start="1981-01-01",
sim_end="2020-12-31",
grdc_netcdf="/path/to/GRDC.nc",
routing_method="mfd",
)
Simulate station CSV sets¶
simulate_grdc_csv_stations(
working_dir="/path/to/working_dir",
study_area="/path/to/basin.shp",
model_path="/path/to/working_dir/models/bakaano_model.keras",
sim_start="1981-01-01",
sim_end="2020-12-31",
grdc_netcdf=None,
csv_dir="/path/to/observed_csvs",
lookup_csv="/path/to/station_lookup.csv",
)
Simulate arbitrary lat/lon points¶
from bakaano.neuralnet.simulate import simulate_streamflow
simulate_streamflow(
working_dir="/path/to/working_dir",
study_area="/path/to/basin.shp",
model_path="/path/to/working_dir/models/bakaano_model.keras",
sim_start="1981-01-01",
sim_end="1990-12-31",
latlist=[13.8, 13.9],
lonlist=[3.0, 4.0],
routing_method="mfd",
)
Outputs¶
Station simulations:
{working_dir}/predicted_streamflow_data/bakaano_<station_id>.csvLat/lon simulations:
{working_dir}/predicted_streamflow_data/predicted_streamflow_lat<lat>_lon<lon>.csv
Important timing rule¶
Simulation outputs begin after a one-year warmup period. The first 365 days are used as model context and are not written to the output CSVs.
Common failure modes¶
Requested simulation period is not covered by routed runoff.
Lat/lon lists have different lengths.
Points fall outside the study area.
A model trained with routed rainfall is run without
rainfall_sparse_arrays.pkl.