### GWT-SFT #### Structure of Blocks _FOR EACH SIMULATION_ ``` BEGIN OPTIONS [FLOW_PACKAGE_NAME ] [AUXILIARY ] [FLOW_PACKAGE_AUXILIARY_NAME ] [BOUNDNAMES] [PRINT_INPUT] [PRINT_CONCENTRATION] [PRINT_FLOWS] [SAVE_FLOWS] [CONCENTRATION 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 GWT 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 in the corresponding flow package. If specified, then the simulated concentrations from this advanced 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 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_CONCENTRATION` keyword to indicate that the list of reach concentration will be printed to the listing file for every stress period in which "CONCENTRATION PRINT" is specified in Output Control. If there is no Output Control option and PRINT_CONCENTRATION is specified, then concentration 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. * `CONCENTRATION` keyword to specify that record corresponds to concentration. * `concfile` name of the binary output file to write concentration 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 SFT 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 SFT package. ##### 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. * `strt` real value that defines the starting concentration for the reach. * `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. * `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. * `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, CONCENTRATION, RAINFALL, EVAPORATION, RUNOFF, and AUXILIARY. These settings are used to assign the concentration of associated with the corresponding flow terms. Concentrations 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 concentration of the reach. STATUS CONCENTRATION 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 concentration will be calculated for the reach. If a reach is inactive, then there will be no solute mass fluxes into or out of the reach and the inactive value will be written for the reach concentration. If a reach is constant, then the concentration for the reach will be fixed at the user specified value. * `concentration` real or character value that defines the concentration for the reach. The specified CONCENTRATION is only applied if the reach is a constant concentration 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 solute concentration (ML-3) 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` real or character value that defines the concentration of evaporated water (ML-3) for the reach. If this concentration value is larger than the simulated concentration in the reach, then the evaporated water will be removed at the same concentration as 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. * `runoff` real or character value that defines the concentration of runoff (ML-3) for the reach. Value 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. * `inflow` real or character value that defines the concentration of inflow (ML-3) for the reach. Value 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. * `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_CONCENTRATION PRINT_FLOWS SAVE_FLOWS CONCENTRATION FILEOUT gwt_sft_02.sft.bin BUDGET FILEOUT gwt_sft_02.sft.bud OBS6 FILEIN gwt_sft_02.sft.obs END OPTIONS BEGIN PACKAGEDATA # L STRT aux1 aux2 bname 1 0.00000000 99.00000000 999.00000000 REACH1 2 0.00000000 99.00000000 999.00000000 REACH2 3 0.00000000 99.00000000 999.00000000 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 | |----------------|------------------|-----|-----|-------------| | SFT | concentration | ifno or boundname | -- | Reach concentration. If boundname is specified, boundname must be unique for each reach. | | SFT | flow-ja-face | ifno or boundname | ifno or -- | Mass flow between two reaches. If a boundname is specified for ID1, then the result is the total mass flow for all reaches. If a boundname is specified for ID1 then ID2 is not used. | | SFT | storage | ifno or boundname | -- | Simulated mass storage flow rate for a reach or group of reaches. | | SFT | constant | ifno or boundname | -- | Simulated mass constant-flow rate for a reach or group of reaches. | | SFT | from-mvr | ifno or boundname | -- | Simulated mass inflow into a reach or group of reaches from the MVT package. Mass inflow is calculated as the product of provider concentration and the mover flow rate. | | SFT | to-mvr | ifno or boundname | -- | Mass 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. | | SFT | sft | ifno or boundname | -- | Mass flow rate for a reach or group of reaches and its aquifer connection(s). | | SFT | rainfall | ifno or boundname | -- | Rainfall rate applied to a reach or group of reaches multiplied by the rainfall concentration. | | SFT | evaporation | ifno or boundname | -- | Simulated evaporation rate from a reach or group of reaches multiplied by the evaporation concentration. | | SFT | runoff | ifno or boundname | -- | Runoff rate applied to a reach or group of reaches multiplied by the runoff concentration. | | SFT | ext-inflow | ifno or boundname | -- | Mass inflow into a reach or group of reaches calculated as the external inflow rate multiplied by the inflow concentration. | | SFT | ext-outflow | ifno 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 ifno. | #### Example Observation Input File ``` BEGIN options DIGITS 7 PRINT_INPUT END options BEGIN continuous FILEOUT gwt_sft02.lkt.obs.csv sft-1-conc CONCENTRATION 1 sft-1-extinflow EXT-INFLOW 1 sft-1-rain RAINFALL 1 sft-1-roff RUNOFF 1 sft-1-evap EVAPORATION 1 sft-1-stor STORAGE 1 sft-1-const CONSTANT 1 sft-1-gwt1 SFT 1 1 sft-1-gwt2 SFT 1 2 sft-2-gwt1 SFT 2 1 sft-1-mylake1 SFT MYREACHES sft-1-fjf FLOW-JA-FACE 1 2 sft-2-fjf FLOW-JA-FACE 2 1 sft-3-fjf FLOW-JA-FACE 2 3 sft-4-fjf FLOW-JA-FACE 3 2 sft-5-fjf FLOW-JA-FACE MYREACH1 sft-6-fjf FLOW-JA-FACE MYREACH2 sft-7-fjf FLOW-JA-FACE MYREACH3 END continuous ```