# 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 ModflowUtllaktab(MFPackage):
"""
ModflowUtllaktab defines a LAKTAB 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.
nrow : integer
integer value specifying the number of rows in the lake table. there must be
nrow rows of data in the table block.
ncol : integer
integer value specifying the number of columns in the lake table. there must be
ncol columns of data in the table block. for lakes with horizontal and/or
vertical ctype connections, ncol must be equal to 3. for lakes with embeddedh
or embeddedv ctype connections, ncol must be equal to 4.
table : [(stage, volume, sarea, barea)]
* stage : double precision
real value that defines the stage corresponding to the remaining data on the
line.
* volume : double precision
real value that defines the lake volume corresponding to the stage specified on
the line.
* sarea : double precision
real value that defines the lake surface area corresponding to the stage
specified on the line.
* barea : double precision
real value that defines the lake-GWF exchange area corresponding to the stage
specified on the line. BAREA is only specified if the CLAKTYPE for the lake is
EMBEDDEDH or EMBEDDEDV.
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`.
"""
table = ListTemplateGenerator(("laktab", "table", "table"))
package_abbr = "utllaktab"
_package_type = "laktab"
dfn_file_name = "utl-laktab.dfn"
dfn = [
["header", "multi-package"],
[
"block dimensions",
"name nrow",
"type integer",
"reader urword",
"optional false",
],
[
"block dimensions",
"name ncol",
"type integer",
"reader urword",
"optional false",
],
[
"block table",
"name table",
"type recarray stage volume sarea barea",
"shape (nrow)",
"reader urword",
],
[
"block table",
"name stage",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block table",
"name volume",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block table",
"name sarea",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block table",
"name barea",
"type double precision",
"shape",
"tagged false",
"in_record true",
"reader urword",
"optional true",
],
]
def __init__(
self,
model,
loading_package=False,
nrow=None,
ncol=None,
table=None,
filename=None,
pname=None,
**kwargs,
):
"""Initialize ModflowUtllaktab."""
super().__init__(
parent=model,
package_type="laktab",
filename=filename,
pname=pname,
loading_package=loading_package,
**kwargs,
)
self.nrow = self.build_mfdata("nrow", nrow)
self.ncol = self.build_mfdata("ncol", ncol)
self.table = self.build_mfdata("table", table)
self._init_complete = True