From 8bdb30248483eb79bb8e2ec98cad9019b2e16025 Mon Sep 17 00:00:00 2001 From: mreno Date: Thu, 4 Sep 2025 16:45:00 -0400 Subject: [PATCH 1/5] mf6io readarraygrid baseline --- doc/mf6io/gwf/chd.tex | 4 ++ doc/mf6io/gwf/chdg.tex | 57 ++++++++++++++++++ doc/mf6io/gwf/drn.tex | 4 ++ doc/mf6io/gwf/drng.tex | 52 +++++++++++++++++ doc/mf6io/gwf/evt.tex | 2 +- doc/mf6io/gwf/ghb.tex | 4 ++ doc/mf6io/gwf/ghbg.tex | 51 ++++++++++++++++ doc/mf6io/gwf/gwf.tex | 30 ++++++++-- doc/mf6io/gwf/rch.tex | 2 +- doc/mf6io/gwf/riv.tex | 4 ++ doc/mf6io/gwf/rivg.tex | 57 ++++++++++++++++++ doc/mf6io/gwf/wel.tex | 4 ++ doc/mf6io/gwf/welg.tex | 51 ++++++++++++++++ .../mf6ivar/examples/gwf-chdg-example-obs.dat | 19 ++++++ .../mf6ivar/examples/gwf-chdg-example.dat | 33 +++++++++++ .../mf6ivar/examples/gwf-drng-example-obs.dat | 10 ++++ .../mf6ivar/examples/gwf-drng-example.dat | 46 +++++++++++++++ .../mf6ivar/examples/gwf-ghbg-example-obs.dat | 10 ++++ .../mf6ivar/examples/gwf-ghbg-example.dat | 33 +++++++++++ .../mf6ivar/examples/gwf-rivg-example-obs.dat | 10 ++++ .../mf6ivar/examples/gwf-rivg-example.dat | 58 +++++++++++++++++++ .../mf6ivar/examples/gwf-welg-example-obs.dat | 10 ++++ .../mf6ivar/examples/gwf-welg-example.dat | 34 +++++++++++ 23 files changed, 578 insertions(+), 7 deletions(-) create mode 100644 doc/mf6io/gwf/chdg.tex create mode 100644 doc/mf6io/gwf/drng.tex create mode 100644 doc/mf6io/gwf/ghbg.tex create mode 100644 doc/mf6io/gwf/rivg.tex create mode 100644 doc/mf6io/gwf/welg.tex create mode 100644 doc/mf6io/mf6ivar/examples/gwf-chdg-example-obs.dat create mode 100644 doc/mf6io/mf6ivar/examples/gwf-chdg-example.dat create mode 100644 doc/mf6io/mf6ivar/examples/gwf-drng-example-obs.dat create mode 100644 doc/mf6io/mf6ivar/examples/gwf-drng-example.dat create mode 100644 doc/mf6io/mf6ivar/examples/gwf-ghbg-example-obs.dat create mode 100644 doc/mf6io/mf6ivar/examples/gwf-ghbg-example.dat create mode 100644 doc/mf6io/mf6ivar/examples/gwf-rivg-example-obs.dat create mode 100644 doc/mf6io/mf6ivar/examples/gwf-rivg-example.dat create mode 100644 doc/mf6io/mf6ivar/examples/gwf-welg-example-obs.dat create mode 100644 doc/mf6io/mf6ivar/examples/gwf-welg-example.dat diff --git a/doc/mf6io/gwf/chd.tex b/doc/mf6io/gwf/chd.tex index b8edb1b4fe8..083ecf5b3bf 100644 --- a/doc/mf6io/gwf/chd.tex +++ b/doc/mf6io/gwf/chd.tex @@ -1,6 +1,10 @@ Input to the Constant-Head (CHD) Package is read from the file that has type ``CHD6'' in the Name File. Any number of CHD Packages can be specified for a single groundwater flow model; however, an error will occur if a CHD Package attempts to make a GWF cell a constant-head cell when that cell has already been designated as a constant-head cell either within the present CHD Package or within another CHD Package. +Constant-Head input can be specified using lists or arrays. List-based input for the CHD package is the default, and is described here. Instructions for specifying array-based CHD input are described in the next section. + +List-based input offers several advantages over the array-based input for specifying constant heads. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different constant head for each area. In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual constant head entries. Another advantage to using list-based input for specifying constant heads is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum constant heads for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign constant heads to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for constant heads. + In previous MODFLOW versions, it was not possible to convert a constant-head cell to an active cell. Once a cell was designated as a constant-head cell, it remained a constant-head cell until the end of the end of the simulation. In \mf a constant-head cell will become active again if it is not included as a constant-head cell in subsequent stress periods. Previous MODFLOW versions allowed specification of SHEAD and EHEAD, which were the starting and ending prescribed heads for a stress period. Linear interpolation was used to calculate a value for each time step. In \mf only a single head value can be specified for any constant-head cell in any stress period. The time-series functionality must be used in order to interpolate values to individual time steps. diff --git a/doc/mf6io/gwf/chdg.tex b/doc/mf6io/gwf/chdg.tex new file mode 100644 index 00000000000..cc8f21fe525 --- /dev/null +++ b/doc/mf6io/gwf/chdg.tex @@ -0,0 +1,57 @@ + +Input to the Constant-Head (CHD) Package is read from the file that has type ``CHD6'' in the Name File. Any number of CHD Packages can be specified for a single groundwater flow model; however, an error will occur if a CHD Package attempts to make a GWF cell a constant-head cell when that cell has already been designated as a constant-head cell either within the present CHD Package or within another CHD Package. + +Constant-Head Boundary input can be specified using lists or arrays. Array-based input for the CHD package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based constant-head boundaries is described in the previous section. Array-based input for the CHD package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. + +When array-based input is used for constant-heads, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maxiumum number of defined constant-head (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based CHD package especially when the number of constant-heads is sparse and the model grid is large. + +In previous MODFLOW versions, it was not possible to convert a constant-head cell to an active cell. Once a cell was designated as a constant-head cell, it remained a constant-head cell until the end of the end of the simulation. In \mf a constant-head cell will become active again if it is not included as a constant-head cell in subsequent stress periods. + +Previous MODFLOW versions allowed specification of SHEAD and EHEAD, which were the starting and ending prescribed heads for a stress period. Linear interpolation was used to calculate a value for each time step. In \mf only a single head value can be specified for any constant-head cell in any stress period. + +\vspace{5mm} +\subsubsection{Structure of Blocks} +\vspace{5mm} + +\noindent \textit{FOR EACH SIMULATION} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-chdg-options.dat} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-chdg-dimensions.dat} +\vspace{5mm} +\noindent \textit{FOR ANY STRESS PERIOD} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-chdg-period.dat} +\packageperioddescription + +\vspace{5mm} +\subsubsection{Explanation of Variables} +\begin{description} +\input{./mf6ivar/tex/gwf-chdg-desc.tex} +\end{description} + +\vspace{5mm} +\subsubsection{Example Input File} +\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwf-chdg-example.dat} + +\vspace{5mm} +\subsubsection{Available observation types} +CHD Package observations are limited to the simulated constant head flow rate (\texttt{chd}). The data required for the CHD Package observation type is defined in table~\ref{table:gwf-chdobstype}. Negative and positive values for an observation represent a loss from and gain to the GWF model, respectively. + +\begin{longtable}{p{2cm} p{2.75cm} p{2cm} p{1.25cm} p{7cm}} +\caption{Available CHD Package observation types} \tabularnewline + +\hline +\hline +\textbf{Model} & \textbf{Observation type} & \textbf{ID} & \textbf{ID2} & \textbf{Description} \\ +\hline +\endhead + +\hline +\endfoot + +\input{../Common/gwf-chdobs.tex} +\label{table:gwf-chdobstype} +\end{longtable} + +\vspace{5mm} +\subsubsection{Example Observation Input File} +\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwf-chdg-example-obs.dat} + diff --git a/doc/mf6io/gwf/drn.tex b/doc/mf6io/gwf/drn.tex index 9967ec8bd5b..291ef919a6a 100644 --- a/doc/mf6io/gwf/drn.tex +++ b/doc/mf6io/gwf/drn.tex @@ -1,5 +1,9 @@ Input to the Drain (DRN) Package is read from the file that has type ``DRN6'' in the Name File. Any number of DRN Packages can be specified for a single groundwater flow model. +Drain input can be specified using lists or arrays. List-based input for the DRN package is the default, and is described here. Instructions for specifying array-based DRN input are described in the next section. + +List-based input offers several advantages over the array-based input for specifying drains. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different drain for each area. In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual drain entries. Another advantage to using list-based input for specifying drains is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum drains for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign drains to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for drains. + \vspace{5mm} \subsubsection{Structure of Blocks} \vspace{5mm} diff --git a/doc/mf6io/gwf/drng.tex b/doc/mf6io/gwf/drng.tex new file mode 100644 index 00000000000..611acd4003d --- /dev/null +++ b/doc/mf6io/gwf/drng.tex @@ -0,0 +1,52 @@ +Input to the Drain (DRN) Package is read from the file that has type ``DRN6'' in the Name File. Any number of DRN Packages can be specified for a single groundwater flow model. + +Drain input can be specified using lists or arrays. Array-based input for the DRN package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based drain input is described in the previous section. Array-based input for the DRN package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. + +When array-based input is used for drains, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maxiumum number of defined drain (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based DRN package especially when the number of drains is sparse and the model grid is large. + +\vspace{5mm} +\subsubsection{Structure of Blocks} +\vspace{5mm} + +\noindent \textit{FOR EACH SIMULATION} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-drng-options.dat} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-drng-dimensions.dat} +\vspace{5mm} +\noindent \textit{FOR ANY STRESS PERIOD} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-drng-period.dat} +\packageperioddescription + +\vspace{5mm} +\subsubsection{Explanation of Variables} +\begin{description} +\input{./mf6ivar/tex/gwf-drng-desc.tex} +\end{description} + +\vspace{5mm} +\subsubsection{Example Input File} +\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwf-drng-example.dat} + +\vspace{5mm} +\subsubsection{Available observation types} +Drain Package observations include the simulated drain rates (\texttt{drn}) and the drain discharge that is available for the MVR package (\texttt{to-mvr}). The data required for each DRN Package observation type is defined in table~\ref{table:gwf-drnobstype}. The sum of \texttt{drn} and \texttt{to-mvr} is equal to the simulated drain discharge rate for a drain boundary or group of drain boundaries. + +\begin{longtable}{p{2cm} p{2.75cm} p{2cm} p{1.25cm} p{7cm}} +\caption{Available DRN Package observation types} \tabularnewline + +\hline +\hline +\textbf{Model} & \textbf{Observation type} & \textbf{ID} & \textbf{ID2} & \textbf{Description} \\ +\hline +\endhead + +\hline +\endfoot + +DRN & drn & cellid or boundname & -- & Flow between the groundwater system and a drain boundary or group of drain boundaries. \\ +DRN & to-mvr & cellid or boundname & -- & Drain boundary discharge that is available for the MVR package for a drain boundary or a group of drain boundaries. +\label{table:gwf-drnobstype} +\end{longtable} + +\vspace{5mm} +\subsubsection{Example Observation Input File} +\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwf-drng-example-obs.dat} diff --git a/doc/mf6io/gwf/evt.tex b/doc/mf6io/gwf/evt.tex index da93064f45b..3d62be2ce56 100644 --- a/doc/mf6io/gwf/evt.tex +++ b/doc/mf6io/gwf/evt.tex @@ -2,7 +2,7 @@ Evapotranspiration input can be specified using lists or arrays, unless the DISU Package is used. List-based input must be used if discretization is specified using the DISU Package. List-based input for evapotranspiration is the default, and is described here. Instructions for specifying array-based evapotranspiration are described in the next section. -List-based input offers several advantages over the array-based input for specifying evapotranspiration. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different evapotranspiration rate or extinction depth for each area (perhaps based on vegetation type or some other criteria). In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell are for the individual evapotranspiration entries. Another advantage to using list-based input for specifying evapotranspiration is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum evapotranspiration rates for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign evapotranspiration to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for evapotranspiration. +List-based input offers several advantages over the array-based input for specifying evapotranspiration. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different evapotranspiration rate or extinction depth for each area (perhaps based on vegetation type or some other criteria). In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual evapotranspiration entries. Another advantage to using list-based input for specifying evapotranspiration is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum evapotranspiration rates for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign evapotranspiration to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for evapotranspiration. ET input is read in list form, as shown in the PERIOD block below. Each line in the PERIOD block defines all input for one cell. Entries following \texttt{cellid}, in order, define the ET surface (\texttt{etss}), maximum ET flux rate (\texttt{etsr}), extinction depth (\texttt{etsx}), all (\texttt{netseg} -- 1) \texttt{pxdp} values, all (\texttt{netseg} -- 1) \texttt{petm} values, all auxiliary variables (if AUXILIARY option is specified), and boundary name (if BOUNDNAMES option is specified). diff --git a/doc/mf6io/gwf/ghb.tex b/doc/mf6io/gwf/ghb.tex index 31eb9e2d173..55adb1e95f1 100644 --- a/doc/mf6io/gwf/ghb.tex +++ b/doc/mf6io/gwf/ghb.tex @@ -1,5 +1,9 @@ Input to the General-Head Boundary (GHB) Package is read from the file that has type ``GHB6'' in the Name File. Any number of GHB Packages can be specified for a single groundwater flow model. +General-Head Boundary input can be specified using lists or arrays. List-based input for the GHB package is the default, and is described here. Instructions for specifying array-based GHB input are described in the next section. + +List-based input offers several advantages over the array-based input for specifying general-head boundaries. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different general-head boundary for each area. In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual general-head boundary entries. Another advantage to using list-based input for specifying general-head boundaries is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum boundary heads for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign general-head boundaries to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for general-head boundaries. + \vspace{5mm} \subsubsection{Structure of Blocks} \vspace{5mm} diff --git a/doc/mf6io/gwf/ghbg.tex b/doc/mf6io/gwf/ghbg.tex new file mode 100644 index 00000000000..95456c914b0 --- /dev/null +++ b/doc/mf6io/gwf/ghbg.tex @@ -0,0 +1,51 @@ +Input to the General-Head Boundary (GHB) Package is read from the file that has type ``GHB6'' in the Name File. Any number of GHB Packages can be specified for a single groundwater flow model. + +General-Head Boundary input can be specified using lists or arrays. Array-based input for the GHB package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based general-head boundaries is described in the previous section. Array-based input for the GHB package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. + +When array-based input is used for general-head boundaries, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maxiumum number of defined general-head boundary (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based GHB package especially when the number of general-head boundaries is sparse and the model grid is large. + +\vspace{5mm} +\subsubsection{Structure of Blocks} +\vspace{5mm} + +\noindent \textit{FOR EACH SIMULATION} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-ghbg-options.dat} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-ghbg-dimensions.dat} +\vspace{5mm} +\noindent \textit{FOR ANY STRESS PERIOD} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-ghbg-period.dat} +\packageperioddescription + +\vspace{5mm} +\subsubsection{Explanation of Variables} +\begin{description} +\input{./mf6ivar/tex/gwf-ghbg-desc.tex} +\end{description} + +\vspace{5mm} +\subsubsection{Example Input File} +\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwf-ghbg-example.dat} + +\vspace{5mm} +\subsubsection{Available observation types} +General-Head Boundary Package observations include the simulated general-head boundary flow rates (\texttt{ghb}) and the general-head boundary discharge that is available for the MVR package (\texttt{to-mvr}). The data required for each GHB Package observation type is defined in table~\ref{table:gwf-ghbobstype}. The sum of \texttt{ghb} and \texttt{to-mvr} is equal to the simulated general-head boundary flow rate. Negative and positive values for an observation represent a loss from and gain to the GWF model, respectively. + +\begin{longtable}{p{2cm} p{2.75cm} p{2cm} p{1.25cm} p{7cm}} +\caption{Available GHB Package observation types} \tabularnewline + +\hline +\hline +\textbf{Stress Package} & \textbf{Observation type} & \textbf{ID} & \textbf{ID2} & \textbf{Description} \\ +\hline +\endhead + +\hline +\endfoot + +\input{../Common/gwf-ghbobs.tex} +\label{table:gwf-ghbobstype} +\end{longtable} + +\vspace{5mm} +\subsubsection{Example Observation Input File} +\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwf-ghbg-example-obs.dat} diff --git a/doc/mf6io/gwf/gwf.tex b/doc/mf6io/gwf/gwf.tex index 3e3e77a8c5d..a5431860537 100644 --- a/doc/mf6io/gwf/gwf.tex +++ b/doc/mf6io/gwf/gwf.tex @@ -112,25 +112,45 @@ \subsection{Viscosity (VSC) Package} \input{gwf/vsc} \newpage -\subsection{Constant-Head (CHD) Package} +\subsection{Constant-Head (CHD) Package -- List-Based Input} \input{gwf/chd} \newpage -\subsection{Well (WEL) Package} +\subsection{Constant-Head (CHD) Package -- Array-Based Input} +\input{gwf/chdg} + +\newpage +\subsection{Well (WEL) Package -- List-Based Input} \input{gwf/wel} \newpage -\subsection{Drain (DRN) Package} +\subsection{Well (WEL) Package -- Array-Based Input} +\input{gwf/welg} + +\newpage +\subsection{Drain (DRN) Package -- List-Based Input} \input{gwf/drn} \newpage -\subsection{River (RIV) Package} +\subsection{Drain (DRN) Package -- Array-Based Input} +\input{gwf/drng} + +\newpage +\subsection{River (RIV) Package -- List-Based Input} \input{gwf/riv} \newpage -\subsection{General-Head Boundary (GHB) Package} +\subsection{River (RIV) Package -- Array-Based Input} +\input{gwf/rivg} + +\newpage +\subsection{General-Head Boundary (GHB) Package -- List-Based Input} \input{gwf/ghb} +\newpage +\subsection{General-Head Boundary (GHB) Package -- Array-Based Input} +\input{gwf/ghbg} + \newpage \subsection{Recharge (RCH) Package -- List-Based Input} \input{gwf/rch} diff --git a/doc/mf6io/gwf/rch.tex b/doc/mf6io/gwf/rch.tex index d8f9831ad56..413c1b5c949 100644 --- a/doc/mf6io/gwf/rch.tex +++ b/doc/mf6io/gwf/rch.tex @@ -3,7 +3,7 @@ Recharge input can be specified using lists or arrays, unless the DISU Package is used. List-based input must be used if discretization is specified using the DISU Package. List-based input for recharge is the default, and is described here. Instructions for specifying array-based recharge are described in the next section. -List-based input offers several advantages over the array-based input for specifying recharge. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different recharge rate for each area (perhaps based on land use or some other criteria). In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell are for the individual recharge entries. Another advantage to using list-based input for specifying recharge is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum recharge rates for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign recharge to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for recharge. +List-based input offers several advantages over the array-based input for specifying recharge. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different recharge rate for each area (perhaps based on land use or some other criteria). In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual recharge entries. Another advantage to using list-based input for specifying recharge is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum recharge rates for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign recharge to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for recharge. \vspace{5mm} \subsubsection{Structure of Blocks} diff --git a/doc/mf6io/gwf/riv.tex b/doc/mf6io/gwf/riv.tex index a32ce5a8647..7766e7501cc 100644 --- a/doc/mf6io/gwf/riv.tex +++ b/doc/mf6io/gwf/riv.tex @@ -1,5 +1,9 @@ Input to the River (RIV) Package is read from the file that has type ``RIV6'' in the Name File. Any number of RIV Packages can be specified for a single groundwater flow model. +River input can be specified using lists or arrays. List-based input for the RIV package is the default, and is described here. Instructions for specifying array-based RIV input are described in the next section. + +List-based input offers several advantages over the array-based input for specifying rivers. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different river for each area. In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual river entries. Another advantage to using list-based input for specifying rivers is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum river flows for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign river input to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for rivers. + \vspace{5mm} \subsubsection{Structure of Blocks} \vspace{5mm} diff --git a/doc/mf6io/gwf/rivg.tex b/doc/mf6io/gwf/rivg.tex new file mode 100644 index 00000000000..06c84c1e923 --- /dev/null +++ b/doc/mf6io/gwf/rivg.tex @@ -0,0 +1,57 @@ +Input to the River (RIV) Package is read from the file that has type ``RIV6'' in the Name File. Any number of RIV Packages can be specified for a single groundwater flow model. + +River input can be specified using lists or arrays. Array-based input for the RIV package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based river input is described in the previous section. Array-based input for the RIV package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. + +When array-based input is used for the river package, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maxiumum number of defined river (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based RIV package especially when the number of river cells is sparse and the model grid is large. + +\vspace{5mm} +\subsubsection{Structure of Blocks} +\vspace{5mm} + +\noindent \textit{FOR EACH SIMULATION} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-rivg-options.dat} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-rivg-dimensions.dat} +\vspace{5mm} +\noindent \textit{FOR ANY STRESS PERIOD} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-rivg-period.dat} +\packageperioddescription + +\vspace{5mm} +\subsubsection{Explanation of Variables} +\begin{description} +\input{./mf6ivar/tex/gwf-rivg-desc.tex} +\end{description} + +\vspace{5mm} +\subsubsection{Example Input File} +\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwf-rivg-example.dat} + +\vspace{5mm} +\subsubsection{Available observation types} +River Package observations include the simulated river flow rates (\texttt{riv}) and the river discharge that is available for the MVR package (\texttt{to-mvr}). The data required for each RIV Package observation type is defined in table~\ref{table:gwf-rivobstype}. The sum of \texttt{riv} and \texttt{to-mvr} is equal to the simulated river flow rate. Negative and positive values for an observation represent a loss from and gain to the GWF model, respectively. + +\begin{longtable}{p{2cm} p{2.75cm} p{2cm} p{1.25cm} p{7cm}} +\caption{Available RIV Package observation types} \tabularnewline + +\hline +\hline +\textbf{Stress Package} & \textbf{Observation type} & \textbf{ID} & \textbf{ID2} & \textbf{Description} \\ +\hline +\endfirsthead + +\hline +\hline +\textbf{Stress Package} & \textbf{Observation type} & \textbf{ID} & \textbf{ID2} & \textbf{Description} \\ +\hline +\endhead + +\hline +\endfoot + +\input{../Common/gwf-rivobs.tex} +\label{table:gwf-rivobstype} +\end{longtable} + +\vspace{5mm} +\subsubsection{Example Observation Input File} +\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwf-rivg-example-obs.dat} diff --git a/doc/mf6io/gwf/wel.tex b/doc/mf6io/gwf/wel.tex index b8c84e9f10e..997f0f838f8 100644 --- a/doc/mf6io/gwf/wel.tex +++ b/doc/mf6io/gwf/wel.tex @@ -1,5 +1,9 @@ Input to the Well (WEL) Package is read from the file that has type ``WEL6'' in the Name File. Any number of WEL Packages can be specified for a single groundwater flow model. +Well input can be specified using lists or arrays. List-based input for the WEL package is the default, and is described here. Instructions for specifying array-based WEL input are described in the next section. + +List-based input offers several advantages over the array-based input for specifying wells. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different well for each area. In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual well entries. Another advantage to using list-based input for specifying wells is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum well discharge for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign wells to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for wells. + \vspace{5mm} \subsubsection{Structure of Blocks} \vspace{5mm} diff --git a/doc/mf6io/gwf/welg.tex b/doc/mf6io/gwf/welg.tex new file mode 100644 index 00000000000..e18a6f239a6 --- /dev/null +++ b/doc/mf6io/gwf/welg.tex @@ -0,0 +1,51 @@ +Input to the Well (WEL) Package is read from the file that has type ``WEL6'' in the Name File. Any number of WEL Packages can be specified for a single groundwater flow model. + +Well input can be specified using lists or arrays. Array-based input for the WEL package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based wells is described in the previous section. Array-based input for the WEL package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. + +When array-based input is used for wells, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maxiumum number of defined well (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based WEL package especially when the number of wells is sparse and the model grid is large. + +\vspace{5mm} +\subsubsection{Structure of Blocks} +\vspace{5mm} + +\noindent \textit{FOR EACH SIMULATION} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-welg-options.dat} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-welg-dimensions.dat} +\vspace{5mm} +\noindent \textit{FOR ANY STRESS PERIOD} +\lstinputlisting[style=blockdefinition]{./mf6ivar/tex/gwf-welg-period.dat} +\packageperioddescription + +\vspace{5mm} +\subsubsection{Explanation of Variables} +\begin{description} +\input{./mf6ivar/tex/gwf-welg-desc.tex} +\end{description} + +\vspace{5mm} +\subsubsection{Example Input File} +\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwf-welg-example.dat} + +\vspace{5mm} +\subsubsection{Available observation types} +Well Package observations include the simulated well rates (\texttt{wel}), the well discharge that is available for the MVR package (\texttt{to-mvr}), and the reduction in the specified \texttt{q} when the \texttt{AUTO\_FLOW\_REDUCE} option is enabled. The data required for each WEL Package observation type is defined in table~\ref{table:gwf-welobstype}. The sum of \texttt{wel} and \texttt{to-mvr} is equal to the simulated well discharge rate, which may be less than the specified \texttt{q} if the \texttt{AUTO\_FLOW\_REDUCE} option is enabled. The \texttt{DNODATA} value is returned if the \texttt{wel-reduction} observation is specified but the \texttt{AUTO\_FLOW\_REDUCE} option is not enabled. Negative and positive values for an observation represent a loss from and gain to the GWF model, respectively. + +\begin{longtable}{p{2cm} p{2.75cm} p{2cm} p{1.25cm} p{7cm}} +\caption{Available WEL Package observation types} \tabularnewline + +\hline +\hline +\textbf{Stress Package} & \textbf{Observation type} & \textbf{ID} & \textbf{ID2} & \textbf{Description} \\ +\hline +\endhead + +\hline +\endfoot + +\input{../Common/gwf-welobs.tex} +\label{table:gwf-welobstype} +\end{longtable} + +\vspace{5mm} +\subsubsection{Example Observation Input File} +\lstinputlisting[style=inputfile]{./mf6ivar/examples/gwf-welg-example-obs.dat} diff --git a/doc/mf6io/mf6ivar/examples/gwf-chdg-example-obs.dat b/doc/mf6io/mf6ivar/examples/gwf-chdg-example-obs.dat new file mode 100644 index 00000000000..98dbf4be037 --- /dev/null +++ b/doc/mf6io/mf6ivar/examples/gwf-chdg-example-obs.dat @@ -0,0 +1,19 @@ +# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 13:06:51. +BEGIN options + DIGITS 20 + PRINT_INPUT +END options + +BEGIN continuous FILEOUT chd_obs.csv + c1_1_1 CHD 1 1 1 + c1_2_1 CHD 1 2 1 + c1_3_1 CHD 1 3 1 + c1_4_1 CHD 1 4 1 + c1_5_1 CHD 1 5 1 + c1_6_1 CHD 1 6 1 + c1_6_1 CHD 1 7 1 + c1_7_1 CHD 1 8 1 + c1_8_1 CHD 1 9 1 + c1_10_1 CHD 1 10 1 +END continuous FILEOUT chd_obs.csv + diff --git a/doc/mf6io/mf6ivar/examples/gwf-chdg-example.dat b/doc/mf6io/mf6ivar/examples/gwf-chdg-example.dat new file mode 100644 index 00000000000..5e4c05a64e1 --- /dev/null +++ b/doc/mf6io/mf6ivar/examples/gwf-chdg-example.dat @@ -0,0 +1,33 @@ +# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 09:59:42. +BEGIN options + READARRAYGRID + auxiliary temperature +END options + +BEGIN period 1 + head + INTERNAL FACTOR 1.0 + 2.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 2.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 2.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 2.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 2.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 2.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 2.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 2.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 2.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 2.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + temperature + INTERNAL FACTOR 1.0 + 35.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 35.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 35.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 35.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 35.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 35.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 35.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 35.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 35.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 35.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 +END period 1 + diff --git a/doc/mf6io/mf6ivar/examples/gwf-drng-example-obs.dat b/doc/mf6io/mf6ivar/examples/gwf-drng-example-obs.dat new file mode 100644 index 00000000000..5d4e3efa7cd --- /dev/null +++ b/doc/mf6io/mf6ivar/examples/gwf-drng-example-obs.dat @@ -0,0 +1,10 @@ +# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 15:35:26. +BEGIN options + DIGITS 20 + PRINT_INPUT +END options + +BEGIN continuous FILEOUT drn_obs.1.csv + d1_8_100 DRN 1 8 10 +END continuous FILEOUT drn_obs.1.csv + diff --git a/doc/mf6io/mf6ivar/examples/gwf-drng-example.dat b/doc/mf6io/mf6ivar/examples/gwf-drng-example.dat new file mode 100644 index 00000000000..3eb6f28965d --- /dev/null +++ b/doc/mf6io/mf6ivar/examples/gwf-drng-example.dat @@ -0,0 +1,46 @@ +# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 10:49:07. +BEGIN options + READARRAYGRID + auxiliary concentration + OBS6 FILEIN flow.drn.1.obs +END options + +BEGIN period 1 + elev + INTERNAL FACTOR 1.0 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 50.00000000 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + cond + INTERNAL FACTOR 1.0 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 1000.00000000 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + concentration + INTERNAL FACTOR 1.0 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 100.00000000 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 +END period 1 + diff --git a/doc/mf6io/mf6ivar/examples/gwf-ghbg-example-obs.dat b/doc/mf6io/mf6ivar/examples/gwf-ghbg-example-obs.dat new file mode 100644 index 00000000000..78a95a36216 --- /dev/null +++ b/doc/mf6io/mf6ivar/examples/gwf-ghbg-example-obs.dat @@ -0,0 +1,10 @@ +# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 08:33:16. +BEGIN options + DIGITS 20 + PRINT_INPUT +END options + +BEGIN continuous FILEOUT gwf_uzf01a.ghb.obs.csv + 10_1_1 GHB 10 1 1 +END continuous FILEOUT gwf_uzf01a.ghb.obs.csv + diff --git a/doc/mf6io/mf6ivar/examples/gwf-ghbg-example.dat b/doc/mf6io/mf6ivar/examples/gwf-ghbg-example.dat new file mode 100644 index 00000000000..d6463470cbe --- /dev/null +++ b/doc/mf6io/mf6ivar/examples/gwf-ghbg-example.dat @@ -0,0 +1,33 @@ +# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 08:33:16. +BEGIN options + READARRAYGRID + PRINT_INPUT + PRINT_FLOWS + OBS6 FILEIN gwf_uzf01a.ghb.obs +END options + +BEGIN period 1 + bhead LAYERED + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 1.50000000 + cond LAYERED + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 3.00000000E+30 + CONSTANT 1.00000000 +END period 1 + diff --git a/doc/mf6io/mf6ivar/examples/gwf-rivg-example-obs.dat b/doc/mf6io/mf6ivar/examples/gwf-rivg-example-obs.dat new file mode 100644 index 00000000000..32fc491b0ef --- /dev/null +++ b/doc/mf6io/mf6ivar/examples/gwf-rivg-example-obs.dat @@ -0,0 +1,10 @@ +# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 15:35:26. +BEGIN options + DIGITS 20 + PRINT_INPUT +END options + +BEGIN continuous FILEOUT riv_obs.1.csv + r1_5_100 RIV 1 5 10 +END continuous FILEOUT riv_obs.1.csv + diff --git a/doc/mf6io/mf6ivar/examples/gwf-rivg-example.dat b/doc/mf6io/mf6ivar/examples/gwf-rivg-example.dat new file mode 100644 index 00000000000..ce4c8dd3032 --- /dev/null +++ b/doc/mf6io/mf6ivar/examples/gwf-rivg-example.dat @@ -0,0 +1,58 @@ +# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 15:35:26. +BEGIN options + READARRAYGRID + auxiliary concentration + OBS6 FILEIN flow.riv.1.obs +END options + +BEGIN period 1 + stage + INTERNAL FACTOR 1.0 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 50.00000000 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + cond + INTERNAL FACTOR 1.0 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 1000.00000000 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + rbot + INTERNAL FACTOR 1.0 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 0.00000000 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + concentration + INTERNAL FACTOR 1.0 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 100.00000000 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 +END period 1 + diff --git a/doc/mf6io/mf6ivar/examples/gwf-welg-example-obs.dat b/doc/mf6io/mf6ivar/examples/gwf-welg-example-obs.dat new file mode 100644 index 00000000000..7beec8c7485 --- /dev/null +++ b/doc/mf6io/mf6ivar/examples/gwf-welg-example-obs.dat @@ -0,0 +1,10 @@ +# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 15:35:26. +BEGIN options + DIGITS 20 + PRINT_INPUT +END options + +BEGIN continuous FILEOUT wel_obs.csv + w1_1_1 WEL 1 1 1 +END continuous FILEOUT wel_obs.csv + diff --git a/doc/mf6io/mf6ivar/examples/gwf-welg-example.dat b/doc/mf6io/mf6ivar/examples/gwf-welg-example.dat new file mode 100644 index 00000000000..5d6e60e3d8a --- /dev/null +++ b/doc/mf6io/mf6ivar/examples/gwf-welg-example.dat @@ -0,0 +1,34 @@ +# File generated by Flopy version 3.10.0.dev3 on 09/04/2025 at 15:35:26. +BEGIN options + READARRAYGRID + auxiliary concentration + OBS6 FILEIN flow.wel.obs +END options + +BEGIN period 1 + q + INTERNAL FACTOR 1.0 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + concentration + INTERNAL FACTOR 1.0 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 + 100.00000000 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 3.00000000E+30 +END period 1 + From 9b12bb11337e0d8815f213b572ba70cb3a0eedfd Mon Sep 17 00:00:00 2001 From: mreno Date: Thu, 4 Sep 2025 16:49:58 -0400 Subject: [PATCH 2/5] spell correcitily --- doc/mf6io/gwf/chdg.tex | 2 +- doc/mf6io/gwf/drng.tex | 2 +- doc/mf6io/gwf/ghbg.tex | 2 +- doc/mf6io/gwf/rivg.tex | 2 +- doc/mf6io/gwf/welg.tex | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/doc/mf6io/gwf/chdg.tex b/doc/mf6io/gwf/chdg.tex index cc8f21fe525..cb393092484 100644 --- a/doc/mf6io/gwf/chdg.tex +++ b/doc/mf6io/gwf/chdg.tex @@ -3,7 +3,7 @@ Constant-Head Boundary input can be specified using lists or arrays. Array-based input for the CHD package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based constant-head boundaries is described in the previous section. Array-based input for the CHD package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. -When array-based input is used for constant-heads, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maxiumum number of defined constant-head (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based CHD package especially when the number of constant-heads is sparse and the model grid is large. +When array-based input is used for constant-heads, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maximum number of defined constant-head (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based CHD package especially when the number of constant-heads is sparse and the model grid is large. In previous MODFLOW versions, it was not possible to convert a constant-head cell to an active cell. Once a cell was designated as a constant-head cell, it remained a constant-head cell until the end of the end of the simulation. In \mf a constant-head cell will become active again if it is not included as a constant-head cell in subsequent stress periods. diff --git a/doc/mf6io/gwf/drng.tex b/doc/mf6io/gwf/drng.tex index 611acd4003d..933c570673a 100644 --- a/doc/mf6io/gwf/drng.tex +++ b/doc/mf6io/gwf/drng.tex @@ -2,7 +2,7 @@ Drain input can be specified using lists or arrays. Array-based input for the DRN package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based drain input is described in the previous section. Array-based input for the DRN package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. -When array-based input is used for drains, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maxiumum number of defined drain (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based DRN package especially when the number of drains is sparse and the model grid is large. +When array-based input is used for drains, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maximum number of defined drain (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based DRN package especially when the number of drains is sparse and the model grid is large. \vspace{5mm} \subsubsection{Structure of Blocks} diff --git a/doc/mf6io/gwf/ghbg.tex b/doc/mf6io/gwf/ghbg.tex index 95456c914b0..ec2c750a71d 100644 --- a/doc/mf6io/gwf/ghbg.tex +++ b/doc/mf6io/gwf/ghbg.tex @@ -2,7 +2,7 @@ General-Head Boundary input can be specified using lists or arrays. Array-based input for the GHB package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based general-head boundaries is described in the previous section. Array-based input for the GHB package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. -When array-based input is used for general-head boundaries, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maxiumum number of defined general-head boundary (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based GHB package especially when the number of general-head boundaries is sparse and the model grid is large. +When array-based input is used for general-head boundaries, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maximum number of defined general-head boundary (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based GHB package especially when the number of general-head boundaries is sparse and the model grid is large. \vspace{5mm} \subsubsection{Structure of Blocks} diff --git a/doc/mf6io/gwf/rivg.tex b/doc/mf6io/gwf/rivg.tex index 06c84c1e923..3aba4152c6e 100644 --- a/doc/mf6io/gwf/rivg.tex +++ b/doc/mf6io/gwf/rivg.tex @@ -2,7 +2,7 @@ River input can be specified using lists or arrays. Array-based input for the RIV package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based river input is described in the previous section. Array-based input for the RIV package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. -When array-based input is used for the river package, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maxiumum number of defined river (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based RIV package especially when the number of river cells is sparse and the model grid is large. +When array-based input is used for the river package, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maximum number of defined river (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based RIV package especially when the number of river cells is sparse and the model grid is large. \vspace{5mm} \subsubsection{Structure of Blocks} diff --git a/doc/mf6io/gwf/welg.tex b/doc/mf6io/gwf/welg.tex index e18a6f239a6..32517aad1b3 100644 --- a/doc/mf6io/gwf/welg.tex +++ b/doc/mf6io/gwf/welg.tex @@ -2,7 +2,7 @@ Well input can be specified using lists or arrays. Array-based input for the WEL package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based wells is described in the previous section. Array-based input for the WEL package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. -When array-based input is used for wells, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maxiumum number of defined well (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based WEL package especially when the number of wells is sparse and the model grid is large. +When array-based input is used for wells, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maximum number of defined well (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based WEL package especially when the number of wells is sparse and the model grid is large. \vspace{5mm} \subsubsection{Structure of Blocks} From 419cd2e1a8b25b0526b432018efffd6d86aa3720 Mon Sep 17 00:00:00 2001 From: mreno Date: Fri, 5 Sep 2025 09:43:20 -0400 Subject: [PATCH 3/5] clearly distinguish between layer and grid array-based input --- doc/mf6io/gwf/chdg.tex | 4 ++-- doc/mf6io/gwf/drng.tex | 4 ++-- doc/mf6io/gwf/evta.tex | 4 ++-- doc/mf6io/gwf/ghbg.tex | 4 ++-- doc/mf6io/gwf/gwf.tex | 14 +++++++------- doc/mf6io/gwf/rcha.tex | 4 ++-- doc/mf6io/gwf/rivg.tex | 4 ++-- doc/mf6io/gwf/welg.tex | 4 ++-- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/doc/mf6io/gwf/chdg.tex b/doc/mf6io/gwf/chdg.tex index cb393092484..6d8016b74ff 100644 --- a/doc/mf6io/gwf/chdg.tex +++ b/doc/mf6io/gwf/chdg.tex @@ -1,9 +1,9 @@ Input to the Constant-Head (CHD) Package is read from the file that has type ``CHD6'' in the Name File. Any number of CHD Packages can be specified for a single groundwater flow model; however, an error will occur if a CHD Package attempts to make a GWF cell a constant-head cell when that cell has already been designated as a constant-head cell either within the present CHD Package or within another CHD Package. -Constant-Head Boundary input can be specified using lists or arrays. Array-based input for the CHD package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based constant-head boundaries is described in the previous section. Array-based input for the CHD package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. +Constant-Head Boundary input can be specified using lists or grid arrays. Grid array-based input for the CHD package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based constant-head boundaries is described in the previous section. -When array-based input is used for constant-heads, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maximum number of defined constant-head (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based CHD package especially when the number of constant-heads is sparse and the model grid is large. +When grid array-based input is used for constant-head boundaries, the DIMENSIONS block is optional. The input array size is determined from the model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. When defined, the MAXBOUND dimension represents the maximum number of defined constant-head boundary (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the grid array-based CHD package, especially when the input grid arrays are sparse and the model grid is large. In previous MODFLOW versions, it was not possible to convert a constant-head cell to an active cell. Once a cell was designated as a constant-head cell, it remained a constant-head cell until the end of the end of the simulation. In \mf a constant-head cell will become active again if it is not included as a constant-head cell in subsequent stress periods. diff --git a/doc/mf6io/gwf/drng.tex b/doc/mf6io/gwf/drng.tex index 933c570673a..905f841348e 100644 --- a/doc/mf6io/gwf/drng.tex +++ b/doc/mf6io/gwf/drng.tex @@ -1,8 +1,8 @@ Input to the Drain (DRN) Package is read from the file that has type ``DRN6'' in the Name File. Any number of DRN Packages can be specified for a single groundwater flow model. -Drain input can be specified using lists or arrays. Array-based input for the DRN package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based drain input is described in the previous section. Array-based input for the DRN package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. +Drain input can be specified using lists or grid arrays. Grid array-based input for the DRN package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based drain input is described in the previous section. -When array-based input is used for drains, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maximum number of defined drain (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based DRN package especially when the number of drains is sparse and the model grid is large. +When grid array-based input is used for the drain package, the DIMENSIONS block is optional. The input array size is determined from the model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. When defined, the MAXBOUND dimension represents the maximum number of defined drain (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the grid array-based DRN package, especially when the input grid arrays are sparse and the model grid is large. \vspace{5mm} \subsubsection{Structure of Blocks} diff --git a/doc/mf6io/gwf/evta.tex b/doc/mf6io/gwf/evta.tex index 528d561d459..8684642e76b 100644 --- a/doc/mf6io/gwf/evta.tex +++ b/doc/mf6io/gwf/evta.tex @@ -1,8 +1,8 @@ Input to the Evapotranspiration (EVT) Package is read from the file that has type ``EVT6'' in the Name File. Any number of EVT Packages can be specified for a single groundwater flow model. All single-valued variables are free format. -Evapotranspiration input can be specified using lists or arrays. Array-based input for evapotranspiration is activated by providing READASARRAYS within the OPTIONS block. Instructions for specifying list-based evapotranspiration is described in the previous section. Array-based input for evapotranspiration provides a similar approach for providing evapotranspiration rates as previous MODFLOW versions. Array-based input for evapotranspiration can be used only with the DIS and DISV Packages. Array-based input for evapotranspiration cannot be used with the DISU Package. +Evapotranspiration input can be specified using lists or layer arrays. Layer array-based input for evapotranspiration is activated by providing READASARRAYS within the OPTIONS block. Instructions for specifying list-based evapotranspiration is described in the previous section. Layer array-based input for evapotranspiration provides a similar approach for providing evapotranspiration rates as previous MODFLOW versions. Layer array-based input for evapotranspiration can be used only with the DIS and DISV Packages. Layer array-based input for evapotranspiration cannot be used with the DISU Package. -When array-based input is used for evapotranspiration, the DIMENSIONS block should not be specified. The array size is determined from the model grid. Segmented evapotranspiration cannot be used with the READASARRAYS option. +When layer array-based input is used for evapotranspiration, the DIMENSIONS block should not be specified. The array size is determined from the model grid. Segmented evapotranspiration cannot be used with the READASARRAYS option. \vspace{5mm} \subsubsection{Structure of Blocks} diff --git a/doc/mf6io/gwf/ghbg.tex b/doc/mf6io/gwf/ghbg.tex index ec2c750a71d..e7f5a5fb46c 100644 --- a/doc/mf6io/gwf/ghbg.tex +++ b/doc/mf6io/gwf/ghbg.tex @@ -1,8 +1,8 @@ Input to the General-Head Boundary (GHB) Package is read from the file that has type ``GHB6'' in the Name File. Any number of GHB Packages can be specified for a single groundwater flow model. -General-Head Boundary input can be specified using lists or arrays. Array-based input for the GHB package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based general-head boundaries is described in the previous section. Array-based input for the GHB package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. +General-Head Boundary input can be specified using lists or grid arrays. Grid array-based input for the GHB package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based general-head boundaries is described in the previous section. -When array-based input is used for general-head boundaries, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maximum number of defined general-head boundary (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based GHB package especially when the number of general-head boundaries is sparse and the model grid is large. +When grid array-based input is used for general-head boundaries, the DIMENSIONS block is optional. The input array size is determined from the model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. When defined, the MAXBOUND dimension represents the maximum number of defined general-head boundary (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the grid array-based GHB package, especially when the input grid arrays are sparse and the model grid is large. \vspace{5mm} \subsubsection{Structure of Blocks} diff --git a/doc/mf6io/gwf/gwf.tex b/doc/mf6io/gwf/gwf.tex index a5431860537..1036f5c38a9 100644 --- a/doc/mf6io/gwf/gwf.tex +++ b/doc/mf6io/gwf/gwf.tex @@ -116,7 +116,7 @@ \subsection{Constant-Head (CHD) Package -- List-Based Input} \input{gwf/chd} \newpage -\subsection{Constant-Head (CHD) Package -- Array-Based Input} +\subsection{Constant-Head (CHD) Package -- Grid Array-Based Input} \input{gwf/chdg} \newpage @@ -124,7 +124,7 @@ \subsection{Well (WEL) Package -- List-Based Input} \input{gwf/wel} \newpage -\subsection{Well (WEL) Package -- Array-Based Input} +\subsection{Well (WEL) Package -- Grid Array-Based Input} \input{gwf/welg} \newpage @@ -132,7 +132,7 @@ \subsection{Drain (DRN) Package -- List-Based Input} \input{gwf/drn} \newpage -\subsection{Drain (DRN) Package -- Array-Based Input} +\subsection{Drain (DRN) Package -- Grid Array-Based Input} \input{gwf/drng} \newpage @@ -140,7 +140,7 @@ \subsection{River (RIV) Package -- List-Based Input} \input{gwf/riv} \newpage -\subsection{River (RIV) Package -- Array-Based Input} +\subsection{River (RIV) Package -- Grid Array-Based Input} \input{gwf/rivg} \newpage @@ -148,7 +148,7 @@ \subsection{General-Head Boundary (GHB) Package -- List-Based Input} \input{gwf/ghb} \newpage -\subsection{General-Head Boundary (GHB) Package -- Array-Based Input} +\subsection{General-Head Boundary (GHB) Package -- Grid Array-Based Input} \input{gwf/ghbg} \newpage @@ -156,7 +156,7 @@ \subsection{Recharge (RCH) Package -- List-Based Input} \input{gwf/rch} \newpage -\subsection{Recharge (RCH) Package -- Array-Based Input} +\subsection{Recharge (RCH) Package -- Layer Array-Based Input} \input{gwf/rcha} \newpage @@ -164,7 +164,7 @@ \subsection{Evapotranspiration (EVT) Package -- List-Based Input} \input{gwf/evt} \newpage -\subsection{Evapotranspiration (EVT) Package -- Array-Based Input} +\subsection{Evapotranspiration (EVT) Package -- Layer Array-Based Input} \input{gwf/evta} \newpage diff --git a/doc/mf6io/gwf/rcha.tex b/doc/mf6io/gwf/rcha.tex index 3b9180d48e6..2a6e93ac653 100644 --- a/doc/mf6io/gwf/rcha.tex +++ b/doc/mf6io/gwf/rcha.tex @@ -1,9 +1,9 @@ Input to the Recharge (RCH) Package is read from the file that has type ``RCH6'' in the Name File. Any number of RCH Packages can be specified for a single groundwater flow model. -Recharge input can be specified using lists or arrays. Array-based input for recharge is activated by providing READASARRAYS within the OPTIONS block. Instructions for specifying list-based recharge is described in the previous section. Array-based input for recharge provides a similar approach for providing recharge rates as previous MODFLOW versions. Array-based input for recharge can be used only with the DIS and DISV Packages. Array-based input for recharge cannot be used with the DISU Package. +Recharge input can be specified using lists or layer arrays. Layer array-based input for recharge is activated by providing READASARRAYS within the OPTIONS block. Instructions for specifying list-based recharge is described in the previous section. Layer array-based input for recharge provides a similar approach for providing recharge rates as previous MODFLOW versions. Layer array-based input for recharge can be used only with the DIS and DISV Packages. Layer array-based input for recharge cannot be used with the DISU Package. -When array-based input is used for recharge, the DIMENSIONS block should not be specified. The array size is determined from the model grid. +When layer array-based input is used for recharge, the DIMENSIONS block should not be specified. The array size is determined from the model grid. \vspace{5mm} \subsubsection{Structure of Blocks} diff --git a/doc/mf6io/gwf/rivg.tex b/doc/mf6io/gwf/rivg.tex index 3aba4152c6e..2b0e9be6204 100644 --- a/doc/mf6io/gwf/rivg.tex +++ b/doc/mf6io/gwf/rivg.tex @@ -1,8 +1,8 @@ Input to the River (RIV) Package is read from the file that has type ``RIV6'' in the Name File. Any number of RIV Packages can be specified for a single groundwater flow model. -River input can be specified using lists or arrays. Array-based input for the RIV package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based river input is described in the previous section. Array-based input for the RIV package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. +River input can be specified using lists or grid arrays. Grid array-based input for the RIV package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based river input is described in the previous section. -When array-based input is used for the river package, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maximum number of defined river (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based RIV package especially when the number of river cells is sparse and the model grid is large. +When grid array-based input is used for the river package, the DIMENSIONS block is optional. The input array size is determined from the model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. When defined, the MAXBOUND dimension represents the maximum number of defined river (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the grid array-based RIV package, especially when the input grid arrays are sparse and the model grid is large. \vspace{5mm} \subsubsection{Structure of Blocks} diff --git a/doc/mf6io/gwf/welg.tex b/doc/mf6io/gwf/welg.tex index 32517aad1b3..52d52cefc58 100644 --- a/doc/mf6io/gwf/welg.tex +++ b/doc/mf6io/gwf/welg.tex @@ -1,8 +1,8 @@ Input to the Well (WEL) Package is read from the file that has type ``WEL6'' in the Name File. Any number of WEL Packages can be specified for a single groundwater flow model. -Well input can be specified using lists or arrays. Array-based input for the WEL package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based wells is described in the previous section. Array-based input for the WEL package differs from the READASARRAYS based input used by the RCH and EVT array-based input packages. READASARRAYS input arrays define a layer of input data for DIS and DISV based model grids, while READARRAYGRID input arrays define data for the entire model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. +Well input can be specified using lists or grid arrays. Grid array-based input for the WEL package is activated by providing READARRAYGRID within the OPTIONS block. Instructions for specifying list-based well input is described in the previous section. -When array-based input is used for wells, the DIMENSIONS block is optional. The array size is determined from the model grid when MAXBOUND is not user defined. When defined, the MAXBOUND dimension represents the maximum number of defined well (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the array-based WEL package especially when the number of wells is sparse and the model grid is large. +When grid array-based input is used for the well package, the DIMENSIONS block is optional. The input array size is determined from the model grid. Cells that define no data should contain the DNODATA (3.0E+30) value. When defined, the MAXBOUND dimension represents the maximum number of defined well (non-DNODATA) cells found in any stress period. Defining MAXBOUND can reduce the memory footprint of the grid array-based WEL package, especially when the input grid arrays are sparse and the model grid is large. \vspace{5mm} \subsubsection{Structure of Blocks} From c5b6ebef23b115eec92eb0d0df484568420190cf Mon Sep 17 00:00:00 2001 From: mreno Date: Mon, 8 Sep 2025 08:14:11 -0400 Subject: [PATCH 4/5] remove extra description --- doc/mf6io/gwf/chd.tex | 2 -- doc/mf6io/gwf/drn.tex | 2 -- doc/mf6io/gwf/ghb.tex | 2 -- doc/mf6io/gwf/riv.tex | 2 -- doc/mf6io/gwf/wel.tex | 2 -- 5 files changed, 10 deletions(-) diff --git a/doc/mf6io/gwf/chd.tex b/doc/mf6io/gwf/chd.tex index 083ecf5b3bf..73541cab528 100644 --- a/doc/mf6io/gwf/chd.tex +++ b/doc/mf6io/gwf/chd.tex @@ -3,8 +3,6 @@ Constant-Head input can be specified using lists or arrays. List-based input for the CHD package is the default, and is described here. Instructions for specifying array-based CHD input are described in the next section. -List-based input offers several advantages over the array-based input for specifying constant heads. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different constant head for each area. In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual constant head entries. Another advantage to using list-based input for specifying constant heads is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum constant heads for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign constant heads to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for constant heads. - In previous MODFLOW versions, it was not possible to convert a constant-head cell to an active cell. Once a cell was designated as a constant-head cell, it remained a constant-head cell until the end of the end of the simulation. In \mf a constant-head cell will become active again if it is not included as a constant-head cell in subsequent stress periods. Previous MODFLOW versions allowed specification of SHEAD and EHEAD, which were the starting and ending prescribed heads for a stress period. Linear interpolation was used to calculate a value for each time step. In \mf only a single head value can be specified for any constant-head cell in any stress period. The time-series functionality must be used in order to interpolate values to individual time steps. diff --git a/doc/mf6io/gwf/drn.tex b/doc/mf6io/gwf/drn.tex index 291ef919a6a..8b553202d47 100644 --- a/doc/mf6io/gwf/drn.tex +++ b/doc/mf6io/gwf/drn.tex @@ -2,8 +2,6 @@ Drain input can be specified using lists or arrays. List-based input for the DRN package is the default, and is described here. Instructions for specifying array-based DRN input are described in the next section. -List-based input offers several advantages over the array-based input for specifying drains. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different drain for each area. In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual drain entries. Another advantage to using list-based input for specifying drains is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum drains for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign drains to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for drains. - \vspace{5mm} \subsubsection{Structure of Blocks} \vspace{5mm} diff --git a/doc/mf6io/gwf/ghb.tex b/doc/mf6io/gwf/ghb.tex index 55adb1e95f1..365dfdc384b 100644 --- a/doc/mf6io/gwf/ghb.tex +++ b/doc/mf6io/gwf/ghb.tex @@ -2,8 +2,6 @@ General-Head Boundary input can be specified using lists or arrays. List-based input for the GHB package is the default, and is described here. Instructions for specifying array-based GHB input are described in the next section. -List-based input offers several advantages over the array-based input for specifying general-head boundaries. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different general-head boundary for each area. In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual general-head boundary entries. Another advantage to using list-based input for specifying general-head boundaries is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum boundary heads for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign general-head boundaries to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for general-head boundaries. - \vspace{5mm} \subsubsection{Structure of Blocks} \vspace{5mm} diff --git a/doc/mf6io/gwf/riv.tex b/doc/mf6io/gwf/riv.tex index 7766e7501cc..7f551386c57 100644 --- a/doc/mf6io/gwf/riv.tex +++ b/doc/mf6io/gwf/riv.tex @@ -2,8 +2,6 @@ River input can be specified using lists or arrays. List-based input for the RIV package is the default, and is described here. Instructions for specifying array-based RIV input are described in the next section. -List-based input offers several advantages over the array-based input for specifying rivers. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different river for each area. In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual river entries. Another advantage to using list-based input for specifying rivers is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum river flows for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign river input to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for rivers. - \vspace{5mm} \subsubsection{Structure of Blocks} \vspace{5mm} diff --git a/doc/mf6io/gwf/wel.tex b/doc/mf6io/gwf/wel.tex index 997f0f838f8..fb42401878e 100644 --- a/doc/mf6io/gwf/wel.tex +++ b/doc/mf6io/gwf/wel.tex @@ -2,8 +2,6 @@ Well input can be specified using lists or arrays. List-based input for the WEL package is the default, and is described here. Instructions for specifying array-based WEL input are described in the next section. -List-based input offers several advantages over the array-based input for specifying wells. First, multiple list entries can be specified for a single cell. This makes it possible to divide a cell into multiple areas, and assign a different well for each area. In this case, the user would likely specify an auxiliary variable to serve as a multiplier. This multiplier would be calculated by the user and provided in the input file as the fractional cell area for the individual well entries. Another advantage to using list-based input for specifying wells is that boundnames can be specified. Boundnames work with the Observations capability and can be used to sum well discharge for entries with the same boundname. A disadvantage of the list-based input is that one cannot easily assign wells to the entire model without specifying a list of model cells. For this reason \mf also supports array-based input for wells. - \vspace{5mm} \subsubsection{Structure of Blocks} \vspace{5mm} From ab81dd59a57df1612d5d5704a70c7d26add95e46 Mon Sep 17 00:00:00 2001 From: mreno Date: Mon, 8 Sep 2025 08:44:10 -0400 Subject: [PATCH 5/5] add chdg duplicate constant head cell test --- autotest/test_gwf_errors.py | 27 ++++++++++++++++++++++++++- 1 file changed, 26 insertions(+), 1 deletion(-) diff --git a/autotest/test_gwf_errors.py b/autotest/test_gwf_errors.py index 1890877842c..dcbc8058db7 100644 --- a/autotest/test_gwf_errors.py +++ b/autotest/test_gwf_errors.py @@ -10,6 +10,7 @@ import numpy as np import pytest from flopy.utils.gridutil import get_disu_kwargs +from framework import DNODATA def run_mf6(argv, ws): @@ -101,7 +102,10 @@ def get_minimal_gwf_simulation( disu = flopy.mf6.ModflowGwfdisu(gwf, **disukwargs) ic = flopy.mf6.ModflowGwfic(gwf, **ickwargs) npf = flopy.mf6.ModflowGwfnpf(gwf, **npfkwargs) - chd = flopy.mf6.modflow.mfgwfchd.ModflowGwfchd(gwf, **chdkwargs) + if "readarraygrid" in chdkwargs: + chd = flopy.mf6.modflow.mfgwfchdg.ModflowGwfchdg(gwf, **chdkwargs) + else: + chd = flopy.mf6.modflow.mfgwfchd.ModflowGwfchd(gwf, **chdkwargs) return sim @@ -142,6 +146,27 @@ def test_sim_errors(function_tmpdir, targets): run_mf6_error(str(function_tmpdir), mf6, err_str) +def test_sim_errors_grid(function_tmpdir, targets): + mf6 = targets["mf6"] + + with pytest.raises(RuntimeError): + # verify that the correct number of errors are reported + chdkwargs = {} + head = np.full((5, 5, 5), DNODATA, dtype=float) + for i in range(5): + head[0, i, 0] = 2.0 + chdkwargs["readarraygrid"] = True + chdkwargs["head"] = head + sim = get_minimal_gwf_simulation( + str(function_tmpdir), exe=mf6, chdkwargs=chdkwargs + ) + test_model = sim.get_model("test") + chd2 = flopy.mf6.modflow.mfgwfchdg.ModflowGwfchdg(test_model, **chdkwargs) + sim.write_simulation() + err_str = ["1. Cell is already a constant head ((1,1,1))."] + run_mf6_error(str(function_tmpdir), mf6, err_str) + + def test_sim_maxerrors(function_tmpdir, targets): mf6 = targets["mf6"]