# 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.mfmodel import MFModel
[docs]class ModflowGwt(MFModel):
"""
ModflowGwt defines a GWT model.
Parameters
----------
list : string
is name of the listing file to create for this gwt model. if not specified,
then the name of the list file will be the basename of the gwt model name file
and the '.lst' extension. for example, if the gwt name file is called
'my.model.nam' then the list file will be called 'my.model.lst'.
print_input : keyword
keyword to indicate that the list of all model stress package information will
be written to the listing file immediately after it is read.
print_flows : keyword
keyword to indicate that the list of all model package 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 all model package flow terms will be written to the
file specified with 'budget fileout' in output control.
nc_mesh2d_filerecord : record
netcdf layered mesh fileout record.
nc_structured_filerecord : record
netcdf structured fileout record.
nc_filerecord : record
netcdf filerecord
packages : list
Methods
-------
load : (simulation : MFSimulationData, model_name : string,
namfile : string, version : string, exe_name : string,
model_ws : string, strict : boolean) : MFSimulation
a class method that loads a model from files
"""
model_type = "gwt"
def __init__(
self,
simulation,
modelname="model",
model_nam_file=None,
version="mf6",
exe_name="mf6",
model_rel_path=".",
list=None,
print_input=None,
print_flows=None,
save_flows=None,
nc_mesh2d_filerecord=None,
nc_structured_filerecord=None,
nc_filerecord=None,
**kwargs,
):
"""
ModflowGwt defines a GWT model.
Parameters
----------
modelname : string
name of the model
model_nam_file : string
relative path to the model name file from model working folder
version : string
version of modflow
exe_name : string
model executable name
model_ws : string
model working folder path
sim : MFSimulation
Simulation that this model is a part of. Model is automatically
added to simulation when it is initialized.
list : string
is name of the listing file to create for this gwt model. if not specified,
then the name of the list file will be the basename of the gwt model name file
and the '.lst' extension. for example, if the gwt name file is called
'my.model.nam' then the list file will be called 'my.model.lst'.
print_input : keyword
keyword to indicate that the list of all model stress package information will
be written to the listing file immediately after it is read.
print_flows : keyword
keyword to indicate that the list of all model package 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 all model package flow terms will be written to the
file specified with 'budget fileout' in output control.
nc_mesh2d_filerecord : record
netcdf layered mesh fileout record.
nc_structured_filerecord : record
netcdf structured fileout record.
nc_filerecord : record
netcdf filerecord
packages : list
"""
super().__init__(
simulation,
model_type="gwt6",
modelname=modelname,
model_nam_file=model_nam_file,
version=version,
exe_name=exe_name,
model_rel_path=model_rel_path,
**kwargs,
)
self.name_file.list.set_data(list)
self.list = self.name_file.list
self.name_file.print_input.set_data(print_input)
self.print_input = self.name_file.print_input
self.name_file.print_flows.set_data(print_flows)
self.print_flows = self.name_file.print_flows
self.name_file.save_flows.set_data(save_flows)
self.save_flows = self.name_file.save_flows
self.name_file.nc_mesh2d_filerecord.set_data(nc_mesh2d_filerecord)
self.nc_mesh2d_filerecord = self.name_file.nc_mesh2d_filerecord
self.name_file.nc_structured_filerecord.set_data(nc_structured_filerecord)
self.nc_structured_filerecord = self.name_file.nc_structured_filerecord
self.name_file.nc_filerecord.set_data(nc_filerecord)
self.nc_filerecord = self.name_file.nc_filerecord
[docs] @classmethod
def load(
cls,
simulation,
structure,
modelname="NewModel",
model_nam_file="modflowtest.nam",
version="mf6",
exe_name="mf6",
strict=True,
model_rel_path=curdir,
load_only=None,
):
return MFModel.load_base(
cls,
simulation,
structure,
modelname,
model_nam_file,
"gwt6",
version,
exe_name,
strict,
model_rel_path,
load_only,
)