HydroPilot

Examples

Examples

HydroPilot already covers several useful example patterns. Use this page to decide where to start.

  • test_daily.yaml for the simplest SWAT 2012 calibration path
  • test_monthly.yaml for monthly SWAT 2012 workflows
  • SWAT+ docs and template pages when your project already uses SWAT+ structure
  • test_xaj.yaml for CSV-based XAJ workflows
  • test_daily_general.yaml when you want a fully expanded version: general config

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:

SituationBest starting point
You have a classic SWAT 2012 TxtInOut projecttest_daily.yaml
You need monthly SWAT 2012 output and period handlingtest_monthly.yaml
You need a more explicit, fully expanded schematest_daily_general.yaml
Your project is CSV-oriented and XAJ-basedtest_xaj.yaml
Your project is SWAT+ and needs calibration.cal writingStart 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.cal based 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.

For someone starting from scratch, the most efficient order is usually:

  1. read the model-specific case page
  2. inspect the matching example family on this page
  3. validate a local config with hydropilot-validate
  4. smoke test it with hydropilot-test
  5. move to Python API or UQPyL integration only after the runtime path works

Quick commands

Typical first commands look like this:

bash
hydropilot-validate path/to/config.yaml
hydropilot-test path/to/config.yaml

After that, move to:

bash
hydropilot-run path/to/run.yaml

or 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:

  1. change basic.projectPath
  2. update basic.command
  3. replace observation files
  4. review parameter bounds
  5. confirm timestep, periods, and output structure against the real project

Matching model pages