# 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 ModflowGwefmi(MFPackage):
"""
ModflowGwefmi defines a FMI package.
Parameters
----------
save_flows : keyword
keyword to indicate that fmi flow terms will be written to the file specified
with 'budget fileout' in output control.
flow_imbalance_correction : keyword
correct for an imbalance in flows by assuming that any residual flow error
comes in or leaves at the temperature of the cell. when this option is
activated, the gwe model budget written to the listing file will contain two
additional entries: flow-error and flow-correction. these two entries will be
equal but opposite in sign. the flow-correction term is a mass flow that is
added to offset the error caused by an imprecise flow balance. if these terms
are not relatively small, the flow model should be rerun with stricter
convergence tolerances.
packagedata : list
"""
packagedata = ListTemplateGenerator(("gwe6", "fmi", "packagedata", "packagedata"))
package_abbr = "gwefmi"
_package_type = "fmi"
dfn_file_name = "gwe-fmi.dfn"
dfn = [
["header"],
[
"block options",
"name save_flows",
"type keyword",
"reader urword",
"optional true",
],
[
"block options",
"name flow_imbalance_correction",
"type keyword",
"reader urword",
"optional true",
],
[
"block packagedata",
"name packagedata",
"type recarray flowtype filein fname",
"reader urword",
"optional false",
],
[
"block packagedata",
"name flowtype",
"in_record true",
"type string",
"tagged false",
"reader urword",
],
[
"block packagedata",
"name filein",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block packagedata",
"name fname",
"in_record true",
"type string",
"preserve_case true",
"tagged false",
"reader urword",
],
]
def __init__(
self,
model,
loading_package=False,
save_flows=None,
flow_imbalance_correction=None,
packagedata=None,
filename=None,
pname=None,
**kwargs,
):
"""
ModflowGwefmi defines a FMI 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.
save_flows : keyword
keyword to indicate that fmi flow terms will be written to the file specified
with 'budget fileout' in output control.
flow_imbalance_correction : keyword
correct for an imbalance in flows by assuming that any residual flow error
comes in or leaves at the temperature of the cell. when this option is
activated, the gwe model budget written to the listing file will contain two
additional entries: flow-error and flow-correction. these two entries will be
equal but opposite in sign. the flow-correction term is a mass flow that is
added to offset the error caused by an imprecise flow balance. if these terms
are not relatively small, the flow model should be rerun with stricter
convergence tolerances.
packagedata : 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, "fmi", filename, pname, loading_package, **kwargs)
self.save_flows = self.build_mfdata("save_flows", save_flows)
self.flow_imbalance_correction = self.build_mfdata(
"flow_imbalance_correction", flow_imbalance_correction
)
self.packagedata = self.build_mfdata("packagedata", packagedata)
self._init_complete = True