Skip to content

Commit f971e98

Browse files
authored
docs(prt): several fixes/clarifications (#1885)
Improve source code comments and MF6IO descriptions: * top/bottom IFLOWFACE settings were not mentioned * clarify comment on IFLOWFACE mapping in PRT FMI * clarify that TRACK_EXIT includes model/subcell exits * rerun doc/mf6io/mf6ivar/mf6ivar.py
1 parent ce9707d commit f971e98

File tree

10 files changed

+20
-9
lines changed

10 files changed

+20
-9
lines changed

doc/SuppTechInfo/particle-tracking-model.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ \subsection{Tracking Approach} \label{sec:trackingapproach}
2222

2323
\noindent On DISV grids, which can contain a mix of rectangular, quad-refined, and non-rectangular cells, the PRT Model identifies the geometry of each cell and applies the most efficient tracking method possible. Rectagular cells do not need to be aligned with the model coordinate axes to be recognized as rectangular. Because measures of the cell geometry are compared with numerical tolerances, it is recommended that the cell vertex coordinates be written to double precision in the model input for a DISV grid.
2424

25-
By default, flows associated with stress packages are assumed to be distributed uniformly over the volume of a cell, as in MODPATH 7. Distributed external inflows and outflows are reflected in the cell-cell flows calculated by the GWF Model, but they are not directly involved in determining the normal face velocities used to track a particle through the cell. The user can optionally assign a flow associated with a stress package to any face of the cell. In MODPATH 7, this is done by setting the value of an input parameter called IFACE to a value that corresponds to one of the six faces of a rectangular cell (left, right, front, back, bottom, and top). In the PRT Model, assignment of external flows is done by setting the value of an input parameter called IFLOWFACE to a value that corresponds to one of the cell faces. To accommodate non-rectangular cells, the face numbering scheme in the PRT Model is different from that in MODPATH 7 and is based on clockwise ordering of the cell faces, as described in the \mf input instructions.
25+
By default, flows associated with stress packages are assumed to be distributed uniformly over the volume of a cell, as in MODPATH 7. Distributed external inflows and outflows are reflected in the cell-cell flows calculated by the GWF Model, but they are not directly involved in determining the normal face velocities used to track a particle through the cell. The user can optionally assign a flow associated with a stress package to any face of the cell. In MODPATH 7, this is done by setting the value of an input parameter called IFACE to a value that corresponds to one of the six faces of a rectangular cell (left, right, front, back, bottom, and top). In the PRT Model, assignment of external flows is done by setting the value of an input parameter called IFLOWFACE to a value that corresponds to one of the cell faces. To accommodate non-rectangular cells, the face numbering scheme in the PRT Model is different from that in MODPATH 7, as described in the \mf input instructions.
2626

2727
\subsection{Generalized Pollock's Method For Non-Rectangular Cells} \label{sec:genpollockmethod}
2828

doc/mf6io/mf6ivar/dfn/prt-oc.dfn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ type keyword
157157
reader urword
158158
optional true
159159
longname track transitions
160-
description keyword to indicate that particle tracking output is to be written when a particle exits a cell
160+
description keyword to indicate that particle tracking output is to be written when a particle exits a feature (a model, cell, or subcell)
161161

162162
block options
163163
name track_timestep

doc/mf6io/mf6ivar/md/mf6ivar.md

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,7 +1096,10 @@
10961096
| GWF | STO | OPTIONS | SS_CONFINED_ONLY | KEYWORD | keyword to indicate that compressible storage is only calculated for a convertible cell (ICONVERT>0) when the cell is under confined conditions (head greater than or equal to the top of the cell). This option has no effect on cells that are marked as being always confined (ICONVERT=0). This option is identical to the approach used to calculate storage changes under confined conditions in MODFLOW-2005. |
10971097
| GWF | STO | OPTIONS | TVS6 | KEYWORD | keyword to specify that record corresponds to a time-varying storage (TVS) file. The behavior of TVS and a description of the input file is provided separately. |
10981098
| GWF | STO | OPTIONS | FILEIN | KEYWORD | keyword to specify that an input filename is expected next. |
1099-
| GWF | STO | OPTIONS | TVS_FILENAME | STRING | defines a time-varying storage (TVS) input file. Records in the TVS file can be used to change specific storage and specific yield properties at specified times or stress periods. |
1099+
| GWF | STO | OPTIONS | TVS6_FILENAME | STRING | defines a time-varying storage (TVS) input file. Records in the TVS file can be used to change specific storage and specific yield properties at specified times or stress periods. |
1100+
| GWF | STO | OPTIONS | EXPORT_ARRAY_ASCII | KEYWORD | keyword that specifies input grid arrays, which already support the layered keyword, should be written to layered ascii output files. |
1101+
| GWF | STO | OPTIONS | DEV_ORIGINAL_SPECIFIC_STORAGE | KEYWORD | flag indicating the original storage specific storage formulation should be used |
1102+
| GWF | STO | OPTIONS | DEV_OLDSTORAGEFORMULATION | KEYWORD | development option flag for old storage formulation |
11001103
| GWF | STO | GRIDDATA | ICONVERT | INTEGER (NODES) | is a flag for each cell that specifies whether or not a cell is convertible for the storage calculation. 0 indicates confined storage is used. $>$0 indicates confined storage is used when head is above cell top and a mixed formulation of unconfined and confined storage is used when head is below cell top. |
11011104
| GWF | STO | GRIDDATA | SS | DOUBLE PRECISION (NODES) | is specific storage (or the storage coefficient if STORAGECOEFFICIENT is specified as an option). Specific storage values must be greater than or equal to 0. If the CSUB Package is included in the GWF model, specific storage must be zero for every cell. |
11021105
| GWF | STO | GRIDDATA | SY | DOUBLE PRECISION (NODES) | is specific yield. Specific yield values must be greater than or equal to 0. Specific yield does not have to be specified if there are no convertible cells (ICONVERT=0 in every cell). |
@@ -1592,7 +1595,7 @@
15921595
| PRT | OC | OPTIONS | TRACKCSV | KEYWORD | keyword to specify that record corresponds to a CSV track file. Each PRT Model's OC Package may have only one CSV track file. |
15931596
| PRT | OC | OPTIONS | TRACKCSVFILE | STRING | name of the comma-separated value (CSV) file to write tracking information. |
15941597
| PRT | OC | OPTIONS | TRACK_RELEASE | KEYWORD | keyword to indicate that particle tracking output is to be written when a particle is released |
1595-
| PRT | OC | OPTIONS | TRACK_EXIT | KEYWORD | keyword to indicate that particle tracking output is to be written when a particle exits a cell |
1598+
| PRT | OC | OPTIONS | TRACK_EXIT | KEYWORD | keyword to indicate that particle tracking output is to be written when a particle exits a feature (a model, cell, or subcell) |
15961599
| PRT | OC | OPTIONS | TRACK_TIMESTEP | KEYWORD | keyword to indicate that particle tracking output is to be written at the end of each time step |
15971600
| PRT | OC | OPTIONS | TRACK_TERMINATE | KEYWORD | keyword to indicate that particle tracking output is to be written when a particle terminates for any reason |
15981601
| PRT | OC | OPTIONS | TRACK_WEAKSINK | KEYWORD | keyword to indicate that particle tracking output is to be written when a particle exits a weak sink (a cell which removes some but not all inflow from adjacent cells) |
@@ -1800,6 +1803,7 @@
18001803
| SWF | OC | PERIOD | FREQUENCY | INTEGER | save at the specified time step frequency. This keyword may be used in conjunction with other keywords to print or save results for multiple time steps. |
18011804
| SWF | OC | PERIOD | STEPS | INTEGER (<NSTP) | save for each step specified in STEPS. This keyword may be used in conjunction with other keywords to print or save results for multiple time steps. |
18021805
| SWF | STO | OPTIONS | SAVE_FLOWS | KEYWORD | keyword to indicate that cell-by-cell flow terms will be written to the file specified with ``BUDGET SAVE FILE'' in Output Control. |
1806+
| SWF | STO | OPTIONS | EXPORT_ARRAY_ASCII | KEYWORD | keyword that specifies input grid arrays, which already support the layered keyword, should be written to layered ascii output files. |
18031807
| SWF | STO | PERIOD | IPER | INTEGER | integer value specifying the starting stress period number for which the data specified in the PERIOD block apply. IPER must be less than or equal to NPER in the TDIS Package and greater than zero. The IPER value assigned to a stress period block must be greater than the IPER value assigned for the previous PERIOD block. The information specified in the PERIOD block will continue to apply for all subsequent stress periods, unless the program encounters another PERIOD block. |
18041808
| SWF | STO | PERIOD | STEADY-STATE | KEYWORD | keyword to indicate that stress period IPER is steady-state. Steady-state conditions will apply until the TRANSIENT keyword is specified in a subsequent BEGIN PERIOD block. |
18051809
| SWF | STO | PERIOD | TRANSIENT | KEYWORD | keyword to indicate that stress period IPER is transient. Transient conditions will apply until the STEADY-STATE keyword is specified in a subsequent BEGIN PERIOD block. |

doc/mf6io/mf6ivar/tex/gwf-sto-desc.tex

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,9 @@
1313

1414
\item \texttt{FILEIN}---keyword to specify that an input filename is expected next.
1515

16-
\item \texttt{tvs\_filename}---defines a time-varying storage (TVS) input file. Records in the TVS file can be used to change specific storage and specific yield properties at specified times or stress periods.
16+
\item \texttt{tvs6\_filename}---defines a time-varying storage (TVS) input file. Records in the TVS file can be used to change specific storage and specific yield properties at specified times or stress periods.
17+
18+
\item \texttt{EXPORT\_ARRAY\_ASCII}---keyword that specifies input grid arrays, which already support the layered keyword, should be written to layered ascii output files.
1719

1820
\end{description}
1921
\item \textbf{Block: GRIDDATA}

doc/mf6io/mf6ivar/tex/gwf-sto-options.dat

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,5 +2,6 @@ BEGIN OPTIONS
22
[SAVE_FLOWS]
33
[STORAGECOEFFICIENT]
44
[SS_CONFINED_ONLY]
5-
[TVS6 FILEIN <tvs_filename>]
5+
[TVS6 FILEIN <tvs6_filename>]
6+
[EXPORT_ARRAY_ASCII]
67
END OPTIONS

doc/mf6io/mf6ivar/tex/prt-oc-desc.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
\item \texttt{TRACK\_RELEASE}---keyword to indicate that particle tracking output is to be written when a particle is released
2525

26-
\item \texttt{TRACK\_EXIT}---keyword to indicate that particle tracking output is to be written when a particle exits a cell
26+
\item \texttt{TRACK\_EXIT}---keyword to indicate that particle tracking output is to be written when a particle exits a feature (a model, cell, or subcell)
2727

2828
\item \texttt{TRACK\_TIMESTEP}---keyword to indicate that particle tracking output is to be written at the end of each time step
2929

doc/mf6io/mf6ivar/tex/swf-sto-desc.tex

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,8 @@
55
\begin{description}
66
\item \texttt{SAVE\_FLOWS}---keyword to indicate that cell-by-cell flow terms will be written to the file specified with ``BUDGET SAVE FILE'' in Output Control.
77

8+
\item \texttt{EXPORT\_ARRAY\_ASCII}---keyword that specifies input grid arrays, which already support the layered keyword, should be written to layered ascii output files.
9+
810
\end{description}
911
\item \textbf{Block: PERIOD}
1012

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11
BEGIN OPTIONS
22
[SAVE_FLOWS]
3+
[EXPORT_ARRAY_ASCII]
34
END OPTIONS

doc/mf6io/prt/prt.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ \subsection{Time Stepping}
1616

1717
\subsection{Specifying Cell Face Flows using IFLOWFACE}
1818

19-
By default, flows associated with stress packages are assumed to be distributed uniformly over the volume of a cell. Distributed external inflows and outflows are reflected in the cell-cell flows calculated by the GWF Model, but they are not directly involved in determining the normal face velocities used to track a particle through the cell. The user can optionally assign a flow associated with a stress package to any face of the cell. Assignment of external flows is done by setting the value of an auxiliary package variable called IFLOWFACE to a value that corresponds to one of the cell faces. To accommodate non-rectangular cells, the face numbering scheme in the PRT Model is based on clockwise ordering of the cell faces. For a DIS-grid cell, face 1 is the ``western'' face, i.e., the face parallel to the y axis that has the lesser x coordinate. For a DISV-grid cell, face 1 is the face that extends in the clockwise direction from the first vertex listed for that cell in the CELL2D input block.
19+
By default, flows associated with stress packages are assumed to be distributed uniformly over the volume of a cell. Distributed external inflows and outflows are reflected in the cell-cell flows calculated by the GWF Model, but they are not directly involved in determining the normal face velocities used to track a particle through the cell. The user can optionally assign a flow associated with a stress package to any face of the cell. Assignment of external flows is done by setting the value of an auxiliary package variable called IFLOWFACE to a value that corresponds to one of the cell faces. To accommodate non-rectangular cells, the IFLOWFACE numbering scheme in the PRT Model is based on clockwise ordering of the lateral cell faces. For a DIS-grid cell, IFLOWFACE = 1 corresponds to the ``western'' face, i.e., the face parallel to the y axis that has the lesser x coordinate. For a DISV-grid cell, IFLOWFACE = 1 corresponds to the face that extends in the clockwise direction from the first vertex listed for that cell in the CELL2D input block. IFLOWFACE numbering of lateral cell faces proceeds in clockwise direction. IFLOWFACE = -2 corresponds to the cell bottom, and IFLOWFACE = -1 corresponds to the cell top.
2020

2121
\subsection{Particle Mass Budget}
2222
A summary of all inflow (sources) and outflow (sinks) of particle mass is called a mass budget. The particle mass budget is printed to the PRT Model Listing File for selected time steps. In the current implementation, each particle is assigned unit mass, and the numerical value of the flow can be interpreted as particles per time.

src/Model/ParticleTracking/prt-fmi.f90

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,8 @@ subroutine accumulate_flows(this)
197197
iflowface = 0
198198
if (iauxiflowface > 0) then
199199
iflowface = NINT(this%gwfpackages(ip)%auxvar(iauxiflowface, ib))
200-
if (iflowface < 0) iflowface = iflowface + MAX_POLY_CELLS + 1 ! bot -> 9, top -> 10; see note re: max faces below
200+
! this maps bot -2 -> 9, top -1 -> 10; see note re: max faces below
201+
if (iflowface < 0) iflowface = iflowface + MAX_POLY_CELLS + 1
201202
end if
202203
if (iflowface .gt. 0) then
203204
ioffset = (i - 1) * MAX_POLY_CELLS

0 commit comments

Comments
 (0)