Examples
HydroPilot already covers several useful example patterns. Use this page to decide where to start.
Recommended starting points
test_daily.yamlfor the simplest SWAT 2012 calibration pathtest_monthly.yamlfor monthly SWAT 2012 workflows- SWAT+ docs and template pages when your project already uses SWAT+ structure
test_xaj.yamlfor CSV-based XAJ workflowstest_daily_general.yamlwhen you want a fully expandedversion: generalconfig
All examples are meant as documentation and smoke-test references. They should be adapted before being used in real calibration work.
Which example family should you choose?
Use this quick guide:
| Situation | Best starting point |
|---|---|
You have a classic SWAT 2012 TxtInOut project | test_daily.yaml |
| You need monthly SWAT 2012 output and period handling | test_monthly.yaml |
| You need a more explicit, fully expanded schema | test_daily_general.yaml |
| Your project is CSV-oriented and XAJ-based | test_xaj.yaml |
Your project is SWAT+ and needs calibration.cal writing | Start from the SWAT+ template and related guides |
Starting points by model
SWAT 2012
- daily calibration
- monthly calibration
- complex multi-objective setups
- period slicing and derived series
Typical files include test_daily.yaml and test_monthly.yaml. If the workflow later expands toward sensitivity analysis, calibration, or multi-objective setups, move on to test_monthly_complex.yaml and test_monthly_series.yaml.
SWAT+
- SWAT+ template support
calibration.calbased parameter writing- flow extraction workflows
This direction is useful when the first goal is to stabilize SWAT+ template behavior, parameter writing, and output extraction.
More precisely, SWAT+ is already a supported model path with focused guides, but it is still less of a ready-made example bank than the SWAT 2012 path.
XAJ
- CSV-based parameter writing
- CSV-based result reading
- RIVID-based filtering
The XAJ examples show that HydroPilot is not limited to fixed-width SWAT-style projects. It can also support CSV-oriented model pipelines, and this path often adapts naturally into fuller project cases.
General-mode examples
If you want to see the fully expanded runtime schema, start from the version: general examples. These make all readers, writers, and file mappings explicit, which is useful when you need full control or when building support for a non-template workflow.
Recommended reading order
For someone starting from scratch, the most efficient order is usually:
- read the model-specific case page
- inspect the matching example family on this page
- validate a local config with
hydropilot-validate - smoke test it with
hydropilot-test - move to Python API or UQPyL integration only after the runtime path works
Quick commands
Typical first commands look like this:
hydropilot-validate path/to/config.yaml
hydropilot-test path/to/config.yamlAfter that, move to:
hydropilot-run path/to/run.yamlor to SimModel / UQPyLAdapter when you need repeated evaluations.
How to use the examples well
Before using an example in a real project, you will usually need to:
- change
basic.projectPath - update
basic.command - replace observation files
- review parameter bounds
- confirm timestep, periods, and output structure against the real project
