Online Guide to MODFLOW

STR - Stream Package

Hide Navigation Pane

STR - Stream Package

Previous topic Next topic No directory for this topic Expand/collapse all hidden text  

STR - Stream Package

Previous topic Next topic Topic directory requires JavaScript JavaScript is required for expanding text JavaScript is required for the print function  

Abbreviation in Name file

STR

Purpose

The Stream package is used to simulate streams in a model.  The flow in a stream is routed instantaneously to downstream streams

Documentation

Related Packages

Supported in

MODFLOW-2000
MODFLOW-2005
MODFLOW-LGR
MODFLOW-CFP
MODFLOW-NWT
MODFLOW-OWHM

Common Errors

Stream reaches within segments are listed from downstream to upstream instead of from upstream to downstream.
Linkages between streams are not specified.
Linkages between streams are specified incorrectly.

Other Notes

Compared with the Stream (STR) package, the Streamflow-Routing (SFR) provides greater flexibility in how streams are specified but the parameters in it can not be used with the Sensitivity or Parameter-Estimation processes.
Prior to MODFLOW-2005 version 1.11, the Stream package did not support the "FREE" option of the Basic Package, so input was required to be entered in fixed-field format where indicated.
In MODFLOW-2005 version 1.11 and later, variables are free format if the option “FREE” is specified in the Basic Package input file; otherwise, most variables are read with the indicated fixed format.
MODFLOW-LGR and MODFLOW-CFP always uses the fixed-field format as in MODFLOW-2005 prior to version 1.11.
The Stream (STR) package was originally called the "Streamflow-Routing" package.  This name is identical with the name of the SFR package.  The name  "Stream" rather than "Streamflow-Routing" is adopted here for the STR package to minimize confusion.

Input Instructions

Input to the modified version of the Stream (STR) Package is read from the file that has file type "STR" in the MODFLOW name file. Optional variables are shown in brackets. All variables are read with fixed format except as noted.

FOR EACH SIMULATION

Data Set 0

[#Text]

Item 0 is optional -- “#” must be in column 1. Item 0 can be repeated multiple times.

Text - is a character variable (199 characters) that starts in column 2. Any characters can be included in Text. The “#” character must be in column 1. Except for the name file, lines beginning with # are restricted to the first lines of the file. Text is printed when the file is read.

Data Set 1

[PARAMETER NPSTR MXL]

This optional record is read with free format; it must start with the word “PARAMETER”.

NPSTR - is the number of stream parameters that will be defined.

In MODFLOW-2000, the maximum number of allowed parameters is 999.  In MODFLOW-2005,-LGR, and -CFP the maximum number of allowed parametersis 2000. In MODFLOW-OWHM, the maximum number of allowed parameters is specified in the Basic package.

MXL - is the maximum number of stream reaches that will be defined using parameters. MXL must equal or exceed the sum of NLST x NUMINST for all parameters.

Data Set 2

MXACTS NSS NTRIB NDIV  ICALC CONST ISTCB1 ISTCB2 Option

I10 I10 I10 I10 I10 F10.0 I10 I10 Free

MXACTS - is the maximum number of stream reaches that will be in use during any stress period.  MXACTS includes reaches that are defined using parameters as well as reaches that are defined without using parameters.

NSS - is the number of stream segments.

NTRIB - is the number of stream tributaries that can connect to one segment. The program is currently dimensioned so that NTRIB cannot exceed 10.

NDIV - is a flag, which when positive, specifies that diversions from segments are to be simulated.

ICALC - is a flag, which when positive, specifies that stream stages in reaches are to be calculated.

CONST - is a constant value used in calculating stream stage in reaches. It is specified whenever ICALC is greater than 0. This constant is 1.486 for flow units of cubic feet per second and 1.0 for units of cubic meters per second. The constant must be multiplied by 86,400 when using time units of days in the simulation. See also LENUNI and ITMUNI.

ISTCB1 - is a flag and a unit number for the option to write seepage between the stream reaches and model cells into the list file or an unformatted (binary) file.

If ISTCB1>0, it is the unit number to which seepage between each stream reach and the corresponding model cell will be saved whenever the variable ICBCFL is set or "Save Budget" is specified in the Output Control Option.
If ISTCB1=0, seepage between each stream reach and the corresponding model cell will not be written into any file.
If ISTCB1<0, streamflow for each reach and seepage between each stream reach and the corresponding models cell will be written into the LIST file whenever the variable ICBCFL is set or "Save Budget" is specified in the Output Control Option.

ISTCB2 - is a flag and a unit number for the option to store streamflow out of each reach in an unformatted (binary) file.

If ISTCB2 > 0, it is the unit number to which streamflow in each stream reach will be saved whenever the variable ICBCFL is set or "Save Budget" is specified in the Output Control Option. ISTCB1 must also be set to a value greater than zero for streamflows to be saved.
If ISTCB2 ≤0, streamflow in each stream reach will not be stored in a disk file.

Option—is an optional list of character values. (MODFLOW-2005 and MODFLOW-NWT only)

AUXILIARY abc” or “AUX abc”—defines an auxiliary variable, named "abc", which will be read for each stream reach as part of Items 4 and 6. Up to 20 variables can be specified, each of which must be preceded by "AUXILIARY" or "AUX." These variables will not be used by the Groundwater Flow Process, but they will be available for use by other processes. The auxiliary variable values will be read after the Stop variable.

Auxiliary parameters are used with MODPATH and the Groundwater Transport process.  In MODPATH, the variable IFACE is specified with an auxiliary parameter.  In the Groundwater Transport process, concentration is specified with an auxiliary parameter.  The option COMPACT BUDGET AUXILIARY must be used in the Output Control when IFACE is used for MODPATH.

Repeat Items 3 and 4 for each of NPSTR parameters.

Data Set 3

[PARNAM PARTYP Parval NLST [INSTANCES NUMINST]]

Item 3 is read with free format. If PARNAM is to be a time-varying parameter, the keyword “INSTANCES” and a value for NUMINST must be entered.

PARNAM – is the name of a parameter. This name can consist of 1 to 10 characters and is not case sensitive. That is, any combination of the same characters with different case will be equivalent. All parameter names must be unique.

PARTYP - is the type of parameter to be defined. For the STR Package, the only allowed parameter type is STR, which defines values of streambed conductance.

Parval—is the parameter value. This parameter value may be overridden by a value in the PVAL file, the Sensitivity Process (SEN) input file, or by a value generated by the Parameter-Estimation (PES) Process.

NLST - is the number of stream reaches that are included in each instance defined for the parameter.

INSTANCES – is an optional keyword that designates a parameter as time varying. The keyword is case-insensitive; that is, it may be entered in any combination of upper- and lower-case letters. If INSTANCES is present, it must be followed by a value for NUMINST. If INSTANCES is absent, PARNAM is non-time-varying and NUMINST should not be present.

NUMINST – is the number of instances that are included in the definition of a time-varying parameter, where each instance is a list of stream reaches and associated properties. If the keyword INSTANCES is present, NUMINST must be present. If the keyword INSTANCES is absent, NUMINST should not be present.

Data Set 4a

[INSTNAM]

Item 4a is read only if PARNAM is time varying. NUMINST repetitions of Item 4 (parts a and b) are read. After each repetition of Item 4a, NLST repetitions of Item 4b are read.

INSTNAM – is the name of an instance associated with the parameter PARNAM specified in the corresponding Item 3. The name can consist of 1 to 10 characters and is not case sensitive. That is, any combination of the same characters with different case will be equivalent. Names entered for INSTNAM must be unique for any given parameter, but names may be reused for instances associated with different parameters.

Data Set 4b

[Layer Row Col Seg Reach Flow Stage Condfact Sbot Stop] [xyz]

I5 I5 I5 I5 I5 F15.0 F10.0 F10.0 F10.0 F10.0 Free

NLST repetitions of Item 4b are required. The NLST repetitions of Item 4b follow each repetition of Item 4a when PARNAM is time varying.

Layer - is the layer number of the stream reach.

Row - is the row number of the stream reach.

Col - is the column number of the stream reach.

Seg - is a number assigned to a group of reaches. Segments must be numbered in downstream order and are read into the program in sequential order.

Reach - is a sequential number in a segment that begins with 1 for the farthest upstream reach and continues in downstream order to the last reach in the segment. Reaches must be read in sequentially because the order in which reaches are read determines the order of connection.

Flow - is the streamflow entering a segment. This value is used only for the first reach of each segment. The value should be specified as either 0 or blank when the reach number (Reach) is not 1. When the inflow to the first reach of a segment is the sum of the outflow from upstream tributary segments, Flow should be specified as -1. When the segment is a diversion, the Flow for the first reach is the amount to divert; however, there will be no diversion if the segment from which the diversion is obtained contains less than the value of Flow.

Stage - is the stream stage. The value of Stage is not used if ICALC>0. Stage is measured relative to the same datum as the rest of the model.  It is not measured relative to the stream bottom.

Condfact - is the factor used to calculate streambed hydraulic conductance from the parameter value. The conductance is the product of Condfact and the parameter value.

See also "What is conductance?"

Sbot -is the elevation of the bottom of the streambed.

Stop - is the elevation of the top of the streambed. The value of Stop is used if the option to calculate stream stage is active (ICALC>0) or when the streambed has zero flow.

[xyz]—represents the values of the auxiliary variables for a stream reach that have been defined in Item 2. The values of auxiliary variables must be present in each repetition of Items 4 and 6 if they are defined in Item 2. The values must be specified in the order used to define the variables in Item 2.

FOR EACH STRESS PERIOD

Data Set 5

ITMP IRDFLG IPTFLG

I10 I10 I10

ITMP - is a flag and a counter. Its meaning depends on whether or not stream parameters are being used.

If STR parameters are being used (NPSTR>0), ITMP is the number of stream parameters being used in the current stress period. No streams will be used in the current stress period if ITMP ≤ 0.
If STR parameters are not being used (NPSTR=0), ITMP is the number of stream reaches for which data will be read in the current stress period. If ITMP < 0, STR data from the preceding stress period will be reused.

IRDFLG - is a flag, which when positive, suppresses printing of the stream input data for a stress period. The input data are printed if IRDFLG is 0 and ICBCFL is set or "Save Budget" is specified in the Output Control Option.

IPTFLG - is a flag, which when positive, suppresses printing of stream results for a stress period. Results are printed if IPTFLG is 0, ICBCFL is set or "Save Budget" is specified in the Output Control Option, and ISTCB1 < 0.

[Note that either Item 6 or Item 7 may be read, but not both.]

Data Set 6

Layer Row Col Seg Reach Flow Stage Cond Sbot Stop [xyz]

I5 I5 I5 I5 I5 F15.0 F10.0 F10.0 F10.0 F10.0 Free

Item 6 is repeated ITMP times if NPSTR=0. If ITMP<0, Item 6 records are used from the previous stress period.

Layer - is the layer number of the stream reach.

Row - is the row number of the stream reach.

Col - is the column number of the stream reach.

Seg - is a number assigned to a group of reaches. Segments must be numbered in downstream order and are read into the program in sequential order.

Reach - is a sequential number in a segment that begins with 1 for the farthest upstream reach and continues in downstream order to the last reach in the segment. Reaches must be read in sequentially because the order in which reaches are read determines the order of connection.

Flow - is the streamflow entering a segment. This value is used only for the first reach of each segment. The value should be specified as either 0 or blank when the reach number (Reach) is not 1. When the inflow to the first reach of a segment is the sum of the outflow from upstream tributary segments, Flow should be specified as -1. When the segment is a diversion, the Flow for the first reach is the amount to divert; however, there will be no diversion if the segment from which the diversion is obtained contains less than the value of Flow.

Stage - is the stream stage. The value of Stage is not used if ICALC>0. Stage is measured relative to the same datum as the rest of the model.  It is not measured relative to the stream bottom.

Cond - is the streambed hydraulic conductance.

See also "What is conductance?"

Sbot -is the elevation of the bottom of the streambed.

Stop - is the elevation of the top of the streambed. The value of Stop is used if the option to calculate stream stage is active (ICALC>0) or when the streambed has zero flow.

[xyz]—represents the values of the auxiliary variables for a stream reach that have been defined in Item 2. The values of auxiliary variables must be present in each repetition of Items 4 and 6 if they are defined in Item 2. The values must be specified in the order used to define the variables in Item 2.

Data Set 7

[Pname [Iname]]

Item 7 is repeated ITMP times if NPSTR>0. Free format is used. Iname is read if Pname is a time-varying parameter.

Pname - is the name of a parameter that is being used in the current stress period. ITMP parameter names will be read. They must be specified in an order that meets the downstream ordering requirements for Seg and Reach.

Iname – is an instance name that is read only if Pname is a time-varying parameter. Multiple instances of the same time-varying parameter are not allowed in a stress period.

Data Set 8

Width Slope Rough

F10.0 F10.0 F10.0

Item 8 is read only if ICALC > 0, in which case Item 8 is repeated for every stream reach. The records must be is the same order as the stream reaches.

Width - is the width of the stream channel. It is read only when stream stage is calculated (ICALC>0).

Slope - is the slope of the stream channel. It is read only when stream stage is calculated (ICALC>0).

Rough - is Manning’s roughness coefficient. It is read only when stream stage is calculated (ICALC>0).

Data Set 9

Itrib(NTRIB)

10I5

Item 9 is read only if NTRIB > 0, in which case Item 9 is repeated NSS times in sequential order of the segments. Each record contains NTRIB values.

Itrib - contains the segment number for each tributary that flows into a segment. NTRIB values are read for each segment. Unused values of Itrib should be set to 0. Itrib records are read only when NTRIB>0.

Data Set 10

Iupseg

I10

Item 10 is read only if NDIV>0, in which case Item 10 is repeated NSS times in sequential order of the segments.

Iupseg - is the number of the upstream segment from which water is diverted. If the segment is not a diversion, Iupseg should be specified as 0. Iupseg records are read only when NDIV>0.