Source code for flopy.mf6.modflow.mfgwt

# 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 ---------- simulation : MFSimulation Simulation object that this model is a part of. modelname : str, default "model" Name of the model. model_nam_file : str, optional Relative path to the model name file from model working folder. version : str, default "mf6" Version of modflow. exe_name : str, default "mf6" Model executable name. model_rel_path : str or PathLike, default "." (curdir) Relative path of model folder to simulation folder. 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. dependent_variable_scaling : keyword flag to scale x and rhs to avoid very large positive or negative dependent variable values nc_mesh2d_filerecord : record netcdf layered mesh fileout record. nc_structured_filerecord : record netcdf structured fileout record. nc_filerecord : record netcdf filerecord packages : [(ftype, fname, pname)] * ftype : string is the file type, which must be one of the following character values shown in table ref{table:ftype-gwt}. Ftype may be entered in any combination of uppercase and lowercase. * fname : string is the name of the file containing the package input. The path to the file should be included if the file is not located in the folder where the program was run. * pname : string is the user-defined name for the package. PNAME is restricted to 16 characters. No spaces are allowed in PNAME. PNAME character values are read and stored by the program for stress packages only. These names may be useful for labeling purposes when multiple stress packages of the same type are located within a single GWT Model. If PNAME is specified for a stress package, then PNAME will be used in the flow budget table in the listing file; it will also be used for the text entry in the cell-by-cell budget file. PNAME is case insensitive and is stored in all upper case letters. **kwargs Extra keywords for :class:`flopy.mf6.mfmodel.MFModel`. """ model_type = "gwt" def __init__( self, simulation, modelname="model", model_nam_file=None, version="mf6", exe_name="mf6", model_rel_path=curdir, list=None, print_input=None, print_flows=None, save_flows=None, dependent_variable_scaling=None, nc_mesh2d_filerecord=None, nc_structured_filerecord=None, nc_filerecord=None, **kwargs, ): """Initialize ModflowGwt.""" 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.dependent_variable_scaling.set_data(dependent_variable_scaling) self.dependent_variable_scaling = self.name_file.dependent_variable_scaling 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, ): """ Load an existing ModflowGwt model. Parameters ---------- simulation : MFSimulation Simulation object that this model is a part of. structure : MFModelStructure Structure of this type of model. modelname : str, default "NewModel" Name of the model. model_nam_file : str, default "modflowtest.nam" Relative path to the model name file from model working folder. version : str, default "mf6" Version of modflow. exe_name : str or PathLike, default "mf6" Model executable name or path. strict : bool, default True Strict mode when loading files. model_rel_path : str or PathLike, default "." (curdir) Relative path of model folder to simulation folder. load_only : list of str, optional Packages to load (e.g. ['btn', 'adv']). Default None means that all packages will be loaded. """ return MFModel.load_base( cls, simulation, structure, modelname, model_nam_file, "gwt6", version, exe_name, strict, model_rel_path, load_only, )