Skip to content

Commit 60db7e7

Browse files
authored
fix(mfusgt): fix multiple bugs (#2770)
Fix what look like copy/paste errors in mfusgrch.py, missing leading f in front of format strings in several places, and a bad format specifier
1 parent 8d5c410 commit 60db7e7

3 files changed

Lines changed: 42 additions & 9 deletions

File tree

autotest/test_usg_transport.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -735,3 +735,36 @@ def test_usg_load_Ex9_PFAS(function_tmpdir, mfusg_transport_Ex9_PFAS_model_path)
735735
success, buff = m.run_model()
736736
msg = "flopy failed on running PFAS_C1.nam"
737737
assert success, msg
738+
739+
740+
def test_mfusgrch_selev_iznrch(function_tmpdir):
741+
"""Repro #2763"""
742+
from flopy.modflow import ModflowDis
743+
744+
m = MfUsg(
745+
version="mfusg",
746+
structured=True,
747+
model_ws=function_tmpdir,
748+
modelname="test_rch",
749+
)
750+
ModflowDis(m, nlay=1, nrow=3, ncol=3, nper=2)
751+
752+
rech = 1e-3
753+
selev_data = np.full((3, 3), 5.0, dtype=np.float32)
754+
iznrch_data = np.full((3, 3), 2, dtype=np.int32)
755+
756+
rch = MfUsgRch(
757+
m,
758+
nrchop=3,
759+
rech=rech,
760+
seepelev=1,
761+
selev=selev_data,
762+
iznrch=iznrch_data,
763+
)
764+
765+
assert np.allclose(rch.selev[0].array, selev_data)
766+
assert np.array_equal(rch.iznrch[0].array, iznrch_data)
767+
768+
rch.write_file(check=False)
769+
content = (function_tmpdir / "test_rch.rch").read_text()
770+
assert " # Stress period 1" in content

flopy/mfusg/mfusgoc.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -955,11 +955,11 @@ def load(cls, f, model, nper=None, nstp=None, nlay=None, ext_unit_dict=None):
955955
if kwargs["atsa"]:
956956
line = f.readline()
957957
lnlst = line.strip().split()
958-
lines.append("DELTAT {float(lnlst[0]):11.4e}")
959-
lines.append("TMINAT {float(lnlst[1]):11.4e}")
960-
lines.append("TMAXAT {float(lnlst[2]):11.4e}")
961-
lines.append("TADJAT {float(lnlst[3]):11.4e}")
962-
lines.append("TCUTAT {float(lnlst[4]):11.4e}")
958+
lines.append(f"DELTAT {float(lnlst[0]):11.4e}")
959+
lines.append(f"TMINAT {float(lnlst[1]):11.4e}")
960+
lines.append(f"TMAXAT {float(lnlst[2]):11.4e}")
961+
lines.append(f"TADJAT {float(lnlst[3]):11.4e}")
962+
lines.append(f"TCUTAT {float(lnlst[4]):11.4e}")
963963

964964
line = f.readline()
965965
lnlst = line.strip().split()

flopy/mfusg/mfusgrch.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -118,14 +118,14 @@ def __init__(
118118
if selev is not None:
119119
selev_u2d_shape = get_pak_vals_shape(model, selev)
120120
self.selev = Transient2d(
121-
model, selev_u2d_shape, np.float32, rech, name="rech_selev"
121+
model, selev_u2d_shape, np.float32, selev, name="rech_selev"
122122
)
123123

124124
self.iznrch = None
125125
if iznrch is not None:
126126
iznrch_u2d_shape = get_pak_vals_shape(model, iznrch)
127127
self.iznrch = Transient2d(
128-
model, iznrch_u2d_shape, np.int32, rech, name="rech_izn"
128+
model, iznrch_u2d_shape, np.int32, iznrch, name="rech_izn"
129129
)
130130

131131
self.rchconc = None
@@ -173,7 +173,7 @@ def write_file(self, check=True, f=None):
173173
if self.iconc:
174174
f_rch.write(" CONC")
175175
if self.mxrtzones:
176-
f_rch.write(f" RTS {self.mxrtzones:4.0d}")
176+
f_rch.write(f" RTS {self.mxrtzones:4d}")
177177
f_rch.write("\n")
178178

179179
mcomp = self.parent.mcomp
@@ -219,7 +219,7 @@ def write_file(self, check=True, f=None):
219219
f_rch.write(" INSELEV 1")
220220
if self.rchconc is not None:
221221
f_rch.write(" INCONC 1")
222-
f_rch.write("# Stress period {kper + 1}\n")
222+
f_rch.write(f" # Stress period {kper + 1}\n")
223223

224224
if inrech >= 0:
225225
f_rch.write(file_entry_rech)

0 commit comments

Comments
 (0)