# autogenerated file, do not modify
from os import PathLike, curdir
from typing import Union
from flopy.mf6.data.mfdatautil import ArrayTemplateGenerator, ListTemplateGenerator
from flopy.mf6.mfpackage import MFChildPackages, MFPackage
[docs]class ModflowGwtadv(MFPackage):
"""
ModflowGwtadv defines a ADV package.
Parameters
----------
model
Model that this package is a part of. Package is automatically
added to model when it is initialized.
loading_package : bool, default False
Do not set this parameter. It is intended for debugging and internal
processing purposes only.
scheme : string
scheme used to solve the advection term. can be upstream, central, or tvd. if
not specified, upstream weighting is the default weighting scheme.
ats_percel : double precision
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.
filename : str or PathLike, optional
Name or path of file where this package is stored.
pname : str, optional
Package name.
**kwargs
Extra keywords for :class:`flopy.mf6.mfpackage.MFPackage`.
"""
package_abbr = "gwtadv"
_package_type = "adv"
dfn_file_name = "gwt-adv.dfn"
dfn = [
["header"],
[
"block options",
"name scheme",
"type string",
"valid central upstream tvd",
"reader urword",
"optional true",
],
[
"block options",
"name ats_percel",
"type double precision",
"reader urword",
"optional true",
],
]
def __init__(
self,
model,
loading_package=False,
scheme=None,
ats_percel=None,
filename=None,
pname=None,
**kwargs,
):
"""Initialize ModflowGwtadv."""
super().__init__(
parent=model,
package_type="adv",
filename=filename,
pname=pname,
loading_package=loading_package,
**kwargs,
)
self.scheme = self.build_mfdata("scheme", scheme)
self.ats_percel = self.build_mfdata("ats_percel", ats_percel)
self._init_complete = True