The Flow input file is an XML file that contains a number of distinct sections, each specifying
an aspect of a Flow Model implementation. These sections are describe below.
Section | Description |
<flow_model> section | defines high-level model constructs |
<macros> section | defines scenario macros |
<catchments> section | defines catchments |
<streams> section | defines streams networks |
<reservoirs> section | defines reservoirs |
<global_methods> section | defines internal methods for various hydrologic processes |
<tables> section | defines various input tables |
<outputs> section | defines model outputs |
<flow_model>
This section defines high-level elements for a Flow model. Attributes supported by this tag are defind below:
Attribute | Description | Default Value | Required? |
name | Name of the model | FlowModel | No |
catchment_join_col | Field name in the IDU coverage containing JoinIDs to connect IDUs to corresponding stream reaches | | Yes |
stream_join_col | Field name in the stream coverage containing JoinIDs to connect stream reaches to their corresponding IDUs | | Yes |
time_step | Times step (days) used in the simulation | 1 | No |
simplify_query | Specifies a spatial query used to truncate high-order stream reaches from the stream network | Don't truncate | No |
simplify_min_area | Specifies a minimum area for a catchment; any catchment smaller than this area will be merged with an upstream reach | Don't truncate | No |
simplify_max_area | If simplifying, specified a maximum size for which a catchment will be considered for merging | Don't truncate | No |
path | Specifies a folder which will be added to the default search path when looking form various input files | No path | No |
check_mass_balance | 1 = a global madd balance should be performed during simulations. This increases the computational load somewhat, but provides a means by which global flows can be examined
0 = no global mass balance will be performed | 0 | No |
max_processors | the maximum number of mulitcore processes to use when running parallel operations. If not specifiied, then 2/3 of the available cores are used. | 2/3 of cores | No |
grid | When running Flow in grid mode, specifies the Map Layer containing the grid. It is ignored if not specified or the attribute doesn't exist | | No |
integrator | Specifies the integrated to use. One of "rk4' (Runge-Kutta fourth order) or "euler' (Euler, or trapisoidal, method). Note: 'euler' is the only method that has been fully tested. | euler | No |
min_timestep | Unused-reserved for future use | | No |
max_timestep | Unused-reserved for future use | | No |
error_tolerance | Unused-reserved for future use | | No |
init_timestep | Unused-reserved for future use | | No |
update_display | Flags indicating when to update the display during a simulation. Values are: 0 (no update), 1 (update each year), 2 (update each flow timestep) | 2 | No |
initial_conditions | Initial Conditions File. If specified, and the file exists, it is read for initial conditions for the model. If specified and the file does not exist, it will be created using values from the end of the next simulation run. If not specified, default values for initial conditions are used. | | No |
daily_idu_output | 0=Don't generate daily IDU-based outputs, 1=generate daily IDU outputs | 0 | No |
annual_idu_output | 0=Don't generate annual IDU-based outputs, 1=generate annual IDU outputs | 0 | No |
daily_reach_output | 0=Don't generate daily reach-based outputs, 1=generate daily reach outputs | 0 | No |
annual_reach_output | 0=Don't generate annual reach-based outputs, 1=generate annual reach outputs | 0 | No |
Note: The following attributes have been deprecated and can safely be removed if present: 'build_catchments_method'
<catchments>
This section describes attributes specifying catchments and hydrologic response units (HRUs), representing the terrestrial system. HRUs
consist of collections of IDUs. Catchments consist of collection of HRUs. The attributes defined below determine how catchments and HRUs are constructed from IDUs.
Attribute | Description | Default Value | Required? |
layer | Map Layer containing polygons used to construct the catchments. Generally, this is the IDU layer | IDU Layer | No |
query | Spatial Query specifying what area should be considered when constructing catchments. If not specified, the entire coverage will be used | | No |
area_col | Field in the layer coverage containing the area of each polygon. | AREA | No |
elev_col | Field in the layer coverage containing the elevation of each polygon. If this column doesn't exist, it will be added and, if using station met data, it's values will be set to the station elevation (it is used for lapse rate calculations) | ELEV_MEAN | No |
catchment_agg_cols | Comma-separated list of field(s) in the layer coverage used define a catchment. Unique value combinations of these fields will be used to define a catchments, i.e. catchments will be homogeneous with respect to these field's attributes. | | Yes |
hru_agg_cols | Comma-separated list of field(s) in the layer coverage used define a HRU. Unique value combinations of these fields will be used to define a HRU, i.e. HRUs will be homogeneous with respect to these field's attributes. | | Yes |
hruID_col | Field in the layer coverage to be populated with unique IDs for each HRU. This field will be added to the layer if it doesn't exist. | HRU_ID | No |
catchmentID_col | Field in the layer coverage to be populated with unique IDs for each catchment. This field will be added to the layer if it doesn't exist. | CATCH_ID | No |
pools | Number of water storage compartments to be modeled. This depends on what Flow plugins are used. If using the HBV plugin, click here for details on what this attribute should be set to. | | No |
pool_names | Comma-separated list of pool names for the pools defined in the 'pools' attribute. If using the HBV plugin, click here for details on what this attribute should be set to. | | No |
pool_depths | Comma-separated list of the pool depths for the pools defined in the 'pool' attribute. If a single value is specified, it is used for all soil layers. Only used if an initial conditions file is not present. | | No |
init_water_content | Comma-separated list of initial values of water content for the pools defined in the 'pools' attribute. If a single value is specified, it is used for all soil pools. Only used if an initial conditions file is not present. | | No |
Note: The following attributes have been deprecated and can safely be removed if present: 'soil_layers' (replaced by 'pools'), 'snow_layers', 'veg_layers', 'layer_names' (replaced by 'pool_names'), 'layer_depths' (replaced by 'pool_depths');
<streams>
This section describes attributes specifying the stream network representation.
Attribute | Description | Default Value | Required? |
layer | Map Layer name containing lines used to construct the streams. This generally comes from the National Hydrography Dataset (NHD). The name specified here must match the stream layer name provided in the project (*.envx) file in the <layers> section. | | Yes |
order_col | Field in the stream coverage to be populated with stream order information. If not specified, order information is not generated. If the field doesn't exist, it will be automatically added to the stream coverage. | | No |
treeID_col | Field in the stream coverage to be populated with tree ID order information. If not specified, tree ID information is not generated. If the field doesn't exist, it will be automatically added to the stream coverage. | | No |
to_col | Field in the stream coverage containing topological information, specifically point to the downstream ("to") reach associated with each reach. This field is required to exist in the stream coverage. | TNODE_ | No |
from_col | Field in the stream coverage containing topological information, specifically point to the upstream ("from") reach associated with each reach. This field is required to exist in the stream coverage. | FNODE_ | No |
wd_ratio | Default value for width/depth ratio for reach segments | 10 | No |
subnode_length | Maximum length between subnodes (length units corresponding to the coverage) (defaults to 0, which allocates one subnode per reach. | 0 | No |
mannings_n | Default value for Mannings roughness coefficient. | 0.014 | No |
stepsize | Timestep (days) used to solve the instream routing equations. | 1 day | No |
<reservoirs>
Reservoirs in Flow are modeled based on the Army Corps of Engineering HEC-ResSim model. To incorporate these models into a Flow simulation, set the Flow Reservoirs page.
<global_methods>
Global methods are used to define internal and external processes and methods to incorporate into a Flow simulation. Tags and attributes for this section are defined below.
Attribute | Description | Default Value | Required? |
<reach_routing> tag |
name | name associated with this method | Reach Routing | No |
method | The method use to compute reach-to-reach routing. Valid values are:
'none' - don't perform reach routing
'kinematic' - routing based on the kinematic wave equation
'euler' - mass balance with Euler numerical integration
'rk4' - mass balance with fixed-step Runge-Kutta numerical integration
'rkf' - mass balance with variable-step Runge-Kutta numerical integration
'2kw' -
| kinematic | No |
<lateral_exchange> tag |
name | name associated with this method | Lateral Exchange | No |
method | The method use to compute lateral exchange. Valid values are:
'none' - don't perform lateral exchange
'linear' - lateral exchange is computes assuming pools are linear reservoirs
| none | No |
<hru_vertical_exchange> tag |
name | name associated with this method | Vertical Exchange | No |
method | The method use to compute vertical exchange between pools. Valid values are:
'none' - don't perform vertical exchange
'brooks_corey' - vertical exchange is modeled based on the Brooks-Corey algorithm
| none | No |
<external> tag |
name | name associated with this method | | No |
method | The method used to compute vertical exchange between pools. Valid values are:
'fn={plugin.dll}:{methodname}' - use the method in the specified DLL. Replace {plugin.dll} with teh approriate dynamic link library containing
the method, and replace {methodname} with a conformant function exported in the DLL | | No |
<evap_trans> |
name | name associated with this method | EvapTrans | No |
method | The method use to compute evapotranspiration. Valid values are:
asce - ASCE method (requires crop_table to be defined)
fao56 - FAO56 method (requires crop_table to be defined)
penman - Penman Montieth method
hargreaves - Hargreaves method (requires crop_table to be defined)(experimental)
kimberly - Kimberly Penman method (requires station_table, crop_table to be defined)
baier - Baier-Robertson method | | Yes |
query | A spatial query specifying where in the study area to calculate ET using this method, If not specified, the calculations will be applied everywhere. | | No |
use | 1=Enable ET calculations, 0=suppress ET calculations | 1 | No |
lulc_col | Field name in the catchment (IDU) coverage containing LULC information for looking up parameters in the crop table | | Yes |
soil_col | Field name in the catchment (IDU) coverage containing Soil ID information to looking up parameters in the soil table | | Depends on method used |
crop_table | Filename of a CSV file containing crop parameters. See the EvapTrans documentation for details on this file. | | Yes |
soil_table | Filename of a CSV file containing soil parameters. See the EvapTrans documentation for details on this file. | | Yes |
station_table | Filename of a CSV file containing weather station parameters. See the EvapTrans documentation for details on this file. | | Yes for 'kimberly', No for other methods |
irrig_loss_factor | 0-1 coefficient indicating irrigation system losses | 0.25 | No |
latitude | Latititude of the study area, used for net longwave radiation calculations (fao56, penman, asce only) | | 45 | No
longitude | Not used | | No |
bulkStomatalResistance | Bulk Stomatal Resistance (penman only) | 1000 | No |
outputFractionCGDD | 1=Calculate Daily CGDD Fraction (place in a field called "FracCGDD_D" in the IUD coverage), 0=don't calculate these values. | 0 | No |
<tables>
<outputs>
This section describes attributes specifying outputs Flow will collect and report on. Ouputs are generally specified by
with a query determining the spatial extent of the calculations, a mathematical expression that gives the specific calculation
to be performed for each spatial unit in the domain, and an operator that indicates how each spatial unit calculation is
accumulated across the query area.
Attribute | Description | Default Value | Required? |
name | Name of the output. This is used in reporting and output files. | | Yes |
value | A Mathematical expression used to calculate output values for individual spatial units. | | Yes |
query | Spatial Query defining the spatial extent of the output calculations. | If not specified, the entire coverage is used. | No |
type | The operation used to combine output values across the query area. One of:
- 'sum' - sums individual calculations
- 'areaWtMean' - calculates an area-weighted mean value of all spatial units
- 'pctArea' - calculates the portion of the total area satisfying the query
| sum | No |
domain | The spatial reporting unit used in the calculations. One of:
- 'idu' - use individual IDU's as the calculation unit.
- 'hru' - use HRU's as the calculation unit.
- 'pool' - use HRU pools as the calculation unit. In this case, the specific pool must also be specified
as follows: 'pool:#' where # is a zero-based number corresponding to the pool entries in the <catchment> tag described above.
- 'reach' - use stream reaches as the calculation unit.
- 'reservoir' - use individual reservoirs as the calculation unit
- '_' - for IDU specific values that are only stored in the HRUs
- 'grid' - only for grid-based Flow models.
| idu | No |
in_use | Flag (0-1) indicating whether the calculation should be performed. 0=disable calculations, 1=enable calculations | 1 | No |
obs | Path for an 'observation" file. See note below. | | No |
format | Format for the observation file. One of:
- csv - standard format CSV file
- usgs - USGS format
- reservoir - reservoirs, USGS format
- temperature - stream temperatures, USGS format
| | Yes if 'obs' defined., No otherwise |
site | For reservoirs, an integer that specifies a single reservoir | | No |
x | | | No |
y | | | No |
Mathematical expressions defining outputs can reference specific Flow internal variables as part of the 'value' expressions as follows:
Variable Name | Description | Domain |
hruVolMelt | Melt Depth (mm) | hru |
hruVolSwe | SWE Depth (mm) | hru |
hruPrecip | Total Precip (mm) | hru |
hruRainfall | Total Rainfall (mm) | hru |
hruSnowfall | Total Snowfall (mm) | hru |
hruAirTemp | Air Temp (C) | hru |
hruMinTemp | Min Temp (C) | hru |
hruMaxTemp | Max Temp (C) | hru |
hruRadiation | Radiation (w/m2) | hru |
hruET | ET (mm) | hru |
hruMaxET | Maximum ET (mm) | hru |
hruCGDD | CGDD0 (heat units) | hru |
hruSedimentOut | Sediment | hru |
hruGWRecharge | Recharge (mm) | hru |
hruGWOut | GW Loss (mm) | hru |
hruCumP | Cumu. Rainfall (mm) | hru |
hruCumRunoff | Cumu. Runoff (mm) | hru |
hruCumET | Cumu. ET (mm) | hru |
hruCumMaxET | Cumu. Max ET (mm) | hru |
hruCumGWOut | Cumu. GW Out (mm) | hru |
hruCumGWRecharge | Cumu. GW Recharge (mm) | hru |
hruLayerWC | Water content (units?) | hru |
hruLayerWDepth | Water depth (mm?) | hru |
hruElws | Elws | hru |
reachOutflow | Streamflow (mm) | reach |
reachTemp | Stream Temp (C) | reach |
esv_hruLayer | Extra State Variable Conc | pool |
esv_reachOutflow | Streamflow | reach |