GWF-SFR

Structure of Blocks

FOR EACH SIMULATION

    BEGIN OPTIONS
      [AUXILIARY <auxiliary(naux)>]
      [BOUNDNAMES]
      [PRINT_INPUT]
      [PRINT_STAGE]
      [PRINT_FLOWS]
      [SAVE_FLOWS]
      [STAGE FILEOUT <stagefile>]
      [BUDGET FILEOUT <budgetfile>]
      [BUDGETCSV FILEOUT <budgetcsvfile>]
      [PACKAGE_CONVERGENCE FILEOUT <package_convergence_filename>]
      [TS6 FILEIN <ts6_filename>]
      [OBS6 FILEIN <obs6_filename>]
      [MOVER]
      [MAXIMUM_PICARD_ITERATIONS <maximum_picard_iterations>]
      [MAXIMUM_ITERATIONS <maximum_iterations>]
      [MAXIMUM_DEPTH_CHANGE <maximum_depth_change>]
      [LENGTH_CONVERSION <length_conversion>]
      [TIME_CONVERSION <time_conversion>]
    END OPTIONS
    BEGIN DIMENSIONS
      NREACHES <nreaches>
    END DIMENSIONS
    BEGIN PACKAGEDATA
      <ifno> <cellid(ncelldim)> <rlen> <rwid> <rgrd> <rtp> <rbth> <rhk> <man> <ncon> <ustrf> <ndv> [<aux(naux)>] [<boundname>]
      <ifno> <cellid(ncelldim)> <rlen> <rwid> <rgrd> <rtp> <rbth> <rhk> <man> <ncon> <ustrf> <ndv> [<aux(naux)>] [<boundname>]
      ...
    END PACKAGEDATA
    BEGIN CROSSSECTIONS
      <ifno> TAB6 FILEIN <tab6_filename>
      <ifno> TAB6 FILEIN <tab6_filename>
      ...
    END CROSSSECTIONS
    BEGIN CONNECTIONDATA
      <ifno> [<ic(ncon(ifno))>]
      <ifno> [<ic(ncon(ifno))>]
      ...
    END CONNECTIONDATA
    BEGIN DIVERSIONS
      <ifno> <idv> <iconr> <cprior>
      <ifno> <idv> <iconr> <cprior>
      ...
    END DIVERSIONS

FOR ANY STRESS PERIOD

    BEGIN PERIOD <iper>
      <ifno> <sfrsetting>
      <ifno> <sfrsetting>
      ...
    END PERIOD

Explanation of Variables

Block: OPTIONS

  • auxiliary defines an array of one or more auxiliary variable names. There is no limit on the number of auxiliary variables that can be provided on this line; however, lists of information provided in subsequent blocks must have a column of data for each auxiliary variable name defined here. The number of auxiliary variables detected on this line determines the value for naux. Comments cannot be provided anywhere on this line as they will be interpreted as auxiliary variable names. Auxiliary variables may not be used by the package, but they will be available for use by other parts of the program. The program will terminate with an error if auxiliary variables are specified on more than one line in the options block.

  • BOUNDNAMES keyword to indicate that boundary names may be provided with the list of stream reach cells.

  • PRINT_INPUT keyword to indicate that the list of stream reach information will be written to the listing file immediately after it is read.

  • PRINT_STAGE keyword to indicate that the list of stream reach stages will be printed to the listing file for every stress period in which “HEAD PRINT” is specified in Output Control. If there is no Output Control option and PRINT_STAGE is specified, then stages are printed for the last time step of each stress period.

  • PRINT_FLOWS keyword to indicate that the list of stream reach flow rates will be printed to the listing file for every stress period time step in which “BUDGET PRINT” is specified in Output Control. If there is no Output Control option and “PRINT_FLOWS” is specified, then flow rates are printed for the last time step of each stress period.

  • SAVE_FLOWS keyword to indicate that stream reach flow terms will be written to the file specified with “BUDGET FILEOUT” in Output Control.

  • STAGE keyword to specify that record corresponds to stage.

  • stagefile name of the binary output file to write stage information.

  • BUDGET keyword to specify that record corresponds to the budget.

  • FILEOUT keyword to specify that an output filename is expected next.

  • budgetfile name of the binary output file to write budget information.

  • BUDGETCSV keyword to specify that record corresponds to the budget CSV.

  • budgetcsvfile name of the comma-separated value (CSV) output file to write budget summary information. A budget summary record will be written to this file for each time step of the simulation.

  • PACKAGE_CONVERGENCE keyword to specify that record corresponds to the package convergence comma spaced values file.

  • package_convergence_filename name of the comma spaced values output file to write package convergence information.

  • TS6 keyword to specify that record corresponds to a time-series file.

  • FILEIN keyword to specify that an input filename is expected next.

  • ts6_filename defines a time-series file defining time series that can be used to assign time-varying values. See the “Time-Variable Input” section for instructions on using the time-series capability.

  • OBS6 keyword to specify that record corresponds to an observations file.

  • obs6_filename name of input file to define observations for the SFR package. See the “Observation utility” section for instructions for preparing observation input files. Tables ref{table:gwf-obstypetable} and ref{table:gwt-obstypetable} lists observation type(s) supported by the SFR package.

  • MOVER keyword to indicate that this instance of the SFR Package can be used with the Water Mover (MVR) Package. When the MOVER option is specified, additional memory is allocated within the package to store the available, provided, and received water.

  • maximum_picard_iterations integer value that defines the maximum number of Streamflow Routing picard iterations allowed when solving for reach stages and flows as part of the GWF formulate step. Picard iterations are used to minimize differences in SFR package results between subsequent GWF picard (non-linear) iterations as a result of non-optimal reach numbering. If reaches are numbered in order, from upstream to downstream, MAXIMUM_PICARD_ITERATIONS can be set to 1 to reduce model run time. By default, MAXIMUM_PICARD_ITERATIONS is equal to 100.

  • maximum_iterations integer value that defines the maximum number of Streamflow Routing Newton-Raphson iterations allowed for a reach. By default, MAXIMUM_ITERATIONS is equal to 100. MAXIMUM_ITERATIONS would only need to be increased from the default value if one or more reach in a simulation has a large water budget error.

  • maximum_depth_change real value that defines the depth closure tolerance. By default, MAXIMUM_DEPTH_CHANGE is equal to 1 x 10-5. The MAXIMUM_STAGE_CHANGE would only need to be increased or decreased from the default value if the water budget error for one or more reach is too small or too large, respectively.

  • length_conversion real value that is used to convert user-specified Manning’s roughness coefficients from meters to model length units. LENGTH_CONVERSION should be set to 3.28081, 1.0, and 100.0 when using length units (LENGTH_UNITS) of feet, meters, or centimeters in the simulation, respectively. LENGTH_CONVERSION does not need to be specified if LENGTH_UNITS are meters.

  • time_conversion real value that is used to convert user-specified Manning’s roughness coefficients from seconds to model time units. TIME_CONVERSION should be set to 1.0, 60.0, 3,600.0, 86,400.0, and 31,557,600.0 when using time units (TIME_UNITS) of seconds, minutes, hours, days, or years in the simulation, respectively. TIME_CONVERSION does not need to be specified if TIME_UNITS are seconds.

Block: DIMENSIONS

  • nreaches integer value specifying the number of stream reaches. There must be NREACHES entries in the PACKAGEDATA block.

Block: PACKAGEDATA

  • ifno integer value that defines the feature (reach) number associated with the specified PACKAGEDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if information for a reach is specified more than once.

  • cellid is the cell identifier, and depends on the type of grid that is used for the simulation. For a structured grid that uses the DIS input file, CELLID is the layer, row, and column. For a grid that uses the DISV input file, CELLID is the layer and CELL2D number. If the model uses the unstructured discretization (DISU) input file, CELLID is the node number for the cell. For reaches that are not connected to an underlying GWF cell, a zero should be specified for each grid dimension. For example, for a DIS grid a CELLID of 0 0 0 should be specified. Reach-aquifer flow is not calculated for unconnected reaches. The keyword NONE can be still be specified to identify unconnected reaches for backward compatibility with previous versions of MODFLOW 6 but eventually NONE will be deprecated and will cause MODFLOW 6 to terminate with an error.

  • rlen real value that defines the reach length. RLEN must be greater than zero.

  • rwid real value that defines the reach width. RWID must be greater than zero.

  • rgrd real value that defines the stream gradient (slope) across the reach. RGRD must be greater than zero.

  • rtp real value that defines the bottom elevation of the reach.

  • rbth real value that defines the thickness of the reach streambed. RBTH can be any value if the reach is not connected to an underlying GWF cell. Otherwise, RBTH must be greater than zero.

  • rhk real or character value that defines the hydraulic conductivity of the reach streambed. RHK can be any positive value if the reach is not connected to an underlying GWF cell. Otherwise, RHK must be greater than zero. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value.

  • man real or character value that defines the Manning’s roughness coefficient for the reach. MAN must be greater than zero. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value.

  • ncon integer value that defines the number of reaches connected to the reach. If a value of zero is specified for NCON an entry for IFNO is still required in the subsequent CONNECTIONDATA block.

  • ustrf real value that defines the fraction of upstream flow from each upstream reach that is applied as upstream inflow to the reach. The sum of all USTRF values for all reaches connected to the same upstream reach must be equal to one and USTRF must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value.

  • ndv integer value that defines the number of downstream diversions for the reach.

  • aux represents the values of the auxiliary variables for each stream reach. The values of auxiliary variables must be present for each stream reach. The values must be specified in the order of the auxiliary variables specified in the OPTIONS block. If the package supports time series and the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value.

  • boundname name of the stream reach cell. BOUNDNAME is an ASCII character variable that can contain as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire name must be enclosed within single quotes.

Block: CROSSSECTIONS

  • ifno integer value that defines the feature (reach) number associated with the specified cross-section table file on the line. IFNO must be greater than zero and less than or equal to NREACHES. The program will also terminate with an error if table information for a reach is specified more than once.

  • TAB6 keyword to specify that record corresponds to a cross-section table file.

  • FILEIN keyword to specify that an input filename is expected next.

  • tab6_filename character string that defines the path and filename for the file containing cross-section table data for the reach. The TAB6_FILENAME file includes the number of entries in the file and the station elevation data in terms of the fractional width and the reach depth. Instructions for creating the TAB6_FILENAME input file are provided in SFR Reach Cross-Section Table Input File section.

Block: CONNECTIONDATA

  • ifno integer value that defines the feature (reach) number associated with the specified CONNECTIONDATA data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach connection information must be specified for every reach or the program will terminate with an error. The program will also terminate with an error if connection information for a reach is specified more than once.

  • ic integer value that defines the reach number of the reach connected to the current reach and whether it is connected to the upstream or downstream end of the reach. Negative IC numbers indicate connected reaches are connected to the downstream end of the current reach. Positive IC numbers indicate connected reaches are connected to the upstream end of the current reach. The absolute value of IC must be greater than zero and less than or equal to NREACHES. IC should not be specified when NCON is zero but must be specified otherwise.

Block: DIVERSIONS

  • ifno integer value that defines the feature (reach) number associated with the specified DIVERSIONS data on the line. IFNO must be greater than zero and less than or equal to NREACHES. Reach diversion information must be specified for every reach with a NDV value greater than 0 or the program will terminate with an error. The program will also terminate with an error if diversion information for a given reach diversion is specified more than once.

  • idv integer value that defines the downstream diversion number for the diversion for reach IFNO. IDV must be greater than zero and less than or equal to NDV for reach IFNO.

  • iconr integer value that defines the downstream reach that will receive the diverted water. IDV must be greater than zero and less than or equal to NREACHES. Furthermore, reach ICONR must be a downstream connection for reach IFNO.

  • cprior character string value that defines the the prioritization system for the diversion, such as when insufficient water is available to meet all diversion stipulations, and is used in conjunction with the value of FLOW value specified in the STRESS_PERIOD_DATA section. Available diversion options include: (1) CPRIOR = “FRACTION”, then the amount of the diversion is computed as a fraction of the streamflow leaving reach IFNO (Q_{DS}); in this case, 0.0 ≤ DIVFLOW ≤ 1.0. (2) CPRIOR = “EXCESS”, a diversion is made only if Q_{DS} for reach IFNO exceeds the value of DIVFLOW. If this occurs, then the quantity of water diverted is the excess flow (Q_{DS} - DIVFLOW) and Q_{DS} from reach IFNO is set equal to DIVFLOW. This represents a flood-control type of diversion, as described by Danskin and Hanson (2002). (3) CPRIOR = “THRESHOLD”, then if Q_{DS} in reach IFNO is less than the specified diversion flow DIVFLOW, no water is diverted from reach IFNO. If Q_{DS} in reach IFNO is greater than or equal to DIVFLOW, DIVFLOW is diverted and Q_{DS} is set to the remainder (Q_{DS} - DIVFLOW)). 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). (4) CPRIOR = “UPTO” – if Q_{DS} in reach IFNO is greater than or equal to the specified diversion flow DIVFLOW, Q_{DS} is reduced by DIVFLOW. If Q_{DS} in reach IFNO is less than DIVFLOW, DIVFLOW is set to Q_{DS} and there will be no flow available for reaches connected to downstream end of reach IFNO.

Block: PERIOD

  • iper integer value specifying the starting stress period number for which the data specified in the PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater than zero. The IPER value assigned to a stress period block must be greater than the IPER value assigned for the previous PERIOD block. The information specified in the PERIOD block will continue to apply for all subsequent stress periods, unless the program encounters another PERIOD block.

  • ifno integer value that defines the feature (reach) number associated with the specified PERIOD data on the line. IFNO must be greater than zero and less than or equal to NREACHES.

  • sfrsetting line of information that is parsed into a keyword and values. Keyword values that can be used to start the SFRSETTING string include: STATUS, BEDK, MANNING, STAGE, INFLOW, RAINFALL, EVAPORATION, RUNOFF, DIVERSION, UPSTREAM_FRACTION, and AUXILIARY.

      STATUS <status>
      BEDK <bedk>
      MANNING <manning>
      STAGE <stage>
      INFLOW <inflow>
      RAINFALL <rainfall>
      EVAPORATION <evaporation>
      RUNOFF <runoff>
      DIVERSION <idv> <divflow> 
      UPSTREAM_FRACTION <upstream_fraction>
      CROSS_SECTION TAB6 FILEIN <tab6_filename> 
      AUXILIARY <auxname> <auxval> 
    
  • status keyword option to define stream reach status. STATUS can be ACTIVE, INACTIVE, or SIMPLE. The SIMPLE STATUS option simulates streamflow using a user-specified stage for a reach or a stage set to the top of the reach (depth = 0). In cases where the simulated leakage calculated using the specified stage exceeds the sum of inflows to the reach, the stage is set to the top of the reach and leakage is set equal to the sum of inflows. Upstream fractions should be changed using the UPSTREAM_FRACTION SFRSETTING if the status for one or more reaches is changed to ACTIVE or INACTIVE. For example, if one of two downstream connections for a reach is inactivated, the upstream fraction for the active and inactive downstream reach should be changed to 1.0 and 0.0, respectively, to ensure that the active reach receives all of the downstream outflow from the upstream reach. By default, STATUS is ACTIVE.

  • bedk real or character value that defines the hydraulic conductivity of the reach streambed. BEDK can be any positive value if the reach is not connected to an underlying GWF cell. Otherwise, BEDK must be greater than zero. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value.

  • manning real or character value that defines the Manning’s roughness coefficient for the reach. MANNING must be greater than zero. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value.

  • stage real or character value that defines the stage for the reach. The specified STAGE is only applied if the reach uses the simple routing option. If STAGE is not specified for reaches that use the simple routing option, the specified stage is set to the top of the reach. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value.

  • inflow real or character value that defines the volumetric inflow rate for the streamflow routing reach. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value. By default, inflow rates are zero for each reach.

  • rainfall real or character value that defines the volumetric rate per unit area of water added by precipitation directly on the streamflow routing reach. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value. By default, rainfall rates are zero for each reach.

  • evaporation real or character value that defines the volumetric rate per unit area of water subtracted by evaporation from the streamflow routing reach. A positive evaporation rate should be provided. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value. If the volumetric evaporation rate for a reach exceeds the sources of water to the reach (upstream and specified inflows, rainfall, and runoff but excluding groundwater leakage into the reach) the volumetric evaporation rate is limited to the sources of water to the reach. By default, evaporation rates are zero for each reach.

  • runoff real or character value that defines the volumetric rate of diffuse overland runoff that enters the streamflow routing reach. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value. If the volumetric runoff rate for a reach is negative and exceeds inflows to the reach (upstream and specified inflows, and rainfall but excluding groundwater leakage into the reach) the volumetric runoff rate is limited to inflows to the reach and the volumetric evaporation rate for the reach is set to zero. By default, runoff rates are zero for each reach.

  • DIVERSION keyword to indicate diversion record.

  • idv an integer value specifying which diversion of reach IFNO that DIVFLOW is being specified for. Must be less or equal to ndv for the current reach (IFNO).

  • divflow real or character value that defines the volumetric diversion (DIVFLOW) rate for the streamflow routing reach. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value.

  • upstream_fraction real value that defines the fraction of upstream flow (USTRF) from each upstream reach that is applied as upstream inflow to the reach. The sum of all USTRF values for all reaches connected to the same upstream reach must be equal to one.

  • CROSS_SECTION keyword to specify that record corresponds to a reach cross-section.

  • TAB6 keyword to specify that record corresponds to a cross-section table file.

  • FILEIN keyword to specify that an input filename is expected next.

  • tab6_filename character string that defines the path and filename for the file containing cross-section table data for the reach. The TAB6_FILENAME file includes the number of entries in the file and the station elevation data in terms of the fractional width and the reach depth. Instructions for creating the TAB6_FILENAME input file are provided in SFR Reach Cross-Section Table Input File section.

  • AUXILIARY keyword for specifying auxiliary variable.

  • auxname name for the auxiliary variable to be assigned AUXVAL. AUXNAME must match one of the auxiliary variable names defined in the OPTIONS block. If AUXNAME does not match one of the auxiliary variable names defined in the OPTIONS block the data are ignored.

  • auxval value for the auxiliary variable. If the Options block includes a TIMESERIESFILE entry (see the “Time-Variable Input” section), values can be obtained from a time series by entering the time-series name in place of a numeric value.

Example Input File

Example 1

    BEGIN OPTIONS
      UNIT_CONVERSION 1.486
      BOUNDNAMES
      PRINT_STAGE
      PRINT_FLOWS
      STAGE FILEOUT sfr-1.stage.bin
      BUDGET FILEOUT sfr-1.cbc
    END OPTIONS
    
    #dimension block is required
    BEGIN DIMENSIONS
      NREACHES 37
    END DIMENSIONS
    
    BEGIN PACKAGEDATA
    #ifno k  i  j rlen rwid        rgrd      rtp   rbth     rhk   man  ncon ustrf  ndv  boundname
        1 1  1  1 4500.  12    8.67E-04 1093.048    3.0 0.00003  0.03     1   1.0    0    reach1
        2 1  2  2 7000.  12    8.67E-04 1088.059    3.0 0.00003  0.03     2   1.0    0    reach2
        3 1  3  3 6000.  12    8.67E-04 1082.419    3.0 0.00003  0.03     2   1.0    0    reach3
        4 1  3  4 5550.  12    8.67E-04 1077.408    3.0 0.00003  0.03     3   1.0    1    reach4
        5 1  4  5 6500.  12    9.43E-04 1071.934    3.0 0.00003  0.03     2   1.0    0
        6 1  5  6 5000.  12    9.43E-04 1066.509    3.0 0.00003  0.03     2   1.0    0
        7 1  6  6 5000.  12    9.43E-04 1061.792    3.0 0.00003  0.03     2   1.0    0
        8 1  7  6 5000.  12    9.43E-04 1057.075    3.0 0.00003  0.03     2   1.0    0
        9 1  8  6 5000.  12    9.43E-04 1052.359    3.0 0.00003  0.03     2   1.0    0
       10 1  3  5 5000.  10    5.45E-04 1073.636    2.0 0.00003  0.03     2   0.0    0    canal
       11 1  3  6 5000.  10    5.45E-04 1070.909    2.0 0.00003  0.03     2   1.0    0    canal
       12 1  3  7 4500.  10    5.45E-04 1068.318    2.0 0.00003  0.03     2   1.0    0    canal
       13 1  4  8 6000.  10    5.45E-04 1065.455    2.0 0.00003  0.03     2   1.0    0    canal
       14 1  5  8 5000.  10    5.45E-04 1062.455    2.0 0.00003  0.03     2   1.0    0    canal
       15 1  6  8 2000.  10    5.45E-04 1060.545    2.0 0.00003  0.03     2   1.0    0    canal
       16 1  5 10 2500.  10    1.81E-03 1077.727    3.0 0.00003  0.03     1   1.0    0
       17 1  5  9 5000.  10    1.81E-03 1070.909    3.0 0.00003  0.03     2   1.0    0
       18 1  6  8 3500.  10    1.81E-03 1063.182    3.0 0.00003  0.03     2   1.0    0
       19 1  6  8 4000.  15    1.00E-03 1058.000    3.0 0.00003  0.03     3   1.0    0
       20 1  7  7 5000.  15    1.00E-03 1053.500    3.0 0.00003  0.03     2   1.0    0
       21 1  8  7 3500.  15    1.00E-03 1049.250    3.0 0.00003  0.03     2   1.0    0
       22 1  8  6 2500.  15    1.00E-03 1046.250    3.0 0.00003  0.03     2   1.0    0
       23 1  9  6 5000.  12    9.09E-04 1042.727    3.0 0.00003  0.03     3   1.0    0
       24 1 10  7 5000.  12    9.09E-04 1038.182    3.0 0.00003  0.03     2   1.0    0
       25 1 11  7 5000.  12    9.09E-04 1033.636    3.0 0.00003  0.03     2   1.0    0
       26 1 12  7 5000.  12    9.09E-04 1029.091    3.0 0.00003  0.03     2   1.0    0
       27 1 13  7 2000.  12    9.09E-04 1025.909    3.0 0.00003  0.03     2   1.0    0
       28 1 14  9 5000.  55    9.67E-04 1037.581    3.0 0.00006  0.025    1   1.0    0
       29 1 13  8 5500.  55    9.67E-04 1032.500    3.0 0.00006  0.025    2   1.0    0
       30 1 13  7 5000.  55    9.67E-04 1027.419    3.0 0.00006  0.025    2   1.0    0
       31 1 13  6 5000.  40    1.25E-03 1021.875    3.0 0.00006  0.025    3   1.0    0
       32 1 13  5 5000.  40    1.25E-03 1015.625    3.0 0.00006  0.025    2   1.0    0
       33 1 13  4 5000.  40    1.25E-03 1009.375    3.0 0.00006  0.025    2   1.0    0
       34 1 13  3 5000.  40    1.25E-03 1003.125    3.0 0.00006  0.025    2   1.0    0
       35 1 13  2 5000.  40    1.25E-03 996.8750    3.0 0.00006  0.025    2   1.0    0
       36 1 13  1 3000.  40    1.25E-03 991.8750    3.0 0.00006  0.025    2   1.0    0
       37 0  0  0 5000.  40    1.25E-03 985.6250    3.0 0.00006  0.025    1   1.0    0
    END PACKAGEDATA
    
    BEGIN CONNECTIONDATA
    #ifno ic1 ic2 ic3
        1  -2
        2   1  -3
        3   2  -4
        4   3  -5 -10
        5   4  -6
        6   5  -7
        7   6  -8
        8   7  -9
        9   8 -23
       10   4 -11
       11  10 -12
       12  11 -13
       13  12 -14
       14  13 -15
       15  14 -19
       16 -17
       17  16 -18
       18  17 -19
       19  15  18 -20
       20  19 -21
       21  20 -22
       22  21 -23
       23   9  22 -24
       24  23 -25
       25  24 -26
       26  25 -27
       27  26 -31
       28 -29
       29  28 -30
       30  29 -31
       31  27  30 -32
       32  31 -33
       33  32 -34
       34  33 -35
       35  34 -36
       36  35 -37
       37  36
    END CONNECTIONDATA
    
    BEGIN DIVERSIONS
    # ifno idv iconr cprior
         4   1    10 UPTO
    END DIVERSIONS
    
    BEGIN PERIOD 1
    #ifno sfrsetting
        1 inflow 25.
       16 inflow 10.
       28 inflow 150.
        4 diversion 1 10.
       10 status simple
       11 status simple
       12 status simple
       13 status simple
       14 status simple
       15 status simple
       10 stage 1075.5454
       11 stage 1072.6363
       12 stage 1069.8727
       13 stage 1066.8181
       14 stage 1063.6181
       15 stage 1061.5818
    END PERIOD

Example 2

    BEGIN OPTIONS
      UNIT_CONVERSION 1.486
      BOUNDNAMES
      PRINT_STAGE
      PRINT_FLOWS
      STAGE FILEOUT sfr-1.stage.bin
      BUDGET FILEOUT sfr-1.cbc
    END OPTIONS
    
    #dimension block is required
    BEGIN DIMENSIONS
      NREACHES 10
    END DIMENSIONS
    
    BEGIN PACKAGEDATA
    #ifno k  i j rlen rwid        rgrd      rtp   rbth     rhk   man  ncon ustrf  ndv  boundname
        1 1  1 1 1000.  10    8.67E-04 1093.048    3.0 0.00003  0.03     1   1.0    0    trapezoidal
        2 1  2 2 2000.  11    8.67E-04 1088.059    3.0 0.00003  0.03     2   1.0    0    trapezoidal
        3 1  3 3 3000.  12    8.67E-04 1082.419    3.0 0.00003  0.03     2   1.0    0    trapezoidal
        4 1  3 4 4000.  13    8.67E-04 1077.408    3.0 0.00003  0.03     2   1.0    0    trapezoidal
        5 1  4 5 5000.  14    9.43E-04 1071.934    3.0 0.00003  0.03     2   1.0    0    rect
        6 1  5 6 5000.  15    9.43E-04 1066.509    3.0 0.00003  0.03     2   1.0    0    rect
        7 1  6 6 5000.  16    9.43E-04 1061.792    3.0 0.00003  0.03     2   1.0    0    rect
        8 1  7 6 5000.  17    9.43E-04 1057.075    3.0 0.00003  0.03     2   1.0    0    rect
        9 1  8 6 5000.  18    9.43E-04 1052.359    3.0 0.00003  0.03     2   1.0    0    rect
       10 1  3 5 5000.  19    5.45E-04 1073.636    2.0 0.00003  0.03     1   0.0    0    rect
    END PACKAGEDATA
    
    # CROSSSECTIONS BLOCK is optional
    BEGIN CROSSSECTIONS
      1 TAB6 FILEIN trapezoidal.tab
      2 TAB6 FILEIN trapezoidal.tab
      3 TAB6 FILEIN trapezoidal.tab
    END CROSSSECTIONS
    
    BEGIN CONNECTIONDATA
    # ifno ic1 ic2 ic3
         1  -2
         2   1  -3
         3   2  -4
         4   3  -5
         5   4  -6
         6   5  -7
         7   6  -8
         8   7  -9
         9   8 -10
        10   9
    END CONNECTIONDATA
    
    BEGIN PERIOD 1
    # ifno sfrsetting
         1 inflow 25.
         4 crosssection TAB6 FILEIN trapezoidal.tab
    END PERIOD

Available Observation Types

Stress Package Observation Type ID1 ID2 Description
SFR stage ifno or boundname -- Surface-water stage in a stream-reach boundary. If boundname is specified, boundname must be unique for each reach.
SFR ext-inflow ifno or boundname -- Inflow into a stream-reach from an external boundary for a stream-reach or a group of stream-reaches.
SFR inflow ifno or boundname -- Inflow into a stream-reach from upstream reaches for a stream-reach or a group of stream-reaches.
SFR from-mvr ifno or boundname -- Inflow into a stream-reach from the MVR package for a stream-reach or a group of stream-reaches.
SFR rainfall ifno or boundname -- Rainfall rate applied to a stream-reach or a group of stream-reaches.
SFR runoff ifno or boundname -- Runoff rate applied to a stream-reach or a group of stream-reaches.
SFR sfr ifno or boundname -- Simulated flow rate for a stream-reach and its aquifer connection for a stream-reach or a group of stream-reaches.
SFR evaporation ifno or boundname -- Simulated evaporation rate from a stream-reach or a group of stream-reaches.
SFR outflow ifno or boundname -- Outflow from a stream-reach to downstream reaches for a stream-reach or a group of stream-reaches.
SFR ext-outflow ifno or boundname -- Outflow from a stream-reach to an external boundary for a stream-reach or a group of stream-reaches.
SFR to-mvr ifno or boundname -- Outflow from a stream-reach that is available for the MVR package for a stream-reach or a group of stream-reaches.
SFR upstream-flow ifno or boundname -- Upstream flow for a stream-reach or a group of stream-reaches from upstream reaches and the MVR package.
SFR downstream-flow ifno or boundname -- Downstream flow for a stream-reach or a group of stream-reaches prior to diversions and the MVR package.
SFR depth ifno or boundname -- Surface-water depth in a stream-reach boundary. If boundname is specified, boundname must be unique for each reach.
SFR wet-perimeter ifno or boundname -- Wetted perimeter in a stream-reach boundary. If boundname is specified, boundname must be unique for each reach.
SFR wet-area ifno or boundname -- Wetted cross-section area in a stream-reach boundary. If boundname is specified, boundname must be unique for each reach.
SFR wet-width ifno or boundname -- Wetted top width in a stream-reach boundary. If boundname is specified, boundname must be unique for each reach.

Example Observation Input File

    BEGIN OPTIONS
      DIGITS 8
      PRINT_INPUT
    END OPTIONS
    
    BEGIN CONTINUOUS FILEOUT my_model.sfr.csv
    # obsname     obstype          id
      gage1stage  STAGE            reach4
      gage2stage  STAGE            7
      gage2inflow INFLOW           7
      gage2disch  DOWNSTREAM-FLOW  7
      gage3stage  STAGE            14
    END CONTINUOUS
    
    BEGIN CONTINUOUS FILEOUT my_model.sfr.leakage.csv
    # obsname    obstype           id
      leak1      SFR               reach1
      leak10     SFR               10
      leak11     SFR               11
      leak12     SFR               12
      leak13     SFR               13
      leak14     SFR               14
      leak15     SFR               15
      leakcanal  SFR               canal  #Sum of flows between canal reaches and groundwater
    END CONTINUOUS