388 lines
12 KiB
Python
388 lines
12 KiB
Python
# DO NOT MODIFY THIS FILE DIRECTLY. THIS FILE MUST BE CREATED BY
|
|
# mf6/utils/createpackages.py
|
|
from .. import mfpackage
|
|
from ..data.mfdatautil import ListTemplateGenerator
|
|
|
|
|
|
class ModflowGwfoc(mfpackage.MFPackage):
|
|
"""
|
|
ModflowGwfoc defines a oc package within a gwf6 model.
|
|
|
|
Parameters
|
|
----------
|
|
model : MFModel
|
|
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.
|
|
budget_filerecord : [budgetfile]
|
|
* budgetfile (string) name of the output file to write budget
|
|
information.
|
|
head_filerecord : [headfile]
|
|
* headfile (string) name of the output file to write head information.
|
|
headprintrecord : [columns, width, digits, format]
|
|
* columns (integer) number of columns for writing data.
|
|
* width (integer) width for writing each number.
|
|
* digits (integer) number of digits to use for writing a number.
|
|
* format (string) write format can be EXPONENTIAL, FIXED, GENERAL, or
|
|
SCIENTIFIC.
|
|
saverecord : [rtype, ocsetting]
|
|
* rtype (string) type of information to save or print. Can be BUDGET or
|
|
HEAD.
|
|
* ocsetting (keystring) specifies the steps for which the data will be
|
|
saved.
|
|
all : [keyword]
|
|
* all (keyword) keyword to indicate save for all time steps in
|
|
period.
|
|
first : [keyword]
|
|
* first (keyword) keyword to indicate save for first step in
|
|
period. This keyword may be used in conjunction with other
|
|
keywords to print or save results for multiple time steps.
|
|
last : [keyword]
|
|
* last (keyword) keyword to indicate save for last step in
|
|
period. This keyword may be used in conjunction with other
|
|
keywords to print or save results for multiple time steps.
|
|
frequency : [integer]
|
|
* frequency (integer) save at the specified time step
|
|
frequency. This keyword may be used in conjunction with other
|
|
keywords to print or save results for multiple time steps.
|
|
steps : [integer]
|
|
* steps (integer) save for each step specified in STEPS. This
|
|
keyword may be used in conjunction with other keywords to
|
|
print or save results for multiple time steps.
|
|
printrecord : [rtype, ocsetting]
|
|
* rtype (string) type of information to save or print. Can be BUDGET or
|
|
HEAD.
|
|
* ocsetting (keystring) specifies the steps for which the data will be
|
|
saved.
|
|
all : [keyword]
|
|
* all (keyword) keyword to indicate save for all time steps in
|
|
period.
|
|
first : [keyword]
|
|
* first (keyword) keyword to indicate save for first step in
|
|
period. This keyword may be used in conjunction with other
|
|
keywords to print or save results for multiple time steps.
|
|
last : [keyword]
|
|
* last (keyword) keyword to indicate save for last step in
|
|
period. This keyword may be used in conjunction with other
|
|
keywords to print or save results for multiple time steps.
|
|
frequency : [integer]
|
|
* frequency (integer) save at the specified time step
|
|
frequency. This keyword may be used in conjunction with other
|
|
keywords to print or save results for multiple time steps.
|
|
steps : [integer]
|
|
* steps (integer) save for each step specified in STEPS. This
|
|
keyword may be used in conjunction with other keywords to
|
|
print or save results for multiple time steps.
|
|
filename : String
|
|
File name for this package.
|
|
pname : String
|
|
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.
|
|
|
|
"""
|
|
|
|
budget_filerecord = ListTemplateGenerator(
|
|
("gwf6", "oc", "options", "budget_filerecord")
|
|
)
|
|
head_filerecord = ListTemplateGenerator(
|
|
("gwf6", "oc", "options", "head_filerecord")
|
|
)
|
|
headprintrecord = ListTemplateGenerator(
|
|
("gwf6", "oc", "options", "headprintrecord")
|
|
)
|
|
saverecord = ListTemplateGenerator(("gwf6", "oc", "period", "saverecord"))
|
|
printrecord = ListTemplateGenerator(
|
|
("gwf6", "oc", "period", "printrecord")
|
|
)
|
|
package_abbr = "gwfoc"
|
|
_package_type = "oc"
|
|
dfn_file_name = "gwf-oc.dfn"
|
|
|
|
dfn = [
|
|
[
|
|
"block options",
|
|
"name budget_filerecord",
|
|
"type record budget fileout budgetfile",
|
|
"shape",
|
|
"reader urword",
|
|
"tagged true",
|
|
"optional true",
|
|
],
|
|
[
|
|
"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 head_filerecord",
|
|
"type record head fileout headfile",
|
|
"shape",
|
|
"reader urword",
|
|
"tagged true",
|
|
"optional true",
|
|
],
|
|
[
|
|
"block options",
|
|
"name head",
|
|
"type keyword",
|
|
"shape",
|
|
"in_record true",
|
|
"reader urword",
|
|
"tagged true",
|
|
"optional false",
|
|
],
|
|
[
|
|
"block options",
|
|
"name headfile",
|
|
"type string",
|
|
"preserve_case true",
|
|
"shape",
|
|
"in_record true",
|
|
"reader urword",
|
|
"tagged false",
|
|
"optional false",
|
|
],
|
|
[
|
|
"block options",
|
|
"name headprintrecord",
|
|
"type record head print_format formatrecord",
|
|
"shape",
|
|
"reader urword",
|
|
"optional true",
|
|
],
|
|
[
|
|
"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,
|
|
head_filerecord=None,
|
|
headprintrecord=None,
|
|
saverecord=None,
|
|
printrecord=None,
|
|
filename=None,
|
|
pname=None,
|
|
parent_file=None,
|
|
):
|
|
super(ModflowGwfoc, self).__init__(
|
|
model, "oc", filename, pname, loading_package, parent_file
|
|
)
|
|
|
|
# set up variables
|
|
self.budget_filerecord = self.build_mfdata(
|
|
"budget_filerecord", budget_filerecord
|
|
)
|
|
self.head_filerecord = self.build_mfdata(
|
|
"head_filerecord", head_filerecord
|
|
)
|
|
self.headprintrecord = self.build_mfdata(
|
|
"headprintrecord", headprintrecord
|
|
)
|
|
self.saverecord = self.build_mfdata("saverecord", saverecord)
|
|
self.printrecord = self.build_mfdata("printrecord", printrecord)
|
|
self._init_complete = True
|