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
| File | SWATGenX delta | How it is produced |
|---|---|---|
| print.prt | Duplicate 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.prt | Created with gauge channel units when the model has assigned gauges (removed if the list is empty) — see Output filtering | Written when gauges are assigned; omitted when the list is empty |
| codes.bsn | swift_out = 0 and wq_cha = 0 | Set during package finalization for the shipped calibration print profile |
| chandeg.con | Near-zero channel areas (< 1.0) rewritten to 1.00000 | Applied during package finalization |
| project .sqlite | Editor DB schema patches (qual2e, idc_till, plants columns) and portable relative reference_db / project paths | Applied 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.ciois written as "null" and norecall.con/ recall record files are emitted. Hosted packaging does not rewrite those recall slots. - Any
file.cioslot whose write condition is false is written as the literal token "null" — a shippedfile.ciotherefore 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.conand 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.