### GWF-SFR #### Structure of Blocks _FOR EACH SIMULATION_ ``` BEGIN OPTIONS [STORAGE] [AUXILIARY ] [BOUNDNAMES] [PRINT_INPUT] [PRINT_STAGE] [PRINT_FLOWS] [SAVE_FLOWS] [STAGE FILEOUT ] [BUDGET FILEOUT ] [BUDGETCSV FILEOUT ] [PACKAGE_CONVERGENCE FILEOUT ] [TS6 FILEIN ] [OBS6 FILEIN ] [MOVER] [MAXIMUM_PICARD_ITERATIONS ] [MAXIMUM_ITERATIONS ] [MAXIMUM_DEPTH_CHANGE ] [LENGTH_CONVERSION ] [TIME_CONVERSION ] END OPTIONS ``` ``` BEGIN DIMENSIONS NREACHES END DIMENSIONS ``` ``` BEGIN PACKAGEDATA [] [] [] [] ... END PACKAGEDATA ``` ``` BEGIN CROSSSECTIONS TAB6 FILEIN TAB6 FILEIN ... END CROSSSECTIONS ``` ``` BEGIN CONNECTIONDATA [] [] ... END CONNECTIONDATA ``` ``` BEGIN DIVERSIONS ... END DIVERSIONS ``` ``` BEGIN INITIALSTAGES ... END INITIALSTAGES ``` _FOR ANY STRESS PERIOD_ ``` BEGIN PERIOD ... END PERIOD ``` #### Explanation of Variables ##### Block: OPTIONS * `STORAGE` keyword that activates storage contributions to the stream-flow routing package continuity equation. * `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: INITIALSTAGES * `ifno` integer value that defines the feature (reach) number associated with the specified initial stage. Initial stage data must be specified for every reach or the program will terminate with an error. The program will also terminate with a error if IFNO is less than one or greater than NREACHES. * `initialstage` real value that defines the initial stage for the reach. The program will terminate with an error if INITIALSTAGE is less than the RTP value for reach IFNO defined in the PACKAGEDATA block. INITIALSTAGE data are used only if STORAGE is specified in the Options block and the first stress period is transient or for reaches defined to use the SIMPLE STATUS in the Period block. ##### 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 BEDK MANNING STAGE INFLOW RAINFALL EVAPORATION RUNOFF DIVERSION UPSTREAM_FRACTION CROSS_SECTION TAB6 FILEIN AUXILIARY * `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 ```