You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ntroduce a new HBVSimulator class that manages simulation over time by orchestrating calls to step_run() on HBV model variants. This centralizes time control, improves reusability, and supports calibration and testing workflows.
Create a wrapper class called HBVSimulator that encapsulates the orchestration logic needed to:
Run hydrological simulations over time (multi-step execution),
Handle parameter objects, state tracking, and forcing data,
Allow model variant injection (e.g. lumped, lake, distributed),
Provide a consistent interface for:
Running a simulation loop
Resetting states
Logging or exporting results.
current status
Currently, each HBV model defines a step_run() function, but:
There is no consistent runner for stepping through time.
Each calibration or simulation script reimplements the time loop manually.
There is no clean separation between hydrologic model logic and time management.
By creating HBVSimulator, we encapsulate the "controller" or "simulation engine" that calls step_run() repeatedly.
graph LR
main[run.py / calibration.py]
simulator[core/simulator.py]
model[rrm/hbv.py or hbv_lake.py]
base[rrm/base_model.py]
mixins[core/mixins.py]
schemas[models/schemas.py]
main --> simulator
simulator --> model
model --> base
base --> mixins
simulator --> schemas
model --> schemas
Uh oh!
There was an error while loading. Please reload this page.
Description
ntroduce a new HBVSimulator class that manages simulation over time by orchestrating calls to step_run() on HBV model variants. This centralizes time control, improves reusability, and supports calibration and testing workflows.
Create a wrapper class called HBVSimulator that encapsulates the orchestration logic needed to:
Run hydrological simulations over time (multi-step execution),
Handle parameter objects, state tracking, and forcing data,
Allow model variant injection (e.g. lumped, lake, distributed),
Provide a consistent interface for:
current status
Currently, each HBV model defines a step_run() function, but:
By creating HBVSimulator, we encapsulate the "controller" or "simulation engine" that calls step_run() repeatedly.
class module
Create new file:
New class
methods.
The text was updated successfully, but these errors were encountered: