Only this pageAll pages
Powered by GitBook
Couldn't generate the PDF for 1180 pages, generation stopped at 100.
Extend with 50 more pages.
1 of 100

SWAT+ Documentation

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

SWAT+ Input Files

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Introduction to SWAT+

Over the past 20 years, the Soil and Water Assessment Tool (SWAT) has become widely used across the globe. Various applications of the model have revealed limitations and identified model development needs. Numerous additions and modifications of the model and its individual components have made the code increasingly difficult to manage and maintain. In response to these issues and in order to face present and future challenges in water resources modeling, the SWAT code has undergone major modifications over the past few years, resulting in SWAT+, a completely restructured version of the model. Even though the basic algorithms used to calculate the processes in the model have not changed, the structure and organization of both the code (object based) and the input files (relational based) have been modified significantly. This is expected to facilitate model maintenance, future code modifications, and foster collaboration with other researchers to integrate new science into SWAT modules. Additionally, SWAT+ provides a more flexible spatial representation of interactions and processes within a watershed.

SWAT was developed by USDA-ARS and Texas A&M scientists.

Watershed Configuration

SWAT+ offers considerable flexibility with regard to the configuration of a watershed. The elements of a watershed are defined as spatial objects:

  • Landscape Unit

  • Routing Unit

  • HRU

  • Aquifer

  • Channel

  • Reservoir

Gravity-based exchange of water between spatial objects is defined in so-called connect files.

SWAT/SWAT+ Literature

Arnold et al. 1998

Bieger et al. 2017

Bieger et al. 2019

Arnold et al. 2018

CARD database

Output Analysis

Connectivity

Spatial Objects

Landscape Unit

A landscape unit is a collection of HRUs. A landscape units can be equivalent to a subbasin, a floodplain or upland unit, or a grid cell with multiple HRUs. Landscape units are only used for output. The landscape unit output files (water balance, nutrient balance, losses, and plant and weather) are output for HRUs, landscape units, and for the basin. Two input files are required: 1) landscape elements and, 2) landscape define. The elements file includes HRUs and their corresponding LSU fraction and basin fractions. The define file specifies which HRUs are contained in each LSU.

Routing Unit

The routing unit is the spatial unit in SWAT+ that allows us to lump outputs and route them to any other spatial object. The routing unit can be configured as a subbasin, then total flow (surface, lateral and tile flow) from the routing unit can be sent to a channel and all recharge from the routing unit sent to an aquifer. This is analogous to the current approach in SWAT. However, SWAT+ gives us much more flexibility in configuring a routing unit. For example, in CEAP, we are routing each HRU (field) through a small channel (gully or grass waterway) before it reaches the main channel. In this case, the routing unit is a collection of flow from the small channels. We also envision simulating multiple representative hillslopes to define a routing unit. Also, we are setting up scenarios that define a routing unit using tile flow from multiple fields and sending that flow to a wetland. Routing units will continue to be a convenient way of spatial lumping until we can simulate individual fields or cells in each basin.

Land Use and Management

Basin Water Balance

Calculating the basin water balance without upland/floodplain routing

Calculating the basin water balance with upland/floodplain routing

time.sim

This file controls the simulation time period and time step.

Field
Description
Type

Beginning day of the simulation

integer

Beginning year of the simulation

integer

Ending day of the simulation

integer

Ending year of the simulation

integer

Time step of the simulation

integer

day_start
yrc_start
day_end
yrc_end
step

Calibration

Seibert and McDonnell (2002) suggested the use of “hard” and “soft” data for multi-criteria model calibration. Hard data are defined as measured time series, typically at a point (e.g., streamflow, groundwater levels, or soil moisture) that is commonly used in regression-based calibration techniques. Soft data are defined as information on individual processes within a balance that may not be directly measured in the study area, may be an average annual estimate, and may entail considerable uncertainty. Examples of soft data include regional estimates of baseflow ratios or ET, average depths of groundwater tables, average annual runoff coefficients for various land uses, annual rates of denitrification from research plots found in the literature, event mean concentrations, nutrient/sediment export coefficients, sediment deposition from reservoir sedimentation studies, average crop/vegetation LAI, and county crop yields (Arnold et al., 2015).

Soft calibration procedure

Seibert and McDonnell (2002) argued that soft data represent a new dimension to the model calibration process that could: (1) enable dialog between experimentalists and modelers, (2) be a formal check on the reasonableness and consistency of internal model structures and simulations, and (3) specify realistic parameter ranges often ignored in today’s automatic calibration routines.

Misrepresented processes (water balance, nutrient balance, sediment source/sinks) within a watershed can cause errors when running management scenarios (Arnold et al., 2015). To ensure proper process representation, a soft calibration routine for water balance was added to SWAT+ code. The processes calibrated are surface runoff, lateral soil flow, percolation, and ET. Tile flow variables are not adjusted, if subsurface tiles are present, tile flow is simulated as the remainder of the water balance when all other processes are calibrated. The processes are input as the ratio to precipitation, thus minimizing the impact of different periods of record or different sources of precipitation. The procedure is a simple, heuristic approach with one variable for each process. The variables, associated process, change type, change limits, and total limits are shown in the table below.

Variable

Process

Change Type

Lower Change Limit

Upper Change Limit

Lower Limit

Upper Limit

esco

ET

absolute

-1.

1.

0.

1.

petco

PET

percent

-20.

20.

0.8

1.2

cn3_swf

Surface runoff

absolute

-1.

1.

0.

1.

latq_co

Lateral soil flow

absolute

-1.

1.

0.

1.

perco

Percolation

absolute

-0.7

0.7

0.

1.

The algorithm uses one variable at a time in the following order: 1) esco, 2) petco, 3) cn3_swf, 4) latq_co, 5) perco, and 6) cn3_swf is calibrated again to ensure surface runoff is accurate. The first iteration with each variable is an initial guess calculated as shown in the table below. In each case, the initial change in each variable is a function of the difference (mm) in the soft ratio multiplied by precipitation minus the modeled process output. For example, if the surface runoff ratio input by the user is 0.2 and the simulated precipitation and surface runoff are 800 mm and 120 mm, respectively, the difference is 0.2*800 – 120 = 40 mm.

Variable

Initial change

esco

(ETsoft – ETsim) / 500.

petco

(ETsoft – ETsim) / ETsoft

cn3_swf

-(SURQsoft – SURQsim) / 100.

latq_co

(LATQsoft – LATQsim) / 400.

perco

(PERCsoft – PERCsim) / 1000.

After the initial variable change, two additional iterations are performed using linear interpolation between the previous two simulations. Although the process response to the variable change is nonlinear, as the model iterates and approaches the soft data value, the linear interpolation is able it reasonably approximate the soft data. For the surface runoff example, with an initial difference of 40 mm, the next value of cn3_swf used in the calibration would be set to cn3_swf –0.4.

After the soft calibration is complete, the hard calibration of streamflow should only require some adjustments of the peaks and recessions.

object.cnt

This file specifies the land area and the total area (including ponds and reservoirs) of the watershed and the counts of all spatial objects in a simulation.

Field
Description
Type

name

Name of the watershed

string

ls_area

Land area of the watershed in ha

real

tot_area

Total area of the watershed in ha

real

obj

Total number of spatial objects in the simulation

integer

hru

Number of HRUs in the simulation

integer

lhru

Number of HRU-ltes in the simulation

integer

rtu

Number of routing units in the simulation

integer

gwfl

Number of gwflow river cells

integer

aqu

Number of aquifers in the simulation

integer

cha

Currently not used

integer

res

Number of reservoirs in the simulation

integer

rec

Number of recalls (point sources/inlets) in the simulation

integer

exco

Number of export coefficients in the simulation

integer

dlr

Number of delivery ratios in the simulation

integer

can

Currently not used

integer

pmp

Currently not used

integer

out

Number of outlets in the simulation

integer

lcha

Number of channels in the simulation

integer

aqu2d

Currently not used

integer

hrd

Currently not used

integer

wro

Currently not used

integer

Input File Format

All SWAT+ input files are free format and space delimited.

The first line in each input file is reserved for a title. If the files were written using the SWAT+ Editor, the title will specify the name of the file, the version of the SWAT+ Editor, and the date and time the file was written. While this line is required, it is not read in by SWAT+ and may be modified or left blank. The title is limited to 80 spaces.

The second line in all SWAT+ input files except for file.cio is reserved for the header, i.e. the names of the variables listed in the file. Some files will have additional header lines (e.g., print.prt).

Simulation Settings

There are three files that control the settings for a simulation run:

  • object.cnt specifies the land area and the total area (including ponds and reservoirs) of the watershed and the counts of all spatial objects in a simulation,

  • time.sim controls the simulation time period and time step, and

  • print.prt controls which output files will be printed for a simulation.

An additional, optional file, object.prt, allows the user to print selected output for individual spatial objects.

Master File (file.cio)

This file lists the names of all input files used in a simulation run. The files are grouped in different categories and there is one line for each category. The first column lists the names of the categories. The number of columns per line depends on the number of files in a category. Most files are required for all SWAT+ runs, i.e. they have to be listed in file.cio and the corresponding file has to be present in the TxtInOut folder of the SWAT+ project. There are also some optional files that are only required for specific SWAT+ applications. The category names and their files are listed below.

If a file is not being used for a SWAT+ application, 'null' should be entered instead of the filename.

Simulation

  1. time.sim

  2. print.prt

  3. object.prt

  4. object.cnt

  5. constituents.cs

Basin

  1. codes.bsn

  2. parameters.bsn

Climate

  1. weather-sta.cli

  2. weather-wgn.cli

  3. wind-dir.cli (currently not used)

  4. pcp.cli

  5. tmp.cli

  6. slr.cli

  7. hmd.cli

  8. wnd.cli

  9. atmo.cli

Connect

  1. hru.con

  2. hru-lte.con

  3. rout_unit.con

  4. gwflow.con (a description of the gwflow module and all related input files will be added asap)

  5. aquifer.con

  6. aquifer2d.con (currently not used)

  7. channel.con (currently not used)

  8. reservoir.con

  9. recall.con

  10. exco.con

  11. delratio.con

  12. outlet.con

  13. chandeg.con

Channel

  1. initial.cha

  2. channel.cha (currently not used)

  3. hydrology.cha (currently not used)

  4. sediment.cha (currently not used)

  5. nutrients.cha

  6. channel-lte.cha

  7. hyd-sed-lte.cha

  8. temperature.cha

Reservoir

  1. initial.res

  2. reservoir.res

  3. hydrology.res

  4. sediment.res

  5. nutrients.res

  6. weir.res

  7. wetland.wet

  8. hydrology.wet

Routing Unit

  1. rout_unit.def

  2. rout_unit.ele

  3. rout_unit.rtu

  4. rout_unit.dr (currently not used)

HRU

  1. hru-data.hru

  2. hru-lte.hru

Export Coefficient

  1. exco.exc

  2. exco_om.exc

  3. exco_pest.exc (currently not used)

  4. exco_path.exc (currently not used)

  5. exco_hmet.exc (currently not used)

  6. exco_salt.exc (currently not used)

Recall

  1. recall.rec

Delivery Ratio

  1. del_ratio.del (currently not used)

  2. dr_om.del (currently not used)

  3. dr_pest.del (currently not used)

  4. dr_path.del (currently not used)

  5. dr_hmet.del (currently not used)

  6. dr_salt.del (currently not used)

The delivery ratio files will be removed in future versions of SWAT+.

Aquifer

  1. initial.aqu

  2. aquifer.aqu

Herd

  1. animal.hrd (currently not used)

  2. herd.hrd (currently not used)

  3. ranch.hrd (currently not used)

There are no plans to work on the animal herd module in the foreseeable future unless there is a demand for it in the user community.

Water Rights

  1. water_allocation.wro

The SWAT+ Water Allocation Module is work in progress and not fully functional in the current revision. A description of the general approach as well as input/output files will be added before the release of the next SWAT+ revision.

Link

  1. chan-surf.lin

  2. aqu_cha.lin

Hydrology

  1. hydrology.hyd

  2. topography.hyd

  3. field.fld

Structural

  1. tiledrain.str

  2. septic.str

  3. filterstrip.str

  4. grassedww.str

  5. bmpuser.str

HRU Databases

  1. plants.plt

  2. fertilizer.frt

  3. tillage.til

  4. pesticide.pes

  5. pathogens.pth (currently not used)

  6. metals.mtl (currently not used)

  7. salt.slt (currently not used)

  8. urban.urb

  9. septic.sep

  10. snow.sno

The salt routines are work in progress and will be added soon. However, there are no plans to work on the pathogen and metal routines in the foreseeable future unless there is a demand for it in the user community.

Operation Scheduling

  1. harv.ops

  2. graze.ops

  3. irr.ops

  4. chem_app.ops

  5. fire.ops

  6. sweep.ops

Land Use Management

  1. landuse.lum

  2. management.sch

  3. cntable.lum

  4. cons_practice.lum

  5. ovn_table.lum

Change

  1. cal_parms.cal

  2. calibration.cal

  3. codes.sft

  4. wb_parms.sft

  5. water_balance.sft

  6. ch_sed_budget.sft (currently not used)

  7. ch_sed_parms.sft (currently not used)

  8. plant_parms.sft

  9. plant_gro.sft

Initial

  1. plant.ini

  2. soil_plant.ini

  3. om_water.ini

  4. pest_hru.ini

  5. pest_water.ini

  6. path_hru.ini (currently not used)

  7. path_water.ini (currently not used)

  8. hmet_hru.ini (currently not used)

  9. hmet_water.ini (currently not used)

  10. salt_hru.ini (currently not used)

  11. salt_water.ini (currently not used)

Soils

  1. soils.sol

  2. nutrients.sol

  3. soils_lte.sol (currently not used)

Conditional

  1. lum.dtl

  2. res_rel.dtl

  3. scen_lu.dtl

  4. flo_con.dtl

Regions

  1. ls_unit.ele

  2. ls_unit.def

  3. ls_reg.ele

  4. ls_reg.def

  5. ls_cal.reg

  6. ch_catunit.ele

  7. ch_catunit.def

  8. ch_reg.def

  9. aqu_catunit.ele

  10. aqu_catunit.def

  11. aqu_reg.def

  12. res_catunit.ele

  13. res_catunit.def

  14. res_reg.def

  15. rec_catunit.ele

  16. rec_catunit.def

  17. rec_reg.def

The definition of regions in SWAT+ besides the Landscape Units will be revised in the near future and a description of the region files will be added to this documentation as soon as that has happened.

The last five rows in file.cio are used to specify the climate file directories if these are stored in a folder other than the project TxtInOut folder.

If the climate files are stored in the project TxtInOut folder, 'null' should be entered instead of the directory.

day_end

Ending day of the simulation

SWAT+ is able to end a simulation at any day of the year. This option can for example be useful, if the user wishes to simulate hydrological years instead of calendar years.

If day_end = 0, the model will end the simulation on December 31st.

If the simulation begins before the first day of the observed climate data, SWAT+ will use simulated climate data for the time period before the start of the observed climate data.

yrc_end

Ending year of the simulation

If the simulation ends after the last day of the observed climate data, SWAT+ will use simulated climate data for the time period after the end of the observed climate data.

yrc_start

Beginning year of the simulation

If the simulation begins before the first day of the observed climate data, SWAT+ will use simulated climate data for the time period before the start of the observed climate data.

day_start

Beginning day of the simulation

SWAT+ is able to begin a simulation at any day of the year. This option can for example be useful, if the user wishes to simulate hydrological years instead of calendar years.

If day_start = 0, the model will start the simulation on January 1st.

If the simulation begins before the first day of the observed climate data, SWAT+ will use simulated climate data for the time period before the start of the observed climate data.

nyskip

Number of years at the beginning of the simulation to not print output

Some simulations will need a warm-up or equilibration period. The use of a warm-up period becomes more important as the simulation period of interest shortens. For 30-year simulations, a warm-up period is optional. For a simulation covering 5 years or less, a warm-up period is recommended.

Examples: If nyskip = 2, the model will skip printing the first two years regardless of the starting year. If nyskip = 0, output for all years of the simulation will be printed. If nyskip equals the number of years in the simulation, no output will be printed.

print.prt

This file controls which output files will be printed during the simulation.

The print.prt file is formatted differently than most other SWAT+ input files (see figure below). In line three, there are several variables for controlling the time period to be printed. In line five, the user can specify the number of print intervals for average annual output. In line seven, the user can select to have output files printed in a specific file format (in addition to the default *.txt output files). In line 9, the user can control the printing of outputs for soils and management as well as flow duration curves. In lines 11 to 90, there is a list of outputs for different spatial levels and objects that can be printed at daily, monthly, yearly, and average annual time steps. A description of the output files is provided in the SWAT+ Output Files section.

Format of the print.prt file
Field
Description
Type

Number of years at the beginning of the simulation to not print output

integer

day_start

Julian day to start printing output (for daily printing only)

integer

yrc_start

Calendar year to start printing output

integer

day_end

Julian day to stop printing output (for daily printing only)

integer

yrc_end

Calendar year to stop printing output

integer

Print interval within the period

integer

Number of print intervals for average annual output

integer

csvout

Code for printing output in CSV format (y=yes, n=no)

string

dbout

Code for printing output in DB format (y=yes, n=no)

string

cdfout

Code for printing output in Net-CDF format (y=yes, n=no)

string

crop_yld

Code for printing yearly and average annual crop yields (y=yes, n=no)

string

mgtout

Code for printing management output (y=yes, n=no)

string

Code for printing hydrograph connection output (y=yes, n=no)

string

fdcout

Code for printing flow duration curve output (y=yes, n=no)

string

Objects that output can be printed for at different time steps

string

daily

Code for printing daily output (y=yes, n=no)

string

monthly

Code for printing monthly output (y=yes, n=no)

string

yearly

Code for printing yearly output (y=yes, n=no)

string

avann

Code for printing average annual output (y=yes, n=no)

string

nyskip
interval
aa_int_cnt
hydcon
object

interval

Print interval within the period

This parameter specifies the interval within the specified printing period.

Example: If interval = 2, output will be printed for every other day.

hydcon

Hydrograph connections

This output file is used by the SWAT+ developers for debugging connectivity errors and infinite loops. Its usefulness for SWAT+ users is probably very limited. Accordingly, there is no description of this output file included in the SWAT+ Output Files section.

object

Objects that output can be printed for at different time steps

The table below lists the objects that are listed in the first column of this section of the print.prt file. For each of these objects, output can be printed at daily, monthly, yearly, and average annual time steps by entering y (=yes) or n (=no) in the following four columns.

The user is advised to print only those outputs that are needed for model evaluation or further analysis. Especially daily printing can result in very large output files that may exceed hard drive storage.

Object
Definition

basin_wb

Basin water balance

basin_nb

Basin nutrient balance

basin_ls

Basin losses

basin_pw

Basin plant and weather

basin_aqu

Basin aquifer

basin_res

Basin reservoir

basin_cha

Currently not used

basin_sd_cha

Basin SWAT-DEG channel

basin_psc

Basin point sources

region_wb

Currently not used

region_nb

Currently not used

region_ls

Currently not used

region_pw

Currently not used

region_aqu

Currently not used

region_res

Currently not used

region_sd_cha

Currently not used

region_psc

Currently not used

water_allo

Water allocation

lsunit_wb

Landscape unit water balance

lsunit_nb

Landscape unit nutrient balance

lsunit_ls

Landscape unit losses

lsunit_pw

Landscape unit plant and weather

hru_wb

HRU water balance

hru_nb

HRU nutrient balance

hru_ls

HRU losses

hru_pw

HRU plant and weather

hru-lte_wb

HRU-lte water balance

hru-lte_nb

Not used (no nutrient processes simulated for HRU-lte objects)

hru-lte_ls

HRU-lte losses

hru-lte_pw

HRU-lte plant and weather

channel

Currently not used

channel_sd

SWAT-DEG channel output

aquifer

Aquifer output

reservoir

Reservoir output

recall

Point source output

hyd

Incoming and outgoing hydrographs

ru

Routing unit output

pest

Pesticide output for all objects and basin

basin_salt

hru_salt

ru_salt

aqu_salt

channel_salt

res_salt

wetland_salt

basin_cs

hru_cs

ru_cs

aqu_cs

channel_cs

res_cs

wetland_cs

aa_int_cnt

Number of print intervals for average annual output

If aa_int_cnt = 0, the model will print average annual output for the entire period. If aa_int_cnt > 0, the end years of the print intervals have to be specified by the user by listing them in chronological order in the same line as aa_int_cnt.

Example: If aa_int_cnt = 3 1955 1965 1975, average annual results will be printed for the time periods ending in 1955, 1965, and 1975.

step

Time step of the simulation

SWAT+ is able to run at the following time steps:

Code
Time Step

0

day

2

12 hours

24

hour

96

15 minutes

1440

minute

When using the Green & Ampt method (gampt in codes.bsn) for calculating surface runoff, the time step of the precipitation data must match the simulation time step.

name (weather_sta.cli)

Name of the weather station

The name of the weather station is a primary key referenced by wst in 'object'.con.

Climate

SWAT+ requires daily data for precipitation, maximum and minimum air temperature, solar radiation, relative humidity, and wind speed. The model can read in observed weather data or generate values using the weather generator. Climate data will be generated in two instances: when the user specifies that simulated weather data will be used or when there are missing values in the observed weather data. A Global Weather Generator Database containing weather generator datasets in SWAT+ format for almost 180,000 stations across the globe can be downloaded from the SWAT website: https://swat.tamu.edu/data/.

If observed data is used, one data file has to be provided for each station and variable. The data files for precipitation, temperature, solar radiation, relative humidity, and wind speed should have the file extensions .pcp, .tem, .slr, .hmd, and .wnd, respectively. The names of all available data files for precipitation, temperature, solar radiation, relative humidity, and wind speed will be listed in pcp.cli, tmp.cli, slr.cli, hmd.cli, and wnd.cli, respectively.

If the user wishes to run simulations at a sub-daily time step, precipitation data has to be provided at the simulation time step.

Each spatial object in a SWAT+ setup will be assigned the weather stations that are closest to its centroid. Because the precipitation, temperature, solar radiation, relative humidity, and wind speed stations might be at different locations, several combinations of weather stations might be needed for a SWAT+ setup. These combinations will be listed as a record in weather-sta.cli. Each of them will be given a unique name, which is referenced by the connect files for the different spatial objects. In addition, the name of the closest weather generator station will be specified, which points to weather-wgn.cli. Finally, the user has the option to specify the name of an atmospheric deposition record, which points to atmo.cli.

There is also a field available for specifying the name of a wind direction data file, but the wind direction routines in SWAT+ are currently not functional and there are no plans to work on them in the foreseeable future.

The flowchart below illustrates the relationships between the different SWAT+ climate files.

Relationships between SWAT+ climate files

pcp

Name of the precipitation station

The name of the precipitation station is a foreign key referencing the filenames listed in pcp.cli.

If "sim" is entered instead of a precipitation station name, the model will generate daily precipitation values using the weather generator station specified in column wgn.

slr

Name of the solar radiation station

The name of the solar radiation station is a foreign key referencing the filenames listed in slr.cli.

If "sim" is entered instead of a solar radiation station name, the model will generate daily solar radiation values using the weather generator station specified in column wgn.

obj_typ

Type of object to print output for

Output can be printed for the following types of objects:

Object Code
Description

hru

HRU

hlt

HRU-lte

ru

Routing Unit

res

Reservoir

sdc

Channel

exc

Export Coefficient

dr

Delivery Ratio

out

Outlet

wgn

Name of the weather generator station

The name of the weather generator station is a foreign key referencing the primary key name in weather-wgn.cli.

hyd_typ

Type of hydrograph to print

The following hydrographs can be printed:

Hydrograph Code
Description
Object type

tot

Total flow

all

rhg

Percolation

hru, ru

sur

Surface runoff

hru, ru

lat

Lateral flow

hru, ru

til

Tiledrain flow

hru, ru

sol_water

Soil moisture

hru

solnut_ly

Soil nutrients (N and P) by layer

hru

solnut_pr

Soil nutrients (N and P) for entire profile

hru

plant

Plant status

hru

cha_fp

Channel and floodplain water balance

hru

tmp

Name of the temperature station

The name of the temperature station is a foreign key referencing the filenames listed in tmp.cli.

If "sim" is entered instead of a temperature station name, the model will generate daily temperature values using the weather generator station specified in column wgn.

obj_typ_no

Number of the object to print output for

Soil water contents of the soil layers can be printed for all HRUs in the same file by setting obj_typ_no = 0. For all other outputs, a separate object print record with a unique name has to be defined for each object.

atmo_dep

Name of the atmospheric deposition station

The name of the atmospheric deposition station is a foreign key referencing the station names in atmo.cli.

If no atmospheric deposition data are available, "null" should be entered instead of an atmospheric deposition station name.

object.prt

This file allows the user to print selected output for individual spatial objects.

The object.prt file is commonly used to:

  • Print daily channel outflow to compare to observed streamflow a stream gage

  • Print daily flow to a file that can be read in as a point source from another SWAT+ simulation

The only timestep output can be printed at using this file is daily. A description of the output files is provided in the SWAT+ Output Files section.

Field
Description
Type

id

ID of the object print record

integer

Type of object to print output for

string

Number of the object to print output for

integer

Type of hydrograph to print

string

filename

User-defined name of output file

string

obj_typ
obj_typ_no
hyd_typ

pet

Name of the PET station

name (weather_wgn.cli)

Name of the weather generator station

The name of the weather generator station is a primary key referenced by wgn in weather-sta.cli.

weather-wgn.cli

This file contains weather generator data to be used for a SWAT+ setup.

The weather generator file contains weather generator data for any number of stations. For each weather generator station, there will be one line specifying the name of the station, its latitude, longitude, and elevation, and the number of years of maximum monthly 0.5 h rainfall data used to define values for pcp_hhr. There are no headers for this line. These variables are listed in the first table below. The second line for each weather generator station contains the headers for the following 12 lines, which list the weather generator data for each month of the year. An overview of the weather generator data variables is given in the second table below.

A SWAT+ Global Weather Generator Database containing weather generator datasets for almost 180,000 stations across the globe can be downloaded from the SWAT website: https://swat.tamu.edu/data/.

If the user wishes to add a new weather generator station, the use of the WGN Parameters Estimation Tool or the WGN Excel macro is recommended. Both can be downloaded from the SWAT website: https://swat.tamu.edu/software/.

Field
Description
Type
Unit

Name of weather generator station

string

n/a

latitude

Latitude of weather generator station

real

Decimal Degrees

longitude

Longitude of weather generator station

real

Decimal Degrees

elevation

Elevation of weather generator station

real

m

Number of years of maximum monthly 0.5 h rainfall data used to define values for pcp_hhr

integer

years

Field
Description
Type
Unit
Range

Average or mean daily maximum air temperature for month

real

°C

-30 - 50

Average or mean daily minimum air temperature for month

real

°C

-40 - 40

Standard deviation for daily maximum air temperature in month

real

°C

0.1 - 100

Standard deviation for daily minimum air temperature in month

real

°C

0.1 - 30

Average or mean total monthly precipitation

real

mm

0 - 600

Standard deviation for daily precipitation in month

real

mm/day

0.1 - 50

Skew coefficient for daily precipitation in month

real

mm

-50 - 20

Probability of a wet day following a dry day in the month

real

n/a

0 - 0.95

Probability of a wet day following a wet day in the month

real

n/a

0 - 0.95

Average number of days of precipitation in month

real

n/a

0 - 31

Maximum 0.5-hour rainfall in month

real

mm

0 - 125

Average daily solar radiation for month

real

MJ/m^2/day

0 - 750

Average daily dew point temperature for each month (ºC) or relative humidity (fraction)

real

°C or fraction

-50 - 25

Average daily wind speed in month

real

m/s

0 - 100

name
yrs_pcp
tmp_max_ave
tmp_min_ave
tmp_max_sd
tmp_min_sd
pcp_ave
pcp_sd
pcp_skew
wet_dry
wet_wet
pcp_days
pcp_hhr
slr_ave
dew_ave
wnd_ave

wnd

Name of the wind speed station

The name of the wind speed station is a foreign key referencing the filenames listed in wnd.cli.

If "sim" is entered instead of a wind speed station name, the model will generate daily wind speed values using the weather generator station specified in column wgn.

yrs_pcp

Number of years of maximum monthly 0.5 h rainfall data

This variable is used to calculate values for pcp_hhr.

If no value is specified, the model will set yrs_pcp = 10.

tmp_max_sd

Standard deviation for daily maximum air temperature in month

This parameter quantifies the variability in maximum temperature for each month. The standard deviation is calculated as

σmxmon=(∑d=1N∗(Tmx,mon−μmxmon)2N−1)σmx_{mon}=\sqrt{(\frac{∑_{d=1}^N*(T_{mx,mon}-μmx_{mon} )^2 }{N-1}})σmxmon​=(N−1∑d=1N​∗(Tmx,mon​−μmxmon​)2​​)

where σmxmonσmx_{mon}σmxmon​is the standard deviation for daily maximum temperature in month monmonmon (ºC), Tmx,monT_{mx,mon}Tmx,mon​ is the daily maximum temperature on day ddd in month monmonmon (ºC), μmxmonμmx_{mon}μmxmon​ is the average daily maximum temperature for the month monmonmon (ºC), and NNN is the total number of daily maximum temperature records for month monmonmon.

tmp_max_ave

Average or mean daily maximum air temperature for month

This value is calculated by summing the maximum air temperature for every day in the month for all years of record and dividing the sum by the number of days:

μmxmon=∑d=1N∗Tmx,monNμmx_{mon}=\frac{∑_{d=1}^N*T_{mx,mon}}{N}μmxmon​=N∑d=1N​∗Tmx,mon​​

where μmxmonμmx_{mon}μmxmon​is the mean daily maximum temperature for the month monmonmon (ºC), Tmx,monT_{mx,mon}Tmx,mon​ is the daily maximum temperature on day ddd in month monmonmon (ºC), and NNNis the total number of daily maximum temperature records for month monmonmon.

pcp_sd

Standard deviation for daily precipitation in month

This parameter quantifies the variability in precipitation for each month. The standard deviation is calculated as

σmon=(∑d=1N∗(Rday,mon−Rmon)2N−1)σ_{mon}=\sqrt{(\frac{∑_{d=1}^N*(R_{day,mon}-R_{mon} )^2 }{N-1}})σmon​=(N−1∑d=1N​∗(Rday,mon​−Rmon​)2​​)

where σmonσ_{mon}σmon​ is the standard deviation for daily precipitation in month monmonmon (mm H2O), Rday,monR_{day,mon}Rday,mon​ is the amount of precipitation for day ddd in month monmonmon (mm H2O), RmonR_{mon}Rmon​ is the average precipitation for the month (mm H2O), and NNN is the total number of daily precipitation records for month monmonmon. Daily precipitation values of 0 mm are included in the standard deviation calculation.

tmp_min_sd

Standard deviation for daily minimum air temperature in month

This parameter quantifies the variability in minimum temperature for each month. The standard deviation is calculated as

σmnmon=(∑d=1N∗(Tmn,mon−μmnmon)2N−1)σmn_{mon}=\sqrt{(\frac{∑_{d=1}^N*(T_{mn,mon}-μmn_{mon} )^2 }{N-1}})σmnmon​=(N−1∑d=1N​∗(Tmn,mon​−μmnmon​)2​​)

where σmnmonσmn_{mon}σmnmon​is the standard deviation for daily minimum temperature in month monmonmon (ºC), Tmn,monT_{mn,mon}Tmn,mon​ is the daily minimum temperature on day ddd in month monmonmon (ºC), μmnmonμmn_{mon}μmnmon​ is the average daily minimum temperature for the month monmonmon (ºC), and NNN is the total number of daily minimum temperature records for month monmonmon.

weather-sta.cli

This file lists the weather stations defined for a SWAT+ setup.

Field
Description
Type

Name of the weather station

string

Name of the weather generator station

string

Name of the precipitation station

string

Name of the temperature station

string

Name of the solar radiation station

string

Name of the relative humidity station

string

Name of the wind speed station

string

wnd_dir

Name of the wind direction station (currently not used)

string

Name of the atmospheric deposition station

string

name
wgn
pcp
tmp
slr
hmd
wnd
atmo_dep

tmp_min_ave

Average or mean daily minimum air temperature for month

This value is calculated by summing the minimum air temperature for every day in the month for all years of record and dividing the sum by the number of days:

μmnmon=∑d=1N∗Tmn,monNμmn_{mon}=\frac{∑_{d=1}^N*T_{mn,mon}}{N}μmnmon​=N∑d=1N​∗Tmn,mon​​

where μmnmonμmn_{mon}μmnmon​is the mean daily minimum temperature for the month monmonmon (ºC), Tmn,monT_{mn,mon}Tmn,mon​ is the daily minimum temperature on day ddd in month monmonmon (ºC), and NNNis the total number of daily minimum temperature records for month monmonmon.

wet_wet

Probability of a wet day following a wet day in the month

The probability is calculated as

Pi(W⁄W)=daysW⁄W,idayswet,iP_i(W⁄W)=\frac{days_{W⁄W,i}}{days_{wet,i}}Pi​(W⁄W)=dayswet,i​daysW⁄W,i​​

where Pi(W⁄W)P_i(W⁄W)Pi​(W⁄W) is the probability of a wet day following a wet day in month iii, daysW⁄W,idays_{W⁄W,i}daysW⁄W,i​ is the number of times a wet day followed a wet day in month iii for the entire period of record, and dayswet,idays_{wet,i}dayswet,i​ is the number of wet days in month iii during the entire period of record. A wet day is a day with > 0 mm precipitation.

pcp_skew

Skew coefficient for daily precipitation in month

This parameter quantifies the symmetry of the precipitation distribution around the monthly mean. The skew coefficient is calculated as

gmon=N∗∑d=1N∗(Rday,mon−Rmon)3(N−1)∗(N−2)∗(σmon)3g_{mon}=\frac{N*∑_{d=1}^N*(R_{day,mon}-R_{mon})^3 }{(N-1)*(N-2)*(σ_{mon})^3}gmon​=(N−1)∗(N−2)∗(σmon​)3N∗∑d=1N​∗(Rday,mon​−Rmon​)3​

where gmong_{mon}gmon​ is the skew coefficient for precipitation in the month, NNN is the total number of daily precipitation records for month monmonmon, Rday,monR_{day,mon}Rday,mon​ is the amount of precipitation for day ddd in month monmonmon (mm H2O), RmonR_{mon}Rmon​ is the average precipitation for the month (mm H2O), and σmonσ_{mon}σmon​ is the standard deviation for daily precipitation in month monmonmon (mm H2O). Daily precipitation values of 0 mm are included in the skew coefficient calculation.

pcp_ave

Average or mean total monthly precipitation

The average or mean total monthly precipitation is calculated as

Rmon=∑d=1N∗Rday,monyrsR_{mon}=\frac{∑_{d=1}^N*R_{day,mon}}{yrs}Rmon​=yrs∑d=1N​∗Rday,mon​​

where RmonR_{mon}Rmon​ is the mean monthly precipitation (mm H2O), Rday,monR_{day,mon}Rday,mon​ is the daily precipitation for day ddd in month monmonmon (mm H2O), NNN is the total number of records in month monmonmon used to calculate the average, and yrsyrsyrs is the number of years of daily precipitation records used in calculation.

pcp_days

Average number of days of precipitation in month

This parameter is calculated as

dwet,i=dayswet,iyrsd_{wet,i}=\frac{days_{wet,i}}{yrs}dwet,i​=yrsdayswet,i​​

where dwet,id_{wet,i}dwet,i​ is the average number of days of precipitation in month iii, dayswet,idays_{wet,i}dayswet,i​ is the number of wet days in month iii during the entire period of record, and yrsyrsyrs is the number of years of record.

pcp_hhr

Maximum 0.5-hour rainfall in month

This value represents the most extreme 30-minute rainfall intensity recorded in the entire period of record.

slr_ave

Average daily solar radiation for month

This value is calculated by summing the total solar radiation for every day in the month for all years of record and dividing the sum by the number of days:

μradmon=∑d=1N∗Hday,monNμrad_{mon}=\frac{∑_{d=1}^N*H_{day,mon}}{N}μradmon​=N∑d=1N​∗Hday,mon​​

where μradmonμrad_{mon}μradmon​ is the mean daily solar radiation for the month (MJ/m2/day), Hday,monH_{day,mon}Hday,mon​ is the total solar radiation reaching the earth’s surface on day ddd in month monmonmon (MJ/m2/day), and NNN is the total number of daily solar radiation records for month monmonmon.

wnd_ave

Average daily wind speed in month

This value is calculated by summing the average or mean wind speed values for every day in the month for all years of record and dividing the sum by the number of days:

μwndmon=∑d=1N∗Twnd,monNμwnd_{mon}=\frac{∑_{d=1}^N*T_{wnd,mon}}{N}μwndmon​=N∑d=1N​∗Twnd,mon​​

where μwndmonμwnd_{mon}μwndmon​ is the mean daily wind speed for the month (m/s), Twnd,monT_{wnd,mon}Twnd,mon​ is the average wind speed for day ddd in month monmonmon (ºC), and N is the total number of daily wind speed records for month monmonmon.

wet_dry

Probability of a wet day following a dry day in the month

The probability is calculated as

Pi(W⁄D)=daysW⁄D,idaysdry,iP_i(W⁄D)=\frac{days_{W⁄D,i}}{days_{dry,i}}Pi​(W⁄D)=daysdry,i​daysW⁄D,i​​

where Pi(W⁄D)P_i(W⁄D)Pi​(W⁄D) is the probability of a wet day following a dry day in month iii, daysW⁄D,idays_{W⁄D,i}daysW⁄D,i​ is the number of times a wet day followed a dry day in month iii for the entire period of record, and daysdry,idays_{dry,i}daysdry,i​ is the number of dry days in month iii during the entire period of record. A dry day is a day with 0 mm of precipitation. A wet day is a day with > 0 mm precipitation.

dew_ave

Average daily dew point temperature for each month (ºC) or relative humidity (fraction)

If all twelve months are < 1.0, the model assumes the data provided is relative humidity. Relative humidity is defined as the amount of water vapor in the air as a fraction of saturation humidity. If any month has a value > 1.0, the model assumes the data provided is dewpoint temperature.

Dew point temperature is the temperature at which the actual vapor pressure present in the atmosphere is equal to the saturation vapor pressure. This value is calculated by summing the dew point temperature for every day in the month for all years of record and dividing the sum by the number of days:

μdewmon=∑d=1N∗Tdew,monNμdew_{mon}=\frac{∑_{d=1}^N*T_{dew,mon}}{N}μdewmon​=N∑d=1N​∗Tdew,mon​​

where μdewmonμdew_{mon}μdewmon​ is the mean daily dew point temperature for the month (ºC), Tdew,monT_{dew,mon}Tdew,mon​ is the dew point temperature for day ddd in month monmonmon (ºC), and NNNis the total number of daily dew point records for month monmonmon. Please refer to the SWAT+ Theoretical Documentation for the equations used to convert dew point to relative humidity.

hmd.cli and hmd data files

These files contain all information needed by the model about observed relative humidity data.

The relative humidity data files contain the observed relative humidity input data. They are named by the user and must have the file ending *.hmd. There must be one file per station used in the simulation. As in all SWAT+ input files, the first line in the relative humidity data files is reserved for user comments. The second line contains the column headers for the third line, which lists basic information about the station.

Field
Description
Type
Unit

nbyr

Length of the relative humidity time series

integer

years

tstep

Time step of the relative humidity data

integer

n/a

lat

Latitude of the relative humidity station

real

Decimal Degrees

lon

Longitude of the relative humidity station

real

Decimal Degrees

elev

Elevation of the relative humidity station

real

m

Starting in the fourth line, the year, Julian day, and the relative humidity are listed. There are no headers for these columns.

Field
Description
Type
Unit

year

Year of the observation

integer

n/a

jday

Julian day of the observation

integer

n/a

hmd

Observed relative humidity

real

fraction

A negative 99.0 (-99.0) should be inserted for missing data. This value tells SWAT+ to generate a relative humidity value for that day.

The hmd.cli file lists the names of the relative humidity data files used in the simulation. The first line is reserved for user comments. The second line is reserved for the column header "filename". The user can list as many relative humidity data file names as needed for the simulation. Only one file name should be listed per line. All file names listed in weather-sta.cli must be listed here. For every file name listed in hmd.cli, a file with that name must be provided by the user that contains the relative humidity data measured at the station.

wnd.cli and wnd data files

These files contain all information needed by the model about observed wind speed data.

The wind speed data files contain the observed precipitation input data. They are named by the user and must have the file ending *.wnd. There must be one file per station used in the simulation. As in all SWAT+ input files, the first line in the wind speed data files is reserved for user comments. The second line contains the column headers for the third line, which lists basic information about the station.

Field
Description
Type
Unit

nbyr

Length of the wind speed time series

integer

years

tstep

Time step of the wind speed data

integer

n/a

lat

Latitude of the wind speed station

real

Decimal Degrees

lon

Longitude of the wind speed station

real

Decimal Degrees

elev

Elevation of the wind speed station

real

m

Starting in the fourth line, the year, Julian day, and wind speed are listed. There are no headers for these columns.

Field
Description
Type
Unit

year

Year of the observation

integer

n/a

jday

Julian day of the observation

integer

n/a

wnd

Observed wind speed

real

m/s

A negative 99.0 (-99.0) should be inserted for missing data. This value tells SWAT+ to generate a wind speed value for that day.

The wnd.cli file lists the names of the wind speed data files used in the simulation. The first line is reserved for user comments. The second line is reserved for the column header "filename". The user can list as many wind speed data file names as needed for the simulation. Only one file name should be listed per line. All file names listed in weather-sta.cli must be listed here. For every file name listed in wnd.cli, a file with that name must be provided by the user that contains the wind speed data measured at the station.

pcp.cli and pcp data files

These files contain all information needed by the model about observed precipitation data.

The precipitation data files contain the observed precipitation input data. They are named by the user and must have the file ending *.pcp. There must be one file per station used in the simulation. As in all SWAT+ input files, the first line in the precipitation data files is reserved for user comments. The second line contains the column headers for the third line, which lists basic information about the station.

Field
Description
Type
Unit

nbyr

Length of the precipitation time series

integer

years

tstep

Time step of the precipitation data

integer

n/a

lat

Latitude of the precipitation station

real

Decimal Degrees

lon

Longitude of the precipitation station

real

Decimal Degrees

elev

Elevation of the precipitation station

real

m

Starting in the fourth line, the year, Julian day, and precipitation amount are listed. There are no headers for these columns.

Field
Description
Type
Unit

year

Year of the observation

integer

n/a

jday

Julian day of the observation

integer

n/a

pcp

Observed precipitation

real

mm

If the user wishes to run simulations at a sub-daily time step, precipitation data has to be provided at the simulation time step. Currently, the model is able to run at an hourly time step. Smaller time steps have not been tested yet. Three additional columns need to be included in the hourly precipitation files:

Field
Description
Type
Unit

year

Year of the observation

integer

n/a

jday

Julian day of the observation

integer

n/a

mon

Month of the observation

integer

n/a

day

Day of the observation

integer

n/a

hr

Time of the observation

integer

n/a

pcp

Observed precipitation

real

mm

A negative 99.0 (-99.0) should be inserted for missing data. This value tells SWAT+ to generate precipitation for that day.

The pcp.cli file lists the names of the precipitation data files used in the simulation. The first line is reserved for user comments. The second line is reserved for the column header "filename". The user can list as many precipitation data file names as needed for the simulation. Only one file name should be listed per line. All file names listed in weather-sta.cli must be listed here. For every file name listed in pcp.cli, a file with that name must be provided by the user that contains the precipitation data measured at the station.

slr.cli and slr data files

These files contain all information needed by the model about observed solar radiation data.

The solar radiation data files contain the observed precipitation input data. They are named by the user and must have the file ending *.slr. There must be one file per station used in the simulation. As in all SWAT+ input files, the first line in the solar radiation data files is reserved for user comments. The second line contains the column headers for the third line, which lists basic information about the station.

Field
Description
Type
Unit

nbyr

Length of the solar radiation time series

integer

years

tstep

Time step of the solar radiation data

integer

n/a

lat

Latitude of the solar radiation station

real

Decimal Degrees

lon

Longitude of the solar radiation station

real

Decimal Degrees

elev

Elevation of the solar radiation station

real

m

Starting in the fourth line, the year, Julian day, and solar radiation are listed. There are no headers for these columns.

Field
Description
Type
Unit

year

Year of the observation

integer

n/a

jday

Julian day of the observation

integer

n/a

slr

Observed solar radiation

real

MJ/m^2/day

A negative 99.0 (-99.0) should be inserted for missing data. This value tells SWAT+ to generate a solar radiation value for that day.

The slr.cli file lists the names of the solar radiation data files used in the simulation. The first line is reserved for user comments. The second line is reserved for the column header "filename". The user can list as many solar radiation data file names as needed for the simulation. Only one file name should be listed per line. All file names listed in weather-sta.cli must be listed here. For every file name listed in slr.cli, a file with that name must be provided by the user that contains the solar radiation data measured at the station.

tmp.cli and tmp data files

These files contain all information needed by the model about observed temperature data.

The temperature data files contain the observed temperature input data. They are named by the user and must have the file ending *.tmp. There must be one file per station used in the simulation. As in all SWAT+ input files, the first line in the temperature data files is reserved for user comments. The second line contains the column headers for the third line, which lists basic information about the station.

Field
Description
Type
Unit

nbyr

Length of the temperature time series

integer

years

tstep

Time step of the temperature data

integer

n/a

lat

Latitude of the temperature station

real

Decimal Degrees

lon

Longitude of the temperature station

real

Decimal Degrees

elev

Elevation of the temperature station

real

m

Starting in the fourth line, the year, Julian day, and the maximum and minimum temperatures are listed. There are no headers for these columns.

Field
Description
Type
Unit

year

Year of the observation

integer

n/a

jday

Julian day of the observation

integer

n/a

tmpmax

Observed maximum temperature

real

°C

tmpmin

Observed minimum temperature

real

°C

A negative 99.0 (-99.0) should be inserted for missing data. This value tells SWAT+ to generate minimum and maximum temperatures for that day.

The tmp.cli file lists the names of the temperature data files used in the simulation. The first line is reserved for user comments. The second line is reserved for the column header "filename". The user can list as many temperature data file names as needed for the simulation. Only one file name should be listed per line. All file names listed in weather-sta.cli must be listed here. For every file name listed in tmp.cli, a file with that name must be provided by the user that contains the temperature data measured at the station.

atmo.cli

This file contains observed atmospheric deposition data.

SWAT+ is able to read in monthly, yearly, and average annual atmospheric deposition values. Reading in daily values is currently not an option in SWAT+. The time step of the atmospheric deposition data has to be specified by the user in codes.bsn and the time step of the data in atmo.cli has to match the specified time step.

The structure of the file atmo.cli varies slightly depending on the time step of the data. As in all SWAT+ input files, the first line is reserved for user comments. The second line contains the column headers for the third line, which lists basic information about the atmospheric deposition stations.

Field
Description
Type

num_sta

Number of stations included in the file

integer

Time step of the atmospheric deposition data

integer

mo_init

First month data is available for (0 for yearly and average annual data)

integer

yr_init

First year data is available for (0 for average annual data)

integer

Number of months or years data is available for

integer

Below, there will be 5 lines for each station included in the atmospheric deposition file. In the first of these, the name of the station will be specified. It is followed by 4 lines of data:

  1. Wet deposition of ammonia nitrogen

  2. Wet deposition of nitrate nitrogen

  3. Dry deposition of ammonia nitrogen

  4. Dry deposition of nitrate nitrogen

The number of values listed in the data lines depends on the number of months or years data is available for.

codes.bsn

This file contains control codes for the simulation of basin-level processes.

Field
Description
Type

pet_file

Currently not used

string

wq_file

Currently not used

string

Potential Evapotranspiration (PET) method

integer

event

Currently not used

integer

Crack flow

integer

Writing of input file for SWIFT

integer

sed_det

Currently not used

integer

Channel routing

integer

deg_cha

Currently not used

integer

wq_cha

Currently not used

integer

Turning off of plant stress

integer

cn

Currently not used

integer

c_fact

Currently not used

integer

Carbon routine

integer

Precipitation and temperature lapse rate control

integer

Unit Hydrograph method

integer

sed_cha

Currently not used

integer

Tile drainage equation code

integer

Water table depth algorithms

integer

Soil phosphorus model

integer

Surface runoff method

integer

atmo_dep

Currently not used

string

stor_max

Currently not used

integer

qual2e

Instream nutrient routing method

integer

Flood routing

integer

timestep
num_aa
pet
crack
swift_out
rte_cha
nostress
carbon
lapse
uhyd
tiledrain
wtable
soil_p
gampt
gwflow

timestep

Time step of the atmospheric deposition data

Option
Description

mo

Monthly

yr

Yearly

aa

Average annual

crack

Crack flow code

Code
Option

0

Do not compute crack flow in soil

1

Compute crack flow in soil

If crack = 1, the crack volume potential is controlled by perc_crk in soils.sol.

Basin

General watershed attributes are defined in two basin input files, codes.bsn and parameters.bsn. These attributes control a diversity of physical processes at the watershed level. Users can use the default values set by the interfaces or change them to better reflect what is happening in a given watershed.

Even if nutrients are not being studied in a watershed, some attention must be paid to basin nutrient variables, because nutrient cycling impacts plant growth, which in turn affects the hydrologic cycle. Variables governing bacteria or pesticide transport need to be initialized only if these processes are being modeled in the watershed.

carbon

Carbon routine

Code
Option

0

Static soil carbon

1

C-FARM one carbon pool model

2

Century model

Papers Xuesong, Armen

swift_out

SWIFT input file

Code
Option

0

Do not write SWIFT input file

1

Write SWIFT input file (swift_hru.inp)

pet

Potential evapotranspiration (PET) method

Numerous methods exist to calculate potential evapotranspiration. Three of the most widely-used ones are included in SWAT+, the Priestley-Taylor, Penman/Monteith, and Hargreaves equations. The codes for the three methods are listed in the table below. If a method other than Priestley-Taylor, Penman/Monteith, or Hargreaves is recommended for the area, in which the watershed is located, the user can calculate daily PET values with the recommended method and import them into SWAT+ (using pet in weather-sta.cli).

Code
Option

0

Priestley-Taylor method

1

Penman/Monteith method

2

Hargreaves method

lapse

Precipitation and temperature lapse rate control

Code
Option

0

Do not adjust precipitation and temperature for elevation

1

Adjust precipitation and temperature for elevation

wtable

Water table depth algorithm code

Code
Option

0

Simulate shallow water table using original water table depth routine (fill to upper limit)

1

Simulate shallow water table using DRAINMOD water table depth routine

soil_p

Soil phosphorus model

Code
Option

0

Original soil phosphorus model

1

New soil phosphorus model

Vadas & White (2010)

gampt

Surface runoff method

Code
Option

0

Curve Number

1

Green & Ampt

uhyd

Unit Hydrograph method

Code
Option

0

Triangular Unit Hydrograph

1

Gamma Function Unit Hydrograph

The Unit Hydrograph method is only relevant when simulating at a sub-daily timestep and gampt = 0.

num_aa

Number of months or years data is available for

For monthly and yearly data, the number of months and number of years of atmospheric deposition data included in the file should be entered, respectively. For average annual data this parameter should be set to 0.

nostress

Plant stress

Code
Option

0

All plant stresses applied

1

Turn off all plant stress

2

Turn off nutrient plant stress only

parameters.bsn

This file contains basin-level parameters.

Field
Description
Type
Unit
Default
Range

lai_noevap

Currently not used

real

Initial soil water storage expressed as a fraction of field capacity water content

real

0

0-1

Surface runoff lag coefficient

real

4

1-24

Peak rate adjustment factor for sediment routing in the subbasin (tributary channels)

real

1

0.5-2

Peak rate adjustment factor for sediment routing in the main channel

real

1

0-2

lin_sed

Currently not used

real

exp_sed

Currently not used

real

Rate factor for humus mineralization of active organic nutrients (N and P)

real

0.0003

0.001-0.003

Nitrogen uptake distribution parameter

real

20

0-100

Phosphorus uptake distribution parameter

real

20

0-100

Nitrate percolation coefficient

real

0.2

0-1

Phosphorus percolation coefficient

real

10m^3/M

10

10-17.5

Phosphorus soil partitioning coefficient

real

m^3/Mg

175

100-200

Phosphorus availability index

real

0.4

0.01-0.7

Residue decomposition coefficient

real

0.05

0.02-0.1

Pesticide percolation coefficient

real

0.5

0-1

Coefficient to control the impact of the storage time constant for normal flow on the overall storage time constant for the channel

real

0.75

0-10

Coefficient to control the impact of the storage time constant for low flow on the overall storage time constant for the channel

real

0.25

0-10

Weighting factor control relative importance of inflow rate and outflow rate in determining storage on reach

real

0.2

0-0.3

Nitrogen concentration coefficient for tile flow and leaching from bottom layer

real

0

0-1

Reach evaporation adjustment factor

real

0.6

0.5-1

scoef

Currently not used

real

Denitrification exponential rate coefficient

real

1.4

0-3

Denitrification threshold water content

real

1.3

0-1

man_bact

Currently not used

real

Adjustment factor for subdaily unit hydrograph basetime

real

0

0-1

Parameter for frozen soil adjustment on infiltration/runoff

real

0.000862

0-0

Time threshold used to define dormancy

real

hrs

0

0-24

Precipitation lapse rate

real

mm/km

Temperature lapse rate

real

deg C/km

Maximum daily nitrogen fixation

real

kg/ha

20

1-20

Minimum daily residue decay

real

fraction

0.01

0-0.05

rsd_cover

Currently not used

real

Maximum initial abstraction for urban areas

real

5

0-10

petco_pmpt

Currently not used

real

Alpha coefficient for gamma function unit hydrograph

real

5

0.5-10

Splash erosion coefficient

real

1

0.9-3.1

Rill erosion coefficient

real

0.7

0.5-2

Exponential coefficient for overland flow

real

1.2

1-3

Scaling parameter for cover and management factor for overland flow erosion

real

0.03

0.001-0.45

cha_d50

Currently not used

real

CO2 concentration at start of simulation

real

ppm

1.57

1-5

day_lag_max

Currently not used

real

igen

Currently not used

integer

sw_init
surq_lag
adj_pkrt
prf
orgn_min
n_uptake
p_uptake
n_perc
p_perc
p_soil
p_avail
rsd_decomp
pest_perc
msk_co1
msk_co2
msk_x
nperco_lchtile
evap_adj
denit_exp
denit_frac
adj_uhyd
cn_froz
dorm_hr
plaps
tlaps
n_fix_max
rsd_decay
urb_init_abst
uhyd_alpha
splash
rill
surq_exp
cov_mgt
co2

qual2e

Instream nutrient routing method

Code
Option

0

Instream nutrient routing using QUAL2E

1

Instream nutrient routing using QUAL2E with simplified nutrient transformations

gwflow

Flood routing

Code
Option

0

GWFlow module not active

1

GWFlow module active

surq_lag

Surface runoff lag coefficient

In large routing units with a time of concentration greater than 1 day, only a portion of the surface runoff will reach the main channel on the day it is generated. SWAT+ incorporates a surface runoff storage feature to lag a portion of the surface runoff release to the main channel.

This parameter controls the fraction of the total available water that will be allowed to enter the reach on any one day. For a given time of concentration, as surq_lag decreases in value more water is held in storage. The delay in release of surface runoff will smooth the streamflow hydrograph simulated in the reach.

prf

Peak rate factor

Sediment routing is a function of peak flow rate and mean daily flow. Because SWAT originally could not directly calculate the sub-daily hydrograph, this variable was incorporated to allow adjustment for the effect of the peak flow rate on sediment routing. This variable impacts channel degradation.

adj_pkrt

Peak rate adjustment factor for sediment routing in the subbasin (tributary channels)

Sediment routing is a function of peak flow rate and mean daily flow. Because SWAT originally could not directly calculate the sub-daily hydrograph due to the use of precipitation summarized on a daily basis, this variable was incorporated to allow adjustment for the effect of the peak flow rate on sediment routing. This factor is used in the MUSLE equation and impacts the amount of erosion generated in the HRUs.

sw_init

Initial soil water storage expressed as a fraction of field capacity water content

All soils in the watershed will be initialized to the same fraction. If sw_init = 0.0, the model will calculate it as a function of average annual precipitation.

We recommend using a warm-up period of at least 1 year, i.e. start the simulation at least 1 year prior to the period of interest. This allows the model to get the water cycling properly before any comparisons between measured and simulated data are made. If a warm-up period is incorporated, the value for sw_init will not impact model results.

p_uptake

Phosphorus uptake distribution parameter

This parameter controls plant uptake of phosphorus from the different soil horizons in the same way that n_uptake controls nitrogen uptake.

Phosphorus removed from the soil by plants is taken from the solution phosphorus pool. The importance of the phosphorus uptake distribution parameter lies in its control over the maximum amount of solution P removed from the upper layers. Because the top 10 mm of the soil profile interacts with surface runoff, the phosphorus uptake distribution parameter will influence the amount of labile phosphorus available for transport in surface runoff. The model allows lower layers in the root zone to fully compensate for lack of solution P in the upper layers, so there should not be significant changes in phosphorus stress with variation in the value used for p_uptake.

hmd

Name of the relative humidity station

The name of the relative humidity station is a foreign key referencing the filenames listed in hmd.cli.

If "sim" is entered instead of a relative humidity station name, the model will generate daily relative humidity values using the weather generator station specified in column wgn.

tiledrain

Tile drainage equation code

Code
Option

0

Simulate tile flow using drawdown days equation

1

Simulate tile flow using DRAINMOD equations

Papers Daniel, Tássia

p_soil

Phosphorus soil partitioning coefficient

The phosphorus soil partitioning coefficient p_soil is the ratio of the soluble phosphorus concentration in the top 10 mm of soil to the concentration of soluble phosphorus in surface runoff.

The primary mechanism of phosphorus movement in the soil is by diffusion. Diffusion is the migration of ions over small distances (1-2 mm) in the soil solution in response to a concentration gradient. Due to the low mobility of solution phosphorus, surface runoff will only partially interact with the solution P stored in the top 10 mm of soil.

n_uptake

Nitrogen uptake distribution parameter

Root density is greatest near the surface, and plant nitrogen uptake in the upper portion of the soil will be greater than in the lower portion. The depth distribution of nitrogen uptake is controlled by n_uptake, the nitrogen uptake distribution parameter.

The importance of the nitrogen uptake distribution parameter lies in its control over the maximum amount of nitrate removed from the upper layers. Because the top 10 mm of the soil profile interacts with surface runoff, the nitrogen uptake distribution parameter will influence the amount of nitrate available for transport in surface runoff. The model allows lower layers in the root zone to fully compensate for lack of nitrate in the upper layers, so there should not be significant changes in nitrogen stress with variation in the value used for n_uptake.

p_perc

Phosphorus percolation coefficient

The phosphorus percolation coefficient is the ratio of the solution phosphorus concentration in the top 10 mm of soil to the concentration of phosphorus in the percolate.

rsd_decomp

Residue decomposition coefficient

The fraction of residue that will decompose in a day assuming optimal moisture, temperature, C:N ratio, and C:P ratio.

p_avail

Phosphorus availability index

Many studies have shown that after an application of soluble P fertilizer, solution P concentration decreases rapidly with time due to reaction with the soil. This initial "fast" reaction is followed by a much slower decrease in solution P that may continue for several years (Barrow and Shaw, 1975; Munns and Fox, 1976; Rajan and Fox, 1972; Sharpley, 1982). In order to account for the initial rapid decrease in solution P, SWAT+ assumes a rapid equilibrium exists between solution P and an "active" mineral pool. The subsequent slow reaction is simulated by the slow equilibrium assumed to exist between the "active" and "stable" mineral pools. The algorithms governing movement of inorganic phosphorus between these three pools are taken from Jones et al. (1984).

Equilibration between the solution and active mineral pool is governed by the phosphorus availability index. This index specifies the fraction of fertilizer P which is in solution after an incubation period, i.e. after the rapid reaction period.

A number of methods have been developed to measure the phosphorus availability index. Jones et al. (1984) recommends a method outlined by Sharpley et al. (1984) in which various amounts of phosphorus are added in solution to the soil as K2HPO4. The soil is wetted to field capacity and then dried slowly at 25°C. When dry, the soil is rewetted with deionized water. The soil is exposed to several wetting and drying cycles over a 6-month incubation period. At the end of the incubation period, solution phosphorus is determined by extraction with anion exchange resin.

The P availability index is then calculated as:

pai=Psolution,f−Psolution,ifertminPpai=\frac{P_{solution,f}-P_{solution,i}}{fert_{minP}}pai=fertminP​Psolution,f​−Psolution,i​​

where pai is the phosphorus availability index, Psolution,fP_{solution,f}Psolution,f​ is the amount of phosphorus in solution after fertilization and incubation, Psolution,iP_{solution,i}Psolution,i​ is the amount of phosphorus in solution before fertilization, and fertminPfert_{minP}fertminP​ is the amount of soluble P fertilizer added to the sample.

References

Barrow, N.J. and T.C. Shaw. 1975. The slow reactions between soil and anions. 2. Effect of time and temperature on the decrease in phosphate concentration in soil solution. Soil Science 119(2): 167-177. Link

Jones et al. 1984

Munns and Fox. 1976

Rajan and Fox. 1972

Sharpley. 1982

Sharpley et al. 1984

n_perc

Nitrate percolation coefficient

This parameter controls the amount of nitrate removed from the surface layer in runoff relative to the amount removed via percolation.

The smaller n_perc, the lower the concentration of nitrate in runoff. If n_perc = 1.0, the surface runoff will have the same nitrate concentration as the percolate.

msk_co2

Coefficient to control the impact of the storage time constant for low flow on the overall storage time constant for the channel

Normal flow is defined as the streamflow when the channel is at 0.1*bankfull depth. This parameter is only important if channel routing is simulated using the Muskingum routing method.

pest_perc

Pesticide percolation coefficient

This parameter controls the amount of pesticide removed from the surface layer in runoff and lateral flow relative to the amount removed via percolation. This parameter is only important if pesticide transport is simulated.

The lower pest_perc, the lower the concentration of the pesticide in runoff. If pest_perc = 1.0, the surface runoff will have the same pesticide concentration as the percolate.

msk_co1

Coefficient to control the impact of the storage time constant for normal flow on the overall storage time constant for the channel

Normal flow is defined as the streamflow when the channel is at bankfull depth. This parameter is only important if channel routing is simulated using the Muskingum routing method.

orgn_min

Rate factor for humus mineralization of active organic nutrients (N and P)

Please refer to the Theoretical Documentation for a description of the use of this parameter in the mineralization calculations.

nperco_lchtile

Nitrogen concentration coefficient for tile flow and leaching from bottom layer

msk_x

Weighting factor control relative importance of inflow rate and outflow rate in determining storage on reach

The weighting factor is a function of the wedge storage. This parameter is only important if channel routing is simulated using the Muskingum routing method.

For reservoir-type storage, there is no wedge and msk_x should be 0.0. For a full-wedge, msk_x should be 0.5. For rivers, msk_x will fall between 0.0 and 0.3 with a mean value near 0.2.

rte_cha

Channel water routing method

There are two channel water routing methods available in SWAT+:

Code
Option

0

Variable Storage method

1

Muskingum method

The user must be careful to define msk_co1, msk_co2 and msk_x in parameters.bsn when the Muskingum method is chosen.