STR - Stream Package

Top  Previous  Next  Print

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

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.
The Stream package does not support the "FREE" option of the Basic Package, so input must be entered in fixed-field format where indicated.
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

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.

1.

[PARAMETER NPSTR MXL]

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

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.

2.

MXACTS NSS NTRIB NDIV ICALC CONST ISTCB1 ISTCB2

I10 I10 I10 I10 I10 F10.0 I10 I10

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.

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.
If ISTCB2 ≤0, streamflow in each stream reach will not be stored in a disk file.

 

Repeat Items 3 and 4 for each of NPSTR parameters.

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 Sensitivity Process input file or by a value generated by the Parameter Estimation 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.

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.

4b.

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

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

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.

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.

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.

FOR EACH STRESS PERIOD

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

6.

Layer Row Col Seg Reach Flow Stage Cond Sbot Stop

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

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.

Cond - is the streambed hydraulic 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.

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.

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

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.

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.