From 56a256a1beed026b999e92cf4cd020c67e1ce922 Mon Sep 17 00:00:00 2001 From: Mike Taves Date: Fri, 11 Aug 2023 14:11:59 +1200 Subject: [PATCH] Add more details from BaseModel.__getattr__ --- flopy/mbase.py | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/flopy/mbase.py b/flopy/mbase.py index 0b89e96a2..6f1cd660c 100644 --- a/flopy/mbase.py +++ b/flopy/mbase.py @@ -698,18 +698,18 @@ def __getattr__(self, item): item : str This can be one of: - * A 3-character package name (case insensitive) returns package - * "tr" to access the time discretization object - * "modelgrid" to access the spatial discretization object - * "nper" to get the number of stress periods + * A short package name (case insensitive), e.g., "dis" or "bas6" + returns package object + * "tr" to access the time discretization object, if set * "start_datetime" to get str describing model start date/time + * Some packages use "nper" or "modelgrid" for corner cases Returns ------- - object, int or None + object, str, int or None Package object of type :class:`flopy.pakbase.Package`, - :class:`flopy.utils.reference.TemporalReference`, int or None. + :class:`flopy.utils.reference.TemporalReference`, str, int or None. Raises ------ @@ -732,6 +732,7 @@ def __getattr__(self, item): return None if item == "nper": + # most subclasses have a nper property, but ModflowAg needs this if self.dis is not None: return self.dis.nper else: @@ -755,6 +756,7 @@ def __getattr__(self, item): if pckg is not None or item in self.mfnam_packages: return pckg if item == "modelgrid": + # most subclasses have a modelgrid property, but not MfUsg return raise AttributeError(item)