### GWE-SFE #### Structure of Blocks _FOR EACH SIMULATION_ ``` BEGIN OPTIONS [FLOW_PACKAGE_NAME ] [AUXILIARY ] [FLOW_PACKAGE_AUXILIARY_NAME ] [BOUNDNAMES] [PRINT_INPUT] [PRINT_TEMPERATURE] [PRINT_FLOWS] [SAVE_FLOWS] [TEMPERATURE FILEOUT ] [BUDGET FILEOUT ] [BUDGETCSV FILEOUT ] [TS6 FILEIN ] [OBS6 FILEIN ] END OPTIONS ``` ``` BEGIN PACKAGEDATA [] [] [] [] ... END PACKAGEDATA ``` _FOR ANY STRESS PERIOD_ ``` BEGIN PERIOD ... END PERIOD ``` #### Explanation of Variables ##### Block: OPTIONS * `flow_package_name` keyword to specify the name of the corresponding flow package. If not specified, then the corresponding flow package must have the same name as this advanced transport package (the name associated with this package in the GWE name file). * `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. * `flow_package_auxiliary_name` keyword to specify the name of an auxiliary variable provided in the corresponding flow package (i.e., FLOW_PACKAGE_NAME). If specified, then the simulated temperatures from this advanced energy transport package will be copied into the auxiliary variable specified with this name. Note that the flow package must have an auxiliary variable with this name or the program will terminate with an error. If the flows for this advanced energy transport package are read from a file, then this option will have no effect. * `BOUNDNAMES` keyword to indicate that boundary names may be provided with the list of reach cells. * `PRINT_INPUT` keyword to indicate that the list of reach information will be written to the listing file immediately after it is read. * `PRINT_TEMPERATURE` keyword to indicate that the list of reach temperatures will be printed to the listing file for every stress period in which "TEMPERATURE PRINT" is specified in Output Control. If there is no Output Control option and PRINT_TEMPERATURE is specified, then temperatures are printed for the last time step of each stress period. * `PRINT_FLOWS` keyword to indicate that the list of 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 reach flow terms will be written to the file specified with "BUDGET FILEOUT" in Output Control. * `TEMPERATURE` keyword to specify that record corresponds to temperature. * `tempfile` name of the binary output file to write temperature 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. * `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 SFE 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 SFE package. ##### Block: PACKAGEDATA * `rno` integer value that defines the reach number associated with the specified PACKAGEDATA data on the line. RNO 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. * `strt` real value that defines the starting temperature for the reach. * `ktf` is the thermal conductivity of the of the interface between the aquifer cell and the stream reach. * `rbthcnd` real value that defines the thickness of the streambed material through which conduction occurs. Must be greater than 0. * `aux` represents the values of the auxiliary variables for each reach. The values of auxiliary variables must be present for each 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 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: 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. * `rno` integer value that defines the reach number associated with the specified PERIOD data on the line. RNO must be greater than zero and less than or equal to NREACHES. * `reachsetting` line of information that is parsed into a keyword and values. Keyword values that can be used to start the REACHSETTING string include: STATUS, TEMPERATURE, RAINFALL, EVAPORATION, RUNOFF, and AUXILIARY. These settings are used to assign the temperature of associated with the corresponding flow terms. Temperatures cannot be specified for all flow terms. For example, the Streamflow Package supports a "DIVERSION" flow term. Diversion water will be routed using the calculated temperature of the reach. STATUS TEMPERATURE RAINFALL EVAPORATION RUNOFF INFLOW AUXILIARY * `status` keyword option to define reach status. STATUS can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is ACTIVE, which means that temperature will be calculated for the reach. If a reach is inactive, then there will be no energy fluxes into or out of the reach and the inactive value will be written for the reach temperature. If a reach is constant, then the temperature for the reach will be fixed at the user specified value. * `temperature` real or character value that defines the temperature for the reach. The specified TEMPERATURE is only applied if the reach is a constant temperature 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. * `rainfall` real or character value that defines the rainfall temperature (e.g., circC or circF) for 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. * `evaporation` use of the EVAPORATION keyword is allowed in the SFE package; however, the specified value is not currently used in SFE calculations. Instead, the latent heat of evaporation is multiplied by the simulated evaporation rate for determining the thermal energy lost from a stream reach. * `runoff` real or character value that defines the temperature of runoff (e.g., circC or circF) for the reach. Users are free to use whatever temperature scale they want, which might include negative temperatures. 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 temperature of inflow (e.g., circC or circF) for the reach. Users are free to use whatever temperature scale they want, which might include negative temperatures. 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. * `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 ``` BEGIN OPTIONS AUXILIARY aux1 aux2 BOUNDNAMES PRINT_INPUT PRINT_TEMPERATURE PRINT_FLOWS SAVE_FLOWS TEMPERATURE FILEOUT gwe_sfe_02.sfe.bin BUDGET FILEOUT gwe_sfe_02.sfe.bud OBS6 FILEIN gwe_sfe_02.sfe.obs END OPTIONS BEGIN PACKAGEDATA # L STRT aux1 aux2 bname 1 5.000 9.90 99.90 REACH1 2 5.000 9.90 99.90 REACH2 3 5.000 9.90 99.90 REACH3 END PACKAGEDATA BEGIN PERIOD 1 1 STATUS ACTIVE 2 STATUS ACTIVE 3 STATUS ACTIVE END PERIOD 1 ``` #### Available Observation Types | Stress Package | Observation Type | ID1 | ID2 | Description | |----------------|------------------|-----|-----|-------------| | SFE | temperature | rno or boundname | -- | Reach temperature. If boundname is specified, boundname must be unique for each reach. | | SFE | flow-ja-face | rno or boundname | rno or -- | Energy flow between two reaches. If a boundname is specified for ID1, then the result is the total energy flow for all reaches. If a boundname is specified for ID1 then ID2 is not used. | | SFE | storage | rno or boundname | -- | Simulated energy storage flow rate for a reach or group of reaches. | | SFE | constant | rno or boundname | -- | Simulated energy constant-flow rate for a reach or group of reaches. | | SFE | from-mvr | rno or boundname | -- | Simulated energy inflow into a reach or group of reaches from the MVE package. Energy inflow is calculated as the product of provider temperature and the mover flow rate. | | SFE | to-mvr | rno or boundname | -- | Energy outflow from a reach, or a group of reaches that is available for the MVR package. If boundname is not specified for ID, then the outflow available for the MVR package from a specific reach is observed. | | SFE | sfe | rno or boundname | -- | Energy flow rate for a reach or group of reaches and its aquifer connection(s). | | SFE | rainfall | rno or boundname | -- | Rainfall rate applied to a reach or group of reaches multiplied by the rainfall temperature. | | SFE | evaporation | rno or boundname | -- | Simulated evaporation rate from a reach or group of reaches multiplied by the latent heat of vaporization for determining the amount of energy lost from a reach. | | SFE | runoff | rno or boundname | -- | Runoff rate applied to a reach or group of reaches multiplied by the runoff temperature. | | SFE | ext-inflow | rno or boundname | -- | Energy inflow into a reach or group of reaches calculated as the external inflow rate multiplied by the inflow temperature. | | SFE | ext-outflow | rno or boundname | -- | External outflow from a reach or group of reaches to an external boundary. If boundname is not specified for ID, then the external outflow from a specific reach is observed. In this case, ID is the reach rno. | | SFE | strmbd-cond | rno or boundname | -- | Amount of heat conductively exchanged with the streambed material. | #### Example Observation Input File ``` BEGIN options DIGITS 7 PRINT_INPUT END options BEGIN continuous FILEOUT gwe_sfe02.sfe.obs.csv # obsname obstype id1 id2 sfe-1-temp TEMPERATURE 1 sfe-1-extinflow EXT-INFLOW 1 sfe-1-rain RAINFALL 1 sfe-1-roff RUNOFF 1 sfe-1-stor STORAGE 1 sfe-1-const CONSTANT 1 sfe-1-gwe1 SFE 1 1 sfe-1-gwe2 SFE 1 2 sfe-2-gwe1 SFE 2 1 sfe-1-mylake1 SFE MYREACHES sfe-1-fjf FLOW-JA-FACE 1 2 sfe-2-fjf FLOW-JA-FACE 2 1 sfe-3-fjf FLOW-JA-FACE 2 3 sfe-4-fjf FLOW-JA-FACE 3 2 sfe-5-fjf FLOW-JA-FACE MYREACH1 sfe-6-fjf FLOW-JA-FACE MYREACH2 sfe-7-fjf FLOW-JA-FACE MYREACH3 END continuous ```