From 2d858387ee51d3e680e05688af7cd0fb51a11df7 Mon Sep 17 00:00:00 2001 From: Mike Taves Date: Wed, 18 Aug 2021 10:54:40 +1200 Subject: [PATCH] refactor(pakbase): generate heading from base class --- flopy/mbase.py | 9 ++------- flopy/modflow/mfag.py | 6 ++---- flopy/modflow/mfbas.py | 6 +----- flopy/modflow/mfchd.py | 6 +----- flopy/modflow/mfde4.py | 6 +----- flopy/modflow/mfdis.py | 6 +----- flopy/modflow/mfdisu.py | 6 +----- flopy/modflow/mfdrn.py | 6 +----- flopy/modflow/mfdrt.py | 6 +----- flopy/modflow/mfevt.py | 6 +----- flopy/modflow/mffhb.py | 6 +----- flopy/modflow/mfgage.py | 19 ++++--------------- flopy/modflow/mfghb.py | 6 +----- flopy/modflow/mfgmg.py | 6 +----- flopy/modflow/mfhfb.py | 6 +----- flopy/modflow/mfhob.py | 6 +----- flopy/modflow/mfhyd.py | 6 +----- flopy/modflow/mflak.py | 14 ++++---------- flopy/modflow/mflmt.py | 6 +----- flopy/modflow/mflpf.py | 6 +----- flopy/modflow/mfmlt.py | 6 +----- flopy/modflow/mfmnw1.py | 6 +----- flopy/modflow/mfmnw2.py | 6 +----- flopy/modflow/mfmnwi.py | 6 +----- flopy/modflow/mfnwt.py | 6 +----- flopy/modflow/mfoc.py | 6 +----- flopy/modflow/mfpbc.py | 6 +----- flopy/modflow/mfpcg.py | 6 +----- flopy/modflow/mfpcgn.py | 6 +----- flopy/modflow/mfpks.py | 6 +----- flopy/modflow/mfpval.py | 6 +----- flopy/modflow/mfrch.py | 6 +----- flopy/modflow/mfriv.py | 6 +----- flopy/modflow/mfsfr2.py | 9 +-------- flopy/modflow/mfsip.py | 6 +----- flopy/modflow/mfsms.py | 6 +----- flopy/modflow/mfsor.py | 6 +----- flopy/modflow/mfstr.py | 6 +----- flopy/modflow/mfsub.py | 6 +----- flopy/modflow/mfswi2.py | 6 +----- flopy/modflow/mfswr1.py | 6 +----- flopy/modflow/mfswt.py | 6 +----- flopy/modflow/mfupw.py | 6 +----- flopy/modflow/mfuzf1.py | 6 +----- flopy/modflow/mfwel.py | 6 +----- flopy/modflow/mfzon.py | 6 +----- flopy/modpath/mp7bas.py | 6 +----- flopy/modpath/mp7sim.py | 6 +----- flopy/pakbase.py | 11 +++++++++++ 49 files changed, 67 insertions(+), 259 deletions(-) diff --git a/flopy/mbase.py b/flopy/mbase.py index f346de15f1..819cd637bf 100644 --- a/flopy/mbase.py +++ b/flopy/mbase.py @@ -1185,13 +1185,8 @@ def set_version(self, version): # set heading for each package for p in self.get_package_list(): pak = self.get_package(p) - heading = ( - "# {} package for ".format(pak.name[0]) - + "{}, ".format(self.version_types[self.version]) - + "generated by Flopy version {}.".format(__version__) - ) - - pak.heading = heading + if hasattr(pak, "heading"): + pak._generate_heading() return None diff --git a/flopy/modflow/mfag.py b/flopy/modflow/mfag.py index 734678a517..4501d3d8c3 100644 --- a/flopy/modflow/mfag.py +++ b/flopy/modflow/mfag.py @@ -226,9 +226,7 @@ def __init__( ) # set up class - self.heading = "# {} package for {}, generated by flopy\n".format( - self.name[0], model.version_types[model.version] - ) + self._generate_heading() self.url = "ag.htm" # options @@ -336,7 +334,7 @@ def write_file(self, check=False): ws = self.parent.model_ws name = self.file_name[0] with open(os.path.join(ws, name), "w") as foo: - foo.write(self.heading) + foo.write(f"{self.heading}\n") # update options self.options.update_from_package(self) diff --git a/flopy/modflow/mfbas.py b/flopy/modflow/mfbas.py index a5fb35ae7d..c28a3b2257 100644 --- a/flopy/modflow/mfbas.py +++ b/flopy/modflow/mfbas.py @@ -155,11 +155,7 @@ def __init__( name="strt", locat=self.unit_number[0], ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.options = "" self.ixsec = ixsec self.ichflg = ichflg diff --git a/flopy/modflow/mfchd.py b/flopy/modflow/mfchd.py index ae9b1b07ac..3cdddffa34 100644 --- a/flopy/modflow/mfchd.py +++ b/flopy/modflow/mfchd.py @@ -143,11 +143,7 @@ def __init__( ) self.url = "chd.htm" - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() if dtype is not None: self.dtype = dtype diff --git a/flopy/modflow/mfde4.py b/flopy/modflow/mfde4.py index c44b76b216..66ea3f555e 100644 --- a/flopy/modflow/mfde4.py +++ b/flopy/modflow/mfde4.py @@ -169,11 +169,7 @@ def __init__( ) raise Exception(err) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "de4.htm" self.itmx = itmx diff --git a/flopy/modflow/mfdis.py b/flopy/modflow/mfdis.py index 805d5e72f6..f26c43752c 100644 --- a/flopy/modflow/mfdis.py +++ b/flopy/modflow/mfdis.py @@ -188,11 +188,7 @@ def __init__( botm = np.linspace(top, botm, nlay) # Set values of all parameters - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.laycbd = Util2d( model, (self.nlay,), np.int32, laycbd, name="laycbd" ) diff --git a/flopy/modflow/mfdisu.py b/flopy/modflow/mfdisu.py index 1eeaac4889..c0ea5ec62f 100644 --- a/flopy/modflow/mfdisu.py +++ b/flopy/modflow/mfdisu.py @@ -263,11 +263,7 @@ def __init__( # Set values of all parameters self.url = "dis.htm" - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.nodes = nodes self.nlay = nlay diff --git a/flopy/modflow/mfdrn.py b/flopy/modflow/mfdrn.py index 3de298664b..edfa877bc4 100644 --- a/flopy/modflow/mfdrn.py +++ b/flopy/modflow/mfdrn.py @@ -170,11 +170,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "drn.htm" self.ipakcb = ipakcb diff --git a/flopy/modflow/mfdrt.py b/flopy/modflow/mfdrt.py index 294ccb637c..dceee07cf9 100644 --- a/flopy/modflow/mfdrt.py +++ b/flopy/modflow/mfdrt.py @@ -168,11 +168,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "drt.htm" self.ipakcb = ipakcb diff --git a/flopy/modflow/mfevt.py b/flopy/modflow/mfevt.py index a86c96958c..65f616aa7e 100644 --- a/flopy/modflow/mfevt.py +++ b/flopy/modflow/mfevt.py @@ -142,11 +142,7 @@ def __init__( ) nrow, ncol, nlay, nper = self.parent.nrow_ncol_nlay_nper - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "evt.htm" self.nevtop = nevtop self.ipakcb = ipakcb diff --git a/flopy/modflow/mffhb.py b/flopy/modflow/mffhb.py index 6bd3fc5c0b..fb42c8ec6c 100644 --- a/flopy/modflow/mffhb.py +++ b/flopy/modflow/mffhb.py @@ -198,11 +198,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "flow_and_head_boundary_packag2.htm" self.nbdtim = nbdtim diff --git a/flopy/modflow/mfgage.py b/flopy/modflow/mfgage.py index 28e7417a45..5da93de38a 100644 --- a/flopy/modflow/mfgage.py +++ b/flopy/modflow/mfgage.py @@ -203,11 +203,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + # no heading for this format self.url = "gage.htm" self.numgage = numgage @@ -262,11 +258,7 @@ def write_file(self): """ f = open(self.fn_path, "w") - # # dataset 0 - # vn = self.parent.version_types[self.parent.version] - # self.heading = '# {} package for '.format(self.name[0]) + \ - # '{}, generated by Flopy.'.format(vn) - # f.write('{0}\n'.format(self.heading)) + # no heading for this format # dataset 1 f.write(write_fixed_var([self.numgage], free=True)) @@ -335,15 +327,12 @@ def load(cls, f, model, nper=None, ext_unit_dict=None): filename = f f = open(filename, "r", errors="replace") - # dataset 0 -- header - while True: - line = f.readline().rstrip() - if line[0] != "#": - break + # no heading for this format # read dataset 1 if model.verbose: print(" reading gage dataset 1") + line = f.readline().rstrip() t = read_fixed_var(line, free=True) numgage = int(t[0]) diff --git a/flopy/modflow/mfghb.py b/flopy/modflow/mfghb.py index e6bed6d656..9dc5f249f4 100644 --- a/flopy/modflow/mfghb.py +++ b/flopy/modflow/mfghb.py @@ -163,11 +163,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "ghb.htm" self.ipakcb = ipakcb diff --git a/flopy/modflow/mfgmg.py b/flopy/modflow/mfgmg.py index 3ade8fa1f7..6c29ad5209 100644 --- a/flopy/modflow/mfgmg.py +++ b/flopy/modflow/mfgmg.py @@ -263,11 +263,7 @@ def __init__( ) raise Exception(err) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "gmg.htm" self.mxiter = mxiter diff --git a/flopy/modflow/mfhfb.py b/flopy/modflow/mfhfb.py index 30ad445358..2f3bff0e4f 100644 --- a/flopy/modflow/mfhfb.py +++ b/flopy/modflow/mfhfb.py @@ -143,11 +143,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "hfb6.htm" self.nphfb = nphfb diff --git a/flopy/modflow/mfhob.py b/flopy/modflow/mfhob.py index c3488e30c8..96a0fb201b 100755 --- a/flopy/modflow/mfhob.py +++ b/flopy/modflow/mfhob.py @@ -149,11 +149,7 @@ def __init__( ) self.url = "hob.htm" - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.iuhobsv = iuhobsv self.hobdry = hobdry diff --git a/flopy/modflow/mfhyd.py b/flopy/modflow/mfhyd.py index 53792707b0..18f8abbc39 100644 --- a/flopy/modflow/mfhyd.py +++ b/flopy/modflow/mfhyd.py @@ -173,11 +173,7 @@ def __init__( ) nrow, ncol, nlay, nper = self.parent.nrow_ncol_nlay_nper - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "hyd.htm" self.nhyd = nhyd diff --git a/flopy/modflow/mflak.py b/flopy/modflow/mflak.py index 244403365f..c2942e7adb 100644 --- a/flopy/modflow/mflak.py +++ b/flopy/modflow/mflak.py @@ -279,7 +279,7 @@ def __init__( filenames=None, options=None, lwrt=0, - **kwargs + **kwargs, ): """ Package constructor. @@ -365,11 +365,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "lak.htm" if options is None: @@ -511,10 +507,8 @@ def write_file(self): """ f = open(self.fn_path, "w") # dataset 0 - self.heading = "# {} package for ".format( - self.name[0] - ) + "{}, generated by Flopy.".format(self.parent.version) - f.write("{0}\n".format(self.heading)) + if self.parent.version != "mf2k": + f.write(f"{self.heading}\n") # dataset 1a if len(self.options) > 0: diff --git a/flopy/modflow/mflmt.py b/flopy/modflow/mflmt.py index 5ad5f066e5..8a915c9487 100644 --- a/flopy/modflow/mflmt.py +++ b/flopy/modflow/mflmt.py @@ -116,11 +116,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "lmt.htm" self.output_file_name = output_file_name self.output_file_unit = output_file_unit diff --git a/flopy/modflow/mflpf.py b/flopy/modflow/mflpf.py index 5521284098..dd3065f3ff 100644 --- a/flopy/modflow/mflpf.py +++ b/flopy/modflow/mflpf.py @@ -255,11 +255,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "lpf.htm" nrow, ncol, nlay, nper = self.parent.nrow_ncol_nlay_nper diff --git a/flopy/modflow/mfmlt.py b/flopy/modflow/mfmlt.py index 6f61fa1149..44e62a171b 100644 --- a/flopy/modflow/mfmlt.py +++ b/flopy/modflow/mfmlt.py @@ -99,11 +99,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "mult.htm" self.nml = 0 diff --git a/flopy/modflow/mfmnw1.py b/flopy/modflow/mfmnw1.py index 0e2d324518..0700c8915d 100644 --- a/flopy/modflow/mfmnw1.py +++ b/flopy/modflow/mfmnw1.py @@ -132,11 +132,7 @@ def __init__( self.url = "mnw1.htm" self.nper = self.parent.nrow_ncol_nlay_nper[-1] - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.mxmnw = ( mxmnw # -maximum number of multi-node wells to be simulated ) diff --git a/flopy/modflow/mfmnw2.py b/flopy/modflow/mfmnw2.py index e2540d25ee..30ecd31e81 100644 --- a/flopy/modflow/mfmnw2.py +++ b/flopy/modflow/mfmnw2.py @@ -1064,11 +1064,7 @@ def __init__( self.structured = self.parent.structured # Dataset 0 - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() # Dataset 1 # maximum number of multi-node wells to be simulated self.mnwmax = int(mnwmax) diff --git a/flopy/modflow/mfmnwi.py b/flopy/modflow/mfmnwi.py index b30682401f..48a61c036d 100644 --- a/flopy/modflow/mfmnwi.py +++ b/flopy/modflow/mfmnwi.py @@ -162,11 +162,7 @@ def __init__( ) self.url = "mnwi.htm" - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() # integer flag indicating output to be written for each MNW node at # the end of each stress period self.wel1flag = wel1flag diff --git a/flopy/modflow/mfnwt.py b/flopy/modflow/mfnwt.py index ffb771adb4..99407aeed3 100644 --- a/flopy/modflow/mfnwt.py +++ b/flopy/modflow/mfnwt.py @@ -272,11 +272,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "nwt_newton_solver.htm" self.headtol = headtol self.fluxtol = fluxtol diff --git a/flopy/modflow/mfoc.py b/flopy/modflow/mfoc.py index 6f859004c8..7650455e00 100644 --- a/flopy/modflow/mfoc.py +++ b/flopy/modflow/mfoc.py @@ -315,11 +315,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "oc.htm" self.ihedfm = ihedfm diff --git a/flopy/modflow/mfpbc.py b/flopy/modflow/mfpbc.py index 9177f1d9fb..fdfb915ee2 100644 --- a/flopy/modflow/mfpbc.py +++ b/flopy/modflow/mfpbc.py @@ -26,11 +26,7 @@ def __init__( Package.__init__( self, model, extension, ModflowPbc._ftype(), unitnumber ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.mxactp = 0 if layer_row_column_data is None: if layer_row_column_shead_ehead is not None: diff --git a/flopy/modflow/mfpcg.py b/flopy/modflow/mfpcg.py index 7cee565bb3..055ae3998b 100644 --- a/flopy/modflow/mfpcg.py +++ b/flopy/modflow/mfpcg.py @@ -153,11 +153,7 @@ def __init__( ) raise Exception(err) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "pcg.htm" self.mxiter = mxiter self.iter1 = iter1 diff --git a/flopy/modflow/mfpcgn.py b/flopy/modflow/mfpcgn.py index c36b016a3c..d645cda496 100644 --- a/flopy/modflow/mfpcgn.py +++ b/flopy/modflow/mfpcgn.py @@ -284,11 +284,7 @@ def __init__( ) + "with model version {}".format(model.version) raise Exception(err) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "pcgn.htm" self.iter_mo = iter_mo self.iter_mi = iter_mi diff --git a/flopy/modflow/mfpks.py b/flopy/modflow/mfpks.py index d3415a33f8..4244fe9723 100644 --- a/flopy/modflow/mfpks.py +++ b/flopy/modflow/mfpks.py @@ -143,11 +143,7 @@ def __init__( ) raise Exception(err) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "pks.htm" self.mxiter = mxiter self.innerit = innerit diff --git a/flopy/modflow/mfpval.py b/flopy/modflow/mfpval.py index 6dfd13d62a..84b6bf199c 100644 --- a/flopy/modflow/mfpval.py +++ b/flopy/modflow/mfpval.py @@ -100,11 +100,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "parameter_value_file.htm" self.npval = 0 diff --git a/flopy/modflow/mfrch.py b/flopy/modflow/mfrch.py index d9df6a6c9e..abb601b93d 100644 --- a/flopy/modflow/mfrch.py +++ b/flopy/modflow/mfrch.py @@ -149,11 +149,7 @@ def __init__( ) nrow, ncol, nlay, nper = self.parent.nrow_ncol_nlay_nper - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "rch.htm" self.nrchop = nrchop diff --git a/flopy/modflow/mfriv.py b/flopy/modflow/mfriv.py index 36f38816e5..b269271283 100644 --- a/flopy/modflow/mfriv.py +++ b/flopy/modflow/mfriv.py @@ -171,11 +171,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "riv.htm" self.ipakcb = ipakcb diff --git a/flopy/modflow/mfsfr2.py b/flopy/modflow/mfsfr2.py index a4f0cc3b8d..f4117a6aa6 100644 --- a/flopy/modflow/mfsfr2.py +++ b/flopy/modflow/mfsfr2.py @@ -304,9 +304,6 @@ class ModflowSfr2(Package): ) nsfrpar = 0 - heading = ( - "# Streamflow-Routing (SFR2) file for MODFLOW, generated by Flopy" - ) default_value = 0.0 # LENUNI = {"u": 0, "f": 1, "m": 2, "c": 3} len_const = {1: 1.486, 2: 1.0, 3: 100.0} @@ -418,11 +415,7 @@ def __init__( self._graph = None # dict of routing connections # Dataset 0 - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() # Dataset 1a and 1b self.reachinput = reachinput diff --git a/flopy/modflow/mfsip.py b/flopy/modflow/mfsip.py index 92e1111af3..20f6b7572a 100644 --- a/flopy/modflow/mfsip.py +++ b/flopy/modflow/mfsip.py @@ -137,11 +137,7 @@ def __init__( ) + "with model version {}".format(model.version) raise Exception(err) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "sip.htm" self.mxiter = mxiter diff --git a/flopy/modflow/mfsms.py b/flopy/modflow/mfsms.py index f539ca18ff..64e951a72b 100644 --- a/flopy/modflow/mfsms.py +++ b/flopy/modflow/mfsms.py @@ -303,11 +303,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = " " self.hclose = hclose self.hiclose = hiclose diff --git a/flopy/modflow/mfsor.py b/flopy/modflow/mfsor.py index 93304a8305..f090959a78 100644 --- a/flopy/modflow/mfsor.py +++ b/flopy/modflow/mfsor.py @@ -121,11 +121,7 @@ def __init__( ) + "package with model version {}".format(model.version) raise Exception(err) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "sor.htm" self.mxiter = mxiter self.accl = accl diff --git a/flopy/modflow/mfstr.py b/flopy/modflow/mfstr.py index dcef5a9a01..09b2cea249 100644 --- a/flopy/modflow/mfstr.py +++ b/flopy/modflow/mfstr.py @@ -305,11 +305,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "str.htm" self.mxacts = mxacts self.nss = nss diff --git a/flopy/modflow/mfsub.py b/flopy/modflow/mfsub.py index 62854a4b74..448bceaaa1 100644 --- a/flopy/modflow/mfsub.py +++ b/flopy/modflow/mfsub.py @@ -336,11 +336,7 @@ def __init__( nrow, ncol, nlay, nper = self.parent.nrow_ncol_nlay_nper - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "sub.htm" self.ipakcb = ipakcb diff --git a/flopy/modflow/mfswi2.py b/flopy/modflow/mfswi2.py index 813b078d8d..a1dd392adf 100644 --- a/flopy/modflow/mfswi2.py +++ b/flopy/modflow/mfswi2.py @@ -336,11 +336,7 @@ def __init__( ) nrow, ncol, nlay, nper = self.parent.nrow_ncol_nlay_nper - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() # options self.fsssopt, self.adaptive = False, False diff --git a/flopy/modflow/mfswr1.py b/flopy/modflow/mfswr1.py index 8d2cafeea5..1c69518c13 100644 --- a/flopy/modflow/mfswr1.py +++ b/flopy/modflow/mfswr1.py @@ -99,11 +99,7 @@ def __init__( ) raise Exception(err) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "swr1.htm" self.parent.add_package(self) diff --git a/flopy/modflow/mfswt.py b/flopy/modflow/mfswt.py index 83f14d8925..852580bc11 100644 --- a/flopy/modflow/mfswt.py +++ b/flopy/modflow/mfswt.py @@ -443,11 +443,7 @@ def __init__( nrow, ncol, nlay, nper = self.parent.nrow_ncol_nlay_nper - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "swt.htm" self.ipakcb = ipakcb diff --git a/flopy/modflow/mfupw.py b/flopy/modflow/mfupw.py index 8e6bf2da92..2f6f5c9bf3 100644 --- a/flopy/modflow/mfupw.py +++ b/flopy/modflow/mfupw.py @@ -209,11 +209,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "upw_upstream_weighting_package.htm" nrow, ncol, nlay, nper = self.parent.nrow_ncol_nlay_nper diff --git a/flopy/modflow/mfuzf1.py b/flopy/modflow/mfuzf1.py index 93ef7cdb82..50a3e29a54 100644 --- a/flopy/modflow/mfuzf1.py +++ b/flopy/modflow/mfuzf1.py @@ -501,11 +501,7 @@ def __init__( ) nrow, ncol, nlay, nper = self.parent.nrow_ncol_nlay_nper - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "uzf_unsaturated_zone_flow_pack.htm" # Data Set 1a diff --git a/flopy/modflow/mfwel.py b/flopy/modflow/mfwel.py index d10a374b58..88145063a8 100644 --- a/flopy/modflow/mfwel.py +++ b/flopy/modflow/mfwel.py @@ -198,11 +198,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "wel.htm" self.ipakcb = ipakcb diff --git a/flopy/modflow/mfzon.py b/flopy/modflow/mfzon.py index d6cc335e4f..f26bf2ff6d 100644 --- a/flopy/modflow/mfzon.py +++ b/flopy/modflow/mfzon.py @@ -103,11 +103,7 @@ def __init__( filenames=fname, ) - self.heading = ( - "# {} package for ".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() self.url = "zone.htm" self.nzn = 0 diff --git a/flopy/modpath/mp7bas.py b/flopy/modpath/mp7bas.py index 4f64657f8b..4c09bdebf2 100644 --- a/flopy/modpath/mp7bas.py +++ b/flopy/modpath/mp7bas.py @@ -56,11 +56,7 @@ def __init__( else: shape3d = (1, 1, shape[0]) - self.heading = ( - "# {} package for".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() if model.flowmodel.version == "mf6": self.laytyp = Util2d( diff --git a/flopy/modpath/mp7sim.py b/flopy/modpath/mp7sim.py index 3fafdad157..a05cd024ec 100644 --- a/flopy/modpath/mp7sim.py +++ b/flopy/modpath/mp7sim.py @@ -278,11 +278,7 @@ def __init__( # Call ancestor's init to set self.parent, extension, name and unit number Package.__init__(self, model, extension, "MPSIM", unitnumber) - self.heading = ( - "# {} package for".format(self.name[0]) - + " {}, ".format(model.version_types[model.version]) - + "generated by Flopy." - ) + self._generate_heading() # set file names if mpnamefilename is None: diff --git a/flopy/pakbase.py b/flopy/pakbase.py index 39a42e3a43..73d3fe9db0 100644 --- a/flopy/pakbase.py +++ b/flopy/pakbase.py @@ -675,6 +675,17 @@ def export(self, f, **kwargs): return export.utils.package_export(f, self, **kwargs) + def _generate_heading(self): + """Generate heading.""" + from flopy import __version__ + + parent = self.parent + self.heading = ( + f"# {self.name[0]} package for " + f"{parent.version_types[parent.version]} " + f"generated by Flopy {__version__}" + ) + @staticmethod def add_to_dtype(dtype, field_names, field_types): """