Skip to content

Commit

Permalink
Adding streamflow energy transport (SFE) package
Browse files Browse the repository at this point in the history
  • Loading branch information
emorway-usgs committed Feb 7, 2024
1 parent 4939a95 commit 58caf88
Show file tree
Hide file tree
Showing 32 changed files with 1,957 additions and 41 deletions.
4 changes: 2 additions & 2 deletions doc/Common/gwe-obstypetable.tex
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@
\hline
% \input{../Common/gwe-esrobs.tex} \\
% \hline
% \input{../Common/gwe-sfeobs.tex} \\
% \hline
\input{../Common/gwe-sfeobs.tex} \\
\hline
% \input{../Common/gwe-lkeobs.tex} \\
% \hline
% \input{../Common/gwe-mweobs.tex} \\
Expand Down
27 changes: 14 additions & 13 deletions doc/Common/gwe-sfeobs.tex
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
% general APT observations
SFE & temperature & ifno or boundname & -- & Reach temperature. If boundname is specified, boundname must be unique for each reach. \\
SFE & flow-ja-face & ifno or boundname & ifno 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 & ifno or boundname & -- & Simulated energy storage flow rate for a reach or group of reaches. \\
SFE & constant & ifno or boundname & -- & Simulated energy constant-flow rate for a reach or group of reaches. \\
SFE & from-mvr & ifno 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 & ifno 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 & ifno or boundname & -- & Energy flow rate for a reach or group of reaches and its aquifer connection(s). \\
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). \\

%observations specific to the stream transport package
%observations specific to the stream energy transport package
% rainfall evaporation runoff ext-inflow withdrawal outflow
SFE & rainfall & ifno or boundname & -- & Rainfall rate applied to a reach or group of reaches multiplied by the rainfall temperature. \\
SFE & evaporation & ifno or boundname & -- & Simulated evaporation rate from a reach or group of reaches multiplied by the latent heat of vaporization, heat capacity of the simulated fluid, and the density of the simulated fluid. \\
SFE & runoff & ifno or boundname & -- & Runoff rate applied to a reach or group of reaches multiplied by the runoff temperature. \\
SFE & ext-inflow & ifno 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 & 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.
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.
4 changes: 4 additions & 0 deletions doc/mf6io/gwe/gwe.tex
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,10 @@ \subsection{Constant Temperature (CTP) Package}
\subsection{Energy Source Loading (ESL) Package}
\input{gwe/esl}

\newpage
\subsection{Streamflow Energy Transport (SFE) Package}
\input{gwe/sfe}

\newpage
\subsection{Flow Model Interface (FMI) Package}
\input{gwe/fmi}
Expand Down
4 changes: 3 additions & 1 deletion doc/mf6io/gwe/namefile.tex
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,12 @@ \subsubsection{Explanation of Variables}
IC6 & Initial Conditions Package \\
OC6 & Output Control Option \\
ADV6 & Advection Package \\
DSP6 & Dispersion Package \\
CND6 & Conduction Package \\
SSM6 & Source and Sink Mixing Package \\
EST6 & Energy Storage and Transfer Package \\
CTP6 & Constant Temperature Package & * \\
ESL6 & Energy Source Loading Package & * \\
SFE6 & Streamflow Energy Transport Package & * \\
OBS6 & Observations Option \\
\hline
\end{tabular*}
Expand Down
55 changes: 55 additions & 0 deletions doc/mf6io/gwe/sfe.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
Streamflow Energy Transport (SFE) Package information is read from the file that is specified by ``SFE6'' as the file type. There can be as many SFE Packages as necessary for a GWE model. Each SFE Package is designed to work with flows from a corresponding GWF SFR Package. By default \mf uses the SFE package name to determine which SFR Package corresponds to the SFE Package. Therefore, the package name of the SFE Package (as specified in the GWE name file) must match with the name of the corresponding SFR Package (as specified in the GWF name file). Alternatively, the name of the flow package can be specified using the FLOW\_PACKAGE\_NAME keyword in the options block. The GWE SFE Package cannot be used without a corresponding GWF SFR Package.

The SFE Package does not have a dimensions block; instead, dimensions for the SFE Package are set using the dimensions from the corresponding SFR Package. For example, the SFR Package requires specification of the number of reaches (NREACHES). SFE sets the number of reaches equal to NREACHES. Therefore, the PACKAGEDATA block below must have NREACHES entries in it.

\vspace{5mm}
\subsubsection{Structure of Blocks}
\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwe-sfe-options.dat}
\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwe-sfe-packagedata.dat}
\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwe-sfe-period.dat}

\vspace{5mm}
\subsubsection{Explanation of Variables}
\begin{description}
\input{./mf6ivar/tex/gwe-sfe-desc.tex}
\end{description}

\vspace{5mm}
\subsubsection{Example Input File}
\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwe-sfe-example.dat}

\vspace{5mm}
\subsubsection{Available observation types}
Streamflow Energy Transport Package observations include reach temperature and all of the terms that contribute to the continuity equation for each reach. Additional SFE Package observations include energy flow rates for individual reaches, or groups of reaches. The data required for each SFE Package observation type is defined in table~\ref{table:gwe-sfeobstype}. Negative and positive values for \texttt{sfe} observations represent a loss from and gain to the GWE model, respectively. For all other flow terms, negative and positive values represent a loss from and gain from the SFE package, respectively.

\begin{longtable}{p{2cm} p{2.75cm} p{2cm} p{1.25cm} p{7cm}}
\caption{Available SFE Package observation types} \tabularnewline

\hline
\hline
\textbf{Stress Package} & \textbf{Observation type} & \textbf{ID} & \textbf{ID2} & \textbf{Description} \\
\hline
\endfirsthead

\captionsetup{textformat=simple}
\caption*{\textbf{Table \arabic{table}.}{\quad}Available SFE Package observation types.---Continued} \tabularnewline

\hline
\hline
\textbf{Stress Package} & \textbf{Observation type} & \textbf{ID} & \textbf{ID2} & \textbf{Description} \\
\hline
\endhead


\hline
\endfoot

\input{../Common/gwe-sfeobs.tex}
\label{table:gwe-sfeobstype}
\end{longtable}

\vspace{5mm}
\subsubsection{Example Observation Input File}
\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwe-sfe-example-obs.dat}


3 changes: 3 additions & 0 deletions doc/mf6io/mf6ivar/dfn/common.dfn
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@ description keyword to indicate that the list of {#1} {#2} will be printed to th
name print_concentration
description keyword to indicate that the list of {#1} {#2} 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\_{#3} is specified, then {#2} are printed for the last time step of each stress period.

name print_temperature
description keyword to indicate that the list of {#1} {#2} 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\_{#3} is specified, then {#2} are printed for the last time step of each stress period.

name print_flows
description keyword to indicate that the list of {#1} 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.

Expand Down
Loading

0 comments on commit 58caf88

Please sign in to comment.