diff --git a/.docs/md/version_changes.md b/.docs/md/version_changes.md index d4213be081..51e1e22b7f 100644 --- a/.docs/md/version_changes.md +++ b/.docs/md/version_changes.md @@ -1,4 +1,10 @@ # Changelog +### Version 3.9.1 + +#### Mf6 + +* [mf6](https://github.com/modflowpy/flopy/commit/4952f81f3b4935c51513593011166fbd88dfd85c): Update dfns and mf6 module (#2399). Committed by wpbonelli on 2024-12-20. + ### Version 3.9.0 #### New features diff --git a/CITATION.cff b/CITATION.cff index 4509967430..01a1b5bcd8 100644 --- a/CITATION.cff +++ b/CITATION.cff @@ -3,7 +3,7 @@ message: If you use this software, please cite both the article from preferred-c references, and the software itself. type: software title: FloPy -version: 3.9.0 +version: 3.9.1 date-released: '2024-12-20' doi: 10.5066/F7BK19FH abstract: A Python package to create, run, and post-process MODFLOW-based models. diff --git a/README.md b/README.md index bfe9bfbe5e..be33b4d6ce 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ flopy3 -### Version 3.9.0 +### Version 3.9.1 [![flopy continuous integration](https://github.com/modflowpy/flopy/actions/workflows/commit.yml/badge.svg?branch=develop)](https://github.com/modflowpy/flopy/actions/workflows/commit.yml) [![Read the Docs](https://github.com/modflowpy/flopy/actions/workflows/rtd.yml/badge.svg?branch=develop)](https://github.com/modflowpy/flopy/actions/workflows/rtd.yml) @@ -150,7 +150,7 @@ How to Cite ##### ***Software/Code citation for FloPy:*** -[Bakker, Mark, Post, Vincent, Hughes, J. D., Langevin, C. D., White, J. T., Leaf, A. T., Paulinski, S. R., Bellino, J. C., Morway, E. D., Toews, M. W., Larsen, J. D., Fienen, M. N., Starn, J. J., Brakenhoff, D. A., and Bonelli, W. P., 2024, FloPy v3.9.0: U.S. Geological Survey Software Release, 20 December 2024, https://doi.org/10.5066/F7BK19FH](https://doi.org/10.5066/F7BK19FH) +[Bakker, Mark, Post, Vincent, Hughes, J. D., Langevin, C. D., White, J. T., Leaf, A. T., Paulinski, S. R., Bellino, J. C., Morway, E. D., Toews, M. W., Larsen, J. D., Fienen, M. N., Starn, J. J., Brakenhoff, D. A., and Bonelli, W. P., 2024, FloPy v3.9.1: U.S. Geological Survey Software Release, 20 December 2024, https://doi.org/10.5066/F7BK19FH](https://doi.org/10.5066/F7BK19FH) Additional FloPy Related Publications diff --git a/docs/PyPI_release.md b/docs/PyPI_release.md index 5a63b8b591..1699f331c2 100644 --- a/docs/PyPI_release.md +++ b/docs/PyPI_release.md @@ -30,4 +30,4 @@ How to Cite *Software/Code citation for FloPy:* -[Bakker, Mark, Post, Vincent, Hughes, J. D., Langevin, C. D., White, J. T., Leaf, A. T., Paulinski, S. R., Bellino, J. C., Morway, E. D., Toews, M. W., Larsen, J. D., Fienen, M. N., Starn, J. J., Brakenhoff, D. A., and Bonelli, W. P., 2024, FloPy v3.9.0: U.S. Geological Survey Software Release, 20 December 2024, https://doi.org/10.5066/F7BK19FH](https://doi.org/10.5066/F7BK19FH) +[Bakker, Mark, Post, Vincent, Hughes, J. D., Langevin, C. D., White, J. T., Leaf, A. T., Paulinski, S. R., Bellino, J. C., Morway, E. D., Toews, M. W., Larsen, J. D., Fienen, M. N., Starn, J. J., Brakenhoff, D. A., and Bonelli, W. P., 2024, FloPy v3.9.1: U.S. Geological Survey Software Release, 20 December 2024, https://doi.org/10.5066/F7BK19FH](https://doi.org/10.5066/F7BK19FH) diff --git a/flopy/mf6/data/dfn/exg-gwegwe.dfn b/flopy/mf6/data/dfn/exg-gwegwe.dfn index 7b79ce7e7e..1f4f03e6f8 100644 --- a/flopy/mf6/data/dfn/exg-gwegwe.dfn +++ b/flopy/mf6/data/dfn/exg-gwegwe.dfn @@ -24,7 +24,7 @@ shape (naux) reader urword optional true longname keyword to specify aux variables -description an array of auxiliary variable names. There is no limit on the number of auxiliary variables that can be provided. Most auxiliary variables will not be used by the GWF-GWF Exchange, but they will be available for use by other parts of the program. If an auxiliary variable with the name ``ANGLDEGX'' is found, then this information will be used as the angle (provided in degrees) between the connection face normal and the x axis, where a value of zero indicates that a normal vector points directly along the positive x axis. The connection face normal is a normal vector on the cell face shared between the cell in model 1 and the cell in model 2 pointing away from the model 1 cell. Additional information on ``ANGLDEGX'' is provided in the description of the DISU Package. If an auxiliary variable with the name ``CDIST'' is found, then this information will be used as the straight-line connection distance, including the vertical component, between the two cell centers. Both ANGLDEGX and CDIST are required if specific discharge is calculated for either of the groundwater models. +description an array of auxiliary variable names. There is no limit on the number of auxiliary variables that can be provided. Most auxiliary variables will not be used by the GWE-GWE Exchange, but they will be available for use by other parts of the program. If an auxiliary variable with the name ``ANGLDEGX'' is found, then this information will be used as the angle (provided in degrees) between the connection face normal and the x axis, where a value of zero indicates that a normal vector points directly along the positive x axis. The connection face normal is a normal vector on the cell face shared between the cell in model 1 and the cell in model 2 pointing away from the model 1 cell. Additional information on ``ANGLDEGX'' is provided in the description of the DISU Package. If an auxiliary variable with the name ``CDIST'' is found, then this information will be used as the straight-line connection distance, including the vertical component, between the two cell centers. Both ANGLDEGX and CDIST are required if specific discharge is calculated for either of the groundwater models. block options name boundnames @@ -162,7 +162,7 @@ tagged false reader urword optional false longname obs6 input filename -description is the file name of the observations input file for this exchange. See the ``Observation utility'' section for instructions for preparing observation input files. Table \ref{table:gwe-obstypetable} lists observation type(s) supported by the GWE-GWE package. +description is the file name of the observations input file for this exchange. See the ``Observation utility'' section for instructions for preparing observation input files. Table \ref{table:gwe-obstypetable} lists observation type(s) supported by the GWE-GWE Exchange Package. block options name dev_interfacemodel_on diff --git a/flopy/mf6/data/dfn/gwe-cnd.dfn b/flopy/mf6/data/dfn/gwe-cnd.dfn index d9d51b3011..0ff0a314db 100644 --- a/flopy/mf6/data/dfn/gwe-cnd.dfn +++ b/flopy/mf6/data/dfn/gwe-cnd.dfn @@ -27,6 +27,16 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + # --------------------- gwe cnd griddata --------------------- block griddata @@ -35,6 +45,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname longitudinal dispersivity in horizontal direction description longitudinal dispersivity in horizontal direction. If flow is strictly horizontal, then this is the longitudinal dispersivity that will be used. If flow is not strictly horizontal or strictly vertical, then the longitudinal dispersivity is a function of both ALH and ALV. If mechanical dispersion is represented (by specifying any dispersivity values) then this array is required. @@ -45,6 +56,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname longitudinal dispersivity in vertical direction description longitudinal dispersivity in vertical direction. If flow is strictly vertical, then this is the longitudinal dispsersivity value that will be used. If flow is not strictly horizontal or strictly vertical, then the longitudinal dispersivity is a function of both ALH and ALV. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ALH. @@ -55,6 +67,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname transverse dispersivity in horizontal direction description transverse dispersivity in horizontal direction. This is the transverse dispersivity value for the second ellipsoid axis. If flow is strictly horizontal and directed in the x direction (along a row for a regular grid), then this value controls spreading in the y direction. If mechanical dispersion is represented (by specifying any dispersivity values) then this array is required. @@ -65,6 +78,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname transverse dispersivity in horizontal direction description transverse dispersivity in horizontal direction. This is the transverse dispersivity value for the third ellipsoid axis. If flow is strictly horizontal and directed in the x direction (along a row for a regular grid), then this value controls spreading in the z direction. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ATH1. @@ -75,6 +89,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname transverse dispersivity when flow is in vertical direction description transverse dispersivity when flow is in vertical direction. If flow is strictly vertical and directed in the z direction, then this value controls spreading in the x and y directions. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ATH2. @@ -85,6 +100,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname thermal conductivity of the simulated fluid description thermal conductivity of the simulated fluid. Note that the CND Package does not account for the tortuosity of the flow paths when solving for the conductive spread of heat. If tortuosity plays an important role in the thermal conductivity calculation, its effect should be reflected in the value specified for KTW. @@ -95,7 +111,8 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname thermal conductivity of the aquifer material -description thermal conductivity of the aquifer material +description thermal conductivity of the solid aquifer material diff --git a/flopy/mf6/data/dfn/gwe-ctp.dfn b/flopy/mf6/data/dfn/gwe-ctp.dfn index d8dd2bc68b..431a0a8f73 100644 --- a/flopy/mf6/data/dfn/gwe-ctp.dfn +++ b/flopy/mf6/data/dfn/gwe-ctp.dfn @@ -139,7 +139,7 @@ type integer reader urword optional false longname maximum number of constant temperatures -description REPLACE maxbound {'{#1}': 'constant temperatures'} +description REPLACE maxbound {'{#1}': 'constant temperature'} # --------------------- gwe ctp period --------------------- diff --git a/flopy/mf6/data/dfn/gwe-dis.dfn b/flopy/mf6/data/dfn/gwe-dis.dfn index 2326105aa0..f38d8434cf 100644 --- a/flopy/mf6/data/dfn/gwe-dis.dfn +++ b/flopy/mf6/data/dfn/gwe-dis.dfn @@ -1,4 +1,5 @@ # --------------------- gwe dis options --------------------- +# mf6 subpackage utl-ncf block options name length_units @@ -49,6 +50,58 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + +block options +name ncf_filerecord +type record ncf6 filein ncf6_filename +reader urword +tagged true +optional true +longname +description + +block options +name ncf6 +type keyword +in_record true +reader urword +tagged true +optional false +longname ncf keyword +description keyword to specify that record corresponds to a netcdf configuration (NCF) file. +extended true + +block options +name filein +type keyword +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an input filename is expected next. + +block options +name ncf6_filename +type string +preserve_case true +in_record true +reader urword +optional false +tagged false +longname file name of NCF information +description defines a netcdf configuration (NCF) input file. +extended true + # --------------------- gwe dis dimensions --------------------- block dimensions @@ -85,6 +138,7 @@ name delr type double precision shape (ncol) reader readarray +netcdf true longname spacing along a row description is the column spacing in the row direction. default_value 1.0 @@ -94,6 +148,7 @@ name delc type double precision shape (nrow) reader readarray +netcdf true longname spacing along a column description is the row spacing in the column direction. default_value 1.0 @@ -103,6 +158,7 @@ name top type double precision shape (ncol, nrow) reader readarray +netcdf true longname cell top elevation description is the top elevation for each cell in the top model layer. default_value 1.0 @@ -113,6 +169,7 @@ type double precision shape (ncol, nrow, nlay) reader readarray layered true +netcdf true longname cell bottom elevation description is the bottom elevation for each cell. default_value 0. @@ -123,6 +180,7 @@ type integer shape (ncol, nrow, nlay) reader readarray layered true +netcdf true optional true longname idomain existence array description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell. diff --git a/flopy/mf6/data/dfn/gwe-disv.dfn b/flopy/mf6/data/dfn/gwe-disv.dfn index ff91ef0cfd..85d95504c0 100644 --- a/flopy/mf6/data/dfn/gwe-disv.dfn +++ b/flopy/mf6/data/dfn/gwe-disv.dfn @@ -1,4 +1,5 @@ # --------------------- gwe disv options --------------------- +# mf6 subpackage utl-ncf block options name length_units @@ -49,6 +50,58 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + +block options +name ncf_filerecord +type record ncf6 filein ncf6_filename +reader urword +tagged true +optional true +longname +description + +block options +name ncf6 +type keyword +in_record true +reader urword +tagged true +optional false +longname ncf keyword +description keyword to specify that record corresponds to a netcdf configuration (NCF) file. +extended true + +block options +name filein +type keyword +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an input filename is expected next. + +block options +name ncf6_filename +type string +preserve_case true +in_record true +reader urword +optional false +tagged false +longname file name of NCF information +description defines a netcdf configuration (NCF) input file. +extended true + # --------------------- gwe disv dimensions --------------------- block dimensions @@ -82,6 +135,7 @@ name top type double precision shape (ncpl) reader readarray +netcdf true longname model top elevation description is the top elevation for each cell in the top model layer. @@ -91,6 +145,7 @@ type double precision shape (ncpl, nlay) reader readarray layered true +netcdf true longname model bottom elevation description is the bottom elevation for each cell. @@ -100,6 +155,7 @@ type integer shape (ncpl, nlay) reader readarray layered true +netcdf true optional true longname idomain existence array description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell. diff --git a/flopy/mf6/data/dfn/gwe-esl.dfn b/flopy/mf6/data/dfn/gwe-esl.dfn index 534db1b027..ce6e94cfed 100644 --- a/flopy/mf6/data/dfn/gwe-esl.dfn +++ b/flopy/mf6/data/dfn/gwe-esl.dfn @@ -134,7 +134,7 @@ type integer reader urword optional false longname maximum number of sources -description REPLACE maxbound {'{#1}': 'sources'} +description REPLACE maxbound {'{#1}': 'source'} # --------------------- gwe esl period --------------------- diff --git a/flopy/mf6/data/dfn/gwe-est.dfn b/flopy/mf6/data/dfn/gwe-est.dfn index 22181237c3..283900bd6b 100644 --- a/flopy/mf6/data/dfn/gwe-est.dfn +++ b/flopy/mf6/data/dfn/gwe-est.dfn @@ -14,15 +14,37 @@ type keyword reader urword optional true longname activate zero-order decay -description is a text keyword to indicate that zero-order decay will occur. Use of this keyword requires that DECAY and DECAY\_SORBED (if sorption is active) are specified in the GRIDDATA block. +description is a text keyword to indicate that zero-order decay will occur. Use of this keyword requires that DECAY is specified in the GRIDDATA block. + +block options +name density_water +type double precision +reader urword +optional true +longname density of water +description density of water used by calculations related to heat storage and conduction. This value is set to 1,000 kg/m3 if no overriding value is specified. A user-specified value should be provided for models that use units other than kilograms and meters or if it is necessary to use a value other than the default. +default_value 1000.0 +mf6internal rhow + +block options +name heat_capacity_water +type double precision +reader urword +optional true +longname heat capacity of water +description heat capacity of water used by calculations related to heat storage and conduction. This value is set to 4,184 J/kg/C if no overriding value is specified. A user-specified value should be provided for models that use units other than kilograms, joules, and degrees Celsius or it is necessary to use a value other than the default. +default_value 4184.0 +mf6internal cpw block options name latent_heat_vaporization -type keyword +type double precision reader urword optional true -longname activate cooling associated with evaporation -description is a text keyword to indicate that cooling associated with evaporation will occur. Use of this keyword requires that LATHEATVAP are specified in the GRIDDATA block. While the EST package does not simulate evaporation, multiple other packages in a GWE simulation may. For example, evaporation may occur from the surface of streams or lakes. Owing to the energy consumed by the change in phase, the latent heat of vaporization is required. +longname latent heat of vaporization +description latent heat of vaporization is the amount of energy that is required to convert a given quantity of liquid into a gas and is associated with evaporative cooling. While the EST package does not simulate evaporation, multiple other packages in a GWE simulation may. To avoid having to specify the latent heat of vaporization in multiple packages, it is specified in a single location and accessed wherever it is needed. For example, evaporation may occur from the surface of streams or lakes and the energy consumed by the change in phase would be needed in both the SFE and LKE packages. This value is set to 2,453,500 J/kg if no overriding value is specified. A user-specified value should be provided for models that use units other than joules and kilograms or if it is necessary to use a value other than the default. +default_value 2453500.0 +mf6internal latheatvap # --------------------- gwe est griddata --------------------- @@ -46,61 +68,21 @@ longname aqueous phase decay rate coefficient description is the rate coefficient for zero-order decay for the aqueous phase of the mobile domain. A negative value indicates heat (energy) production. The dimensions of decay for zero-order decay is energy per length cubed per time. Zero-order decay will have no effect on simulation results unless zero-order decay is specified in the options block. block griddata -name cps +name heat_capacity_solid type double precision shape (nodes) reader readarray layered true longname heat capacity of the aquifer material description is the mass-based heat capacity of dry solids (aquifer material). For example, units of J/kg/C may be used (or equivalent). +mf6internal cps block griddata -name rhos +name density_solid type double precision shape (nodes) reader readarray layered true longname density of aquifer material description is a user-specified value of the density of aquifer material not considering the voids. Value will remain fixed for the entire simulation. For example, if working in SI units, values may be entered as kilograms per cubic meter. - -# --------------------- gwe est packagedata --------------------- - -block packagedata -name packagedata -type recarray cpw rhow latheatvap -shape -reader urword -longname -description - -block packagedata -name cpw -type double precision -shape -tagged false -in_record true -reader urword -longname heat capacity of water -description is the mass-based heat capacity of the simulated fluid. For example, units of J/kg/C may be used (or equivalent). - -block packagedata -name rhow -type double precision -shape -tagged false -in_record true -reader urword -longname density of water -description is a user-specified value of the density of water. Value will remain fixed for the entire simulation. For example, if working in SI units, values may be entered as kilograms per cubic meter. - - -block packagedata -name latheatvap -type double precision -shape -tagged false -in_record true -reader urword -longname latent heat of vaporization -description is the user-specified value for the latent heat of vaporization. For example, if working in SI units, values may be entered as kJ/kg. - +mf6internal rhos diff --git a/flopy/mf6/data/dfn/gwe-ic.dfn b/flopy/mf6/data/dfn/gwe-ic.dfn index 6bd80b3de6..77e9deabfb 100644 --- a/flopy/mf6/data/dfn/gwe-ic.dfn +++ b/flopy/mf6/data/dfn/gwe-ic.dfn @@ -9,6 +9,16 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + # --------------------- gwe ic griddata --------------------- block griddata @@ -17,6 +27,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true longname starting temperature description is the initial (starting) temperature---that is, the temperature at the beginning of the GWE Model simulation. STRT must be specified for all GWE Model simulations. One value is read for every model cell. default_value 0.0 diff --git a/flopy/mf6/data/dfn/gwe-lke.dfn b/flopy/mf6/data/dfn/gwe-lke.dfn index b59b50420b..6ddb828873 100644 --- a/flopy/mf6/data/dfn/gwe-lke.dfn +++ b/flopy/mf6/data/dfn/gwe-lke.dfn @@ -382,7 +382,7 @@ tagged true in_record true reader urword longname lake temperature status -description keyword option to define lake status. STATUS can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is ACTIVE, which means that temperature will be calculated for the lake. If a lake is inactive, then there will be no solute mass fluxes into or out of the lake and the inactive value will be written for the lake temperature. If a lake is constant, then the temperature for the lake will be fixed at the user specified value. +description keyword option to define lake status. STATUS can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is ACTIVE, which means that temperature will be calculated for the lake. If a lake is inactive, then there will be no energy fluxes into or out of the lake and the inactive value will be written for the lake temperature. If a lake is constant, then the temperature for the lake will be fixed at the user specified value. block period name temperature @@ -415,7 +415,7 @@ in_record true reader urword time_series true longname evaporation temperature -description real or character value that defines the temperature of evaporated water $(^{\circ}C)$ for the reach. If this temperature value is larger than the simulated temperature in the reach, then the evaporated water will be removed at the same temperature as the reach. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. +description use of the EVAPORATION keyword is allowed in the LKE package; however, the specified value is not currently used in LKE calculations. Instead, the latent heat of evaporation is multiplied by the simulated evaporation rate for determining the thermal energy lost from a stream reach. block period @@ -427,7 +427,7 @@ in_record true reader urword time_series true longname runoff temperature -description real or character value that defines the temperature of runoff for the lake. Value must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. +description real or character value that defines the temperature of runoff for the lake. Users are free to use whatever temperature scale they want, which might include negative temperatures. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. block period name ext-inflow @@ -438,7 +438,7 @@ in_record true reader urword time_series true longname ext-inflow temperature -description real or character value that defines the temperature of external inflow for the lake. Value must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. +description real or character value that defines the temperature of external inflow for the lake. Users are free to use whatever temperature scale they want, which might include negative temperatures. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. block period name auxiliaryrecord diff --git a/flopy/mf6/data/dfn/gwe-mwe.dfn b/flopy/mf6/data/dfn/gwe-mwe.dfn index c805b6533f..9b69409c30 100644 --- a/flopy/mf6/data/dfn/gwe-mwe.dfn +++ b/flopy/mf6/data/dfn/gwe-mwe.dfn @@ -294,7 +294,7 @@ tagged false in_record true reader urword longname thermal conductivity of the feature -description is the thermal conductivity of the of the interface between the aquifer cell and the feature. +description is the thermal conductivity of the interface between the aquifer cell and the feature. block packagedata name fthk @@ -404,7 +404,7 @@ in_record true reader urword time_series true longname well injection temperature -description real or character value that defines the injection solute temperature $^{\circ}C$ for the well. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. +description real or character value that defines the injection temperature $(e.g., ^{\circ}C or ^{\circ}F)$ for the well. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. block period name auxiliaryrecord diff --git a/flopy/mf6/data/dfn/gwe-nam.dfn b/flopy/mf6/data/dfn/gwe-nam.dfn index 31aa8fd84b..55e2852a6b 100644 --- a/flopy/mf6/data/dfn/gwe-nam.dfn +++ b/flopy/mf6/data/dfn/gwe-nam.dfn @@ -33,6 +33,133 @@ optional true longname save flows for all packages to budget file description REPLACE save_flows {'{#1}': 'all model package'} +block options +name nc_mesh2d_filerecord +type record netcdf_mesh2d fileout ncmesh2dfile +shape +reader urword +tagged true +optional true +longname +description netcdf layered mesh fileout record. +mf6internal ncmesh2drec + +block options +name netcdf_mesh2d +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname budget keyword +description keyword to specify that record corresponds to a layered mesh netcdf file. +extended true + +block options +name nc_structured_filerecord +type record netcdf_structured fileout ncstructfile +shape +reader urword +tagged true +optional true +longname +description netcdf structured fileout record. +mf6internal ncstructrec + +block options +name netcdf_structured +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname budget keyword +description keyword to specify that record corresponds to a structured netcdf file. +mf6internal netcdf_struct +extended true + +block options +name fileout +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an output filename is expected next. + +block options +name ncmesh2dfile +type string +preserve_case true +shape +in_record true +reader urword +tagged false +optional false +longname file keyword +description name of the netcdf ugrid layered mesh output file. +extended true + +block options +name ncstructfile +type string +preserve_case true +shape +in_record true +reader urword +tagged false +optional false +longname file keyword +description name of the netcdf structured output file. +extended true + +block options +name nc_filerecord +type record netcdf filein netcdf_filename +reader urword +tagged true +optional true +longname +description netcdf filerecord + +block options +name netcdf +type keyword +in_record true +reader urword +tagged true +optional false +longname netcdf keyword +description keyword to specify that record corresponds to a netcdf input file. +extended true + +block options +name filein +type keyword +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an input filename is expected next. + +block options +name netcdf_filename +type string +preserve_case true +in_record true +reader urword +optional false +tagged false +longname netcdf input filename +description defines a netcdf input file. +mf6internal netcdf_fname +extended true + # --------------------- gwe nam packages --------------------- block packages diff --git a/flopy/mf6/data/dfn/gwe-sfe.dfn b/flopy/mf6/data/dfn/gwe-sfe.dfn index 610e3911ff..ed7f29f2a3 100644 --- a/flopy/mf6/data/dfn/gwe-sfe.dfn +++ b/flopy/mf6/data/dfn/gwe-sfe.dfn @@ -26,7 +26,7 @@ shape reader urword optional true longname keyword to specify name of temperature auxiliary variable in flow package -description keyword to specify the name of an auxiliary variable provided in the corresponding flow package (i.e., FLOW\_PACKAE\_NAME). If specified, then the simulated temperatures from this advanced energy transport package will be copied into the auxiliary variable specified with this name. Note that the flow package must have an auxiliary variable with this name or the program will terminate with an error. If the flows for this advanced energy transport package are read from a file, then this option will have no effect. +description keyword to specify the name of an auxiliary variable provided in the corresponding flow package (i.e., FLOW\_PACKAGE\_NAME). If specified, then the simulated temperatures from this advanced energy transport package will be copied into the auxiliary variable specified with this name. Note that the flow package must have an auxiliary variable with this name or the program will terminate with an error. If the flows for this advanced energy transport package are read from a file, then this option will have no effect. block options name boundnames @@ -252,7 +252,7 @@ tagged false reader urword optional false longname obs6 input filename -description REPLACE obs6_filename {'{#1}': 'SFT'} +description REPLACE obs6_filename {'{#1}': 'SFE'} # --------------------- gwe sfe packagedata --------------------- @@ -404,7 +404,7 @@ in_record true reader urword time_series true longname rainfall temperature -description real or character value that defines the rainfall temperature $(^{\circ}C)$ for the reach. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. +description real or character value that defines the rainfall temperature $(e.g., ^{\circ}C or ^{\circ}F)$ for the reach. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. block period name evaporation @@ -415,7 +415,7 @@ in_record true reader urword time_series true longname evaporation temperature -description real or character value that defines the temperature of evaporated water $(^{\circ}C)$ for the reach. If this temperature value is larger than the simulated temperature in the reach, then the evaporated water will be removed at the same temperature as the reach. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. +description use of the EVAPORATION keyword is allowed in the SFE package; however, the specified value is not currently used in SFE calculations. Instead, the latent heat of evaporation is multiplied by the simulated evaporation rate for determining the thermal energy lost from a stream reach. block period name runoff @@ -426,7 +426,7 @@ in_record true reader urword time_series true longname runoff temperature -description real or character value that defines the temperature of runoff $(^{\circ}C)$ for the reach. Value must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. +description real or character value that defines the temperature of runoff $(e.g., ^{\circ}C or ^{\circ}F)$ for the reach. Users are free to use whatever temperature scale they want, which might include negative temperatures. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. block period name inflow @@ -437,7 +437,7 @@ in_record true reader urword time_series true longname inflow temperature -description real or character value that defines the temperature of inflow $(^{\circ}C)$ for the reach. Value must be greater than or equal to zero. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. +description real or character value that defines the temperature of inflow $(e.g., ^{\circ}C or ^{\circ}F)$ for the reach. Users are free to use whatever temperature scale they want, which might include negative temperatures. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. block period name auxiliaryrecord diff --git a/flopy/mf6/data/dfn/gwe-ssm.dfn b/flopy/mf6/data/dfn/gwe-ssm.dfn index 4cc3fc7982..1e85ca5384 100644 --- a/flopy/mf6/data/dfn/gwe-ssm.dfn +++ b/flopy/mf6/data/dfn/gwe-ssm.dfn @@ -44,7 +44,7 @@ tagged false optional false reader urword longname source type -description keyword indicating how temperature will be assigned for sources and sinks. Keyword must be specified as either AUX or AUXMIXED. For both options the user must provide an auxiliary variable in the corresponding flow package. The auxiliary variable must have the same name as the AUXNAME value that follows. If the AUX keyword is specified, then the auxiliary variable specified by the user will be assigned as the concenration value for groundwater sources (flows with a positive sign). For negative flow rates (sinks), groundwater will be withdrawn from the cell at the simulated temperature of the cell. The AUXMIXED option provides an alternative method for how to determine the temperature of sinks. If the cell temperature is larger than the user-specified auxiliary temperature, then the temperature of groundwater withdrawn from the cell will be assigned as the user-specified temperature. Alternatively, if the user-specified auxiliary temperature is larger than the cell temperature, then groundwater will be withdrawn at the cell temperature. Thus, the AUXMIXED option is designed to work with the Evapotranspiration (EVT) and Recharge (RCH) Packages where water may be withdrawn at a temperature that is less than the cell temperature. +description keyword indicating how temperature will be assigned for sources and sinks. Keyword must be specified as either AUX or AUXMIXED. For both options the user must provide an auxiliary variable in the corresponding flow package. The auxiliary variable must have the same name as the AUXNAME value that follows. If the AUX keyword is specified, then the auxiliary variable specified by the user will be assigned as the temperature value for groundwater sources (flows with a positive sign). For negative flow rates (sinks), groundwater will be withdrawn from the cell at the simulated temperature of the cell. The AUXMIXED option provides an alternative method for how to determine the temperature of sinks. If the cell temperature is larger than the user-specified auxiliary temperature, then the temperature of groundwater withdrawn from the cell will be assigned as the user-specified temperature. Alternatively, if the user-specified auxiliary temperature is larger than the cell temperature, then groundwater will be withdrawn at the cell temperature. Thus, the AUXMIXED option is designed to work with the Evapotranspiration (EVT) and Recharge (RCH) Packages where water may be withdrawn at a temperature that is less than the cell temperature. block sources name auxname @@ -61,7 +61,7 @@ description name of the auxiliary variable in the package PNAME. This auxiliary block fileinput name fileinput -type recarray pname spt6 filein spt6_filename mixed +type recarray pname spc6 filein spc6_filename mixed reader urword longname description @@ -73,11 +73,11 @@ type string tagged false reader urword longname package name -description name of the flow package for which an SPT6 input file contains a source temperature. If this flow package is represented using an advanced transport package (SFE, LKE, MWE, or UZE), then the advanced transport package will override SSM terms specified here. +description name of the flow package for which an SPC6 input file contains a source temperature. If this flow package is represented using an advanced transport package (SFE, LKE, MWE, or UZE), then the advanced transport package will override SSM terms specified here. block fileinput -name spt6 +name spc6 type keyword shape in_record true @@ -99,15 +99,15 @@ longname file keyword description keyword to specify that an input filename is expected next. block fileinput -name spt6_filename +name spc6_filename type string preserve_case true in_record true reader urword optional false tagged false -longname spt file name -description character string that defines the path and filename for the file containing source and sink input data for the flow package. The SPT6\_FILENAME file is a flexible input file that allows temperatures to be specified by stress period and with time series. Instructions for creating the SPT6\_FILENAME input file are provided in the next section on file input for boundary temperatures. +longname spc file name +description character string that defines the path and filename for the file containing source and sink input data for the flow package. The SPC6\_FILENAME file is a flexible input file that allows temperatures to be specified by stress period and with time series. Instructions for creating the SPC6\_FILENAME input file are provided in the next section on file input for boundary temperatures. block fileinput name mixed diff --git a/flopy/mf6/data/dfn/gwe-uze.dfn b/flopy/mf6/data/dfn/gwe-uze.dfn index 1f272617b7..2599e0f8f9 100644 --- a/flopy/mf6/data/dfn/gwe-uze.dfn +++ b/flopy/mf6/data/dfn/gwe-uze.dfn @@ -26,7 +26,7 @@ shape reader urword optional true longname keyword to specify name of concentration auxiliary variable in flow package -description keyword to specify the name of an auxiliary variable in the corresponding flow package. If specified, then the simulated concentrations from this advanced transport package will be copied into the auxiliary variable specified with this name. Note that the flow package must have an auxiliary variable with this name or the program will terminate with an error. If the flows for this advanced transport package are read from a file, then this option will have no effect. +description keyword to specify the name of an auxiliary variable in the corresponding flow package. If specified, then the simulated temperatures from this advanced transport package will be copied into the auxiliary variable specified with this name. Note that the flow package must have an auxiliary variable with this name or the program will terminate with an error. If the flows for this advanced transport package are read from a file, then this option will have no effect. block options name boundnames @@ -384,7 +384,7 @@ in_record true reader urword time_series true longname infiltration temperature -description real or character value that defines the temperature of the infiltration $(^\circ C)$ for the UZF cell. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. +description real or character value that defines the temperature of the infiltration $(e.g., ^{\circ}C or ^{\circ}F)$ for the UZF cell. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. block period name uzet diff --git a/flopy/mf6/data/dfn/gwf-csub.dfn b/flopy/mf6/data/dfn/gwf-csub.dfn index 954240daaf..421456b2f1 100644 --- a/flopy/mf6/data/dfn/gwf-csub.dfn +++ b/flopy/mf6/data/dfn/gwf-csub.dfn @@ -413,7 +413,7 @@ reader urword tagged true optional false longname package_convergence keyword -description keyword to specify that record corresponds to the package convergence comma spaced values file. +description keyword to specify that record corresponds to the package convergence comma spaced values file. Package convergence data is for delay interbeds. A warning message will be issued if package convergence data is requested but delay interbeds are not included in the package. block options name package_convergence_filename diff --git a/flopy/mf6/data/dfn/gwf-dis.dfn b/flopy/mf6/data/dfn/gwf-dis.dfn index 4406a57be4..dd00ba0c24 100644 --- a/flopy/mf6/data/dfn/gwf-dis.dfn +++ b/flopy/mf6/data/dfn/gwf-dis.dfn @@ -1,4 +1,5 @@ # --------------------- gwf dis options --------------------- +# mf6 subpackage utl-ncf block options name length_units @@ -49,6 +50,58 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + +block options +name ncf_filerecord +type record ncf6 filein ncf6_filename +reader urword +tagged true +optional true +longname +description + +block options +name ncf6 +type keyword +in_record true +reader urword +tagged true +optional false +longname ncf keyword +description keyword to specify that record corresponds to a netcdf configuration (NCF) file. +extended true + +block options +name filein +type keyword +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an input filename is expected next. + +block options +name ncf6_filename +type string +preserve_case true +in_record true +reader urword +optional false +tagged false +longname file name of NCF information +description defines a netcdf configuration (NCF) input file. +extended true + # --------------------- gwf dis dimensions --------------------- block dimensions @@ -85,6 +138,7 @@ name delr type double precision shape (ncol) reader readarray +netcdf true longname spacing along a row description is the column spacing in the row direction. default_value 1.0 @@ -94,6 +148,7 @@ name delc type double precision shape (nrow) reader readarray +netcdf true longname spacing along a column description is the row spacing in the column direction. default_value 1.0 @@ -103,6 +158,7 @@ name top type double precision shape (ncol, nrow) reader readarray +netcdf true longname cell top elevation description is the top elevation for each cell in the top model layer. default_value 1.0 @@ -113,6 +169,7 @@ type double precision shape (ncol, nrow, nlay) reader readarray layered true +netcdf true longname cell bottom elevation description is the bottom elevation for each cell. default_value 0. @@ -123,8 +180,7 @@ type integer shape (ncol, nrow, nlay) reader readarray layered true +netcdf true optional true longname idomain existence array description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1 or greater, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell. - - diff --git a/flopy/mf6/data/dfn/gwf-disv.dfn b/flopy/mf6/data/dfn/gwf-disv.dfn index 17152994f5..1d3aea3803 100644 --- a/flopy/mf6/data/dfn/gwf-disv.dfn +++ b/flopy/mf6/data/dfn/gwf-disv.dfn @@ -1,4 +1,5 @@ # --------------------- gwf disv options --------------------- +# mf6 subpackage utl-ncf block options name length_units @@ -47,7 +48,59 @@ reader urword optional true mf6internal export_ascii longname export array variables to layered ascii files. -description keyword that specifies input griddata arrays should be written to layered ascii output files. +description keyword that specifies input griddata arrays should be written to layered ascii output files. + +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + +block options +name ncf_filerecord +type record ncf6 filein ncf6_filename +reader urword +tagged true +optional true +longname +description + +block options +name ncf6 +type keyword +in_record true +reader urword +tagged true +optional false +longname ncf keyword +description keyword to specify that record corresponds to a netcdf configuration (NCF) file. +extended true + +block options +name filein +type keyword +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an input filename is expected next. + +block options +name ncf6_filename +type string +preserve_case true +in_record true +reader urword +optional false +tagged false +longname file name of NCF information +description defines a netcdf configuration (NCF) input file. +extended true # --------------------- gwf disv dimensions --------------------- @@ -82,6 +135,7 @@ name top type double precision shape (ncpl) reader readarray +netcdf true longname model top elevation description is the top elevation for each cell in the top model layer. @@ -91,6 +145,7 @@ type double precision shape (ncpl, nlay) reader readarray layered true +netcdf true longname model bottom elevation description is the bottom elevation for each cell. @@ -100,6 +155,7 @@ type integer shape (ncpl, nlay) reader readarray layered true +netcdf true optional true longname idomain existence array description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1 or greater, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell. diff --git a/flopy/mf6/data/dfn/gwf-evta.dfn b/flopy/mf6/data/dfn/gwf-evta.dfn index 2ee518627e..601d25ee6c 100644 --- a/flopy/mf6/data/dfn/gwf-evta.dfn +++ b/flopy/mf6/data/dfn/gwf-evta.dfn @@ -141,6 +141,15 @@ optional false longname obs6 input filename description REPLACE obs6_filename {'{#1}': 'Evapotranspiration'} +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true # --------------------- gwf evta period --------------------- @@ -201,6 +210,6 @@ type double precision shape (ncol*nrow; ncpl) reader readarray time_series true -longname auxiliary variable iaux +longname evapotranspiration auxiliary variable iaux description is an array of values for auxiliary variable AUX(IAUX), where iaux is a value from 1 to NAUX, and AUX(IAUX) must be listed as part of the auxiliary variables. A separate array can be specified for each auxiliary variable. If an array is not specified for an auxiliary variable, then a value of zero is assigned. If the value specified here for the auxiliary variable is the same as auxmultname, then the evapotranspiration rate will be multiplied by this array. mf6internal auxvar diff --git a/flopy/mf6/data/dfn/gwf-ic.dfn b/flopy/mf6/data/dfn/gwf-ic.dfn index de93f781c3..1ad27b4e23 100644 --- a/flopy/mf6/data/dfn/gwf-ic.dfn +++ b/flopy/mf6/data/dfn/gwf-ic.dfn @@ -9,6 +9,16 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + # --------------------- gwf ic griddata --------------------- block griddata @@ -17,6 +27,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true longname starting head description is the initial (starting) head---that is, head at the beginning of the GWF Model simulation. STRT must be specified for all simulations, including steady-state simulations. One value is read for every model cell. For simulations in which the first stress period is steady state, the values used for STRT generally do not affect the simulation (exceptions may occur if cells go dry and (or) rewet). The execution time, however, will be less if STRT includes hydraulic heads that are close to the steady-state solution. A head value lower than the cell bottom can be provided if a cell should start as dry. default_value 1.0 diff --git a/flopy/mf6/data/dfn/gwf-lak.dfn b/flopy/mf6/data/dfn/gwf-lak.dfn index 3dc9e940c0..59d127b230 100644 --- a/flopy/mf6/data/dfn/gwf-lak.dfn +++ b/flopy/mf6/data/dfn/gwf-lak.dfn @@ -719,7 +719,7 @@ shape tagged true in_record true reader urword -longname well status +longname lake status description keyword option to define lake status. STATUS can be ACTIVE, INACTIVE, or CONSTANT. By default, STATUS is ACTIVE. block period diff --git a/flopy/mf6/data/dfn/gwf-maw.dfn b/flopy/mf6/data/dfn/gwf-maw.dfn index 2e957ec2c8..936182795b 100644 --- a/flopy/mf6/data/dfn/gwf-maw.dfn +++ b/flopy/mf6/data/dfn/gwf-maw.dfn @@ -390,7 +390,7 @@ tagged false in_record true reader urword longname conductance equation -description character string that defines the conductance equation that is used to calculate the saturated conductance for the multi-aquifer well. Possible multi-aquifer well CONDEQN strings include: SPECIFIED--character keyword to indicate the multi-aquifer well saturated conductance will be specified. THIEM--character keyword to indicate the multi-aquifer well saturated conductance will be calculated using the Thiem equation, which considers the cell top and bottom, aquifer hydraulic conductivity, and effective cell and well radius. SKIN--character keyword to indicate that the multi-aquifer well saturated conductance will be calculated using the cell top and bottom, aquifer and screen hydraulic conductivity, and well and skin radius. CUMULATIVE--character keyword to indicate that the multi-aquifer well saturated conductance will be calculated using a combination of the Thiem and SKIN equations. MEAN--character keyword to indicate the multi-aquifer well saturated conductance will be calculated using the aquifer and screen top and bottom, aquifer and screen hydraulic conductivity, and well and skin radius. The CUMULATIVE conductance equation is identical to the SKIN LOSSTYPE in the Multi-Node Well (MNW2) package for MODFLOW-2005. The program will terminate with an error condition if CONDEQN is SKIN or CUMULATIVE and the calculated saturated conductance is less than zero; if an error condition occurs, it is suggested that the THEIM or MEAN conductance equations be used for these multi-aquifer wells. +description character string that defines the conductance equation that is used to calculate the saturated conductance for the multi-aquifer well. Possible multi-aquifer well CONDEQN strings include: SPECIFIED--character keyword to indicate the multi-aquifer well saturated conductance will be specified. THIEM--character keyword to indicate the multi-aquifer well saturated conductance will be calculated using the Thiem equation, which considers the cell top and bottom, aquifer hydraulic conductivity, and effective cell and well radius. SKIN--character keyword to indicate that the multi-aquifer well saturated conductance will be calculated using the cell top and bottom, aquifer and screen hydraulic conductivity, and well and skin radius. CUMULATIVE--character keyword to indicate that the multi-aquifer well saturated conductance will be calculated using a combination of the Thiem and SKIN equations. MEAN--character keyword to indicate the multi-aquifer well saturated conductance will be calculated using the aquifer and screen top and bottom, aquifer and screen hydraulic conductivity, and well and skin radius. The CUMULATIVE conductance equation is identical to the SKIN LOSSTYPE in the Multi-Node Well (MNW2) package for MODFLOW-2005. The program will terminate with an error condition if CONDEQN is SKIN or CUMULATIVE and the calculated saturated conductance is less than zero; if an error condition occurs, it is suggested that the THIEM or MEAN conductance equations be used for these multi-aquifer wells. block packagedata name ngwfnodes @@ -495,7 +495,7 @@ tagged false in_record true reader urword longname skin data -description value that defines the skin (filter pack) hydraulic conductivity (if CONDEQN for the multi-aquifer well is SKIN, CUMULATIVE, or MEAN) or conductance (if CONDEQN for the multi-aquifer well is SPECIFIED) for each GWF node connected to the multi-aquifer well (NGWFNODES). If CONDEQN is SPECIFIED, HK\_SKIN must be greater than or equal to zero. HK\_SKIN can be any value if CONDEQN is THIEM. Otherwise, HK\_SKIN must be greater than zero. If CONDEQN is SKIN, the contrast between the cell transmissivity (the product of geometric mean horizontal hydraulic conductivity and the cell thickness) and the well transmissivity (the product of HK\_SKIN and the screen thicknesses) must be greater than one in node CELLID or the program will terminate with an error condition; if an error condition occurs, it is suggested that the HK\_SKIN be reduced to a value less than K11 and K22 in node CELLID or the THEIM or MEAN conductance equations be used for these multi-aquifer wells. +description value that defines the skin (filter pack) hydraulic conductivity (if CONDEQN for the multi-aquifer well is SKIN, CUMULATIVE, or MEAN) or conductance (if CONDEQN for the multi-aquifer well is SPECIFIED) for each GWF node connected to the multi-aquifer well (NGWFNODES). If CONDEQN is SPECIFIED, HK\_SKIN must be greater than or equal to zero. HK\_SKIN can be any value if CONDEQN is THIEM. Otherwise, HK\_SKIN must be greater than zero. If CONDEQN is SKIN, the contrast between the cell transmissivity (the product of geometric mean horizontal hydraulic conductivity and the cell thickness) and the well transmissivity (the product of HK\_SKIN and the screen thicknesses) must be greater than one in node CELLID or the program will terminate with an error condition; if an error condition occurs, it is suggested that the HK\_SKIN be reduced to a value less than K11 and K22 in node CELLID or the THIEM or MEAN conductance equations be used for these multi-aquifer wells. block connectiondata name radius_skin diff --git a/flopy/mf6/data/dfn/gwf-nam.dfn b/flopy/mf6/data/dfn/gwf-nam.dfn index f4e6ba4839..dbe2a5b071 100644 --- a/flopy/mf6/data/dfn/gwf-nam.dfn +++ b/flopy/mf6/data/dfn/gwf-nam.dfn @@ -58,6 +58,133 @@ optional true longname keyword to activate Newton-Raphson UNDER_RELAXATION option description keyword that indicates whether the groundwater head in a cell will be under-relaxed when water levels fall below the bottom of the model below any given cell. By default, Newton-Raphson UNDER\_RELAXATION is not applied. +block options +name nc_mesh2d_filerecord +type record netcdf_mesh2d fileout ncmesh2dfile +shape +reader urword +tagged true +optional true +longname +description netcdf layered mesh fileout record. +mf6internal ncmesh2drec + +block options +name netcdf_mesh2d +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname budget keyword +description keyword to specify that record corresponds to a layered mesh netcdf file. +extended true + +block options +name nc_structured_filerecord +type record netcdf_structured fileout ncstructfile +shape +reader urword +tagged true +optional true +longname +description netcdf structured fileout record. +mf6internal ncstructrec + +block options +name netcdf_structured +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname budget keyword +description keyword to specify that record corresponds to a structured netcdf file. +mf6internal netcdf_struct +extended true + +block options +name fileout +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an output filename is expected next. + +block options +name ncmesh2dfile +type string +preserve_case true +shape +in_record true +reader urword +tagged false +optional false +longname file keyword +description name of the netcdf ugrid layered mesh output file. +extended true + +block options +name ncstructfile +type string +preserve_case true +shape +in_record true +reader urword +tagged false +optional false +longname file keyword +description name of the netcdf structured output file. +extended true + +block options +name nc_filerecord +type record netcdf filein netcdf_filename +reader urword +tagged true +optional true +longname +description netcdf filerecord + +block options +name netcdf +type keyword +in_record true +reader urword +tagged true +optional false +longname netcdf keyword +description keyword to specify that record corresponds to a netcdf input file. +extended true + +block options +name filein +type keyword +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an input filename is expected next. + +block options +name netcdf_filename +type string +preserve_case true +in_record true +reader urword +optional false +tagged false +longname netcdf input filename +description defines a netcdf input file. +mf6internal netcdf_fname +extended true + # --------------------- gwf nam packages --------------------- block packages diff --git a/flopy/mf6/data/dfn/gwf-npf.dfn b/flopy/mf6/data/dfn/gwf-npf.dfn index 23cb314c2a..812fb6f3f9 100644 --- a/flopy/mf6/data/dfn/gwf-npf.dfn +++ b/flopy/mf6/data/dfn/gwf-npf.dfn @@ -233,6 +233,16 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + # dev options block options @@ -262,6 +272,7 @@ shape (nodes) valid reader readarray layered true +netcdf true optional longname confined or convertible indicator description flag for each cell that specifies how saturated thickness is treated. 0 means saturated thickness is held constant; $>$0 means saturated thickness varies with computed head when head is below the cell top; $<$0 means saturated thickness varies with computed head unless the THICKSTRT option is in effect. When THICKSTRT is in effect, a negative value for ICELLTYPE indicates that the saturated thickness value used in conductance calculations in the NPF Package will be computed as STRT-BOT and held constant. If the THICKSTRT option is not in effect, then negative values provided by the user for ICELLTYPE are automatically reassigned by the program to a value of one. @@ -274,6 +285,7 @@ shape (nodes) valid reader readarray layered true +netcdf true optional longname hydraulic conductivity (L/T) description is the hydraulic conductivity. For the common case in which the user would like to specify the horizontal hydraulic conductivity and the vertical hydraulic conductivity, then K should be assigned as the horizontal hydraulic conductivity, K33 should be assigned as the vertical hydraulic conductivity, and K22 and the three rotation angles should not be specified. When more sophisticated anisotropy is required, then K corresponds to the K11 hydraulic conductivity axis. All included cells (IDOMAIN $>$ 0) must have a K value greater than zero. @@ -286,6 +298,7 @@ shape (nodes) valid reader readarray layered true +netcdf true optional true longname hydraulic conductivity of second ellipsoid axis description is the hydraulic conductivity of the second ellipsoid axis (or the ratio of K22/K if the K22OVERK option is specified); for an unrotated case this is the hydraulic conductivity in the y direction. If K22 is not included in the GRIDDATA block, then K22 is set equal to K. For a regular MODFLOW grid (DIS Package is used) in which no rotation angles are specified, K22 is the hydraulic conductivity along columns in the y direction. For an unstructured DISU grid, the user must assign principal x and y axes and provide the angle for each cell face relative to the assigned x direction. All included cells (IDOMAIN $>$ 0) must have a K22 value greater than zero. @@ -297,6 +310,7 @@ shape (nodes) valid reader readarray layered true +netcdf true optional true longname hydraulic conductivity of third ellipsoid axis (L/T) description is the hydraulic conductivity of the third ellipsoid axis (or the ratio of K33/K if the K33OVERK option is specified); for an unrotated case, this is the vertical hydraulic conductivity. When anisotropy is applied, K33 corresponds to the K33 tensor component. All included cells (IDOMAIN $>$ 0) must have a K33 value greater than zero. @@ -308,6 +322,7 @@ shape (nodes) valid reader readarray layered true +netcdf true optional true longname first anisotropy rotation angle (degrees) description is a rotation angle of the hydraulic conductivity tensor in degrees. The angle represents the first of three sequential rotations of the hydraulic conductivity ellipsoid. With the K11, K22, and K33 axes of the ellipsoid initially aligned with the x, y, and z coordinate axes, respectively, ANGLE1 rotates the ellipsoid about its K33 axis (within the x - y plane). A positive value represents counter-clockwise rotation when viewed from any point on the positive K33 axis, looking toward the center of the ellipsoid. A value of zero indicates that the K11 axis lies within the x - z plane. If ANGLE1 is not specified, default values of zero are assigned to ANGLE1, ANGLE2, and ANGLE3, in which case the K11, K22, and K33 axes are aligned with the x, y, and z axes, respectively. @@ -319,6 +334,7 @@ shape (nodes) valid reader readarray layered true +netcdf true optional true longname second anisotropy rotation angle (degrees) description is a rotation angle of the hydraulic conductivity tensor in degrees. The angle represents the second of three sequential rotations of the hydraulic conductivity ellipsoid. Following the rotation by ANGLE1 described above, ANGLE2 rotates the ellipsoid about its K22 axis (out of the x - y plane). An array can be specified for ANGLE2 only if ANGLE1 is also specified. A positive value of ANGLE2 represents clockwise rotation when viewed from any point on the positive K22 axis, looking toward the center of the ellipsoid. A value of zero indicates that the K11 axis lies within the x - y plane. If ANGLE2 is not specified, default values of zero are assigned to ANGLE2 and ANGLE3; connections that are not user-designated as vertical are assumed to be strictly horizontal (that is, to have no z component to their orientation); and connection lengths are based on horizontal distances. @@ -330,6 +346,7 @@ shape (nodes) valid reader readarray layered true +netcdf true optional true longname third anisotropy rotation angle (degrees) description is a rotation angle of the hydraulic conductivity tensor in degrees. The angle represents the third of three sequential rotations of the hydraulic conductivity ellipsoid. Following the rotations by ANGLE1 and ANGLE2 described above, ANGLE3 rotates the ellipsoid about its K11 axis. An array can be specified for ANGLE3 only if ANGLE1 and ANGLE2 are also specified. An array must be specified for ANGLE3 if ANGLE2 is specified. A positive value of ANGLE3 represents clockwise rotation when viewed from any point on the positive K11 axis, looking toward the center of the ellipsoid. A value of zero indicates that the K22 axis lies within the x - y plane. @@ -341,6 +358,7 @@ shape (nodes) valid reader readarray layered true +netcdf true optional true longname wetdry threshold and factor description is a combination of the wetting threshold and a flag to indicate which neighboring cells can cause a cell to become wet. If WETDRY $<$ 0, only a cell below a dry cell can cause the cell to become wet. If WETDRY $>$ 0, the cell below a dry cell and horizontally adjacent cells can cause a cell to become wet. If WETDRY is 0, the cell cannot be wetted. The absolute value of WETDRY is the wetting threshold. When the sum of BOT and the absolute value of WETDRY at a dry cell is equaled or exceeded by the head at an adjacent cell, the cell is wetted. WETDRY must be specified if ``REWET'' is specified in the OPTIONS block. If ``REWET'' is not specified in the options block, then WETDRY can be entered, and memory will be allocated for it, even though it is not used. diff --git a/flopy/mf6/data/dfn/gwf-rcha.dfn b/flopy/mf6/data/dfn/gwf-rcha.dfn index f25fbfbd32..dcdb605961 100644 --- a/flopy/mf6/data/dfn/gwf-rcha.dfn +++ b/flopy/mf6/data/dfn/gwf-rcha.dfn @@ -141,6 +141,15 @@ optional false longname obs6 input filename description REPLACE obs6_filename {'{#1}': 'Recharge'} +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true # --------------------- gwf rcha period --------------------- @@ -184,6 +193,6 @@ shape (ncol*nrow; ncpl) reader readarray time_series true optional true -longname auxiliary variable iaux +longname recharge auxiliary variable iaux description is an array of values for auxiliary variable aux(iaux), where iaux is a value from 1 to naux, and aux(iaux) must be listed as part of the auxiliary variables. A separate array can be specified for each auxiliary variable. If an array is not specified for an auxiliary variable, then a value of zero is assigned. If the value specified here for the auxiliary variable is the same as auxmultname, then the recharge array will be multiplied by this array. mf6internal auxvar diff --git a/flopy/mf6/data/dfn/gwf-sfr.dfn b/flopy/mf6/data/dfn/gwf-sfr.dfn index eb3967e441..e53de0780c 100644 --- a/flopy/mf6/data/dfn/gwf-sfr.dfn +++ b/flopy/mf6/data/dfn/gwf-sfr.dfn @@ -2,6 +2,14 @@ # flopy multi-package # package-type advanced-stress-package +block options +name storage +type keyword +reader urword +optional true +longname activate reach storage +description keyword that activates storage contributions to the stream-flow routing package continuity equation. + block options name auxiliary type string @@ -327,6 +335,14 @@ optional true longname time conversion factor description real value that is used to convert user-specified Manning's roughness coefficients from seconds to model time units. TIME\_CONVERSION should be set to 1.0, 60.0, 3,600.0, 86,400.0, and 31,557,600.0 when using time units (TIME\_UNITS) of seconds, minutes, hours, days, or years in the simulation, respectively. TIME\_CONVERSION does not need to be specified if TIME\_UNITS are seconds. +block options +name dev_storage_weight +type double precision +reader urword +optional true +longname reach storage time weighting +description real number value that defines the time weighting factor used to calculate the change in channel storage. STORAGE\_WEIGHT must have a value between 0.5 and 1. Default STORAGE\_WEIGHT value is 1. + # --------------------- gwf sfr dimensions --------------------- @@ -641,6 +657,41 @@ reader urword longname iprior code description character string value that defines the the prioritization system for the diversion, such as when insufficient water is available to meet all diversion stipulations, and is used in conjunction with the value of FLOW value specified in the STRESS\_PERIOD\_DATA section. Available diversion options include: (1) CPRIOR = `FRACTION', then the amount of the diversion is computed as a fraction of the streamflow leaving reach IFNO ($Q_{DS}$); in this case, 0.0 $\le$ DIVFLOW $\le$ 1.0. (2) CPRIOR = `EXCESS', a diversion is made only if $Q_{DS}$ for reach IFNO exceeds the value of DIVFLOW. If this occurs, then the quantity of water diverted is the excess flow ($Q_{DS} -$ DIVFLOW) and $Q_{DS}$ from reach IFNO is set equal to DIVFLOW. This represents a flood-control type of diversion, as described by Danskin and Hanson (2002). (3) CPRIOR = `THRESHOLD', then if $Q_{DS}$ in reach IFNO is less than the specified diversion flow DIVFLOW, no water is diverted from reach IFNO. If $Q_{DS}$ in reach IFNO is greater than or equal to DIVFLOW, DIVFLOW is diverted and $Q_{DS}$ is set to the remainder ($Q_{DS} -$ DIVFLOW)). This approach assumes that once flow in the stream is sufficiently low, diversions from the stream cease, and is the `priority' algorithm that originally was programmed into the STR1 Package (Prudic, 1989). (4) CPRIOR = `UPTO' -- if $Q_{DS}$ in reach IFNO is greater than or equal to the specified diversion flow DIVFLOW, $Q_{DS}$ is reduced by DIVFLOW. If $Q_{DS}$ in reach IFNO is less than DIVFLOW, DIVFLOW is set to $Q_{DS}$ and there will be no flow available for reaches connected to downstream end of reach IFNO. +# --------------------- gwf initial stages --------------------- + +block initialstages +name initialstages +type recarray ifno initialstage +shape (maxbound) +valid +optional false +reader urword +longname +description + +block initialstages +name ifno +type integer +shape +tagged false +in_record true +optional false +reader urword +longname reach number for this entry +description integer value that defines the feature (reach) number associated with the specified initial stage. Initial stage data must be specified for every reach or the program will terminate with an error. The program will also terminate with a error if IFNO is less than one or greater than NREACHES. +numeric_index true + +block initialstages +name initialstage +type double precision +shape +tagged false +in_record true +optional false +reader urword +longname initial reach stage +description real value that defines the initial stage for the reach. The program will terminate with an error if INITIALSTAGE is less than the RTP value for reach IFNO defined in the PACKAGEDATA block. INITIALSTAGE data are used only if STORAGE is specified in the Options block and the first stress period is transient or for reaches defined to use the SIMPLE STATUS in the Period block. + # --------------------- gwf sfr period --------------------- @@ -693,7 +744,7 @@ shape tagged true in_record true reader urword -longname well status +longname reach status description keyword option to define stream reach status. STATUS can be ACTIVE, INACTIVE, or SIMPLE. The SIMPLE STATUS option simulates streamflow using a user-specified stage for a reach or a stage set to the top of the reach (depth = 0). In cases where the simulated leakage calculated using the specified stage exceeds the sum of inflows to the reach, the stage is set to the top of the reach and leakage is set equal to the sum of inflows. Upstream fractions should be changed using the UPSTREAM\_FRACTION SFRSETTING if the status for one or more reaches is changed to ACTIVE or INACTIVE. For example, if one of two downstream connections for a reach is inactivated, the upstream fraction for the active and inactive downstream reach should be changed to 1.0 and 0.0, respectively, to ensure that the active reach receives all of the downstream outflow from the upstream reach. By default, STATUS is ACTIVE. block period diff --git a/flopy/mf6/data/dfn/gwf-sto.dfn b/flopy/mf6/data/dfn/gwf-sto.dfn index 9e5bcd668b..197805b909 100644 --- a/flopy/mf6/data/dfn/gwf-sto.dfn +++ b/flopy/mf6/data/dfn/gwf-sto.dfn @@ -7,6 +7,7 @@ reader urword optional true longname keyword to save NPF flows description keyword to indicate that cell-by-cell flow terms will be written to the file specified with ``BUDGET SAVE FILE'' in Output Control. +mf6internal ipakcb block options name storagecoefficient @@ -15,6 +16,7 @@ reader urword optional true longname keyword to indicate SS is read as storage coefficient description keyword to indicate that the SS array is read as storage coefficient rather than specific storage. +mf6internal istor_coef block options name ss_confined_only @@ -26,7 +28,7 @@ description keyword to indicate that compressible storage is only calculated for block options name tvs_filerecord -type record tvs6 filein tvs_filename +type record tvs6 filein tvs6_filename shape reader urword tagged true @@ -57,7 +59,7 @@ longname file keyword description keyword to specify that an input filename is expected next. block options -name tvs_filename +name tvs6_filename type string preserve_case true in_record true @@ -67,6 +69,44 @@ tagged false longname file name of TVS information description 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. +block options +name export_array_ascii +type keyword +reader urword +optional true +mf6internal export_ascii +longname export array variables to layered ascii files. +description keyword that specifies input grid arrays, which already support the layered keyword, should be written to layered ascii output files. + +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + +# dev options +block options +name dev_original_specific_storage +type keyword +reader urword +optional true +longname development option for original specific storage +description flag indicating the original storage specific storage formulation should be used +mf6internal iorig_ss + +block options +name dev_oldstorageformulation +type keyword +reader urword +optional true +longname development option flag for old storage formulation +description development option flag for old storage formulation +mf6internal iconf_ss + # --------------------- gwf sto griddata --------------------- block griddata @@ -76,6 +116,7 @@ shape (nodes) valid reader readarray layered true +netcdf true optional false longname convertible indicator description 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. @@ -88,6 +129,7 @@ shape (nodes) valid reader readarray layered true +netcdf true optional false longname specific storage description 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. @@ -100,6 +142,7 @@ shape (nodes) valid reader readarray layered true +netcdf true optional false longname specific yield description 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). @@ -130,6 +173,7 @@ reader urword optional true longname steady state indicator description 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. If the CSUB Package is included in the GWF model, only the first and last stress period can be steady-state. +mf6internal steady_state block period name transient @@ -140,4 +184,3 @@ reader urword optional true longname transient indicator description 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. - diff --git a/flopy/mf6/data/dfn/gwt-adv.dfn b/flopy/mf6/data/dfn/gwt-adv.dfn index ef0a9eeaaf..4af532fe8d 100644 --- a/flopy/mf6/data/dfn/gwt-adv.dfn +++ b/flopy/mf6/data/dfn/gwt-adv.dfn @@ -9,3 +9,10 @@ optional true longname advective scheme description scheme used to solve the advection term. Can be upstream, central, or TVD. If not specified, upstream weighting is the default weighting scheme. +block options +name ats_percel +type double precision +reader urword +optional true +longname fractional cell distance used for time step calculation +description fractional cell distance submitted by the ADV Package to the adaptive time stepping (ATS) package. If ATS\_PERCEL is specified and the ATS Package is active, a time step calculation will be made for each cell based on flow through the cell and cell properties. The largest time step will be calculated such that the advective fractional cell distance (ATS\_PERCEL) is not exceeded for any active cell in the grid. This time-step constraint will be submitted to the ATS Package, perhaps with constraints submitted by other packages, in the calculation of the time step. ATS\_PERCEL must be greater than zero. If a value of zero is specified for ATS\_PERCEL the program will automatically reset it to an internal no data value to indicate that time steps should not be subject to this constraint. \ No newline at end of file diff --git a/flopy/mf6/data/dfn/gwt-dis.dfn b/flopy/mf6/data/dfn/gwt-dis.dfn index ac03a5e1a3..c19307cb82 100644 --- a/flopy/mf6/data/dfn/gwt-dis.dfn +++ b/flopy/mf6/data/dfn/gwt-dis.dfn @@ -1,4 +1,5 @@ # --------------------- gwt dis options --------------------- +# mf6 subpackage utl-ncf block options name length_units @@ -49,6 +50,58 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + +block options +name ncf_filerecord +type record ncf6 filein ncf6_filename +reader urword +tagged true +optional true +longname +description + +block options +name ncf6 +type keyword +in_record true +reader urword +tagged true +optional false +longname ncf keyword +description keyword to specify that record corresponds to a netcdf configuration (NCF) file. +extended true + +block options +name filein +type keyword +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an input filename is expected next. + +block options +name ncf6_filename +type string +preserve_case true +in_record true +reader urword +optional false +tagged false +longname file name of NCF information +description defines a netcdf configuration (NCF) input file. +extended true + # --------------------- gwt dis dimensions --------------------- block dimensions @@ -85,6 +138,7 @@ name delr type double precision shape (ncol) reader readarray +netcdf true longname spacing along a row description is the column spacing in the row direction. default_value 1.0 @@ -94,6 +148,7 @@ name delc type double precision shape (nrow) reader readarray +netcdf true longname spacing along a column description is the row spacing in the column direction. default_value 1.0 @@ -103,6 +158,7 @@ name top type double precision shape (ncol, nrow) reader readarray +netcdf true longname cell top elevation description is the top elevation for each cell in the top model layer. default_value 1.0 @@ -112,6 +168,7 @@ name botm type double precision shape (ncol, nrow, nlay) reader readarray +netcdf true layered true longname cell bottom elevation description is the bottom elevation for each cell. @@ -123,6 +180,7 @@ type integer shape (ncol, nrow, nlay) reader readarray layered true +netcdf true optional true longname idomain existence array description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell. diff --git a/flopy/mf6/data/dfn/gwt-disv.dfn b/flopy/mf6/data/dfn/gwt-disv.dfn index b06062b6f9..dc9b8d0a03 100644 --- a/flopy/mf6/data/dfn/gwt-disv.dfn +++ b/flopy/mf6/data/dfn/gwt-disv.dfn @@ -1,4 +1,5 @@ # --------------------- gwt disv options --------------------- +# mf6 subpackage utl-ncf block options name length_units @@ -49,6 +50,58 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + +block options +name ncf_filerecord +type record ncf6 filein ncf6_filename +reader urword +tagged true +optional true +longname +description + +block options +name ncf6 +type keyword +in_record true +reader urword +tagged true +optional false +longname ncf keyword +description keyword to specify that record corresponds to a netcdf configuration (NCF) file. +extended true + +block options +name filein +type keyword +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an input filename is expected next. + +block options +name ncf6_filename +type string +preserve_case true +in_record true +reader urword +optional false +tagged false +longname file name of NCF information +description defines a netcdf configuration (NCF) input file. +extended true + # --------------------- gwt disv dimensions --------------------- block dimensions @@ -82,6 +135,7 @@ name top type double precision shape (ncpl) reader readarray +netcdf true longname model top elevation description is the top elevation for each cell in the top model layer. @@ -91,6 +145,7 @@ type double precision shape (ncpl, nlay) reader readarray layered true +netcdf true longname model bottom elevation description is the bottom elevation for each cell. @@ -100,6 +155,7 @@ type integer shape (ncpl, nlay) reader readarray layered true +netcdf true optional true longname idomain existence array description is an optional array that characterizes the existence status of a cell. If the IDOMAIN array is not specified, then all model cells exist within the solution. If the IDOMAIN value for a cell is 0, the cell does not exist in the simulation. Input and output values will be read and written for the cell, but internal to the program, the cell is excluded from the solution. If the IDOMAIN value for a cell is 1, the cell exists in the simulation. If the IDOMAIN value for a cell is -1, the cell does not exist in the simulation. Furthermore, the first existing cell above will be connected to the first existing cell below. This type of cell is referred to as a ``vertical pass through'' cell. diff --git a/flopy/mf6/data/dfn/gwt-dsp.dfn b/flopy/mf6/data/dfn/gwt-dsp.dfn index 0b425db955..f4cf8a80e5 100644 --- a/flopy/mf6/data/dfn/gwt-dsp.dfn +++ b/flopy/mf6/data/dfn/gwt-dsp.dfn @@ -27,6 +27,16 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + # --------------------- gwt dsp griddata --------------------- block griddata @@ -35,6 +45,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname effective molecular diffusion coefficient description effective molecular diffusion coefficient. @@ -45,6 +56,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname longitudinal dispersivity in horizontal direction description longitudinal dispersivity in horizontal direction. If flow is strictly horizontal, then this is the longitudinal dispersivity that will be used. If flow is not strictly horizontal or strictly vertical, then the longitudinal dispersivity is a function of both ALH and ALV. If mechanical dispersion is represented (by specifying any dispersivity values) then this array is required. @@ -55,6 +67,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname longitudinal dispersivity in vertical direction description longitudinal dispersivity in vertical direction. If flow is strictly vertical, then this is the longitudinal dispsersivity value that will be used. If flow is not strictly horizontal or strictly vertical, then the longitudinal dispersivity is a function of both ALH and ALV. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ALH. @@ -65,6 +78,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname transverse dispersivity in horizontal direction description transverse dispersivity in horizontal direction. This is the transverse dispersivity value for the second ellipsoid axis. If flow is strictly horizontal and directed in the x direction (along a row for a regular grid), then this value controls spreading in the y direction. If mechanical dispersion is represented (by specifying any dispersivity values) then this array is required. @@ -75,6 +89,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname transverse dispersivity in horizontal direction description transverse dispersivity in horizontal direction. This is the transverse dispersivity value for the third ellipsoid axis. If flow is strictly horizontal and directed in the x direction (along a row for a regular grid), then this value controls spreading in the z direction. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ATH1. @@ -85,6 +100,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true optional true longname transverse dispersivity when flow is in vertical direction description transverse dispersivity when flow is in vertical direction. If flow is strictly vertical and directed in the z direction, then this value controls spreading in the x and y directions. If this value is not specified and mechanical dispersion is represented, then this array is set equal to ATH2. diff --git a/flopy/mf6/data/dfn/gwt-ic.dfn b/flopy/mf6/data/dfn/gwt-ic.dfn index d6d113d5c5..83165a79c1 100644 --- a/flopy/mf6/data/dfn/gwt-ic.dfn +++ b/flopy/mf6/data/dfn/gwt-ic.dfn @@ -9,6 +9,16 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. +extended true + # --------------------- gwt ic griddata --------------------- block griddata @@ -17,6 +27,7 @@ type double precision shape (nodes) reader readarray layered true +netcdf true longname starting concentration description is the initial (starting) concentration---that is, concentration at the beginning of the GWT Model simulation. STRT must be specified for all GWT Model simulations. One value is read for every model cell. default_value 0.0 diff --git a/flopy/mf6/data/dfn/gwt-ist.dfn b/flopy/mf6/data/dfn/gwt-ist.dfn index c39d95cc26..77b10f01c0 100644 --- a/flopy/mf6/data/dfn/gwt-ist.dfn +++ b/flopy/mf6/data/dfn/gwt-ist.dfn @@ -87,11 +87,12 @@ description name of the comma-separated value (CSV) output file to write budget block options name sorption -type keyword +type string +valid linear freundlich langmuir reader urword optional true longname activate sorption -description is a text keyword to indicate that sorption will be activated. Use of this keyword requires that BULK\_DENSITY and DISTCOEF are specified in the GRIDDATA block. The linear sorption isotherm is the only isotherm presently supported in the IST Package. +description is a text keyword to indicate that sorption will be activated. Valid sorption options include LINEAR, FREUNDLICH, and LANGMUIR. Use of this keyword requires that BULK\_DENSITY and DISTCOEF are specified in the GRIDDATA block. If sorption is specified as FREUNDLICH or LANGMUIR then SP2 is also required in the GRIDDATA block. block options name first_order_decay @@ -217,6 +218,39 @@ optional false longname write format description write format can be EXPONENTIAL, FIXED, GENERAL, or SCIENTIFIC. +block options +name sorbate_filerecord +type record sorbate fileout sorbatefile +shape +reader urword +tagged true +optional true +longname +description + +block options +name sorbate +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname sorbate keyword +description keyword to specify that record corresponds to immobile sorbate concentration. + +block options +name sorbatefile +type string +preserve_case true +shape +in_record true +reader urword +tagged false +optional false +longname file keyword +description name of the output file to write immobile sorbate concentration information. Immobile sorbate concentrations will be written whenever aqueous immobile concentrations are saved, as determined by settings in the Output Control option. + # --------------------- gwt ist griddata --------------------- block griddata @@ -296,3 +330,12 @@ layered true longname distribution coefficient description is the distribution coefficient for the equilibrium-controlled linear sorption isotherm in dimensions of length cubed per mass. distcoef is not required unless the SORPTION keyword is specified in the options block. If the SORPTION keyword is not specified in the options block, distcoef will have no effect on simulation results. +block griddata +name sp2 +type double precision +shape (nodes) +reader readarray +layered true +optional true +longname second sorption parameter +description is the exponent for the Freundlich isotherm and the sorption capacity for the Langmuir isotherm. sp2 is not required unless the SORPTION keyword is specified in the options block and sorption is specified as FREUNDLICH or LANGMUIR. If the SORPTION keyword is not specified in the options block, or if sorption is specified as LINEAR, sp2 will have no effect on simulation results. diff --git a/flopy/mf6/data/dfn/gwt-mst.dfn b/flopy/mf6/data/dfn/gwt-mst.dfn index 06e5169f81..bc0bd1709b 100644 --- a/flopy/mf6/data/dfn/gwt-mst.dfn +++ b/flopy/mf6/data/dfn/gwt-mst.dfn @@ -33,6 +33,50 @@ optional true longname activate sorption description is a text keyword to indicate that sorption will be activated. Valid sorption options include LINEAR, FREUNDLICH, and LANGMUIR. Use of this keyword requires that BULK\_DENSITY and DISTCOEF are specified in the GRIDDATA block. If sorption is specified as FREUNDLICH or LANGMUIR then SP2 is also required in the GRIDDATA block. +block options +name sorbate_filerecord +type record sorbate fileout sorbatefile +shape +reader urword +tagged true +optional true +longname +description + +block options +name sorbate +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname sorbate keyword +description keyword to specify that record corresponds to sorbate concentration. + +block options +name fileout +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an output filename is expected next. + +block options +name sorbatefile +type string +preserve_case true +shape +in_record true +reader urword +tagged false +optional false +longname file keyword +description name of the output file to write sorbate concentration information. Sorbate concentrations will be written whenever aqueous concentrations are saved, as determined by settings in the Output Control option. + # --------------------- gwt mst griddata --------------------- block griddata @@ -82,7 +126,7 @@ reader readarray layered true optional true longname distribution coefficient -description is the distribution coefficient for the equilibrium-controlled linear sorption isotherm in dimensions of length cubed per mass. distcoef is not required unless the SORPTION keyword is specified. +description is the distribution coefficient for the equilibrium-controlled linear sorption isotherm in dimensions of length cubed per mass. If the Freunchlich isotherm is specified, then discoef is the Freundlich constant. If the Langmuir isotherm is specified, then distcoef is the Langmuir constant. distcoef is not required unless the SORPTION keyword is specified. block griddata name sp2 @@ -92,5 +136,5 @@ reader readarray layered true optional true longname second sorption parameter -description is the exponent for the Freundlich isotherm and the sorption capacity for the Langmuir isotherm. +description is the exponent for the Freundlich isotherm and the sorption capacity for the Langmuir isotherm. sp2 is not required unless the SORPTION keyword is specified in the options block. If the SORPTION keyword is not specified in the options block, sp2 will have no effect on simulation results. diff --git a/flopy/mf6/data/dfn/gwt-nam.dfn b/flopy/mf6/data/dfn/gwt-nam.dfn index a06795e243..ee446b5efb 100644 --- a/flopy/mf6/data/dfn/gwt-nam.dfn +++ b/flopy/mf6/data/dfn/gwt-nam.dfn @@ -33,6 +33,133 @@ optional true longname save flows for all packages to budget file description REPLACE save_flows {'{#1}': 'all model package'} +block options +name nc_mesh2d_filerecord +type record netcdf_mesh2d fileout ncmesh2dfile +shape +reader urword +tagged true +optional true +longname +description netcdf layered mesh fileout record. +mf6internal ncmesh2drec + +block options +name netcdf_mesh2d +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname budget keyword +description keyword to specify that record corresponds to a layered mesh netcdf file. +extended true + +block options +name nc_structured_filerecord +type record netcdf_structured fileout ncstructfile +shape +reader urword +tagged true +optional true +longname +description netcdf structured fileout record. +mf6internal ncstructrec + +block options +name netcdf_structured +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname budget keyword +description keyword to specify that record corresponds to a structured netcdf file. +mf6internal netcdf_struct +extended true + +block options +name fileout +type keyword +shape +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an output filename is expected next. + +block options +name ncmesh2dfile +type string +preserve_case true +shape +in_record true +reader urword +tagged false +optional false +longname file keyword +description name of the netcdf ugrid layered mesh output file. +extended true + +block options +name ncstructfile +type string +preserve_case true +shape +in_record true +reader urword +tagged false +optional false +longname file keyword +description name of the netcdf structured output file. +extended true + +block options +name nc_filerecord +type record netcdf filein netcdf_filename +reader urword +tagged true +optional true +longname +description netcdf filerecord + +block options +name netcdf +type keyword +in_record true +reader urword +tagged true +optional false +longname netcdf keyword +description keyword to specify that record corresponds to a netcdf input file. +extended true + +block options +name filein +type keyword +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an input filename is expected next. + +block options +name netcdf_filename +type string +preserve_case true +in_record true +reader urword +optional false +tagged false +longname netcdf input filename +description defines a netcdf input file. +mf6internal netcdf_fname +extended true + # --------------------- gwt nam packages --------------------- block packages diff --git a/flopy/mf6/data/dfn/prt-dis.dfn b/flopy/mf6/data/dfn/prt-dis.dfn index 7d4724f0ae..fc0a566999 100644 --- a/flopy/mf6/data/dfn/prt-dis.dfn +++ b/flopy/mf6/data/dfn/prt-dis.dfn @@ -49,6 +49,55 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. + +block options +name ncf_filerecord +type record ncf6 filein ncf6_filename +reader urword +tagged true +optional true +longname +description + +block options +name ncf6 +type keyword +in_record true +reader urword +tagged true +optional false +longname ncf keyword +description keyword to specify that record corresponds to a netcdf configuration (NCF) file. + +block options +name filein +type keyword +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an input filename is expected next. + +block options +name ncf6_filename +type string +preserve_case true +in_record true +reader urword +optional false +tagged false +longname file name of NCF information +description defines a netcdf configuration (NCF) input file. + # --------------------- prt dis dimensions --------------------- block dimensions diff --git a/flopy/mf6/data/dfn/prt-disv.dfn b/flopy/mf6/data/dfn/prt-disv.dfn index 1bec85b5a7..540d70a016 100644 --- a/flopy/mf6/data/dfn/prt-disv.dfn +++ b/flopy/mf6/data/dfn/prt-disv.dfn @@ -49,6 +49,55 @@ mf6internal export_ascii longname export array variables to layered ascii files. description keyword that specifies input griddata arrays should be written to layered ascii output files. +block options +name export_array_netcdf +type keyword +reader urword +optional true +mf6internal export_nc +longname export array variables to netcdf output files. +description keyword that specifies input griddata arrays should be written to the model output netcdf file. + +block options +name ncf_filerecord +type record ncf6 filein ncf6_filename +reader urword +tagged true +optional true +longname +description + +block options +name ncf6 +type keyword +in_record true +reader urword +tagged true +optional false +longname ncf keyword +description keyword to specify that record corresponds to a netcdf configuration (NCF) file. + +block options +name filein +type keyword +in_record true +reader urword +tagged true +optional false +longname file keyword +description keyword to specify that an input filename is expected next. + +block options +name ncf6_filename +type string +preserve_case true +in_record true +reader urword +optional false +tagged false +longname file name of NCF information +description defines a netcdf configuration (NCF) input file. + # --------------------- prt disv dimensions --------------------- block dimensions diff --git a/flopy/mf6/data/dfn/prt-oc.dfn b/flopy/mf6/data/dfn/prt-oc.dfn index a3867142fd..d946d112c4 100644 --- a/flopy/mf6/data/dfn/prt-oc.dfn +++ b/flopy/mf6/data/dfn/prt-oc.dfn @@ -157,7 +157,7 @@ type keyword reader urword optional true longname track transitions -description keyword to indicate that particle tracking output is to be written when a particle exits a cell +description keyword to indicate that particle tracking output is to be written when a particle exits a feature (a model, cell, or subcell) block options name track_timestep @@ -189,70 +189,37 @@ type keyword reader urword optional true longname track usertime -description keyword to indicate that particle tracking output is to be written at user-specified times, provided as double precision values to the TRACK\_TIMES or TRACK\_TIMESFILE options +description keyword to indicate that particle tracking output is to be written at user-specified times, provided as double precision values in the TRACKTIMES block. -block options -name track_timesrecord -type record track_times times -shape -reader urword -tagged true -optional true -longname -description +# --------------------- prt oc dimensions ------------------ -block options -name track_times -type keyword +block dimensions +name ntracktimes +type integer reader urword -in_record true -tagged true -shape -longname -description keyword indicating tracking times will follow +optional false +longname number of particle tracking times +description is the number of user-specified particle tracking times in the TRACKTIMES block. -block options -name times -type double precision -shape (unknown) -reader urword -in_record true -tagged false -repeating true -longname tracking times -description times to track, relative to the beginning of the simulation. +# --------------------- prt oc tracktimes ----------------- -block options -name track_timesfilerecord -type record track_timesfile timesfile -shape +block tracktimes +name tracktimes +type recarray time +shape (ntracktimes) reader urword -tagged true -optional true longname description -block options -name track_timesfile -type keyword -reader urword -in_record true -tagged true -shape -longname -description keyword indicating tracking times file name will follow - -block options -name timesfile -type string -preserve_case true +block tracktimes +name time +type double precision shape +tagged false in_record true reader urword -tagged false -optional false -longname file keyword -description name of the tracking times file +longname release time +description real value that defines the tracking time with respect to the simulation start time. # --------------------- prt oc period --------------------- diff --git a/flopy/mf6/data/dfn/prt-prp.dfn b/flopy/mf6/data/dfn/prt-prp.dfn index 5385a42966..be09471848 100644 --- a/flopy/mf6/data/dfn/prt-prp.dfn +++ b/flopy/mf6/data/dfn/prt-prp.dfn @@ -24,15 +24,16 @@ type integer reader urword optional true longname exit solve method -description the method for iterative solution of particle exit location and time in the generalized Pollock's method. 1 Brent, 2 Chandrupatla. The default is Brent. +description the method for iterative solution of particle exit location and time in the generalized Pollock's method. 0 default, 1 Brent, 2 Chandrupatla. The default is Brent's method. block options name exit_solve_tolerance type double precision reader urword -optional false +optional true longname exit solve tolerance description the convergence tolerance for iterative solution of particle exit location and time in the generalized Pollock's method. A value of 0.00001 works well for many problems, but the value that strikes the best balance between accuracy and runtime is problem-dependent. +default_value 1e-5 block options name local_z @@ -42,6 +43,14 @@ optional true longname whether to use local z coordinates description indicates that ``zrpt'' defines the local z coordinate of the release point within the cell, with value of 0 at the bottom and 1 at the top of the cell. If the cell is partially saturated at release time, the top of the cell is considered to be the water table elevation (the head in the cell) rather than the top defined by the user. +block options +name extend_tracking +type keyword +reader urword +optional true +longname whether to extend tracking beyond the end of the simulation +description indicates that particles should be tracked beyond the end of the simulation's final time step (using that time step's flows) until particles terminate or reach a specified stop time. By default, particles are terminated at the end of the simulation's final time step. + block options name track_filerecord type record track fileout trackfile @@ -160,77 +169,38 @@ longname drape description is a text keyword to indicate that if a particle's release point is in a cell that happens to be inactive at release time, the particle is to be moved to the topmost active cell below it, if any. By default, a particle is not released into the simulation if its release point's cell is inactive at release time. block options -name release_timesrecord -type record release_times times -shape +name dry_tracking_method +type string +valid drop stop stay reader urword -tagged true optional true -longname -description +longname what to do in dry-but-active cells +description is a string indicating how particles should behave in dry-but-active cells (as can occur with the Newton formulation). The value can be ``DROP'', ``STOP'', or ``STAY''. The default is ``DROP'', which passes particles vertically and instantaneously to the water table. ``STOP'' causes particles to terminate. ``STAY'' causes particles to remain stationary but active. block options -name release_times +name dev_forceternary type keyword reader urword -in_record true -tagged true -shape -longname -description keyword indicating release times will follow +optional false +longname force ternary tracking method +description force use of the ternary tracking method regardless of cell type in DISV grids. +mf6internal ifrctrn block options -name times +name release_time_tolerance type double precision -shape (unknown) -reader urword -in_record true -tagged false -repeating true -longname release times -description times to release, relative to the beginning of the simulation. RELEASE\_TIMES and RELEASE\_TIMESFILE are mutually exclusive. - -block options -name release_timesfilerecord -type record release_timesfile timesfile -shape reader urword -tagged true optional true -longname -description - -block options -name release_timesfile -type keyword -reader urword -in_record true -tagged true -shape -longname -description keyword indicating release times file name will follow - -block options -name timesfile -type string -preserve_case true -shape -in_record true -reader urword -tagged false -optional false -longname file keyword -description name of the release times file. RELEASE\_TIMES and RELEASE\_TIMESFILE are mutually exclusive. +longname release time coincidence tolerance +description real number indicating the tolerance within which to consider consecutive release times coincident. Coincident release times will be merged into a single release time. The default is $\epsilon \times 10^{11}$, where $\epsilon$ is machine precision. block options -name dev_forceternary -type keyword +name release_time_frequency +type double precision reader urword -optional false -longname force ternary tracking method -description force use of the ternary tracking method regardless of cell type in DISV grids. -mf6internal ifrctrn - +optional true +longname release time frequency +description real number indicating the time frequency at which to release particles. This option can be used to schedule releases at a regular interval for the duration of the simulation, starting at the simulation start time. The release schedule is the union of this option, the RELEASETIMES block, and PERIOD block RELEASESETTING selections. If none of these are provided, a single release time is configured at the beginning of the first time step of the simulation's first stress period. # --------------------- prt prp dimensions --------------------- @@ -242,6 +212,14 @@ optional false longname number of particle release points description is the number of particle release points. +block dimensions +name nreleasetimes +type integer +reader urword +optional false +longname number of particle release times +description is the number of particle release times specified in the RELEASETIMES block. This is not necessarily the total number of release times; release times are the union of RELEASE\_TIME\_FREQUENCY, RELEASETIMES block, and PERIOD block RELEASESETTING selections. + # --------------------- prt prp packagedata --------------------- block packagedata @@ -314,6 +292,26 @@ optional true longname release point name description name of the particle release point. BOUNDNAME is an ASCII character variable that can contain as many as 40 characters. If BOUNDNAME contains spaces in it, then the entire name must be enclosed within single quotes. +# --------------------- prt prp releasetimes --------------- + +block releasetimes +name releasetimes +type recarray time +shape (nreleasetimes) +reader urword +longname +description + +block releasetimes +name time +type double precision +shape +tagged false +in_record true +reader urword +longname release time +description real value that defines the release time with respect to the simulation start time. + # --------------------- prt prp period --------------------- block period @@ -345,7 +343,7 @@ tagged false in_record true reader urword longname -description specifies when to release particles within the stress period. Overrides package-level RELEASETIME option, which applies to all stress periods. By default, RELEASESETTING configures particles for release at the beginning of the specified time steps. For time-offset releases, provide a FRACTION value. +description specifies time steps at which to release a particle. A particle is released at the beginning of each specified time step. For fine control over release timing, specify times explicitly using the RELEASETIMES block. If the beginning of a specified time step coincides with a release time specified in the RELEASETIMES block or configured via RELEASE\_TIME\_FREQUENCY, only one particle is released at that time. Coincidence is evaluated up to the tolerance specified in RELEASE\_TIME\_TOLERANCE, or $\epsilon \times 10^{11}$ by default, where $\epsilon$ is machine precision. If no release times are configured via this setting, the RELEASETIMES block, or the RELEASE\_TIME\_FREQUENCY option, a single release time is configured at the beginning of the first time step of the simulation's first stress period. block period name all @@ -354,7 +352,7 @@ shape in_record true reader urword longname -description keyword to indicate release of particles at the start of all time steps in the period. +description keyword to indicate release at the start of all time steps in the period. block period name first @@ -363,7 +361,16 @@ shape in_record true reader urword longname -description keyword to indicate release of particles at the start of the first time step in the period. This keyword may be used in conjunction with other keywords to release particles at the start of multiple time steps. +description keyword to indicate release at the start of the first time step in the period. This keyword may be used in conjunction with other RELEASESETTING options. + +block period +name last +type keyword +shape +in_record true +reader urword +longname +description keyword to indicate release at the start of the last time step in the period. This keyword may be used in conjunction with other RELEASESETTING options. block period name frequency @@ -373,7 +380,7 @@ tagged true in_record true reader urword longname -description release particles at the specified time step frequency. This keyword may be used in conjunction with other keywords to release particles at the start of multiple time steps. +description release at the specified time step frequency. This keyword may be used in conjunction with other RELEASESETTING options. block period name steps @@ -383,7 +390,7 @@ tagged true in_record true reader urword longname -description release particles at the start of each step specified in STEPS. This keyword may be used in conjunction with other keywords to release particles at the start of multiple time steps. +description release at the start of each step specified in STEPS. This option may be used in conjunction with other RELEASESETTING options. block period name fraction @@ -393,5 +400,6 @@ tagged true in_record true reader urword optional true +removed 6.5.1 longname -description release particles after the specified fraction of the time step has elapsed. If FRACTION is not set, particles are released at the start of the specified time step(s). FRACTION must be a single value when used with ALL, FIRST, or FREQUENCY. When used with STEPS, FRACTION may be a single value or an array of the same length as STEPS. If a single FRACTION value is provided with STEPS, the fraction applies to all steps. \ No newline at end of file +description release particles after the specified fraction of the time step has elapsed. If FRACTION is not set, particles are released at the start of the specified time step(s). FRACTION must be a single value when used with ALL, FIRST, or FREQUENCY. When used with STEPS, FRACTION may be a single value or an array of the same length as STEPS. If a single FRACTION value is provided with STEPS, the fraction applies to all steps. NOTE: The FRACTION option has been removed. For fine control over release timing, specify times explicitly using the RELEASETIMES block. diff --git a/flopy/mf6/data/dfn/sim-nam.dfn b/flopy/mf6/data/dfn/sim-nam.dfn index 9ba8b3e52e..c22dbc7f1c 100644 --- a/flopy/mf6/data/dfn/sim-nam.dfn +++ b/flopy/mf6/data/dfn/sim-nam.dfn @@ -61,6 +61,7 @@ tagged true optional false longname head keyword description keyword to specify that record corresponds to a hpc file. +extended true block options name filein @@ -83,6 +84,7 @@ optional false tagged false longname file name of time series information description name of input file to define HPC file settings for the HPC package. See the ``HPC File'' section for instructions for preparing HPC input files. +extended true # --------------------- sim nam timing --------------------- diff --git a/flopy/mf6/data/dfn/utl-hpc.dfn b/flopy/mf6/data/dfn/utl-hpc.dfn index 4003a0a8e2..378fe77d06 100644 --- a/flopy/mf6/data/dfn/utl-hpc.dfn +++ b/flopy/mf6/data/dfn/utl-hpc.dfn @@ -2,6 +2,14 @@ # flopy subpackage hpc_filerecord hpc hpc_data hpc # flopy parent_name_type parent_package MFSimulation +block options +name print_table +type keyword +reader urword +optional true +longname model print table to listing file +description keyword to indicate that the partition table will be printed to the listing file. + block options name dev_log_mpi type keyword @@ -17,7 +25,7 @@ block partitions name partitions type recarray mname mrank reader urword -optional +optional true longname list of partition numbers description is the list of zero-based partition numbers. diff --git a/flopy/mf6/data/dfn/utl-ncf.dfn b/flopy/mf6/data/dfn/utl-ncf.dfn new file mode 100644 index 0000000000..f6dc80d503 --- /dev/null +++ b/flopy/mf6/data/dfn/utl-ncf.dfn @@ -0,0 +1,108 @@ +# flopy subpackage ncf_filerecord ncf packagedata packagedata +# flopy parent_name_type parent_package MFPackage + +# --------------------- utl ncf options --------------------- + +block options +name wkt +type string +shape lenbigline +reader urword +optional true +longname CRS well-known text (WKT) string +description is the CRS well-known text (WKT) string. + +block options +name deflate +type integer +reader urword +optional true +longname variable compression deflate level +description is the variable deflate level (0=min, 9=max) in the netcdf file. Defining this parameter activates per-variable compression at the level specified. + +block options +name shuffle +type keyword +reader urword +optional true +longname +description is the keyword used to turn on the netcdf variable shuffle filter when the deflate option is also set. The shuffle filter has the effect of storing the first byte of all of a variable's values in a chunk contiguously, followed by all the second bytes, etc. This can be an optimization for compression with certain types of data. + +block options +name chunk_time +type integer +reader urword +optional true +longname chunking parameter for the time dimension +description is the keyword used to provide a data chunk size for the time dimension in a NETCDF\_MESH2D or NETCDF\_STRUCTURED output file. Must be used in combination with the the chunk\_face parameter (NETCDF\_MESH2D) or the chunk\_z, chunk\_y, and chunk\_x parameter set (NETCDF\_STRUCTURED) to have an effect. + +block options +name chunk_face +type integer +reader urword +optional true +longname chunking parameter for the mesh face dimension +description is the keyword used to provide a data chunk size for the face dimension in a NETCDF\_MESH2D output file. Must be used in combination with the the chunk\_time parameter to have an effect. + +block options +name chunk_z +type integer +reader urword +optional true +longname chunking parameter for structured z +description is the keyword used to provide a data chunk size for the z dimension in a NETCDF\_STRUCTURED output file. Must be used in combination with the the chunk\_time, chunk\_x and chunk\_y parameter set to have an effect. + +block options +name chunk_y +type integer +reader urword +optional true +longname chunking parameter for structured y +description is the keyword used to provide a data chunk size for the y dimension in a NETCDF\_STRUCTURED output file. Must be used in combination with the the chunk\_time, chunk\_x and chunk\_z parameter set to have an effect. + +block options +name chunk_x +type integer +reader urword +optional true +longname chunking parameter for structured x +description is the keyword used to provide a data chunk size for the x dimension in a NETCDF\_STRUCTURED output file. Must be used in combination with the the chunk\_time, chunk\_y and chunk\_z parameter set to have an effect. + +block options +name modflow6_attr_off +type keyword +reader urword +optional true +longname +description is the keyword used to turn off internal input tagging in the model netcdf file. Tagging adds internal modflow 6 attribute(s) to variables which facilitate identification. Currently this applies to gridded arrays. +mf6internal attr_off + +# --------------------- utl ncf dimensions --------------------- + +block dimensions +name ncpl +type integer +optional true +reader urword +longname number of cells in layer +description is the number of cells in a projected plane layer. + +# --------------------- utl ncf griddata --------------------- + +block griddata +name latitude +type double precision +shape (ncpl) +optional true +reader readarray +longname cell center latitude +description cell center latitude. + +block griddata +name longitude +type double precision +shape (ncpl) +optional true +reader readarray +longname cell center longitude +description cell center longitude. diff --git a/flopy/mf6/data/dfn/utl-spc.dfn b/flopy/mf6/data/dfn/utl-spc.dfn index 6fabd0c0f6..58aebbddd1 100644 --- a/flopy/mf6/data/dfn/utl-spc.dfn +++ b/flopy/mf6/data/dfn/utl-spc.dfn @@ -98,13 +98,13 @@ numeric_index true block period name spcsetting -type keystring concentration +type keystring concentration temperature shape tagged false in_record true reader urword longname -description line of information that is parsed into a keyword and values. Keyword values that can be used to start the SPCSETTING string include: CONCENTRATION. +description line of information that is parsed into a keyword and values. Keyword values that can be used to start the SPCSETTING string include: CONCENTRATION and TEMPERATURE. block period name concentration @@ -114,5 +114,16 @@ tagged true in_record true reader urword time_series true -longname well boundary concentration +longname boundary concentration description is the boundary concentration. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. By default, the CONCENTRATION for each boundary feature is zero. + +block period +name temperature +type double precision +shape +tagged true +in_record true +reader urword +time_series true +longname boundary temperature +description is the user-supplied boundary temperature. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. By default, the TEMPERATURE for each boundary feature is zero. \ No newline at end of file diff --git a/flopy/mf6/data/dfn/utl-spca.dfn b/flopy/mf6/data/dfn/utl-spca.dfn index 40bbe7067d..92ac496e1a 100644 --- a/flopy/mf6/data/dfn/utl-spca.dfn +++ b/flopy/mf6/data/dfn/utl-spca.dfn @@ -83,7 +83,16 @@ name concentration type double precision shape (ncol*nrow; ncpl) reader readarray +optional true longname concentration description is the concentration of the associated Recharge or Evapotranspiration stress package. The concentration array may be defined by a time-array series (see the "Using Time-Array Series in a Package" section). -default_value 0. + +block period +name temperature +type double precision +shape (ncol*nrow; ncpl) +reader readarray +optional true +longname temperature +description is the temperature of the associated Recharge or Evapotranspiration stress package. The temperature array may be defined by a time-array series (see the "Using Time-Array Series in a Package" section). diff --git a/flopy/mf6/data/dfn/utl-spt.dfn b/flopy/mf6/data/dfn/utl-spt.dfn deleted file mode 100644 index 4febf60723..0000000000 --- a/flopy/mf6/data/dfn/utl-spt.dfn +++ /dev/null @@ -1,118 +0,0 @@ -# --------------------- ssm spt options --------------------- -# flopy multi-package - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'spt'} - -block options -name ts_filerecord -type record ts6 filein ts6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name ts6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname head keyword -description keyword to specify that record corresponds to a time-series file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name ts6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of time series information -description REPLACE timeseriesfile {} - -# --------------------- ssm spt dimensions --------------------- - -block dimensions -name maxbound -type integer -reader urword -optional false -longname maximum number of ssm entries -description REPLACE maxbound {'{#1}': 'spt'} - -# --------------------- ssm spt period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name perioddata -type recarray bndno sptsetting -shape -reader urword -longname -description - -block period -name bndno -type integer -shape -tagged false -in_record true -reader urword -longname bound number for this entry -description integer value that defines the boundary package feature number associated with the specified PERIOD data on the line. BNDNO must be greater than zero and less than or equal to MAXBOUND. -numeric_index true - -block period -name sptsetting -type keystring temperature -shape -tagged false -in_record true -reader urword -longname -description line of information that is parsed into a keyword and values. Keyword values that can be used to start the SPTSETTING string include: TEMPERATURE. - -block period -name temperature -type double precision -shape -tagged true -in_record true -reader urword -time_series true -longname well boundary temperature -description is the boundary temperature. If the Options block includes a TIMESERIESFILE entry (see the ``Time-Variable Input'' section), values can be obtained from a time series by entering the time-series name in place of a numeric value. By default, the TEMPERATURE for each boundary feature is zero. diff --git a/flopy/mf6/data/dfn/utl-spta.dfn b/flopy/mf6/data/dfn/utl-spta.dfn deleted file mode 100644 index 13463e47a9..0000000000 --- a/flopy/mf6/data/dfn/utl-spta.dfn +++ /dev/null @@ -1,89 +0,0 @@ -# --------------------- ssm spta options --------------------- -# flopy multi-package - -block options -name readasarrays -type keyword -shape -reader urword -optional false -longname use array-based input -description indicates that array-based input will be used for the SPT Package. This keyword must be specified to use array-based input. When READASARRAYS is specified, values must be provided for every cell within a model layer, even those cells that have an IDOMAIN value less than one. Values assigned to cells with IDOMAIN values less than one are not used and have no effect on simulation results. -default_value True - -block options -name print_input -type keyword -reader urword -optional true -longname print input to listing file -description REPLACE print_input {'{#1}': 'spt'} - -block options -name tas_filerecord -type record tas6 filein tas6_filename -shape -reader urword -tagged true -optional true -longname -description - -block options -name tas6 -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname head keyword -description keyword to specify that record corresponds to a time-array-series file. - -block options -name filein -type keyword -shape -in_record true -reader urword -tagged true -optional false -longname file keyword -description keyword to specify that an input filename is expected next. - -block options -name tas6_filename -type string -preserve_case true -in_record true -reader urword -optional false -tagged false -longname file name of time series information -description defines a time-array-series file defining a time-array series that can be used to assign time-varying values. See the Time-Variable Input section for instructions on using the time-array series capability. - - -# --------------------- ssm spta period --------------------- - -block period -name iper -type integer -block_variable True -in_record true -tagged false -shape -valid -reader urword -optional false -longname stress period number -description REPLACE iper {} - -block period -name temperature -type double precision -shape (ncol*nrow; ncpl) -reader readarray -longname temperature -description is the temperature of the associated Recharge or Evapotranspiration stress package. The temperature array may be defined by a time-array series (see the ``Using Time-Array Series in a Package'' section). -default_value 0. - diff --git a/flopy/mf6/data/dfn/utl-tas.dfn b/flopy/mf6/data/dfn/utl-tas.dfn index 6316beba5c..81c6fd25bc 100644 --- a/flopy/mf6/data/dfn/utl-tas.dfn +++ b/flopy/mf6/data/dfn/utl-tas.dfn @@ -19,6 +19,7 @@ type keyword shape reader urword optional false +in_record true longname description xxx @@ -29,6 +30,7 @@ shape any1d tagged false reader urword optional false +in_record true longname description Name by which a package references a particular time-array series. The name must be unique among all time-array series used in a package. @@ -48,6 +50,7 @@ type keyword shape reader urword optional false +in_record true longname description xxx @@ -59,6 +62,7 @@ shape tagged false reader urword optional false +in_record true longname description Interpolation method, which is either STEPWISE or LINEAR. @@ -78,6 +82,7 @@ type keyword shape reader urword optional false +in_record true longname description xxx @@ -88,6 +93,7 @@ shape time_series_name tagged false reader urword optional false +in_record true longname description Scale factor, which will multiply all array values in time series. SFAC is an optional attribute; if omitted, SFAC = 1.0. diff --git a/flopy/mf6/data/dfn/utl-ts.dfn b/flopy/mf6/data/dfn/utl-ts.dfn index a7165ea382..41bf114484 100644 --- a/flopy/mf6/data/dfn/utl-ts.dfn +++ b/flopy/mf6/data/dfn/utl-ts.dfn @@ -20,6 +20,7 @@ type keyword shape reader urword optional false +in_record true longname description xxx @@ -30,6 +31,7 @@ shape any1d tagged false reader urword optional false +in_record true longname description Name by which a package references a particular time-array series. The name must be unique among all time-array series used in a package. @@ -49,6 +51,7 @@ type keyword shape reader urword optional false +in_record true longname description xxx @@ -60,6 +63,7 @@ shape time_series_names tagged false reader urword optional false +in_record true longname description Interpolation method, which is either STEPWISE or LINEAR. @@ -109,6 +113,7 @@ type keyword shape reader urword optional false +in_record true longname description xxx @@ -119,6 +124,7 @@ shape