Source code for flopy.mf6.modflow.mftdis

# 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 ModflowTdis(MFPackage): """ ModflowTdis defines a TDIS package. Parameters ---------- simulation Simulation that this package is a part of. Package is automatically added to simulation when it is initialized. loading_package : bool, default False Do not set this parameter. It is intended for debugging and internal processing purposes only. time_units : string is the time units of the simulation. this is a text string that is used as a label within model output files. values for time_units may be 'unknown', 'seconds', 'minutes', 'hours', 'days', or 'years'. the default time unit is 'unknown'. start_date_time : string is the starting date and time of the simulation. this is a text string that is used as a label within the simulation list file. the value has no effect on the simulation. the recommended format for the starting date and time is described at https://www.w3.org/tr/note-datetime. ats_perioddata : record ats6 filein ats6_filename Contains data for the ats package. Data can be passed as a dictionary to the ats package with variable names as keys and package data as values. Data for the ats_perioddata variable is also acceptable. See ats package documentation for more information. nper : integer is the number of stress periods for the simulation. perioddata : [(perlen, nstp, tsmult)] * perlen : double precision is the length of a stress period. * nstp : integer is the number of time steps in a stress period. * tsmult : double precision is the multiplier for the length of successive time steps. The length of a time step is calculated by multiplying the length of the previous time step by TSMULT. The length of the first time step, :math:`Delta t_1`, is related to PERLEN, NSTP, and TSMULT by the relation :math:`Delta t_1= perlen frac{tsmult - 1}{tsmult^{nstp}-1}`. 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`. """ ats_filerecord = ListTemplateGenerator(("tdis", "options", "ats_filerecord")) perioddata = ListTemplateGenerator(("tdis", "perioddata", "perioddata")) package_abbr = "tdis" _package_type = "tdis" dfn_file_name = "sim-tdis.dfn" dfn = [ ["header"], [ "block options", "name time_units", "type string", "reader urword", "optional true", ], [ "block options", "name start_date_time", "type string", "reader urword", "optional true", ], [ "block options", "name ats_filerecord", "type record ats6 filein ats6_filename", "shape", "reader urword", "tagged true", "optional true", "construct_package ats", "construct_data ats_perioddata", "parameter_name perioddata", ], [ "block options", "name ats6", "type keyword", "shape", "in_record true", "reader urword", "tagged true", "optional false", ], [ "block options", "name filein", "type keyword", "shape", "in_record true", "reader urword", "tagged true", "optional false", ], [ "block options", "name ats6_filename", "type string", "preserve_case true", "in_record true", "reader urword", "optional false", "tagged false", ], [ "block dimensions", "name nper", "type integer", "reader urword", "optional false", "default 1", ], [ "block perioddata", "name perioddata", "type recarray perlen nstp tsmult", "reader urword", "optional false", "default ((1.0, 1, 1.0),)", ], [ "block perioddata", "name perlen", "type double precision", "in_record true", "tagged false", "reader urword", "optional false", ], [ "block perioddata", "name nstp", "type integer", "in_record true", "tagged false", "reader urword", "optional false", ], [ "block perioddata", "name tsmult", "type double precision", "in_record true", "tagged false", "reader urword", "optional false", ], ] def __init__( self, simulation, loading_package=False, time_units=None, start_date_time=None, ats_perioddata=None, nper=1, perioddata=[[1.0, 1, 1.0]], filename=None, pname=None, **kwargs, ): """Initialize ModflowTdis.""" super().__init__( parent=simulation, package_type="tdis", filename=filename, pname=pname, loading_package=loading_package, **kwargs, ) self.time_units = self.build_mfdata("time_units", time_units) self.start_date_time = self.build_mfdata("start_date_time", start_date_time) self._ats_filerecord = self.build_mfdata("ats_filerecord", None) self._ats_package = self.build_child_package( "ats", ats_perioddata, "perioddata", self._ats_filerecord ) self.nper = self.build_mfdata("nper", nper) self.perioddata = self.build_mfdata("perioddata", perioddata) self._init_complete = True