# 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 ModflowGwfhfb(MFPackage):
"""
ModflowGwfhfb defines a HFB package.
Parameters
----------
print_input : keyword
keyword to indicate that the list of horizontal flow barriers will be written
to the listing file immediately after it is read.
maxhfb : integer
integer value specifying the maximum number of horizontal flow barriers that
will be entered in this input file. the value of maxhfb is used to allocate
memory for the horizontal flow barriers.
stress_period_data : [list]
"""
stress_period_data = ListTemplateGenerator(
("gwf6", "hfb", "period", "stress_period_data")
)
package_abbr = "gwfhfb"
_package_type = "hfb"
dfn_file_name = "gwf-hfb.dfn"
dfn = [
["header"],
[
"block options",
"name print_input",
"type keyword",
"reader urword",
"optional true",
],
[
"block dimensions",
"name maxhfb",
"type integer",
"reader urword",
"optional false",
],
[
"block period",
"name iper",
"type integer",
"block_variable True",
"in_record true",
"tagged false",
"shape",
"valid",
"reader urword",
"optional false",
],
[
"block period",
"name stress_period_data",
"type recarray cellid1 cellid2 hydchr",
"shape (maxhfb)",
"reader urword",
],
[
"block period",
"name cellid1",
"type integer",
"shape (ncelldim)",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name cellid2",
"type integer",
"shape (ncelldim)",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name hydchr",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
]
def __init__(
self,
model,
loading_package=False,
print_input=None,
maxhfb=None,
stress_period_data=None,
filename=None,
pname=None,
**kwargs,
):
"""
ModflowGwfhfb defines a HFB package.
Parameters
----------
model
Model that this package is a part of. Package is automatically
added to model when it is initialized.
loading_package : bool
Do not set this parameter. It is intended for debugging and internal
processing purposes only.
print_input : keyword
keyword to indicate that the list of horizontal flow barriers will be written
to the listing file immediately after it is read.
maxhfb : integer
integer value specifying the maximum number of horizontal flow barriers that
will be entered in this input file. the value of maxhfb is used to allocate
memory for the horizontal flow barriers.
stress_period_data : [list]
filename : str
File name for this package.
pname : str
Package name for this package.
parent_file : MFPackage
Parent package file that references this package. Only needed for
utility packages (mfutl*). For example, mfutllaktab package must have
a mfgwflak package parent_file.
"""
super().__init__(model, "hfb", filename, pname, loading_package, **kwargs)
self.print_input = self.build_mfdata("print_input", print_input)
self.maxhfb = self.build_mfdata("maxhfb", maxhfb)
self.stress_period_data = self.build_mfdata(
"stress_period_data", stress_period_data
)
self._init_complete = True