DRAFT

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.

SectionDescription
<flow_model> sectiondefines high-level model constructs
<macros> sectiondefines scenario macros
<catchments> sectiondefines catchments
<streams> sectiondefines streams networks
<reservoirs> sectiondefines reservoirs
<global_methods> sectiondefines internal methods for various hydrologic processes
<tables> sectiondefines various input tables
<outputs> sectiondefines model outputs


<flow_model>

This section defines high-level elements for a Flow model. Attributes supported by this tag are defind below:
AttributeDescriptionDefault ValueRequired?
name Name of the modelFlowModelNo
catchment_join_col Field name in the IDU coverage containing JoinIDs to connect IDUs to corresponding stream reachesYes
stream_join_col Field name in the stream coverage containing JoinIDs to connect stream reaches to their corresponding IDUsYes
time_step Times step (days) used in the simulation1No
simplify_query Specifies a spatial query used to truncate high-order stream reaches from the stream networkDon't truncateNo
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 truncateNo
simplify_max_area If simplifying, specified a maximum size for which a catchment will be considered for mergingDon't truncateNo
path Specifies a folder which will be added to the default search path when looking form various input filesNo pathNo
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
0No
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 coresNo
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 existNo
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.eulerNo
min_timestep Unused-reserved for future useNo
max_timestep Unused-reserved for future useNo
error_tolerance Unused-reserved for future useNo
init_timestep Unused-reserved for future useNo
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) 2No
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 outputs0No
annual_idu_output 0=Don't generate annual IDU-based outputs, 1=generate annual IDU outputs0No
daily_reach_output 0=Don't generate daily reach-based outputs, 1=generate daily reach outputs0No
annual_reach_output 0=Don't generate annual reach-based outputs, 1=generate annual reach outputs0No
Note: The following attributes have been deprecated and can safely be removed if present: 'build_catchments_method'
[top]


<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.

AttributeDescriptionDefault ValueRequired?
layer Map Layer containing polygons used to construct the catchments. Generally, this is the IDU layerIDU LayerNo
query Spatial Query specifying what area should be considered when constructing catchments. If not specified, the entire coverage will be usedNo
area_col Field in the layer coverage containing the area of each polygon. AREANo
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_MEANNo
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_IDNo
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_IDNo
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');
[top]


<streams>

This section describes attributes specifying the stream network representation.
AttributeDescriptionDefault ValueRequired?
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 segments10No
subnode_length Maximum length between subnodes (length units corresponding to the coverage) (defaults to 0, which allocates one subnode per reach. 0No
mannings_n Default value for Mannings roughness coefficient. 0.014No
stepsize Timestep (days) used to solve the instream routing equations.1 dayNo
[top]


<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. 45No
AttributeDescriptionDefault ValueRequired?
<reach_routing> tag
name name associated with this methodReach RoutingNo
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' -
kinematicNo
<lateral_exchange> tag
name name associated with this methodLateral ExchangeNo
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
noneNo
<hru_vertical_exchange> tag
name name associated with this methodVertical ExchangeNo
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
noneNo
<external> tag
name name associated with this methodNo
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 methodEvapTransNo
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 calculations1No
lulc_col Field name in the catchment (IDU) coverage containing LULC information for looking up parameters in the crop tableYes
soil_col Field name in the catchment (IDU) coverage containing Soil ID information to looking up parameters in the soil tableDepends 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 losses0.25No
latitude Latititude of the study area, used for net longwave radiation calculations (fao56, penman, asce only)
longitude Not usedNo
bulkStomatalResistance Bulk Stomatal Resistance (penman only)1000No
outputFractionCGDD 1=Calculate Daily CGDD Fraction (place in a field called "FracCGDD_D" in the IUD coverage), 0=don't calculate these values.0No
[top]


<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.

AttributeDescriptionDefault ValueRequired?
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
[top]

Mathematical expressions defining outputs can reference specific Flow internal variables as part of the 'value' expressions as follows:

Variable NameDescriptionDomain
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
hruCumGWRechargeCumu. 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 Concpool
esv_reachOutflowStreamflow reach