Skip to content

Commit 01e7eb9

Browse files
feat(gridgen): add get_anglex method, include mfusg transport notebooks in docs and tests (#2617)
* create get_anglex method * rename notebooks for tests * use MfUsgBas which has richards attribute * use MfUsgBas which has richards attribute * update some of the lpf dostring * set structured to false if disu is used * fix path autotest * read con file differently * fix pfas example * some extra comments for clarity * fix missing file * revert changes to lake nb * ignore failing notebooks * update tutorials.rst --------- Co-authored-by: wpbonelli <wbonelli@ucar.edu>
1 parent acf575b commit 01e7eb9

18 files changed

Lines changed: 380 additions & 193 deletions

.docs/Notebooks/mfusg_transport_Ex1_1D.py renamed to .docs/Notebooks/mfusg_transport_tutorial01_1D.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
import numpy as np
4242

4343
import flopy
44-
from flopy.mfusg import MfUsg, MfUsgBct, MfUsgLpf, MfUsgOc, MfUsgPcb, MfUsgSms
45-
from flopy.modflow import ModflowBas, ModflowDis
44+
from flopy.mfusg import MfUsg, MfUsgBas, MfUsgBct, MfUsgLpf, MfUsgOc, MfUsgPcb, MfUsgSms
45+
from flopy.modflow import ModflowDis
4646
from flopy.utils import HeadFile
4747

4848
# -
@@ -95,7 +95,7 @@
9595
strt = np.full((nlay, nrow, ncol), 100.0)
9696
strt[:, :, 0] = 1100.0
9797

98-
bas = ModflowBas(mf, ibound=ibound, strt=strt)
98+
bas = MfUsgBas(mf, ibound=ibound, strt=strt)
9999
# -
100100

101101
# +

.docs/Notebooks/mfusg_transport_Ex2_Radial.py renamed to .docs/Notebooks/mfusg_transport_tutorial02_Radial.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@
4444
import numpy as np
4545

4646
import flopy
47-
from flopy.mfusg import MfUsg, MfUsgBct, MfUsgLpf, MfUsgOc, MfUsgSms, MfUsgWel
48-
from flopy.modflow import ModflowBas, ModflowChd, ModflowDis
47+
from flopy.mfusg import MfUsg, MfUsgBas, MfUsgBct, MfUsgLpf, MfUsgOc, MfUsgSms, MfUsgWel
48+
from flopy.modflow import ModflowChd, ModflowDis
4949
from flopy.utils import HeadFile
5050

5151
# -
@@ -101,7 +101,7 @@
101101
strt[:, :, 0] = 20.0
102102
strt[:, :, -1] = 20.0
103103

104-
bas = ModflowBas(mf, ibound=ibound, strt=strt)
104+
bas = MfUsgBas(mf, ibound=ibound, strt=strt)
105105
# -
106106
# +
107107
ipakcb = 50

.docs/Notebooks/mfusg_transport_Ex3_Conduit.py renamed to .docs/Notebooks/mfusg_transport_tutorial03_Conduit.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,17 @@
3838
import numpy as np
3939

4040
import flopy
41-
from flopy.mfusg import MfUsg, MfUsgBcf, MfUsgBct, MfUsgCln, MfUsgOc, MfUsgSms, MfUsgWel
42-
from flopy.modflow import ModflowBas, ModflowChd, ModflowDis
41+
from flopy.mfusg import (
42+
MfUsg,
43+
MfUsgBas,
44+
MfUsgBcf,
45+
MfUsgBct,
46+
MfUsgCln,
47+
MfUsgOc,
48+
MfUsgSms,
49+
MfUsgWel,
50+
)
51+
from flopy.modflow import ModflowChd, ModflowDis
4352
from flopy.plot import PlotCrossSection, PlotMapView
4453
from flopy.utils import HeadFile
4554

@@ -98,7 +107,7 @@
98107
strt[1, :, 0] = 60.0
99108
strt[1, :, -1] = 60.0
100109

101-
bas = ModflowBas(mf, ibound=ibound, strt=strt)
110+
bas = MfUsgBas(mf, ibound=ibound, strt=strt)
102111
bas.ibound.fmtin = "(25I3)"
103112
bas.strt.fmtin = "(10e12.4)"
104113
# -

.docs/Notebooks/mfusg_transport_Ex4_DualDomain.py renamed to .docs/Notebooks/mfusg_transport_tutorial04_DualDomain.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,17 @@
6363
import numpy as np
6464

6565
import flopy
66-
from flopy.mfusg import MfUsg, MfUsgBcf, MfUsgBct, MfUsgDpt, MfUsgOc, MfUsgPcb, MfUsgSms
67-
from flopy.modflow import ModflowBas, ModflowChd, ModflowDis
66+
from flopy.mfusg import (
67+
MfUsg,
68+
MfUsgBas,
69+
MfUsgBcf,
70+
MfUsgBct,
71+
MfUsgDpt,
72+
MfUsgOc,
73+
MfUsgPcb,
74+
MfUsgSms,
75+
)
76+
from flopy.modflow import ModflowChd, ModflowDis
6877
from flopy.utils import HeadFile
6978

7079
# -
@@ -121,7 +130,7 @@
121130
strt[:, :, 0] = 10.0
122131
strt[:, :, -1] = 9.0
123132

124-
bas = ModflowBas(mf, ibound=ibound, strt=strt)
133+
bas = MfUsgBas(mf, ibound=ibound, strt=strt)
125134
# -
126135
# +
127136
tran = 1000.0

.docs/Notebooks/mfusg_transport_Ex5_Henry.py renamed to .docs/Notebooks/mfusg_transport_tutorial05_Henry.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import flopy
3434
from flopy.mfusg import (
3535
MfUsg,
36+
MfUsgBas,
3637
MfUsgBct,
3738
MfUsgDdf,
3839
MfUsgDisU,
@@ -42,7 +43,7 @@
4243
MfUsgSms,
4344
MfUsgWel,
4445
)
45-
from flopy.modflow import ModflowBas, ModflowChd, ModflowDis
46+
from flopy.modflow import ModflowChd, ModflowDis
4647
from flopy.plot import PlotCrossSection
4748
from flopy.utils import HeadUFile
4849
from flopy.utils.gridgen import Gridgen
@@ -52,7 +53,7 @@
5253
model_ws = "Ex5_Henry"
5354
mf = MfUsg(
5455
version="mfusg",
55-
structured=True,
56+
structured=False,
5657
model_ws=model_ws,
5758
modelname="Ex5_Henry",
5859
exe_name="mfusg_gsi",
@@ -91,7 +92,7 @@
9192
# mf.modelgrid = ugrid
9293
# -
9394
# +
94-
bas = ModflowBas(mf)
95+
bas = MfUsgBas(mf)
9596
# -
9697
# +
9798
ipakcb = 53

.docs/Notebooks/mfusg_transport_Ex6_Stallman_Heat_Transport.py renamed to .docs/Notebooks/mfusg_transport_tutorial06_StallmanHeatTransport.py

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import flopy
3434
from flopy.mfusg import (
3535
MfUsg,
36+
MfUsgBas,
3637
MfUsgBct,
3738
MfUsgDdf,
3839
MfUsgDisU,
@@ -42,7 +43,7 @@
4243
MfUsgSms,
4344
MfUsgWel,
4445
)
45-
from flopy.modflow import ModflowBas, ModflowChd, ModflowDis
46+
from flopy.modflow import ModflowChd, ModflowDis
4647
from flopy.plot import PlotCrossSection
4748
from flopy.utils import HeadUFile
4849
from flopy.utils.gridgen import Gridgen
@@ -52,7 +53,7 @@
5253
model_ws = "Ex6a_Stallman_Heat"
5354
mf = MfUsg(
5455
version="mfusg",
55-
structured=True,
56+
structured=False,
5657
model_ws=model_ws,
5758
modelname="Ex6_Stallman",
5859
exe_name="mfusg_gsi",
@@ -103,7 +104,7 @@
103104
# -
104105
# +
105106

106-
bas = ModflowBas(mf, strt=60.0)
107+
bas = MfUsgBas(mf, strt=60.0)
107108
# -
108109

109110
# +
@@ -310,29 +311,29 @@
310311
success, buff = mf.run_model(silent=True)
311312
# -
312313
# +
313-
# vartype = [
314-
# ("kstp", "<i4"),
315-
# ("kper", "<i4"),
316-
# ("pertim", "<f4"),
317-
# ("totim", "<f4"),
318-
# ("text", "S16"),
319-
# ("nstrt", "<i4"),
320-
# ("nndlay", "<i4"),
321-
# ("ilay", "<i4"),
322-
# ("data", "<f4"),
323-
# ]
324-
# hdr = np.fromfile(f"{mf.model_ws}/{mf.name}.con", vartype)
314+
vartype = [
315+
("kstp", "<i4"),
316+
("kper", "<i4"),
317+
("pertim", "<f4"),
318+
("totim", "<f4"),
319+
("text", "S16"),
320+
("nstrt", "<i4"),
321+
("nndlay", "<i4"),
322+
("ilay", "<i4"),
323+
("data", "<f4"),
324+
]
325+
hdr = np.fromfile(f"{mf.model_ws}/{mf.name}.con", vartype)
325326

326-
# tmpr_data = hdr[np.char.strip(hdr['text'].astype(str)) == 'TMPR']
327-
# conc_data = hdr[np.char.strip(hdr['text'].astype(str)) == 'CONC']
328-
# simtemp = tmpr_data[(tmpr_data['kper']==601) & (tmpr_data['kstp']==6)]['data']
329-
# simconc = conc_data[(conc_data['kper']==601) & (conc_data['kstp']==6)]['data']
327+
tmpr_data = hdr[np.char.strip(hdr["text"].astype(str)) == "TMPR"]
328+
conc_data = hdr[np.char.strip(hdr["text"].astype(str)) == "CONC"]
329+
simtemp = tmpr_data[(tmpr_data["kper"] == 601) & (tmpr_data["kstp"] == 6)]["data"]
330+
simconc = conc_data[(conc_data["kper"] == 601) & (conc_data["kstp"] == 6)]["data"]
330331

331-
tempobj = HeadUFile(f"{mf.model_ws}/{mf.name}.con", text="tmpr")
332-
simtemp = np.concatenate(tempobj.get_data())
333-
334-
concobj = HeadUFile(f"{mf.model_ws}/{mf.name}.con", text="conc")
335-
simconc = concobj.get_data()
332+
# tempobj = HeadUFile(f"{mf.model_ws}/{mf.name}.con", precision="single", text=' TMPR ')
333+
# simtemp = np.concatenate(tempobj.get_data())
334+
#
335+
# concobj = HeadUFile(f"{mf.model_ws}/{mf.name}.con", text="CONC")
336+
# simconc = concobj.get_data()
336337
# -
337338
# +
338339
depth = top - np.squeeze(dis.botm.array)

.docs/Notebooks/mfusg_transport_Ex7a_Discrete_Fracture.py renamed to .docs/Notebooks/mfusg_transport_tutorial07a_DiscreteFracture.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import flopy.utils.binaryfile as bf
3636
from flopy.mfusg import (
3737
MfUsg,
38+
MfUsgBas,
3839
MfUsgBct,
3940
MfUsgDisU,
4041
MfUsgLpf,
@@ -44,7 +45,7 @@
4445
MfUsgSms,
4546
MfUsgWel,
4647
)
47-
from flopy.modflow import ModflowBas, ModflowChd, ModflowDis
48+
from flopy.modflow import ModflowChd, ModflowDis
4849
from flopy.plot import PlotCrossSection, PlotMapView
4950
from flopy.utils import HeadUFile
5051
from flopy.utils.gridgen import Gridgen
@@ -66,7 +67,7 @@
6667

6768
mf = MfUsg(
6869
version="mfusg",
69-
structured=True,
70+
structured=False,
7071
model_ws=model_ws,
7172
modelname="Ex7_MD",
7273
exe_name="mfusg_gsi",
@@ -107,7 +108,7 @@
107108
disu = MfUsgDisU(mf, **gridprops, itmuni=5, lenuni=1, nper=nper, perlen=perlen)
108109
# -
109110
# +
110-
bas = ModflowBas(mf, strt=10.0)
111+
bas = MfUsgBas(mf, strt=10.0)
111112
# -
112113
# +
113114

.docs/Notebooks/mfusg_transport_Ex7b_SandBox.py renamed to .docs/Notebooks/mfusg_transport_tutorial07b_SandBox.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
model_ws = "Ex7_SandBox"
6969
mf = MfUsg(
7070
version="mfusg",
71-
structured=True,
71+
structured=False,
7272
model_ws=model_ws,
7373
modelname="Ex7_SandBox",
7474
exe_name="mfusg_gsi",

.docs/Notebooks/mfusg_transport_Ex7c_ChainDecay.py renamed to .docs/Notebooks/mfusg_transport_tutorial07c_ChainDecay.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
import flopy.utils.binaryfile as bf
3434
from flopy.mfusg import (
3535
MfUsg,
36+
MfUsgBas,
3637
MfUsgBct,
3738
MfUsgDisU,
3839
MfUsgLpf,
@@ -42,7 +43,7 @@
4243
MfUsgSms,
4344
MfUsgWel,
4445
)
45-
from flopy.modflow import ModflowBas, ModflowChd, ModflowDis
46+
from flopy.modflow import ModflowChd, ModflowDis
4647
from flopy.plot import PlotCrossSection, PlotMapView
4748
from flopy.utils import HeadUFile
4849
from flopy.utils.gridgen import Gridgen
@@ -62,7 +63,7 @@
6263

6364
mf = MfUsg(
6465
version="mfusg",
65-
structured=True,
66+
structured=False,
6667
model_ws=model_ws,
6768
modelname="Ex7_PCE",
6869
exe_name="mfusg_gsi",
@@ -117,7 +118,7 @@
117118
# -
118119

119120
# +
120-
bas = ModflowBas(mf, strt=20.0)
121+
bas = MfUsgBas(mf, strt=20.0)
121122
# -
122123

123124
# +

0 commit comments

Comments
 (0)