# 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 ModflowGwtssm(MFPackage):
"""
ModflowGwtssm defines a SSM package.
Parameters
----------
print_flows : keyword
keyword to indicate that the list of ssm flow rates will be printed to the
listing file for every stress period time step in which 'budget print' is
specified in output control. if there is no output control option and
'print_flows' is specified, then flow rates are printed for the last time step
of each stress period.
save_flows : keyword
keyword to indicate that ssm flow terms will be written to the file specified
with 'budget fileout' in output control.
sources : list
fileinput : list
"""
sources = ListTemplateGenerator(("gwt6", "ssm", "sources", "sources"))
fileinput = ListTemplateGenerator(("gwt6", "ssm", "fileinput", "fileinput"))
package_abbr = "gwtssm"
_package_type = "ssm"
dfn_file_name = "gwt-ssm.dfn"
dfn = [
["header"],
[
"block options",
"name print_flows",
"type keyword",
"reader urword",
"optional true",
],
[
"block options",
"name save_flows",
"type keyword",
"reader urword",
"optional true",
],
[
"block sources",
"name sources",
"type recarray pname srctype auxname",
"reader urword",
"optional false",
],
[
"block sources",
"name pname",
"in_record true",
"type string",
"tagged false",
"reader urword",
],
[
"block sources",
"name srctype",
"in_record true",
"type string",
"tagged false",
"optional false",
"reader urword",
],
[
"block sources",
"name auxname",
"in_record true",
"type string",
"tagged false",
"reader urword",
"optional false",
],
[
"block fileinput",
"name fileinput",
"type recarray pname spc6 filein spc6_filename mixed",
"reader urword",
],
[
"block fileinput",
"name pname",
"in_record true",
"type string",
"tagged false",
"reader urword",
],
[
"block fileinput",
"name spc6",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block fileinput",
"name filein",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block fileinput",
"name spc6_filename",
"type string",
"preserve_case true",
"in_record true",
"reader urword",
"optional false",
"tagged false",
],
[
"block fileinput",
"name mixed",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional true",
],
]
def __init__(
self,
model,
loading_package=False,
print_flows=None,
save_flows=None,
sources=None,
fileinput=None,
filename=None,
pname=None,
**kwargs,
):
"""
ModflowGwtssm defines a SSM 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_flows : keyword
keyword to indicate that the list of ssm flow rates will be printed to the
listing file for every stress period time step in which 'budget print' is
specified in output control. if there is no output control option and
'print_flows' is specified, then flow rates are printed for the last time step
of each stress period.
save_flows : keyword
keyword to indicate that ssm flow terms will be written to the file specified
with 'budget fileout' in output control.
sources : list
fileinput : 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, "ssm", filename, pname, loading_package, **kwargs)
self.print_flows = self.build_mfdata("print_flows", print_flows)
self.save_flows = self.build_mfdata("save_flows", save_flows)
self.sources = self.build_mfdata("sources", sources)
self.fileinput = self.build_mfdata("fileinput", fileinput)
self._init_complete = True