# 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 ModflowGwtoc(MFPackage):
"""
ModflowGwtoc defines a OC 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.
budget_filerecord : (budgetfile)
* budgetfile : string
name of the output file to write budget information.
budgetcsv_filerecord : (budgetcsvfile)
* budgetcsvfile : string
name of the comma-separated value (CSV) output file to write budget summary
information. A budget summary record will be written to this file for each
time step of the simulation.
concentration_filerecord : (concentrationfile)
* concentrationfile : string
name of the output file to write conc information.
concentrationprintrecord : (concentration, print_format)
* concentration : keyword
keyword to specify that record corresponds to concentration.
* print_format : keyword
keyword to specify format for printing to the listing file.
saverecord : (save, rtype, ocsetting)
* save : keyword
keyword to indicate that information will be saved this stress period.
* rtype : string
type of information to save or print. Can be BUDGET or CONCENTRATION.
* ocsetting : keystring all first last frequency steps
specifies the steps for which the data will be saved.
printrecord : (print, rtype, ocsetting)
* print : keyword
keyword to indicate that information will be printed this stress period.
* rtype : string
type of information to save or print. Can be BUDGET or CONCENTRATION.
* ocsetting : keystring all first last frequency steps
specifies the steps for which the data will be saved.
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`.
"""
budget_filerecord = ListTemplateGenerator(
("gwt6", "oc", "options", "budget_filerecord")
)
budgetcsv_filerecord = ListTemplateGenerator(
("gwt6", "oc", "options", "budgetcsv_filerecord")
)
concentration_filerecord = ListTemplateGenerator(
("gwt6", "oc", "options", "concentration_filerecord")
)
concentrationprintrecord = ListTemplateGenerator(
("gwt6", "oc", "options", "concentrationprintrecord")
)
saverecord = ListTemplateGenerator(("gwt6", "oc", "period", "saverecord"))
printrecord = ListTemplateGenerator(("gwt6", "oc", "period", "printrecord"))
package_abbr = "gwtoc"
_package_type = "oc"
dfn_file_name = "gwt-oc.dfn"
dfn = [
["header"],
[
"block options",
"name budget_filerecord",
"type record budget fileout budgetfile",
"shape",
"reader urword",
"tagged true",
"optional true",
"mf6internal budfilerec",
],
[
"block options",
"name budget",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name fileout",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name budgetfile",
"type string",
"preserve_case true",
"shape",
"in_record true",
"reader urword",
"tagged false",
"optional false",
],
[
"block options",
"name budgetcsv_filerecord",
"type record budgetcsv fileout budgetcsvfile",
"shape",
"reader urword",
"tagged true",
"optional true",
"mf6internal budcsvfilerec",
],
[
"block options",
"name budgetcsv",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name budgetcsvfile",
"type string",
"preserve_case true",
"shape",
"in_record true",
"reader urword",
"tagged false",
"optional false",
],
[
"block options",
"name concentration_filerecord",
"type record concentration fileout concentrationfile",
"shape",
"reader urword",
"tagged true",
"optional true",
"mf6internal concfilerec",
],
[
"block options",
"name concentration",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name concentrationfile",
"type string",
"preserve_case true",
"shape",
"in_record true",
"reader urword",
"tagged false",
"optional false",
"mf6internal concfile",
],
[
"block options",
"name concentrationprintrecord",
"type record concentration print_format formatrecord",
"shape",
"reader urword",
"optional true",
"mf6internal concprintrec",
],
[
"block options",
"name print_format",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block options",
"name formatrecord",
"type record columns width digits format",
"shape",
"in_record true",
"reader urword",
"tagged",
"optional false",
],
[
"block options",
"name columns",
"type integer",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional",
],
[
"block options",
"name width",
"type integer",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional",
],
[
"block options",
"name digits",
"type integer",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional",
],
[
"block options",
"name format",
"type string",
"shape",
"in_record true",
"reader urword",
"tagged false",
"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 saverecord",
"type record save rtype ocsetting",
"shape",
"reader urword",
"tagged false",
"optional true",
],
[
"block period",
"name save",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block period",
"name printrecord",
"type record print rtype ocsetting",
"shape",
"reader urword",
"tagged false",
"optional true",
],
[
"block period",
"name print",
"type keyword",
"shape",
"in_record true",
"reader urword",
"tagged true",
"optional false",
],
[
"block period",
"name rtype",
"type string",
"shape",
"in_record true",
"reader urword",
"tagged false",
"optional false",
],
[
"block period",
"name ocsetting",
"type keystring all first last frequency steps",
"shape",
"tagged false",
"in_record true",
"reader urword",
],
[
"block period",
"name all",
"type keyword",
"shape",
"in_record true",
"reader urword",
],
[
"block period",
"name first",
"type keyword",
"shape",
"in_record true",
"reader urword",
],
[
"block period",
"name last",
"type keyword",
"shape",
"in_record true",
"reader urword",
],
[
"block period",
"name frequency",
"type integer",
"shape",
"tagged true",
"in_record true",
"reader urword",
],
[
"block period",
"name steps",
"type integer",
"shape (<nstp)",
"tagged true",
"in_record true",
"reader urword",
],
]
def __init__(
self,
model,
loading_package=False,
budget_filerecord=None,
budgetcsv_filerecord=None,
concentration_filerecord=None,
concentrationprintrecord=None,
saverecord=None,
printrecord=None,
filename=None,
pname=None,
**kwargs,
):
"""Initialize ModflowGwtoc."""
super().__init__(
parent=model,
package_type="oc",
filename=filename,
pname=pname,
loading_package=loading_package,
**kwargs,
)
self.budget_filerecord = self.build_mfdata(
"budget_filerecord", budget_filerecord
)
self.budgetcsv_filerecord = self.build_mfdata(
"budgetcsv_filerecord", budgetcsv_filerecord
)
self.concentration_filerecord = self.build_mfdata(
"concentration_filerecord", concentration_filerecord
)
self.concentrationprintrecord = self.build_mfdata(
"concentrationprintrecord", concentrationprintrecord
)
self.saverecord = self.build_mfdata("saverecord", saverecord)
self.printrecord = self.build_mfdata("printrecord", printrecord)
self._init_complete = True