SWATGenXSWATGenX
ServicesWatershed ExplorerExample modelsCloud calibrationDocsPricing

How we check models

The checks that run before an engine ships and before a model reaches you — and which of them stop a build.

STAGE 1
Before we ship an engine
  1. The new engine against the current one: stops the release
  2. The parallel build against the serial build: stops the release
STAGE 2
Every model we build
  1. Weather files: stops the build
  2. Stream data version: stops the build
  3. Delineation: stops the build
  4. Channel areas: stops the build
  5. Loops: stops the build
  6. Connected drainage: stops the build
  7. A verification run: stops the build
  8. Gauges: records what it finds
  9. Wind climate: records what it finds
STAGE 3
After a model is built
  1. Ten-year run of all channels, and SWAT+ Check: records what it finds
  2. Before a calibration: a gauge that can be checked: stops a calibration, not the delivery
a failure stops the release, the build or the calibration records what it finds and never stops a build

Before we ship an engine

Our SWAT+ engine is released only after a gate we run before each release. The gate is not part of a model build.

The new engine against the current one. We run both on the same benchmark models and compare every output. If every value agrees within a relative 1e-5, the release is clean. A larger difference, up to 2%, on a tail of channels while the basin totals stay within 0.1% is recorded as a warning and does not stop the release. Anything beyond that band, or basin totals that move by more than 0.1%, stops the release.

The parallel build against the serial build. The parallel engine must reproduce the serial engine's outputs exactly, every output variable included; anything less stops the release.

Every model we build, in the order the checks run

  1. Weather files.stops the build Every daily weather file must hold every day of the model period, with each value inside a physical band in SWAT+'s own units: precipitation 0 to 2,000 mm, temperature −50 to 60 °C, relative humidity 0 to 1, solar radiation 0 to 50 MJ/m², wind 0 to 100 m/s. A build whose weather fails does not ship. When the same files have already passed, the recorded result is reused; when they have changed, a sample of them is checked again.
  2. Stream data version.stops the build Our prepared NHDPlus HR data carries a version stamp. A build refuses data prepared by an older version rather than build on it.
  3. Delineation.stops the build The watershed delineation must finish. A crash stops the build; it never continues on partial output.
  4. Channel areas.stops the build Before the SWAT+ Editor sizes channels from their drainage areas, every channel's drainage area must be physically possible: no larger than the largest river basin on Earth. A channel above that stops the build. A channel larger than its own basin is recorded as a note.
  5. Loops.stops the build The routing network is checked for loops. A loop is repaired by cutting its smallest-area outlet connection, and the cut is recorded. If a loop cannot be repaired, the build stops.
  6. Connected drainage.stops the build At least 90% of the basin's drainage area must reach an outlet. A build below that does not ship.
  7. A verification run.stops the build SWAT+ runs the finished model once. The build ships only if the run reports successful completion and the model contains its HRUs.
  8. Gauges.records only Each USGS gauge's assigned channel is compared with the gauge's published drainage area. Within 30%, the assignment stands. Outside it, channels within 2 km are searched for a better match. Every gauge's outcome is written to a table in your model folder, including gauges with no published area to compare. A gauge that stays outside 30% with no better channel is kept in that table and is not used as a calibration target. This check never stops a build.
  9. Wind climate.records only A separate check asks whether the long-term mean wind speed is plausible for the place, between 1 and 12 m/s. It only records what it finds; it never stops a build.

Two of these checks let the build continue when they cannot run at all, and record that they did not run: the channel-area check, if it cannot read the model's project database, and the gauge check, which then keeps its first channel choices.

When a check stops a build, the model is not delivered in that state: your dashboard shows it as under review while we fix the step that stopped it, and we deliver the rebuilt model once it passes every check.

After a model is built

Every new model is queued for a ten-year run of all its channels and for SWAT+ Check. Your model's page shows that report, or a button to run it.

Before a calibration starts, the ten-year diagnostic must show at least one gauge with usable observations and a drainage area that could be checked. If none has, the calibration does not start and you are told why. A low initial score alone never excludes a gauge. This check stops a calibration, not the delivery of the model. If it cannot read the model at all, the calibration is allowed to start.

Every model we have already delivered

We audit the whole catalog, not only new builds. When an audit finds a problem in a model someone already has, we fix the step of the pipeline that caused it, rebuild the model, and write to its owner. We do not hand-edit a delivered model.

Questions

Which checks stop a build?

Weather files, the stream data version, delineation, channel areas, an unrepairable loop, connected drainage below 90%, and the verification run. The gauge and wind checks record what they find and never stop a build.

What happens when a check fails?

The model is not delivered in that state. Your dashboard shows it as under review while we fix the failed step and rebuild; you receive the model when the rebuild passes every check.

Do these checks mean my model is accurate?

No. They check that the model was built correctly from its data. How well a model reproduces observed streamflow is measured by calibration and validation, reported separately.

Can I see what the checks found for my model?

Yes. The gauge table is in your model folder, and SWAT+ Check's report is on your model's page.

What do you do when a model already delivered is affected?

We fix the pipeline step that caused it, rebuild the model, and write to its owner.