FOR EACH SIMULATION

Data Set 0

[#Text]
See Note 1.
Text A character variable (up to 199 characters) that is printed when the file is read. The “#” character must be in column 1, and, accordingly, the variable starts in column 2. Any characters can be included in Text.

Note 1: Item 0 can be repeated multiple times.


Data Set 1a

[REACHINPUT] [TRANSROUTE][TABFILES Numtab Maxval] [LOSSFACTOR Factor]
An optional character variable. When REACHINPUT is specified, variable ISFROPT is read in data set 1c. ISFROPT can be used to change the default format for entering reach and segment data or to specify that unsaturated flow beneath streams will be simulated.

An optional character variable that is a flag to indicate that transient streamflow routing is active. When TRANSROUTE is specified, optional variables IRTFLG, NUMTIM, WEIGHT, and FLWTOL also must be specified in Item 1c.

An optional character variable that is a flag to indicate that inflows to one or more stream segments will be specified with tabular inflow files.

An integer value equal to the number of tabular inflow files that will be read if TABFILES is specified. A separate input file is required for each segment that receives specified inflow. Thus, the maximum value of NUMTAB that can be specified is equal to the total number of segments specified in Item 1c with variables NSS. The name (Fname) and unit number (Nunit) of each tabular file must be specified in the MODFLOW2005 Name File using tile type (Ftype) DATA.

An integer value equal to the largest number of rows of specified inflows for any of the tabular inflow files if TABFILES is specified. MAXVAL is used for memory allocation. For example, if there are two tabular inflow files and the files contain 100 and 200 inflow values, respectively, then MAXVAL would be specified as 200.

An optional character variable. When LOSSFACTOR is specified, the real variable Factor is multiplied by STRHC1 or Hc1fact and Hc2fact to calculate seepage loss from streams. Calculation of groundwater seepage to streams is unchanged.

An optional character variable. When LOSSFACTOR is specified, the real variable Factor is multiplied by STRHC1 or Hc1fact and Hc2fact to calculate seepage loss from streams. Calculation of groundwater seepage to streams is unchanged.


Incompatibilities in MODFLOWNWT version 1.1
In MODFLOWNWT version 1.1, the input format for specifying character variable options has changed. Rather than specifying character variable options in a single line in a particular order, each character variable option is specified on a separate line. If additional input is required along with the character variable option then this value is specified on the same line as the character variable option separated by one or more spaces. Options must be proceeded with the "OPTIONS" specification and followed by the "END" specification. Characters can be specified as upper or lower case.
In MODFLOWNWT version 1.1.3, backwards compatibility was restored by allowing all the options to be specified on one line.
Optional character variables for SFR2 in any order:
OPTIONS
[REACHINPUT]
[TRANSROUTE]
[TABFILES Numtab Maxval]
[LOSSFACTOR Factor]
[STRHC1KH FACTORKH]
[STRHC1KV FACTORKV]
END
This same format is used in MODFLOW2005 but backwards compatibility is maintained with the older format in which all the options were on the same line.


Data Set 1b

[TABFILES NUMTAB MAXVAL]
An optional character variable that is a flag to indicate that inflows to one or more stream segments will be specified with tabular inflow files.

An integer value equal to the number of tabular inflow files that will be read if TABFILES is specified. A separate input file is required for each segment that receives specified inflow. Thus, the maximum value of NUMTAB that can be specified is equal to the total number of segments specified in Item 1c with variables NSS. The name (Fname) and unit number (Nunit) of each tabular file must be specified in the MODFLOW2005 Name File using tile type (Ftype) DATA.

An integer value equal to the largest number of rows of specified inflows for any of the tabular inflow files if TABFILES is specified. MAXVAL is used for memory allocation. For example, if there are two tabular inflow files and the files contain 100 and 200 inflow values, respectively, then MAXVAL would be specified as 200.











Data Set 1c




NSTRM NSS NSFRPAR NPARSEG CONST DLEAK ISTCB1 ISTCB2 [ISFROPT] [NSTRAIL] [ISUZN] [NSFRSETS] [IRTFLG] [NUMTIM] [WEIGHT] [FLWTOL]



ISFROPT is read only if NSTRM is less than 0 or REACHINPUT has been specified.
IRTFLG is read only if NSTRM is less than 0 or TRANSROUTE has been specified
NSTRAIL, ISUZN and NSFRSETS are read if NSTRM is less than 0 or REACHINPUT and ISFROPT is greater than 1.
See Notes 2, 3, and 4.

An integer value that can be specified to be positive or negative. The absolute value of NSTRM is equal to the number of stream reaches (finitedifference cells) that are active during the simulation and the number of lines of data to be included in Item 2, described below. When NSTRM is specified to be a negative integer, it is also used as a flag for changing the format of the data input, for simulating unsaturated flow beneath streams, and (or) for simulating transient streamflow routing, depending on the values specified for variables ISFROPT and IRTFLG, as described below. When NSTRM is negative, NSFRPAR must be set to zero, which means that parameters cannot be specified. See Note 3.



•Note 3: The first two variables (NSTRM and NSS) are used for dimensioning arrays, and must be equal to the actual number of stream reaches defined in Item 2 and the number of segments that define the complete stream network, respectively. 

NSS An integer value equal to the number of stream segments (consisting of one or more reaches) that are used to define the complete stream network. The value of NSS represents the number of segments that must be defined through a combination of parameters and variables in Item 4 or variables in Item 6. See Note 3.
•Note 3: The first two variables (NSTRM and NSS) are used for dimensioning arrays, and must be equal to the actual number of stream reaches defined in Item 2 and the number of segments that define the complete stream network, respectively. 

NSFRPAR An integer value equal to the number of stream parameters (associated with one or more segments) to be defined. This variable must be zero when NSTRM is negative or keyword REACHINPUT is specified.

NPARSEG An integer value equal to (or exceeding) the number of streamsegment definitions associated with all parameters. This number can be more than the total number of segments (NSS) in the stream network because the same segment can be defined in multiple parameters, and because parameters can be timevarying. NPARSEG must equal or exceed the sum of NLST × N for all parameters, where N is the greater of 1 and NUMINST; that is, NPARSEG must equal or exceed the total number of repetitions of item 4b. This variable must be zero when NSTRM is negative or keyword REACHINPUT is specified.

CONST A real value (or conversion factor) used in calculating stream depth for stream reach. If stream depth is not calculated using Manning’s equation for any stream segment (that is, ICALC does not equal 1 or 2), then a value of zero can be entered. If Manning’s equation is used, a constant of 1.486 is used for flow units of cubic feet per second, and a constant of 1.0 is used for units of cubic meters per second. The constant must be multiplied by 86,400 when using time units of days in the simulation. An explanation of time units used in MODFLOW is given by Harbaugh and others (2000, p. 10.). See also LENUNI and ITMUNI.

A real value equal to the closure tolerance for stream depth used to calculate leakage between each stream reach and active model cell. Value is in units of length. Usually a value of 0.0001 is sufficient when units of feet or meters are used in model. SFR2 differs from the Stream (STR1) Package (Prudic, 1989) in that it solves for stream depth at the midpoint of each reach instead of at the beginning of the reach. SFR2 does this by use of Newton’s iterative method. As a consequence, the user must specify this variable to stop the iterative process. See Note 4.
SFR2 differs from the Stream (STR1) Package (Prudic, 1989) because the new package solves for stream depth at the midpoint of each reach instead of at the beginning of the reach. To solve for depth at the midpoint of each reach, like SFR1, SFR2 uses Newton’s iterative method and consequently, a tolerance (DLEAK) is used for stopping the iterative process.


ISTCB1 An integer value used as a flag for writing streamaquifer leakage values. If ISTCB1 > 0, it is the unit number to which unformatted leakage between each stream reach and corresponding model cell will be saved to a file whenever the cellbycell budget has been specified in Output Control (see Harbaugh and others, 2000, pages 5255). If ISTCB1 = 0, leakage values will not be printed or saved. If ISTCB1 < 0, all information on inflows and outflows from each reach; on stream depth, width, and streambed conductance; and on head difference and gradient across the streambed will be printed in the main listing file whenever a cellbycell budget has been specified in Output Control.

ISTCB2 An integer value used as a flag for writing to a separate formatted file all information on inflows and outflows from each reach; on stream depth, width, and streambed conductance; and on head difference and gradient across the streambed. If ISTCB2 > 0, then ISTCB2 also represents the unit number to which all information for each stream reach will be saved to a separate file when a cellbycell budget has been specified in Output Control. If ISTCB2 < 0, it is the unit number to which unformatted streamflow out of each reach will be saved to a file whenever the cellbycell budget has been specified in Output Control.




ISFROPT is used only if NSTRM < 0 or the keyword REACHINPUT has been specified. In order to support previous versions of SFR2 input files, specifying a negative value for NSTRM is supported and was made equivalent to specifying the keyword REACHINPUT, in which case NSTRM will be converted to a positive value.

ISFROPT is an integer value that defines the input structureUnsaturated flow is simulated for ISFROPT ≥ 2; unsaturated flow is not simulated for ISFROPT = 0 or 1. Optional variables NSTRAIL, ISUZN, and NSFRSETS also must be specified if ISFROPT>1. Values of ISFROPT are defined as follows:
•0. No vertical unsaturated flow beneath streams. Streambed elevations, stream slope, streambed thickness, and streambed hydraulic conductivity are read for each stress period using variables defined in Items 6b and 6c; the optional variables in Item 2 are not used.
•1. No vertical unsaturated flow beneath streams. Streambed elevation, stream slope, streambed thickness, and streambed hydraulic conductivity are read for each reach only once at the beginning of the simulation using optional variables defined in Item 2; Items 4a and 4b or 6b and 6c are used to define stream width and depth for ICALC =0 and stream width for ICALC = 1.
•2. Streambed and unsaturatedzone properties are read for each reach only once at the beginning of the simulation using optional variables defined in Item 2; Items 4a and 4b or 6b and 6c are used to define stream width and depth for ICALC = 0 and stream width for ICALC = 1. When using the LPF Package, saturated vertical hydraulic conductivity for the unsaturated zone is the same as the vertical hydraulic conductivity of the corresponding layer in LPF and input variable UHC is not read.
•3. Same as 2 except saturated vertical hydraulic conductivity for the unsaturated zone (input variable UHC) is read for each reach.
•4. Streambed and unsaturatedzone properties are read for the beginning and end of each stream segment using variables defined in Items 4a and 4b or 6b and 6c; the optional variables in Item 2 are not used. Streambed properties can vary each stress period. When using the LPF Package, saturated vertical hydraulic conductivity for the unsaturated zone is the same as the vertical hydraulic conductivity of the corresponding layer in LPF and input variable UHC1 is not read.
•5. Same as 4 except saturated vertical hydraulic conductivity for the unsaturated zone (input variable UHC1) is read for each segment at the beginning of the first stress period only.
•Note 2: If BCF or HUF are used and unsaturated flow is active, then ISFROPT must equal 3 or 5. If ISFROPT>1, the specific yield must be specified in the flow package for each SFR reach for which ICALC = 1 or 2. This will require that at least one transient stress period be included in the simulation and that any cells connected to such SFR reaches be unconfined or convertible. 
•The SFR package does not support unsaturated flow when the HUF package is used. 
NSTRAIL is read only if ISFROPT is greater than 1. (that is, unsaturated flow beneath streams is being simulated).
NSTRAIL An integer value that is the number of trailing wave increments used to represent a trailing wave. Trailing waves are used to represent a decrease in the surface infiltration rate. The value can be increased to improve mass balance in the unsaturated zone. Values between 10 and 20 work well and result in unsaturatedzone mass balance errors beneath streams ranging between 0.001 and 0.01 percent. Please see Smith (1983) for further details.

ISUZN is read only if ISFROPT is greater than 1. (that is, unsaturated flow beneath streams is being simulated).
ISUZN An integer value that is the maximum number of vertical cells used to the define the unsaturated zone beneath a stream reach. If ICALC is 1 for all segments then ISUZN should be set to 1.

NSFRSETS is read only if ISFROPT is greater than 1. (that is, unsaturated flow beneath streams is being simulated).
An integer value that is the maximum number of different sets of trailing waves used to allocate arrays. Arrays are allocated by multiplying NSTRAIL by NSFRSETS. A value of 30 is usually sufficient for problems where the stream depth varies often. However, in some cases a value of 50 may be required. If this value is set too small then the simulation will terminate prematurely and an error will be printed to the List file.




IRTFLG is only read if NSTRM is less than 0 or the keyword TRANSROUTE has been specified:

IRTFLG—an integer value that flags whether transient streamflow routing is active. If IRTFLG > 0 then streamflow will be routed using the kinematicwave equation (see USGS Techniques and Methods 6D1, p. 6869); otherwise, IRTFLG should be specified as 0.

NUMTIM is read only if IRTFLG is greater than 0.
NUMTIM is the number of sub time steps used to route streamflow. The time step that will be used to route streamflow will be equal to the MODFLOW time step divided by NUMTIM.

WEIGHT is read only if IRTFLG is greater than 0.
WEIGHT A real number equal to the time weighting factor used to calculate the change in channel storage. WEIGHT has a value between 0.5 and 1. See equation 83 in USGS Techniques and Methods 6D1 for further details.

FLWTOL is read only if IRTFLG is greater than 0.
FLWTOL A real number equal to the streamflow tolerance for convergence of the kinematic wave equation used for transient streamflow routing. A value of 0.00003 cubic meters per second has been used successfully in test simulations (and would need to be converted to whatever units are being used in the particular simulation).


•Note 2: If BCF or HUF are used and unsaturated flow is active, then ISFROPT must equal 3 or 5. If ISFROPT>1, the specific yield must be specified in the flow package for each SFR reach for which ICALC = 1 or 2. This will require that at least one transient stress period be included in the simulation and that any cells connected to such SFR reaches be unconfined or convertible.
•Note 3: The first two variables (NSTRM and NSS) are used for dimensioning arrays, and must be equal to the actual number of stream reaches defined in Item 2 and the number of segments that define the complete stream network, respectively.
•Note 4: SFR2 differs from the Stream (STR1) Package (Prudic, 1989) because the new package solves for stream depth at the midpoint of each reach instead of at the beginning of the reach. To solve for depth at the midpoint of each reach, like SFR1, SFR2 uses Newton’s iterative method and consequently, a tolerance (DLEAK) is used for stopping the iterative process. A value of 1.0 ×106 meters has been used successfully in test simulations (and would need to be converted to whatever units are being used in the particular simulation). 

One record for each stream reach

Data Set 2

KRCH IRCH JRCH ISEG IREACH RCHLEN [STRTOP] [SLOPE] [STRTHICK] [STRHC1] [THTS] [THTI] [EPS] [UHC]
STRTOP, SLOPE, STRTHICK, and STRHC1 are read when NSTRM is less than 0 or keyword REACHINPUT is specified and ISFROPT is 1, 2, or 3.
THTS, THTI, and EPS are read when NSTRM is less than 0 or keyword REACHINPUT is specified and ISFROPT is 2 or 3.
UHC is read when NSTRM is less than 0 or keyword REACHINPUT is specified and ISFROPT is 3.
See Notes 5, 6, 7, 8, 9, and 10.
KRCH An integer value equal to the layer number of the cell containing the stream reach. If the cell corresponding to the stream reach is inactive, the program will search for the uppermost active cell having the same row and column identifier. If all cells beneath the stream reach are inactive or if the cell corresponding to the stream reach is set as a constant head, the program will continue to route flow through the stream reach, but leakage (either into the aquifer or out of the aquifer) across the streambed will not occur in the reach.

IRCH An integer value equal to the row number of the cell containing the stream reach.

JRCH An integer value equal to the column number of the cell containing the stream reach.

ISEG An integer value equal to the number of stream segment in which this reach is located. Stream segments contain one or more reaches and are assumed to have uniform or linearly varying characteristics unless NSTRM < 0 or keyword REACHINPUT is specified and ISFROPT = 1, 2, or 3 (in which case streambed information is specified individually for each reach).

IREACH An integer value equal to the sequential number in a stream segment of this reach (where a reach corresponds to a single cell in the model). Numbering of reaches in a segment begins with 1 for the farthest upstream reach and continues in downstream order to the last reach of the segment.

RCHLEN A real number equal to the length of channel of the stream reach within this model cell. The length of a stream reach can exceed the model cell dimensions because of the meandering nature of many streams. The length is used to calculate the streambed conductance for this reach. Also, the sum of the lengths of all stream reaches within a segment is used to calculate the average slope of the channel for the segment and subsequently other values, such as the elevation of the streambed and stream stage.

STRTOP A real number equal to the top elevation of the streambed. This variable is read when ISFROPT is 1, 2, or 3.

SLOPE A real number equal to the stream slope across the reach. This variable is read when ISFROPT is 1, 2, or 3.

STRTHICK A real number equal to the thickness of the streambed. This variable is read when ISFROPT is 1, 2, or 3.

STRHC1 A real number equal to the hydraulic conductivity of the streambed. This variable is read when ISFROPT is 1, 2, or 3.

THTS A real number equal to the saturated volumetric water content in the unsaturated zone. This variable is read when ISFROPT is 2 or 3.

THTI A real number equal to the initial volumetric water content. THTI must be less than or equal to THTS and greater than or equal to THTS minus the specific yield defined in either LPF or BCF. This variable is read when ISFROPT is 2 or 3.

EPS A real number equal to the BrooksCorey exponent used in the relation between water content and hydraulic conductivity within the unsaturated zone (Brooks and Corey, 1966). This variable is read when ISFROPT is 2 or 3.

UHC A real number equal to the vertical saturated hydraulic conductivity of the unsaturated zone. This variable is necessary when using BCF, whereas it is optional when using LPF. This variable is read when ISFROPT is 3.


•Note 5: Reach information is read in sequential order from upstream to downstream, first by segments, and then sequentially by reaches. If segments are not numbered sequentially in downstream order, then the inflow to a segment during the current MODFLOW iteration will be the outflow from an upstream segment calculated during the previous iteration. Lagging the inflow by one iteration does not change the solution for flows into and out of a segment after MODFLOW converges; however, this approach may require an additional iteration for the model to converge. Reaches must be listed and read sequentially because the order determines the connections of inflows and outflows within a stream segment.
•Note 6: The stream network is assumed to remain fixed geometrically over the duration of a simulation. The active part of the stream network, however, can be made to vary over time by making selected stream segments inactive for selected stress periods. This would be implemented by setting the streambed hydraulic conductivity, segment inflow, overland runoff, and direct precipitation to zero for the inactive segments in Items 4 or 6 for the specific stress periods when they are known to be inactive or dry.
•Note 7: If the model cell corresponding to a stream reach is inactive, the program will search for the uppermost active cell in the vertical column to apply the stream leakage. If there are no active cells or if the cell is a constant head, no interaction is allowed and flow in the reach is passed to the next reach.
•Note 8: When STRTOP, SLOPE, STRTHICK, and STRHC1 are specified for each reach, then HCOND1, THICKM1, ELEVUP, HCOND2, THICKM2, and ELEVDN are not read using Items 6b or 6c.
•Note 9: The residual water content for each cell is not specified by the user because it is calculated based on the specified saturated water content minus the specific yield of the active model cell corresponding to the stream reach. The calculation is performed internally to assure continuity between unsaturated and saturated zone storage.
•Note 10: Although unsaturated flow variables THTS, THTI, EPS, and UHC will not be used for reaches that are designated as ICALC = 0, 3, and 4 in Items 4b or 6a, values for these variables must be included for all reaches when ISFROPT = 2 or 3. Dummy values for these variables may be used for reaches that are designated as ICALC = 0, 3, and 4. 

When NSFRPAR = 0, (including when NSTRM is negative or keyword REACHINPUT is specified), skip Items 3 and 4 and enter all stream segment data using Items 5 and 6.
When NSFRPAR > 0, Items 3 and 4 are repeated NSFRPAR times:

Data Set 3

PARNAM PARTYP Parval NLST [INSTANCES NUMINST]
If the keyword INSTANCES is absent, NUMINST should not be present.
PARNAM A set of characters used to name a parameter to be defined. This name can consist of 1 to 10 characters and is not case sensitive. All parameter names must be unique. That is, any combination of the same characters with different cases will be equivalent.
All parameter names must be unique.

PARTYP Type of parameter to be defined. For the SFR2 Package, the only allowed parameter type is SFR, which defines values of the streambed hydraulic conductivity.

Parval—is the parameter value. This parameter value may be overridden by a value in the PVAL file.

NLST An integer value that is the number of stream segments associated with this parameter (this value also indicates how many times Item 4 is repeated in the next block of input data).

INSTANCES An optional keyword that designates a parameter as time varying. The keyword is caseinsensitive; that is, it may be entered in any combination of upper and lowercase letters. If INSTANCES is present, it must be followed by a value for NUMINST. If INSTANCES is absent, PARNAM is nontimevarying and NUMINST should not be present.

NUMINST An integer value that is the number of instances that are included in the definition of a timevarying parameter, where each instance is a sequence of Item 4 (Parts 4b through 4g) defining reaches and associated properties. If the keyword INSTANCES is present, NUMINST must be present and must be at least 1. If the keyword INSTANCES is absent, NUMINST should not be present.



When PARNAM is not timevarying, Part 4a is not read, and Parts 4b through 4g are read sequentially for each of NLST stream segments; and
When PARNAM is timevarying, NUMINST instances are read. For each instance, Part 4a is read, and then Parts 4b through 4g are read sequentially for each of NLST stream segments (see notes 11 and 12):
See Notes 11, 12, 13, 14, 15, 16, 17, 18, and 19
•Note 11: Item 4, Parts 4b through 4g must be completed sequentially for each of the NLST stream segments; that is, Parts 4b through 4g for one stream segment must be entered before Parts 4b through 4g of the next stream segment. However, the data for stream segments need not be entered sequentially by stream segment number. For example, data for stream segment 2 can be entered before data for stream segment 1.
•Note 12: When the defined parameter (PARNAM) is not timevarying, Item 4, Part 4a is omitted, and each stream segment controlled by parameter PARNAM is defined by one sequence of Parts 4b through 4g. When the defined parameter (PARNAM) is timevarying, Item 4, Parts 4a through 4g must be completed for each of NUMINST instances. For each instance, Part 4a is defined followed by Parts 4b through 4g for each of the NLST stream segments associated with that instance. For example, NUMINST = 2, NLST = 3, ICALC = 1 and the GWT Process is inactive, the sequence of records for Item 4 would be: 4a, 4b, 4c, 4d, 4b, 4c, 4d, 4b, 4c, 4d, 4a, 4b, 4c, 4d, 4b, 4c, 4d, 4b, 4c, and 4d.
•Note 13: Record 4b or 6a will contain 8 to 13 variables; depending on the values of ICALC and IUPSEG. (ICALC determines how stream depth is to be calculated; when ICALC is 1 or 2, depth is calculated using Manning’s equation, which, in turn, requires a channel roughness coefficient (ICALC = 1) or a channel and bank roughness coefficient (ICALC = 2). Similarly, Parts 4c, 4d, 6b, and 6c will include 3 to 5 values.
•Note 14: A stream segment that receives inflow from upstream segments is allowed to have as many as ten upstream segments feeding it, as defined by the respective values of OUTSEG in Part 4b or 6a.
•Note 15: Stream properties and stresses defined in Parts 4b are assumed constant and uniform within a single stream segment. Additionally, hydraulic conductivity, streambed thickness, elevation of top of streambed, stream width, and stream depth may vary smoothly and linearly within a single stream segment. For these variables, data values at the upstream end of the segment are described in Part 4c and data values at the downstream end of the segment are described in Part 4d. Values of these variables for individual reaches of a segment are estimated using linear interpolation. To make any variable the same throughout the segment, simply specify equal values in Parts 4c and 4d. The two elevations in Parts 4c and 4d are used in conjunction with the total length of the stream segment (calculated from RCHLEN given for each reach in Item 2) to compute the slope of the stream and the elevations for any intermediate reaches. The streambed thickness is subtracted from the top of streambed elevations to calculate the elevations of the bottom of the streambed (used in calculations of leakage).
•Note 16: If Part 4e or 6d is included (for ICALC = 2), it is assumed that the crosssectional geometry defined by these data is the same over the entire length of the segment. Similarly, if Part 4f or 6e is included (for ICALC = 4), it is assumed the tabulated relation between streamflow and stream depth and width is the same over the entire length of the segment.
•Note 17: If the Lake (LAK3) Package (Merritt and Konikow, 2000) is also implemented, then flow out of the lake into a stream segment is dependent on the option used to compute stream depth (ICALC = 1, 2, 3, or 4). Constant discharge from a lake can be simulated no matter what value of ICALC is assigned to the stream segment emanating from the lake by assigning a positive value to FLOW in Part 4b.
•Note 18: If a diversionary flow is large enough to warrant representation in the model, but is discharged into a pipeline, lined canal, or other structure or system that does not interact with the aquifer and the flow might exceed the available streamflow, then there is an alternative means to represent it. Instead of specifying a negative value of FLOW, we suggest representing the withdrawal by a singlereach diversionary stream segment, which would be located in the same model cell as the reach from the upstream segment (IUPSEG) from which the diversion is made; specifying the segment’s streambed hydraulic conductivity equal to 0 will preclude interaction with the aquifer and setting OUTSEG = 0 will remove the flow from the system. The diversion will then be subject to the constraints associated with the value of IPRIOR.
•Note 19: The version of MODFLOWGWT documented by Konikow and others (1996) is limited to simulating one solute, and until a new multispecies version is released, NSOL automatically defaults to a value of 1. 

Data Set 4a

[INSTNAM]
See Notes 11 and 12
INSTNAM The name of an instance associated with the parameter PARNAM specified in the corresponding Item 3 (INSTNAM is read only if PARNAM is timevarying). 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.

•Note 11: Item 4, Parts 4b through 4g must be completed sequentially for each of the NLST stream segments; that is, Parts 4b through 4g for one stream segment must be entered before Parts 4b through 4g of the next stream segment. However, the data for stream segments need not be entered sequentially by stream segment number. For example, data for stream segment 2 can be entered before data for stream segment 1.
•Note 12: When the defined parameter (PARNAM) is not timevarying, Item 4, Part 4a is omitted, and each stream segment controlled by parameter PARNAM is defined by one sequence of Parts 4b through 4g. When the defined parameter (PARNAM) is timevarying, Item 4, Parts 4a through 4g must be completed for each of NUMINST instances. For each instance, Part 4a is defined followed by Parts 4b through 4g for each of the NLST stream segments associated with that instance. For example, NUMINST = 2, NLST = 3, ICALC = 1 and the GWT Process is inactive, the sequence of records for Item 4 would be: 4a, 4b, 4c, 4d, 4b, 4c, 4d, 4b, 4c, 4d, 4a, 4b, 4c, 4d, 4b, 4c, 4d, 4b, 4c, and 4d. 

Data Set 4b


NSEG ICALC OUTSEG IUPSEG [IPRIOR] [NSTRPTS] FLOW RUNOFF ETSW PPTSW [ROUGHCH] [ROUGHBK] [CDPTH] [FDPTH] [AWDTH] [BWDTH]



IPRIOR is specified only if IUPSEG > 0
NSTRPTS is specified only if ICALC = 4.
ROUGHCH is only specified if ICALC = 1 or 2.
ROUGHBK is only specified if ICALC = 2.
CDPTH, FDPTH, AWDTH, and BWDTH are only specified if ICALC = 3.
See Notes 13. 14, 15, 17, and 18
NSEG An integer value of the stream segment for which information is given to identify inflow, outflow, and computation of stream depth.

ICALC An integer value used to indicate method used to calculate stream depth in this segment.
•If ICALC ≤ 0, stream depth in each reach is specified at the beginning of a stress period and remains unchanged unless flow at the midpoint of a reach is zero, then depth is set to zero in that reach. No unsaturated flow is allowed.
•If ICALC > 0, stream depth is calculated and updated each iteration of the MODFLOW solver within a time step.
•If ICALC = 1, stream depth is calculated using Manning’s equation and assuming a wide rectangular channel. Unsaturated flow is simulated when ISFROPT > 1 and the value of ICALC must remain 1 for the specified segment during the simulation.
•If ICALC = 2, stream depth is calculated using Manning’s equation and assuming an eightpoint channel cross section for each segment (which allows for the computation of a wetted perimeter and for changing hydraulic conductance of the streambed in relation to changes in flow). Unsaturated flow is simulated when ISFROPT > 1 and the value of ICALC must remain 2 for the specified segment during the simulation.
•If ICALC = 3, stream depth and width are calculated using a power function relating each to streamflow (Q) using equations 8 and 9 where DEPTH(y) = CDPTH × QFDPTH and WIDTH(w) = AWDTH × QBWDTH. Unsaturated flow is not allowed.
•If ICALC = 4, stream depth and width are calculated using a table relating streamflow to depth and width (the table is defined in Part 4f). Unsaturated flow is not allowed.
The option to simulate unsaturated flow beneath streams is not available when using ICALC = 0, 3, or 4.

OUTSEG An integer value of the downstream stream segment that receives tributary inflow from the last downstream reach of this segment. If this segment (identified by NSEG) does not feed (or discharge into) another downstream (tributary) segment, then enter a value of "0" for this variable (Segment 7 in figure 3 in Prudic and others, 2004 is an example for which OUTSEG = 0). If the segment ends within the modeled grid and OUTSEG = 0, outflow from the segment is not routed anywhere and is no longer part of the stream network. One may wish to use this if all flow in the stream gets diverted into a lined canal or into a pipe. If the flow out of this segment discharges into a lake, set OUTSEG equal to the negative value of the lake identification number (where the minus sign is used as a flag to tell the model that flow enters a lake rather than a tributary stream segment).

An integer value of the upstream segment from which water is diverted (or withdrawn) to supply inflow to this stream segment if this segment originates as a diversion from an upstream segment. If the source of a stream segment is discharge from a lake, set IUPSEG equal to the negative value of the lake identification number (where the minus sign is used as a flag to tell the model that streamflow into this segment is derived from a lake rather than a stream segment). If this stream segment (identified by NSEG) does not receive inflow as a diversion from an upstream segment, then set IUPSEG = 0.

IPRIOR An integer value that only is specified if IUPSEG > 0 (do not specify a value in this field if IUPSEG = 0 or IUPSEG < 0). IPRIOR defines the prioritization system for diversion, such as when insufficient water is available to meet all diversion stipulations, and is used in conjunction with the value of FLOW (specified below).
•When IPRIOR = 0, then if the specified diversion flow (FLOW) is greater than the flow available in the stream segment from which the diversion is made, the diversion is reduced to the amount available, which will leave no flow available for tributary flow into a downstream tributary of segment IUPSEG.
•When IPRIOR = 1, then if the specified diversion flow (FLOW) is greater than the flow available in the stream segment from which the diversion is made, no water is diverted from the stream. This approach assumes that once flow in the stream is sufficiently low, diversions from the stream cease, and is the “priority” algorithm that originally was programmed into the STR1 Package (Prudic, 1989).
•When IPRIOR = 2, then the amount of the diversion is computed as a fraction of the available flow in segment IUPSEG; in this case, 0.0 < FLOW < 1.0.
•When IPRIOR = 3, then a diversion is made only if the streamflow leaving segment IUPSEG exceeds the value of FLOW. If this occurs, then the quantity of water diverted is the excess flow and the quantity that flows from the last reach of segment IUPSEG into its downstream tributary (OUTSEG) is equal to FLOW. This represents a floodcontrol type of diversion, as described by Danskin and Hanson (2002). 
NSTRPTS An integer value specified only when ICALC = 4. It is used to dimension a table relating streamflow with stream depth and width as specified in Items 4e and 6d. NSTRPTS must be at least 2 but not more than 50. If the table exceeds 3 × 50 (for streamflow, stream depth, and width) values, then MAXPTS in the allocation subroutine GWF1SFR1ALP will need to be increased from 3 × 50 to 3 × (the desired maximum value).

FLOW A real number that is the streamflow (in units of volume per time) entering or leaving the upstream end of a stream segment (that is, into the first reach).
•If the stream is a headwater stream, FLOW defines the total inflow to the first reach of the segment. The value can be any number ≥ 0.
•If the stream is a tributary stream, FLOW defines additional specified inflow to or withdrawal from the first reach of the segment (that is, in addition to the discharge from the upstream segment of which this is a tributary). This additional flow does not interact with the groundwater system. For example, a positive number might be used to represent direct outflow into a stream from a sewage treatment plant, whereas a negative number might be used to represent pumpage directly from a stream into an intake pipe for a municipal water treatment plant. (Also see additional explanatory notes below.)
•If the stream is a diversionary stream, and the diversion is from another stream segment, FLOW defines the streamflow diverted from the last reach of stream segment IUPSEG into the first reach of this segment. The diversion is computed or adjusted according to the value of IPRIOR.
•If the stream is a diversionary stream, and the diversion is from a lake, FLOW defines a fixed rate of discharge diverted from the lake into the first reach of this stream segment (unless the lake goes dry) and flow from the lake is not dependent on the value of ICALC. However, if FLOW = 0, then the lake outflow into the first reach of this segment will be calculated on the basis of lake stage relative to the top of the streambed for the first reach using one of the methods defined by ICALC. 
RUNOFF A real number that is the volumetric rate of the diffuse overland runoff that enters the stream segment (in units of volume per time). The specified rate is apportioned to each reach of the segment in direct relation to the fraction of the total length of the stream channel in the segment that is present in each reach.
If the Farm process in MODFLOWOWHM is used, RUNOFF should be set to zero because it will be overwritten by runoff calculated by the Farm Process.

ETSW A real number that is the volumetric rate per unit area of water removed by evapotranspiration directly from the stream channel (in units of length per time). ETSW is defined as a positive value.

PPTSW A real number that is the volumetric rate per unit area of water added by precipitation directly on the stream channel (in units of length per time).

ROUGHCH A real number that is Manning’s roughness coefficient for the channel in all reaches in this segment. This variable is only specified if ICALC = 1 or 2.

ROUGHBK A real number that is Manning’s roughness coefficient for the overbank areas in all reaches in this segment. This variable is only specified if ICALC = 2.

CDPTH A real number that is the coefficient used in the equation:
(DEPTH = CDPTH × QFDPTH) that relates stream depth in all reaches in this segment to streamflow. This variable is only specified if ICALC = 3.

FDPTH A real number that is the exponent used in the equation:
DEPTH = CDPTH × QFDPTH that relates stream depth in all reaches in this segment to streamflow. This variable is only specified if ICALC = 3.

AWDTH A real number that is the coefficient used in the equation:
WIDTH = AWDTH × QBWDTH that relates stream width in all reaches in this segment to streamflow. This variable is only specified if ICALC = 3.

BWDTH A real number that is the exponent used in the equation:
WIDTH = AWDTH × QBWDTH that relates stream width in all reaches in this segment to streamflow. This variable is only specified if ICALC = 3.


•Note 13: Record 4b or 6a will contain 8 to 13 variables; depending on the values of ICALC and IUPSEG. (ICALC determines how stream depth is to be calculated; when ICALC is 1 or 2, depth is calculated using Manning’s equation, which, in turn, requires a channel roughness coefficient (ICALC = 1) or a channel and bank roughness coefficient (ICALC = 2). Similarly, Parts 4c, 4d, 6b, and 6c will include 3 to 5 values.
•Note 14: A stream segment that receives inflow from upstream segments is allowed to have as many as ten upstream segments feeding it, as defined by the respective values of OUTSEG in Part 4b or 6a.
•Note 15: Stream properties and stresses defined in Parts 4b are assumed constant and uniform within a single stream segment. Additionally, hydraulic conductivity, streambed thickness, elevation of top of streambed, stream width, and stream depth may vary smoothly and linearly within a single stream segment. For these variables, data values at the upstream end of the segment are described in Part 4c and data values at the downstream end of the segment are described in Part 4d. Values of these variables for individual reaches of a segment are estimated using linear interpolation. To make any variable the same throughout the segment, simply specify equal values in Parts 4c and 4d. The two elevations in Parts 4c and 4d are used in conjunction with the total length of the stream segment (calculated from RCHLEN given for each reach in Item 2) to compute the slope of the stream and the elevations for any intermediate reaches. The streambed thickness is subtracted from the top of streambed elevations to calculate the elevations of the bottom of the streambed (used in calculations of leakage).
•Note 17: If the Lake (LAK3) Package (Merritt and Konikow, 2000) is also implemented, then flow out of the lake into a stream segment is dependent on the option used to compute stream depth (ICALC = 1, 2, 3, or 4). Constant discharge from a lake can be simulated no matter what value of ICALC is assigned to the stream segment emanating from the lake by assigning a positive value to FLOW in Part 4b.
•Note 18: If a diversionary flow is large enough to warrant representation in the model, but is discharged into a pipeline, lined canal, or other structure or system that does not interact with the aquifer and the flow might exceed the available streamflow, then there is an alternative means to represent it. Instead of specifying a negative value of FLOW, we suggest representing the withdrawal by a singlereach diversionary stream segment, which would be located in the same model cell as the reach from the upstream segment (IUPSEG) from which the diversion is made; specifying the segment’s streambed hydraulic conductivity equal to 0 will preclude interaction with the aquifer and setting OUTSEG = 0 will remove the flow from the system. The diversion will then be subject to the constraints associated with the value of IPRIOR. 

Data Set 4c

Hc1fact THICKM1 ELEVUP [WIDTH1] [DEPTH1]
WIDTH1 is only specified if ICALC ≤ 1.
DEPTH1 is only specified if ICALC = 0.
Hc1fact A real number that is a factor used to calculate hydraulic conductivity of the streambed at the upstream end of this segment from the parameter value (in units of length per time).

Thickness of streambed material at the upstream end of this segment (in units of length). In Item 6b, this variable is read each stress period for all segments when NSTRM is positive or when NSTRM is negative and ISFROPT is 0. When ISFROPT is 4 or 5, the variable is read each stress period for a segment when ICALC is 0, 3, or 4, and is read only the first stress period when ICALC is 1 or 2.

Elevation of the top of the streambed at the upstream end of this segment (in units of length). In Item 6b, This variable is read each stress period for all segments when NSTRM is positive or when NSTRM is negative and ISFROPT is 0. When ISFROPT is 4 or 5, the variable is read each stress period for a segment when ICALC is 0, 3, or 4, and is read only the first stress period when ICALC is 1 or 2.

Average width of the stream channel at the upstream end of this segment (in units of length). In Item 6b, this variable is read each stress period for all segments identified with an ICALC of 0 and is not dependent on ISFROPT. When ICALC is 1, the variable is read each stress period when NSTRM is positive or when NSTRM is negative and ISFROPT is 0 or 1, and is read only for the first stress period when ISFROPT is 2, 3, 4, or 5.

Average depth of water in the channel at the upstream end of this segment (units of length). In Item 6b, this variable is read only when ICALC is 0 and is not dependent on the value of NSTRM or ISFROPT. The stream stage in a reach is assumed to equal the elevation of the top of the streambed plus the depth of water.



Data Set 4d

Hc2fact THICKM2 ELEVDN [WIDTH2] [DEPTH2]
WIDTH2 is only specified if ICALC ≤ 1.
DEPTH2 is only specified if ICALC = 0.
Hc2fact A real number that is the factor used to calculate hydraulic conductivity of the streambed at the downstream end of this segment from the parameter value (units of length per time).

Thickness of streambed material at the downstream end of this segment (in units of length). In Item 6c, this variable is read each stress period for all segments when NSTRM is positive or when NSTRM is negative and ISFROPT is 0. When ISFROPT is 4 or 5, the variable is read each stress period for a segment when ICALC is 0, 3, or 4, and is read only the first stress period when ICALC is 1 or 2.

Elevation of the top of the streambed at the downstream end of this segment (in units of length). In Item 6c, this variable is read each stress period for all segments when NSTRM is positive or when NSTRM is negative and ISFROPT is 0. When ISFROPT is 4 or 5, the variable is read each stress period for a segment when ICALC is 0, 3, or 4, and is read only the first stress period when ICALC is 1 or 2.

Average width of the stream channel at the downstream end of this segment (in units of length). In Item 6c, this variable is read each stress period for all segments identified with an ICALC of 0 and is not dependent on ISFROPT. When ICALC is 1, the variable is read each stress period when NSTRM is positive or when NSTRM is negative and ISFROPT is 0 or 1, and is read only for the first stress period when ISFROPT is 2, 3, 4, or 5.

Average depth of water in the channel at the downstream end of this segment (units of length). In Item 6c, this variable is read only when ICALC is 0 and is not dependent on the value of NSTRM or ISFROPT. The stream stage in a reach is assumed to equal the elevation of the top of the streambed plus the depth of water.



If ICALC = 2

Data Set 4e

XCPT1 XCPT2 ... XCPT8
ZCPT1 ZCPT2 ... ZCPT8
See Note 16
XCPTi A real number that is the distance relative to the left bank of the stream channel (when looking downstream) for the eight points (XCPT1 through XCPT8) used to describe the geometry of this segment of the stream channel. By definition, location XCPT1 represents the left edge of the channel cross section, and its value should be set equal to 0.0; values XCPT2 through XCPT8 should equal to or be greater than the previous distance.

ZCPTi A real number that is the height relative to the top of the lowest elevation of the streambed (thalweg). One value (ZCPT1 through ZCPT8) is needed for each of the eight horizontal distances defined by XCPTi. The location of the thalweg (set equal to 0.0) can be any location from XCPT2 through XCPT7.


•Note 16: If Part 4e or 6d is included (for ICALC = 2), it is assumed that the crosssectional geometry defined by these data is the same over the entire length of the segment. Similarly, if Part 4f or 6e is included (for ICALC = 4), it is assumed the tabulated relation between streamflow and stream depth and width is the same over the entire length of the segment. 

If ICALC = 4

Data Set 4f

FLOWTAB(1) FLOWTAB(2) … FLOWTAB(NSTRPTS)
DPTHTAB(1) DPTHTAB(2) … DPTHTAB(NSTRPTS)
WDTHTAB(1) WDTHTAB(2) … WDTHTAB(NSTRPTS)
FLOWTAB A real number that is the streamflow (units of volume per time) related to a given depth and width. One value is needed for each streamflow that has a corresponding value of depth and width up to the total number of values used to define the table—FLOWTAB(1) through FLOWTAB(NSTRPTS). NSTRPTS is defined in Part 4b or 6a.

DPTHTAB A real number that is the average depth (units of length) corresponding to a given flow. The number and order of values, DPTHTAB(1) through DPTHTAB(NSTRPTS), must coincide with the streamflow values FLOWTAB(1) through FLOWTAB(NSTRPTS).

WDTHTAB A real number that is the stream width (units of length) corresponding to a given flow. The number and order of values, WDTHTAB(1) through WDTHTAB(NSTRPTS), must coincide with the streamflow values FLOWTAB(1) through FLOWTAB(NSTRPTS).



If keyword TABFILES has been specified, repeat Item 4g NUMTAB times for the first stress period only:

Data Set 4g

SEGNUM NUMVAL IUNIT
An integer value equal to the segment number to which the specified inflows will be applied.

An integer value equal to the number of rows in the tabular inflow file. Each inflow file may contain a different number of rows, but the number of rows in any file cannot exceed MAXVAL specified in Item 1b.

An integer value equal to the unit number of the tabular inflow file. IUNIT must match the unit number for the file specified in the Name File.


Note 11: The external files that contain the specified inflows are referred to as tabular flow files. Each tabular file consists of two columns of input that are read using free format: TIME and INFLOW. Time is the point in the simulation when the inflow is specified for the segment; INFLOW is the specified flow, in units of length cubed per time. The units for TIME and INFLOW should be consistent with those specified for variables ITMUNI and LENUNI in the MODFLOW Discretization File. Times listed in the tabular flow file do not need to correspond to the beginning of MODFLOW time steps. If the beginning of the MODFLOW time steps fall between times listed in the tabular flow file, then the specified inflow is calculated using a timeweighted average of specified flows within the MODFLOW time step. Times can be listed in the tabular flow file either more frequently or less frequently than the MODFLOW time steps.

If Groundwater Transport (GWT) Process is active (Ftype “GWT” exists), then read Part 4h NSOL times (where NSOL is the number of solutes being simulated, see note 17):

Data Set 4h

[CONCQ(NSOL)] CONCRUN(NSOL) CONCPPT(NSOL)
CONCQ is specified only for stream segments where IUPSEG = 0.
See Note 19
CONCQ A real number that is the solute concentration associated with "FLOW" (Part 4b or 6a—specified flow entering the upstream end of the stream segment). Only specify this variable for stream segments where IUPSEG = 0.

CONCRUN A real number that is the solute concentration in the overland runoff entering the stream segment.

CONCPPT A real number that is the solute concentration in precipitation that directly falls onto the stream surface.


•Note 19: The version of MODFLOWGWT documented by Konikow and others (1996) is limited to simulating one solute, and until a new multispecies version is released, NSOL automatically defaults to a value of 1. 

FOR EACH STRESS PERIOD

Data Set 5

ITMP IRDFLG IPTFLG [NP]
NP and Item 7 below are not read when NSFRPAR = 0.
See Note 20
An integer value for reusing or reading stream segment data that can change each stress period. If ITMP = 0 then all stream segment data are defined by Item 4 (NSFRPAR > 0; number of stream parameters is greater than 0). If ITMP > 0, then stream segment data are not defined in Item 4 and must be defined in Item 6 below for a number of segments equal to the value of ITMP. If ITMP < 0, then stream segment data not defined in Item 4 will be reused from the last stress period (Item 6 is not read for the current stress period). ITMP must be defined ≥ 0 for the first stress period of a simulation.

IRDFLG An integer value for printing input data specified for this stress period. If IRDFLG ≤ 0, input data for this stress period will be printed. If IRDFLG > 0, then input data for this stress period will not be printed.
If the absolute value of IRDFLG = 2, The elevation of top of streambed of diversion segments (canals/laterals) follows the slope of ground surface at a depth defined by the interpolation of:
(1) the difference between the ground surface elevation and the elevation of the upstream end of a diversion segment, as specified in the SFR input file; and
(2) the difference between the ground surface elevation and the elevation of the downstream end of a diversion segment, as specified in the SFR input file.
Note limitation: IRDFLG = 2 cannot be chosen if the number of the diversion segment is equal to the total number of segments.

An integer value for printing streamflowrouting results during this stress period. If IPTFLG = 0, or whenever the variable ICBCFL or “Save Budget” is specified in Output Control, the results for specified time steps during this stress period will be printed. If IPTFLG > 0, then the results during this stress period will not be printed.

NP An integer value of the number of parameters used in the current stress period. The parameters being used are subsequently listed in Item 7 below. NP and Item 7 below are not read when NSFRPAR = 0.


Note 20: In each stress period, the sum of ITMP plus the sum of all NLST values in Item 3 associated with the NP parameters listed in Item 7 must equal or be less than (some stream segments may not be active during a stress period) the total number of stream segments in the stream network (NSS of Item 1). Stream segments defined by Items 3, 4, and 7 cannot be repeated using ITMP and Item 6.


If ITMP > 0
See Notes 21, 22, 23, and 24.
•Note 21: Item 6 must be completed ITMP times. The data need not be defined in sequential order by stream segment number. All active segments in the stream network must be defined for each stress period through a combination of ITMP and Item 6 and NP and Item 7.
•Note 22: If ITMP ≤ 0, then Item 6 is excluded for this stress period. If ITMP < 0, then values for Item 6 from the previous stress period are reused. If ITMP = 0, then no Item 6 records are read, and all segments must be defined using parameters.
•Note 23: If Item 6, Part 6f is included because solute transport is being simulated, then Part 6f should consist of one record (line) for each solute; each record must contain two or three values; and there must be as many records as the number of solutes being simulated (NSOL). The default value of NSOL is 1 and the presently documented version of MODFLOWGWT is limited to simulating one solute.
•Note 24: All the explanatory notes applicable to Item 4 (except those related to parameters) are also relevant to Item 6. 

Data Set 6a


NSEG ICALC OUTSEG IUPSEG [IPRIOR] [NSTRPTS] FLOW RUNOFF ETSW PPTSW [ROUGHCH] [ROUGHBK] [CDPTH] [FDPTH] [AWDTH] [BWDTH]



IPRIOR is specified only if IUPSEG > 0
NSTRPTS is specified only if ICALC = 4.
ROUGHCH is only specified if ICALC = 1 or 2.
ROUGHBK is only specified if ICALC = 2.
CDPTH, FDPTH, AWDTH, and BWDTH are only specified if ICALC = 3.
NSEG An integer value of the stream segment for which information is given to identify inflow, outflow, and computation of stream depth.

ICALC An integer value used to indicate method used to calculate stream depth in this segment.
•If ICALC ≤ 0, stream depth in each reach is specified at the beginning of a stress period and remains unchanged unless flow at the midpoint of a reach is zero, then depth is set to zero in that reach. No unsaturated flow is allowed.
•If ICALC > 0, stream depth is calculated and updated each iteration of the MODFLOW solver within a time step.
•If ICALC = 1, stream depth is calculated using Manning’s equation and assuming a wide rectangular channel. Unsaturated flow is simulated when ISFROPT > 1 and the value of ICALC must remain 1 for the specified segment during the simulation.
•If ICALC = 2, stream depth is calculated using Manning’s equation and assuming an eightpoint channel cross section for each segment (which allows for the computation of a wetted perimeter and for changing hydraulic conductance of the streambed in relation to changes in flow). Unsaturated flow is simulated when ISFROPT > 1 and the value of ICALC must remain 2 for the specified segment during the simulation.
•If ICALC = 3, stream depth and width are calculated using a power function relating each to streamflow (Q) using equations 8 and 9 where DEPTH(y) = CDPTH × QFDPTH and WIDTH(w) = AWDTH × QBWDTH. Unsaturated flow is not allowed.
•If ICALC = 4, stream depth and width are calculated using a table relating streamflow to depth and width (the table is defined in Part 4f). Unsaturated flow is not allowed.
The option to simulate unsaturated flow beneath streams is not available when using ICALC = 0, 3, or 4.

OUTSEG An integer value of the downstream stream segment that receives tributary inflow from the last downstream reach of this segment. If this segment (identified by NSEG) does not feed (or discharge into) another downstream (tributary) segment, then enter a value of "0" for this variable (Segment 7 in figure 3 in Prudic and others, 2004 is an example for which OUTSEG = 0). If the segment ends within the modeled grid and OUTSEG = 0, outflow from the segment is not routed anywhere and is no longer part of the stream network. One may wish to use this if all flow in the stream gets diverted into a lined canal or into a pipe. If the flow out of this segment discharges into a lake, set OUTSEG equal to the negative value of the lake identification number (where the minus sign is used as a flag to tell the model that flow enters a lake rather than a tributary stream segment).

An integer value of the upstream segment from which water is diverted (or withdrawn) to supply inflow to this stream segment if this segment originates as a diversion from an upstream segment. If the source of a stream segment is discharge from a lake, set IUPSEG equal to the negative value of the lake identification number (where the minus sign is used as a flag to tell the model that streamflow into this segment is derived from a lake rather than a stream segment). If this stream segment (identified by NSEG) does not receive inflow as a diversion from an upstream segment, then set IUPSEG = 0.

IPRIOR An integer value that only is specified if IUPSEG > 0 (do not specify a value in this field if IUPSEG = 0 or IUPSEG < 0). IPRIOR defines the prioritization system for diversion, such as when insufficient water is available to meet all diversion stipulations, and is used in conjunction with the value of FLOW (specified below).
•When IPRIOR = 0, then if the specified diversion flow (FLOW) is greater than the flow available in the stream segment from which the diversion is made, the diversion is reduced to the amount available, which will leave no flow available for tributary flow into a downstream tributary of segment IUPSEG.
•When IPRIOR = 1, then if the specified diversion flow (FLOW) is greater than the flow available in the stream segment from which the diversion is made, no water is diverted from the stream. This approach assumes that once flow in the stream is sufficiently low, diversions from the stream cease, and is the “priority” algorithm that originally was programmed into the STR1 Package (Prudic, 1989).
•When IPRIOR = 2, then the amount of the diversion is computed as a fraction of the available flow in segment IUPSEG; in this case, 0.0 < FLOW < 1.0.
•When IPRIOR = 3, then a diversion is made only if the streamflow leaving segment IUPSEG exceeds the value of FLOW. If this occurs, then the quantity of water diverted is the excess flow and the quantity that flows from the last reach of segment IUPSEG into its downstream tributary (OUTSEG) is equal to FLOW. This represents a floodcontrol type of diversion, as described by Danskin and Hanson (2002). 
NSTRPTS An integer value specified only when ICALC = 4. It is used to dimension a table relating streamflow with stream depth and width as specified in Items 4e and 6d. NSTRPTS must be at least 2 but not more than 50. If the table exceeds 3 × 50 (for streamflow, stream depth, and width) values, then MAXPTS in the allocation subroutine GWF1SFR1ALP will need to be increased from 3 × 50 to 3 × (the desired maximum value).

FLOW A real number that is the streamflow (in units of volume per time) entering or leaving the upstream end of a stream segment (that is, into the first reach).
•If the stream is a headwater stream, FLOW defines the total inflow to the first reach of the segment. The value can be any number ≥ 0.
•If the stream is a tributary stream, FLOW defines additional specified inflow to or withdrawal from the first reach of the segment (that is, in addition to the discharge from the upstream segment of which this is a tributary). This additional flow does not interact with the groundwater system. For example, a positive number might be used to represent direct outflow into a stream from a sewage treatment plant, whereas a negative number might be used to represent pumpage directly from a stream into an intake pipe for a municipal water treatment plant. (Also see additional explanatory notes below.)
•If the stream is a diversionary stream, and the diversion is from another stream segment, FLOW defines the streamflow diverted from the last reach of stream segment IUPSEG into the first reach of this segment. The diversion is computed or adjusted according to the value of IPRIOR.
•If the stream is a diversionary stream, and the diversion is from a lake, FLOW defines a fixed rate of discharge diverted from the lake into the first reach of this stream segment (unless the lake goes dry) and flow from the lake is not dependent on the value of ICALC. However, if FLOW = 0, then the lake outflow into the first reach of this segment will be calculated on the basis of lake stage relative to the top of the streambed for the first reach using one of the methods defined by ICALC. 
RUNOFF A real number that is the volumetric rate of the diffuse overland runoff that enters the stream segment (in units of volume per time). The specified rate is apportioned to each reach of the segment in direct relation to the fraction of the total length of the stream channel in the segment that is present in each reach.
If the Farm process in MODFLOWOWHM is used, RUNOFF should be set to zero because it will be overwritten by runoff calculated by the Farm Process.

ETSW A real number that is the volumetric rate per unit area of water removed by evapotranspiration directly from the stream channel (in units of length per time). ETSW is defined as a positive value.

PPTSW A real number that is the volumetric rate per unit area of water added by precipitation directly on the stream channel (in units of length per time).

ROUGHCH A real number that is Manning’s roughness coefficient for the channel in all reaches in this segment. This variable is only specified if ICALC = 1 or 2.

ROUGHBK A real number that is Manning’s roughness coefficient for the overbank areas in all reaches in this segment. This variable is only specified if ICALC = 2.

CDPTH A real number that is the coefficient used in the equation:
(DEPTH = CDPTH × QFDPTH) that relates stream depth in all reaches in this segment to streamflow. This variable is only specified if ICALC = 3.

FDPTH A real number that is the exponent used in the equation:
DEPTH = CDPTH × QFDPTH that relates stream depth in all reaches in this segment to streamflow. This variable is only specified if ICALC = 3.

AWDTH A real number that is the coefficient used in the equation:
WIDTH = AWDTH × QBWDTH that relates stream width in all reaches in this segment to streamflow. This variable is only specified if ICALC = 3.

BWDTH A real number that is the exponent used in the equation:
WIDTH = AWDTH × QBWDTH that relates stream width in all reaches in this segment to streamflow. This variable is only specified if ICALC = 3.

[xyz]—represents any auxiliary variables for a stream that have been defined in Item 1. The auxiliary variables must be present in each repetition of Items 4b and 6a if they are defined in Item 1.
•The routing between grids is controlled using two new auxiliary variables in item 1 of the SFR input file: LGRGRID and LGRSEG. In item 4b and(or) 6a, these variables function similarly to input variable IUPSEG in the SFR2 Package, which is used to indicate the upstream segment from which flow is supplied from a diversion. LGRGRID and LGRSEG indicate the grid and segment number, respectively, whose outflow will be used as an inflow for the current segment. Segments of the parent grid that are represented by the child grid are inactive after the first LGR iteration, which is indicated by setting LGRGRID to a negative value in the parentgrid SFR2 input file. In this case, the value specified for LGRSEG in the parentgrid SFR2 input file is not used and can be set to any value. Zeros are used for any active segments that do not receive inflow from another grid. 

•Note 13: Record 4b or 6a will contain 8 to 13 variables; depending on the values of ICALC and IUPSEG. (ICALC determines how stream depth is to be calculated; when ICALC is 1 or 2, depth is calculated using Manning’s equation, which, in turn, requires a channel roughness coefficient (ICALC = 1) or a channel and bank roughness coefficient (ICALC = 2). Similarly, Parts 4c, 4d, 6b, and 6c will include 3 to 5 values.
•Note 14: A stream segment that receives inflow from upstream segments is allowed to have as many as ten upstream segments feeding it, as defined by the respective values of OUTSEG in Part 4b or 6a.
•Note 15: Stream properties and stresses defined in Parts 4b are assumed constant and uniform within a single stream segment. Additionally, hydraulic conductivity, streambed thickness, elevation of top of streambed, stream width, and stream depth may vary smoothly and linearly within a single stream segment. For these variables, data values at the upstream end of the segment are described in Part 4c and data values at the downstream end of the segment are described in Part 4d. Values of these variables for individual reaches of a segment are estimated using linear interpolation. To make any variable the same throughout the segment, simply specify equal values in Parts 4c and 4d. The two elevations in Parts 4c and 4d are used in conjunction with the total length of the stream segment (calculated from RCHLEN given for each reach in Item 2) to compute the slope of the stream and the elevations for any intermediate reaches. The streambed thickness is subtracted from the top of streambed elevations to calculate the elevations of the bottom of the streambed (used in calculations of leakage).
•Note 17: If the Lake (LAK3) Package (Merritt and Konikow, 2000) is also implemented, then flow out of the lake into a stream segment is dependent on the option used to compute stream depth (ICALC = 1, 2, 3, or 4). Constant discharge from a lake can be simulated no matter what value of ICALC is assigned to the stream segment emanating from the lake by assigning a positive value to FLOW in Part 4b.
•Note 18: If a diversionary flow is large enough to warrant representation in the model, but is discharged into a pipeline, lined canal, or other structure or system that does not interact with the aquifer and the flow might exceed the available streamflow, then there is an alternative means to represent it. Instead of specifying a negative value of FLOW, we suggest representing the withdrawal by a singlereach diversionary stream segment, which would be located in the same model cell as the reach from the upstream segment (IUPSEG) from which the diversion is made; specifying the segment’s streambed hydraulic conductivity equal to 0 will preclude interaction with the aquifer and setting OUTSEG = 0 will remove the flow from the system. The diversion will then be subject to the constraints associated with the value of IPRIOR. 

Data Set 6b

[HCOND1] [THICKM1] [ELEVUP] [WIDTH1] [DEPTH1] [THTS1] [THTI1] [EPS1] [UHC1]
HCOND1 is read for each stress period when NSTRM is positive and the keyword REACHINPUT is not specified or when ISFROPT is 4 or 5.
THICKM1, ELEVUP, WIDTH1, and DEPTH1 are read for each stress period when NSTRM is positive and the keyword REACHINPUT is not specified.
THICKM1 and ELEVUP are read only for the first stress period when ICALC is 1 or 2 and ISFROPT is 4 or 5.
WIDTH1 is read for all stress periods when ICALC ≤ 1 and ISFROPT is 1 but is only read for the first stress period when ISFROPT is greater than 1. WIDTH1 and DEPTH1 are read for all stress periods when ICALC is 0 and are not dependent on the value of ISFROPT.
THTS1, THTI1, EPS1 and UHC1 are read only for the first stress period when ICALC is 1 or 2 and ISFROPT is 4 or 5.
HCOND1 Hydraulic conductivity of the streambed at the upstream end of this segment (units of length per time). This variable is read for each stress period when NSTRM is positive and the keyword REACHINPUT is not specified or when ISFROPT is 4 or 5.

Thickness of streambed material at the upstream end of this segment (in units of length). In Item 6b, this variable is read each stress period for all segments when NSTRM is positive or when NSTRM is negative and ISFROPT is 0. When ISFROPT is 4 or 5, the variable is read each stress period for a segment when ICALC is 0, 3, or 4, and is read only the first stress period when ICALC is 1 or 2.

Elevation of the top of the streambed at the upstream end of this segment (in units of length). In Item 6b, This variable is read each stress period for all segments when NSTRM is positive or when NSTRM is negative and ISFROPT is 0. When ISFROPT is 4 or 5, the variable is read each stress period for a segment when ICALC is 0, 3, or 4, and is read only the first stress period when ICALC is 1 or 2.

Average width of the stream channel at the upstream end of this segment (in units of length). In Item 6b, this variable is read each stress period for all segments identified with an ICALC of 0 and is not dependent on ISFROPT. When ICALC is 1, the variable is read each stress period when NSTRM is positive or when NSTRM is negative and ISFROPT is 0 or 1, and is read only for the first stress period when ISFROPT is 2, 3, 4, or 5.

Average depth of water in the channel at the upstream end of this segment (units of length). In Item 6b, this variable is read only when ICALC is 0 and is not dependent on the value of NSTRM or ISFROPT. The stream stage in a reach is assumed to equal the elevation of the top of the streambed plus the depth of water.

THTS1 Saturated volumetric water content in the unsaturated zone beneath the upstream end of this segment. This variable is read for the first stress period when ICALC is 1or 2 and ISFROPT is 4 or 5.

THTI1 Initial volumetric water content beneath the upstream end of this segment. THTI1 must be less than or equal to THTS and greater than or equal to the THTS minus the specific yield defined in either LPF, BCF, or HUF. This variable is read for the first stress period when ICALC is 1or 2 and ISFROPT is 4 or 5.

EPS1 BrooksCorey exponent used in the relation between water content and hydraulic conductivity within the unsaturated zone beneath the upstream end of this segment. This variable is read for the first stress period when ICALC is 1or 2 and ISFROPT is 4 or 5.

UHC1 Vertical saturated hydraulic conductivity of the unsaturated zone beneath the upstream end of this segment. This variable is necessary when using BCF or HUF, whereas it is optional when using LPF. This variable is read only for the first stress period when ICALC is 1 or 2 and ISFROPT is 5.


Table Illustrating when Each Data Value in Data Set 6b and 6c is Required

Controlling parameters

Data Values

ISFROPT

ICALC

Stress Period

HCOND1
HCOND2

THICKM1
THICKM2

ELEVUP
ELEVDN

WIDTH1
WIDTH2

DEPTH1
DEPTH2

THTS1
THTS2

THTI1
THTI2

EPS1
EPS2

UHC1
UHC2

not read

≤0

any

x

x

x

x

x





not read

1

any

x

x

x

x






not read

≥2

any

x

x

x







1

≤0

any




x

x





1

1

any




x






1

≥2

any










2 or 3

≤0

any




x

x





2 or 3

1

1




x






2 or 3

1

>1










2 or 3

≥2

any










4

≤0

any

x

x

x

x

x





4

1

1

x

x

x

x


x

x

x


4

1

>1

x









4

2

1

x

x

x



x

x

x


4

2

>1

x









4

≥3

any

x

x

x







5

≤0

any

x

x

x

x

x





5

1

1

x

x

x

x


x

x

x

x

5

1

>1

x









5

2

1

x

x

x



x

x

x

x

5

2

>1

x









5

≥3

any

x

x

x









Data Set 6c

[HCOND2] [THICKM2] [ELEVDN] [WIDTH2] [DEPTH2] [THTS2] [THTI2] [EPS2] [UHC2]
HCOND2 is read for each stress period when NSTRM is positive and the keyword REACHINPUT is not specified or when ISFROPT is 4 or 5.
THICKM2, ELEVDN, WIDTH2, and DEPTH2 are read for each stress period when NSTRM is positive and the keyword REACHINPUT is not specified.
THICKM2 and ELEVDN are read only for the first stress period when ICALC is 1 or 2 and ISFROPT is 4 or 5.
WIDTH2 is read for all stress periods when ICALC ≤ 1 and ISFROPT is 1 but is only read for the first stress period when ISFROPT is greater than 1. WIDTH2 and DEPTH2 are read for all stress periods when ICALC is 0 and are not dependent on the value of ISFROPT.
THTS2, THTI2, EPS2 and UHC2 are read only for the first stress period when ICALC is 1 or 2 and ISFROPT is 4 or 5.
HCOND2 Hydraulic conductivity of the streambed at the downstream end of this segment (units of length per time). This variable is read for each stress period when NSTRM is positive and the keyword REACHINPUT is not specified or when or when NSTRM is negative or the keyword REACHINPUT is specified and ISFROPT is 4 or 5.

Thickness of streambed material at the downstream end of this segment (in units of length). In Item 6c, this variable is read each stress period for all segments when NSTRM is positive or when NSTRM is negative and ISFROPT is 0. When ISFROPT is 4 or 5, the variable is read each stress period for a segment when ICALC is 0, 3, or 4, and is read only the first stress period when ICALC is 1 or 2.

Elevation of the top of the streambed at the downstream end of this segment (in units of length). In Item 6c, this variable is read each stress period for all segments when NSTRM is positive or when NSTRM is negative and ISFROPT is 0. When ISFROPT is 4 or 5, the variable is read each stress period for a segment when ICALC is 0, 3, or 4, and is read only the first stress period when ICALC is 1 or 2.

Average width of the stream channel at the downstream end of this segment (in units of length). In Item 6c, this variable is read each stress period for all segments identified with an ICALC of 0 and is not dependent on ISFROPT. When ICALC is 1, the variable is read each stress period when NSTRM is positive or when NSTRM is negative and ISFROPT is 0 or 1, and is read only for the first stress period when ISFROPT is 2, 3, 4, or 5.

Average depth of water in the channel at the downstream end of this segment (units of length). In Item 6c, this variable is read only when ICALC is 0 and is not dependent on the value of NSTRM or ISFROPT. The stream stage in a reach is assumed to equal the elevation of the top of the streambed plus the depth of water.

THTS2 Saturated volumetric water content in the unsaturated zone beneath the downstream end of this segment. This variable is read for the first stress period when ICALC is 1or 2 and ISFROPT is 4 or 5.

THTI2 Initial volumetric water content beneath the downstream end of this segment. THTI2 must be less than or equal to THTS and greater than or equal to THTS minus the specific yield defined in either LPF, BCF, or HUF. This variable is read for the first stress period when ICALC is 1or 2 and ISFROPT is 4 or 5.

EPS2 BrooksCorey exponent used in the relation between water content and hydraulic conductivity within the unsaturated zone beneath the downstream end of this segment. This variable is read for the first stress period when ICALC is 1or 2 and ISFROPT is 4 or 5.

UHC2 Vertical saturated hydraulic conductivity of the unsaturated zone beneath the downstream end of this segment. This variable is necessary when using BCF or HUF, whereas it is optional when using LPF. This variable is read only for the first stress period when ICALC is 1 or 2 and ISFROPT is 5.


Table Illustrating when Each Data Value in Data Set 6b and 6c is Required

Controlling parameters

Data Values

ISFROPT

ICALC

Stress Period

HCOND1
HCOND2

THICKM1
THICKM2

ELEVUP
ELEVDN

WIDTH1
WIDTH2

DEPTH1
DEPTH2

THTS1
THTS2

THTI1
THTI2

EPS1
EPS2

UHC1
UHC2

not read

≤0

any

x

x

x

x

x





not read

1

any

x

x

x

x






not read

≥2

any

x

x

x







1

≤0

any




x

x





1

1

any




x






1

≥2

any










2 or 3

≤0

any




x

x





2 or 3

1

1




x






2 or 3

1

>1










2 or 3

≥2

any










4

≤0

any

x

x

x

x

x





4

1

1

x

x

x

x


x

x

x


4

1

>1

x









4

2

1

x

x

x



x

x

x


4

2

>1

x









4

≥3

any

x

x

x







5

≤0

any

x

x

x

x

x





5

1

1

x

x

x

x


x

x

x

x

5

1

>1

x









5

2

1

x

x

x



x

x

x

x

5

2

>1

x









5

≥3

any

x

x

x









•If ICALC = 2 and (this is the first stress period OR NSTRM > 0 and the keyword REACHINPUT is not specified OR ISFROPT ≤ 1) 
Data Set 6d

XCPT1 XCPT2 ... XCPT8
ZCPT1 ZCPT2 ... ZCPT8
XCPTi A real number that is the distance relative to the left bank of the stream channel (when looking downstream) for the eight points (XCPT1 through XCPT8) used to describe the geometry of this segment of the stream channel. By definition, location XCPT1 represents the left edge of the channel cross section, and its value should be set equal to 0.0; values XCPT2 through XCPT8 should equal to or be greater than the previous distance.

ZCPTi A real number that is the height relative to the top of the lowest elevation of the streambed (thalweg). One value (ZCPT1 through ZCPT8) is needed for each of the eight horizontal distances defined by XCPTi. The location of the thalweg (set equal to 0.0) can be any location from XCPT2 through XCPT7.


•Note 16: If Part 4e or 6d is included (for ICALC = 2), it is assumed that the crosssectional geometry defined by these data is the same over the entire length of the segment. Similarly, if Part 4f or 6e is included (for ICALC = 4), it is assumed the tabulated relation between streamflow and stream depth and width is the same over the entire length of the segment. 

If ICALC = 4

Data Set 6e

FLOWTAB(1) FLOWTAB(2) ... FLOWTAB(NSTRPTS)
DPTHTAB(1) DPTHTAB(2) ... DPTHTAB(NSTRPTS)
WDTHTAB(1) WDTHTAB(2) ... WDTHTAB(NSTRPTS)
FLOWTAB A real number that is the streamflow (units of volume per time) related to a given depth and width. One value is needed for each streamflow that has a corresponding value of depth and width up to the total number of values used to define the table—FLOWTAB(1) through FLOWTAB(NSTRPTS). NSTRPTS is defined in Part 4b or 6a.

DPTHTAB A real number that is the average depth (units of length) corresponding to a given flow. The number and order of values, DPTHTAB(1) through DPTHTAB(NSTRPTS), must coincide with the streamflow values FLOWTAB(1) through FLOWTAB(NSTRPTS).

WDTHTAB A real number that is the stream width (units of length) corresponding to a given flow. The number and order of values, WDTHTAB(1) through WDTHTAB(NSTRPTS), must coincide with the streamflow values FLOWTAB(1) through FLOWTAB(NSTRPTS).



If Groundwater Transport (GWT) Process is active (Ftype “GWT” exists), then read Part 6g NSOL times (where NSOL is the number of solutes being simulated):

Data Set 6g

[CONCQ(NSOL)] CONCRUN(NSOL) CONCPPT(NSOL)
CONCQ is specified only for stream segments where IUPSEG = 0.
See Note 23
CONCQ A real number that is the solute concentration associated with "FLOW" (Part 4b or 6a—specified flow entering the upstream end of the stream segment). Only specify this variable for stream segments where IUPSEG = 0.

CONCRUN A real number that is the solute concentration in the overland runoff entering the stream segment.

CONCPPT A real number that is the solute concentration in precipitation that directly falls onto the stream surface.


•Note 19: The version of MODFLOWGWT documented by Konikow and others (1996) is limited to simulating one solute, and until a new multispecies version is released, NSOL automatically defaults to a value of 1.
•Note 23: If Item 6, Part 6f is included because solute transport is being simulated, then Part 6f should consist of one record (line) for each solute; each record must contain two or three values; and there must be as many records as the number of solutes being simulated (NSOL). The default value of NSOL is 1 and the presently documented version of MODFLOWGWT is limited to simulating one solute. 

If NSFRPAR > 0 and NP > 0, then

Data Set 7

Pname [Iname]
Pname The name of a parameter that is being used in the current stress period. Repeat Item 7 NP times (see Item 5).

Iname An instance name that is read only if Pname is a timevarying parameter. Multiple instances of the same timevarying parameter are not allowed in a stress period.



If TABFILES is specified, then the following variables must be specified for the first stress period only after the segment information has been specified (that is, new item 8). One line of entry is needed for each stream segment for which a time series of flows will be specified (that is, repeat the following line NUMTAB times):

Data Set 8

SEGNUM NUMVAL IUNIT
An integer value equal to the segment number to which the specified inflows will be applied.

An integer value equal to the number of rows in the tabular inflow file. Each inflow file may contain a different number of rows, but the number of rows in any file cannot exceed MAXVAL specified in Item 1b.

An integer value equal to the unit number of the tabular inflow file. IUNIT must match the unit number for the file specified in the Name File.


Note 11: The external files that contain the specified inflows are referred to as tabular flow files. Each tabular file consists of two columns of input that are read using free format: TIME and INFLOW. Time is the point in the simulation when the inflow is specified for the segment; INFLOW is the specified flow, in units of length cubed per time. The units for TIME and INFLOW should be consistent with those specified for variables ITMUNI and LENUNI in the MODFLOW Discretization File. Times listed in the tabular flow file do not need to correspond to the beginning of MODFLOW time steps. If the beginning of the MODFLOW time steps fall between times listed in the tabular flow file, then the specified inflow is calculated using a timeweighted average of specified flows within the MODFLOW time step. Times can be listed in the tabular flow file either more frequently or less frequently than the MODFLOW time steps.
