SWATGenXSWATGenX
Watershed ExplorerExample modelsCloud calibrationDocsAccess
SWATGenXDocs

SWAT+ input files

Applies to SWATGenX engine extensions · Updated August 2026

What SWATGenX changes in the stock TxtInOut that QSWAT+ 4.0.3 / SWAT+ Editor 4.0.1 generate — and nothing else. Stock file semantics are documented upstream.

SWATGenX builds models with the hosted QSWAT+ 4.0.3 → SWAT+ Editor 4.0.1 pipeline, then applies a small set of finalization patches before packaging. Everything not listed below is stock Editor output.

Stock SWAT+ I/O documentation (official)

Files SWATGenX patches after Editor WriteFiles

FileSWATGenX deltaHow it is produced
print.prtDuplicate object rows deduped (first occurrence wins); all object period flags set to n, then channel_sd daily = y; crop_yld value row set to "b y n n" (crop_yld, mgtout, hydcon, fdcout); output format flags set csvout=n, dbout=n (when present), cdfout=y; nyskip line rewritten (shipped models: nyskip=1)Applied during package finalization after Editor WriteFiles
print_filter.prtCreated with gauge channel units when the model has assigned gauges (removed if the list is empty) — see Output filteringWritten when gauges are assigned; omitted when the list is empty
codes.bsnswift_out = 0 and wq_cha = 0Set during package finalization for the shipped calibration print profile
chandeg.conNear-zero channel areas (< 1.0) rewritten to 1.00000Applied during package finalization
project .sqliteEditor DB schema patches (qual2e, idc_till, plants columns) and portable relative reference_db / project pathsApplied when the Editor project database is prepared for download

file.cio and recall — stock Editor behavior, not a SWATGenX patch

  • SWAT+ Editor 4.0.1 disables recall entirely: rec_cnt is forced to 0, so the recall slot in file.cio is written as "null" and no recall.con / recall record files are emitted. Hosted packaging does not rewrite those recall slots.
  • Any file.cio slot whose write condition is false is written as the literal token "null" — a shipped file.cio therefore contains "null" placeholders by design; do not hand-edit them unless you are adding the corresponding files.
  • Research workflows that need point sources re-enable recall by setting the connect slot from null to recall.con and supplying the recall files; that is not part of the standard product package.
Verification profile: after SWATGenX finalization, print.prt has cdfout=y, channel_sd daily-only output, all other objects off, and nyskip=1; print_filter.prt limits channel_sd to gauge channels. This is the shipped ("calibration NC") output profile — widen print.prt yourself if you need more streams.