modflow-devtools 1.7.0__tar.gz → 1.8.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (25) hide show
  1. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/PKG-INFO +3 -3
  2. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/__init__.py +2 -2
  3. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/misc.py +22 -0
  4. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/models.py +2 -8
  5. modflow_devtools-1.8.0/modflow_devtools/programs/__init__.py +74 -0
  6. modflow_devtools-1.8.0/modflow_devtools/programs/programs.csv +26 -0
  7. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/registry/models.toml +187 -187
  8. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/registry/registry.toml +445 -445
  9. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/pyproject.toml +2 -2
  10. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/.gitignore +0 -0
  11. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/LICENSE.md +0 -0
  12. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/README.md +0 -0
  13. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/build.py +0 -0
  14. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/dfn.py +0 -0
  15. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/dfn2toml.py +0 -0
  16. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/download.py +0 -0
  17. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/fixtures.py +0 -0
  18. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/imports.py +0 -0
  19. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/latex.py +0 -0
  20. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/make_registry.py +0 -0
  21. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/markers.py +0 -0
  22. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/ostags.py +0 -0
  23. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/registry/examples.toml +9 -9
  24. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/snapshots.py +0 -0
  25. {modflow_devtools-1.7.0 → modflow_devtools-1.8.0}/modflow_devtools/zip.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: modflow-devtools
3
- Version: 1.7.0
3
+ Version: 1.8.0
4
4
  Summary: Python tools for MODFLOW development
5
5
  Project-URL: Documentation, https://modflow-devtools.readthedocs.io/en/latest/
6
6
  Project-URL: Bug Tracker, https://github.com/MODFLOW-ORG/modflow-devtools/issues
@@ -45,7 +45,7 @@ Requires-Dist: pyyaml; extra == 'dev'
45
45
  Requires-Dist: ruff; extra == 'dev'
46
46
  Requires-Dist: sphinx; extra == 'dev'
47
47
  Requires-Dist: sphinx-rtd-theme; extra == 'dev'
48
- Requires-Dist: syrupy; extra == 'dev'
48
+ Requires-Dist: syrupy<5.0.0; extra == 'dev'
49
49
  Requires-Dist: tomli; extra == 'dev'
50
50
  Requires-Dist: tomli-w; extra == 'dev'
51
51
  Provides-Extra: dfn
@@ -82,7 +82,7 @@ Requires-Dist: pytest-dotenv; extra == 'test'
82
82
  Requires-Dist: pytest-xdist; extra == 'test'
83
83
  Requires-Dist: pyyaml; extra == 'test'
84
84
  Requires-Dist: ruff; extra == 'test'
85
- Requires-Dist: syrupy; extra == 'test'
85
+ Requires-Dist: syrupy<5.0.0; extra == 'test'
86
86
  Description-Content-Type: text/markdown
87
87
 
88
88
  # MODFLOW developer tools
@@ -1,6 +1,6 @@
1
1
  __author__ = "Joseph D. Hughes"
2
- __date__ = "Jun 23, 2025"
3
- __version__ = "1.7.0"
2
+ __date__ = "Oct 29, 2025"
3
+ __version__ = "1.8.0"
4
4
  __maintainer__ = "Joseph D. Hughes"
5
5
  __email__ = "jdhughes@usgs.gov"
6
6
  __status__ = "Production"
@@ -4,6 +4,7 @@ import sys
4
4
  import traceback
5
5
  from _warnings import warn
6
6
  from ast import literal_eval
7
+ from collections.abc import Iterable
7
8
  from contextlib import contextmanager
8
9
  from enum import Enum
9
10
  from functools import wraps
@@ -565,3 +566,24 @@ def try_get_enum_value(v: Any) -> Any:
565
566
  of an enumeration, otherwise return it unaltered.
566
567
  """
567
568
  return v.value if isinstance(v, Enum) else v
569
+
570
+
571
+ def try_literal_eval(value: str) -> Any:
572
+ """
573
+ Try to parse a string as a literal. If this fails,
574
+ return the value unaltered.
575
+ """
576
+ try:
577
+ return literal_eval(value)
578
+ except (SyntaxError, ValueError):
579
+ return value
580
+
581
+
582
+ def drop_none_or_empty(path, key, value):
583
+ """
584
+ Drop dictionary items with None or empty values.
585
+ For use with `boltons.iterutils.remap`.
586
+ """
587
+ if value is None or (isinstance(value, Iterable) and not any(value)):
588
+ return False
589
+ return True
@@ -21,13 +21,7 @@ from filelock import FileLock
21
21
  from pooch import Pooch
22
22
 
23
23
  import modflow_devtools
24
- from modflow_devtools.misc import get_model_paths
25
-
26
-
27
- def _drop_none_or_empty(path, key, value):
28
- if value is None or value == "":
29
- return False
30
- return True
24
+ from modflow_devtools.misc import drop_none_or_empty, get_model_paths
31
25
 
32
26
 
33
27
  def _model_sort_key(k) -> int:
@@ -421,7 +415,7 @@ class PoochRegistry(ModelRegistry):
421
415
 
422
416
  with self._registry_file_path.open("ab+") as registry_file:
423
417
  tomli_w.dump(
424
- remap(dict(sorted(files.items())), visit=_drop_none_or_empty),
418
+ remap(dict(sorted(files.items())), visit=drop_none_or_empty),
425
419
  registry_file,
426
420
  )
427
421
 
@@ -0,0 +1,74 @@
1
+ """Utilities for accessing the program database"""
2
+
3
+ from csv import DictReader
4
+ from dataclasses import dataclass
5
+ from os import PathLike
6
+ from pathlib import Path
7
+
8
+ from modflow_devtools.misc import try_literal_eval
9
+
10
+ DB_NAME = "programs.csv"
11
+ DB_PATH = Path(__file__).parent / DB_NAME
12
+
13
+
14
+ @dataclass
15
+ class Program:
16
+ target: str
17
+ version: str
18
+ current: bool
19
+ url: str
20
+ dirname: str
21
+ srcdir: str
22
+ standard_switch: bool
23
+ double_switch: bool
24
+ shared_object: bool
25
+
26
+ @classmethod
27
+ def from_dict(cls, d: dict, strict: bool = False) -> "Program":
28
+ """
29
+ Create a Program instance from a dictionary.
30
+
31
+ Parameters
32
+ ----------
33
+ d : dict
34
+ Dictionary containing program data
35
+ strict : bool, optional
36
+ If True, raise ValueError if dict contains unrecognized keys.
37
+ If False (default), ignore unrecognized keys.
38
+ """
39
+ keys = set(cls.__annotations__.keys())
40
+ if strict:
41
+ dkeys = {k.strip() for k in d.keys()}
42
+ if extra_keys := dkeys - keys:
43
+ raise ValueError(f"Unrecognized keys in program data: {extra_keys}")
44
+ return cls(
45
+ **{
46
+ k.strip(): try_literal_eval(v.strip())
47
+ for k, v in d.items()
48
+ if k.strip() in keys
49
+ }
50
+ )
51
+
52
+
53
+ def load_programs(path: str | PathLike, strict: bool = False) -> dict[str, Program]:
54
+ """Load the program database from the CSV file."""
55
+
56
+ path = Path(path).expanduser().resolve()
57
+ with path.open() as csvfile:
58
+ # assumes the first row is the header!
59
+ reader = DictReader(csvfile, skipinitialspace=True)
60
+ programs = [Program.from_dict(row, strict) for row in reader]
61
+ return {program.target: program for program in programs}
62
+
63
+
64
+ PROGRAMS = load_programs(DB_PATH, strict=True)
65
+
66
+
67
+ def get_programs() -> dict[str, Program]:
68
+ """Get the program database."""
69
+ return PROGRAMS
70
+
71
+
72
+ def get_program(name: str) -> Program:
73
+ """Get a specific program by name."""
74
+ return PROGRAMS[name]
@@ -0,0 +1,26 @@
1
+ target , version , current, url , dirname , srcdir , standard_switch, double_switch, shared_object
2
+ mf6 , 6.6.3 , True , https://github.com/MODFLOW-ORG/modflow6/releases/download/6.6.3/mf6.6.3_linux.zip , mf6.6.3_linux , src , True , False , False
3
+ zbud6 , 6.6.3 , True , https://github.com/MODFLOW-ORG/modflow6/releases/download/6.6.3/mf6.6.3_linux.zip , mf6.6.3_linux , utils/zonebudget/src , True , False , False
4
+ libmf6 , 6.6.3 , True , https://github.com/MODFLOW-ORG/modflow6/releases/download/6.6.3/mf6.6.3_linux.zip , mf6.6.3_linux , srcbmi , True , False , True
5
+ mp7 , 7.2.001 , True , https://water.usgs.gov/water-resources/software/MODPATH/modpath_7_2_001.zip , modpath_7_2_001 , source , True , False , False
6
+ mt3dms , 5.3.0 , True , https://github.com/MODFLOW-ORG/mt3dms/releases/download/2.0/mt3dms-2.0.zip , mt3dms-2.0 , true-binary , True , False , False
7
+ mt3dusgs , 1.1.0 , True , https://github.com/MODFLOW-ORG/mt3d-usgs/releases/download/1.1.0/mt3dusgs1.1.0.zip , mt3dusgs1.1.0 , src , True , False , False
8
+ vs2dt , 3.3 , True , https://water.usgs.gov/water-resources/software/VS2DI/vs2dt3_3.zip , vs2dt3_3 , include , True , False , False
9
+ triangle , 1.6 , True , https://github.com/MODFLOW-ORG/triangle/releases/download/v1.6/triangle_source.zip , . , src , True , False , False
10
+ gridgen , 1.0.02 , True , https://github.com/MODFLOW-ORG/gridgen/releases/download/v1.0.02/gridgen_source.zip , . , src , True , False , False
11
+ crt , 1.3.1 , True , https://water.usgs.gov/ogw/CRT/CRT_1.3.1.zip , CRT_1.3.1 , SOURCE , True , False , False
12
+ sutra , 4.0 , True , https://water.usgs.gov/water-resources/software/sutra/4.0/SUTRA_4_0_0.zip , SutraSuite , SUTRA_4_0/source , True , False , False
13
+ mf2000 , 1.19.01 , True , https://water.usgs.gov/nrp/gwsoftware/modflow2000/mf2k1_19_01.tar.gz , mf2k.1_19 , src , True , False , False
14
+ mf2005 , 1.12.00 , True , https://github.com/MODFLOW-ORG/mf2005/releases/download/v.1.12.00/MF2005.1_12u.zip , MF2005.1_12u , src , True , False , False
15
+ mfusg , 1.5 , True , https://github.com/MODFLOW-ORG/mfusg/releases/download/v1.5.00/mfusg1_5.zip , mfusg1_5 , src , True , False , False
16
+ zonbudusg , 1.01 , True , https://github.com/MODFLOW-ORG/zonbudusg/releases/download/v1.01/zonbudusg_source.zip , . , src , True , False , False
17
+ swtv4 , 4.00.05 , True , https://water.usgs.gov/water-resources/software/SEAWAT/swt_v4_00_05.zip , swt_v4_00_05 , source , False , True , False
18
+ mp6 , 6.0.1 , True , https://water.usgs.gov/water-resources/software/MODPATH/modpath.6_0_01.zip , modpath.6_0 , src , True , False , False
19
+ mflgr , 2.0.0 , True , https://water.usgs.gov/ogw/modflow-lgr/modflow-lgr-v2.0.0/mflgrv2_0_00.zip , mflgr.2_0 , src , True , False , False
20
+ zonbud , 3.01 , True , https://github.com/MODFLOW-ORG/zonbud/releases/download/v3.01/zonbud_source.zip , . , src , True , False , False
21
+ mfnwt1.1.4 , 1.1.4 , False , https://water.usgs.gov/water-resources/software/MODFLOW-NWT/MODFLOW-NWT_1.1.4.zip , MODFLOW-NWT_1.1.4 , src , True , False , False
22
+ mfnwt , 1.3.0 , True , https://water.usgs.gov/water-resources/software/MODFLOW-NWT/MODFLOW-NWT_1.3.0.zip , MODFLOW-NWT , src , True , False , False
23
+ mfusg_gsi , 2.6.0 , True , https://github.com/MODFLOW-ORG/mfusgt/releases/download/v2.6.0/mfusgt_source.zip , . , src , True , False , False
24
+ mf6dev , 6.7.0.dev3 , False , https://github.com/MODFLOW-ORG/modflow6/archive/refs/heads/develop.zip , modflow6-develop , src , True , False , False
25
+ zbud6dev , 6.7.0.dev3 , False , https://github.com/MODFLOW-ORG/modflow6/archive/refs/heads/develop.zip , modflow6-develop , utils/zonebudget/src , True , False , False
26
+ libmf6dev , 6.7.0.dev3 , False , https://github.com/MODFLOW-ORG/modflow6/archive/refs/heads/develop.zip , modflow6-develop , srcbmi , True , False , True
@@ -4001,53 +4001,53 @@
4001
4001
  "test006_gwf3_gnc/mfusg/flow.gnc",
4002
4002
  "test006_gwf3_gnc/mfusg/flow.sms",
4003
4003
  ]
4004
- "mf6/test/test006_gwf3_gnc_nr_dev" = [
4005
- "test006_gwf3_gnc_nr_dev/flow.ims",
4006
- "test006_gwf3_gnc_nr_dev/flow.disu.cl12.dat",
4007
- "test006_gwf3_gnc_nr_dev/flow.chd",
4008
- "test006_gwf3_gnc_nr_dev/flow.oc",
4009
- "test006_gwf3_gnc_nr_dev/flow.tdis",
4010
- "test006_gwf3_gnc_nr_dev/flow.disu",
4011
- "test006_gwf3_gnc_nr_dev/flow.disu.hwva.dat",
4012
- "test006_gwf3_gnc_nr_dev/flow.nam",
4013
- "test006_gwf3_gnc_nr_dev/flow.disu.area.dat",
4014
- "test006_gwf3_gnc_nr_dev/flow.disu.iac.dat",
4015
- "test006_gwf3_gnc_nr_dev/flow.gnc",
4016
- "test006_gwf3_gnc_nr_dev/flow.ic",
4017
- "test006_gwf3_gnc_nr_dev/flow.disu.ja.dat",
4018
- "test006_gwf3_gnc_nr_dev/mfsim.nam",
4019
- "test006_gwf3_gnc_nr_dev/description.txt",
4020
- "test006_gwf3_gnc_nr_dev/flow.npf",
4021
- "test006_gwf3_gnc_nr_dev/mfusg/flow.oc",
4022
- "test006_gwf3_gnc_nr_dev/mfusg/flow.disu",
4023
- "test006_gwf3_gnc_nr_dev/mfusg/flow.nam",
4024
- "test006_gwf3_gnc_nr_dev/mfusg/flow.bas",
4025
- "test006_gwf3_gnc_nr_dev/mfusg/flow.lpf",
4026
- "test006_gwf3_gnc_nr_dev/mfusg/flow.gnc",
4027
- "test006_gwf3_gnc_nr_dev/mfusg/flow.sms",
4028
- ]
4029
- "mf6/test/test006_gwf3_nr_dev" = [
4030
- "test006_gwf3_nr_dev/flow.ims",
4031
- "test006_gwf3_nr_dev/flow.disu.cl12.dat",
4032
- "test006_gwf3_nr_dev/flow.chd",
4033
- "test006_gwf3_nr_dev/flow.oc",
4034
- "test006_gwf3_nr_dev/flow.tdis",
4035
- "test006_gwf3_nr_dev/flow.disu",
4036
- "test006_gwf3_nr_dev/flow.disu.hwva.dat",
4037
- "test006_gwf3_nr_dev/flow.nam",
4038
- "test006_gwf3_nr_dev/flow.disu.area.dat",
4039
- "test006_gwf3_nr_dev/flow.disu.iac.dat",
4040
- "test006_gwf3_nr_dev/flow.ic",
4041
- "test006_gwf3_nr_dev/flow.disu.ja.dat",
4042
- "test006_gwf3_nr_dev/mfsim.nam",
4043
- "test006_gwf3_nr_dev/description.txt",
4044
- "test006_gwf3_nr_dev/flow.npf",
4045
- "test006_gwf3_nr_dev/mfusg/flow.oc",
4046
- "test006_gwf3_nr_dev/mfusg/flow.disu",
4047
- "test006_gwf3_nr_dev/mfusg/flow.nam",
4048
- "test006_gwf3_nr_dev/mfusg/flow.bas",
4049
- "test006_gwf3_nr_dev/mfusg/flow.lpf",
4050
- "test006_gwf3_nr_dev/mfusg/flow.sms",
4004
+ "mf6/test/test006_gwf3_gnc_nr_mfusg" = [
4005
+ "test006_gwf3_gnc_nr_mfusg/flow.ims",
4006
+ "test006_gwf3_gnc_nr_mfusg/flow.disu.cl12.dat",
4007
+ "test006_gwf3_gnc_nr_mfusg/flow.chd",
4008
+ "test006_gwf3_gnc_nr_mfusg/flow.oc",
4009
+ "test006_gwf3_gnc_nr_mfusg/flow.tdis",
4010
+ "test006_gwf3_gnc_nr_mfusg/flow.disu",
4011
+ "test006_gwf3_gnc_nr_mfusg/flow.disu.hwva.dat",
4012
+ "test006_gwf3_gnc_nr_mfusg/flow.nam",
4013
+ "test006_gwf3_gnc_nr_mfusg/flow.disu.area.dat",
4014
+ "test006_gwf3_gnc_nr_mfusg/flow.disu.iac.dat",
4015
+ "test006_gwf3_gnc_nr_mfusg/flow.gnc",
4016
+ "test006_gwf3_gnc_nr_mfusg/flow.ic",
4017
+ "test006_gwf3_gnc_nr_mfusg/flow.disu.ja.dat",
4018
+ "test006_gwf3_gnc_nr_mfusg/mfsim.nam",
4019
+ "test006_gwf3_gnc_nr_mfusg/description.txt",
4020
+ "test006_gwf3_gnc_nr_mfusg/flow.npf",
4021
+ "test006_gwf3_gnc_nr_mfusg/mfusg/flow.oc",
4022
+ "test006_gwf3_gnc_nr_mfusg/mfusg/flow.disu",
4023
+ "test006_gwf3_gnc_nr_mfusg/mfusg/flow.nam",
4024
+ "test006_gwf3_gnc_nr_mfusg/mfusg/flow.bas",
4025
+ "test006_gwf3_gnc_nr_mfusg/mfusg/flow.lpf",
4026
+ "test006_gwf3_gnc_nr_mfusg/mfusg/flow.gnc",
4027
+ "test006_gwf3_gnc_nr_mfusg/mfusg/flow.sms",
4028
+ ]
4029
+ "mf6/test/test006_gwf3_nr_mfusg" = [
4030
+ "test006_gwf3_nr_mfusg/flow.ims",
4031
+ "test006_gwf3_nr_mfusg/flow.disu.cl12.dat",
4032
+ "test006_gwf3_nr_mfusg/flow.chd",
4033
+ "test006_gwf3_nr_mfusg/flow.oc",
4034
+ "test006_gwf3_nr_mfusg/flow.tdis",
4035
+ "test006_gwf3_nr_mfusg/flow.disu",
4036
+ "test006_gwf3_nr_mfusg/flow.disu.hwva.dat",
4037
+ "test006_gwf3_nr_mfusg/flow.nam",
4038
+ "test006_gwf3_nr_mfusg/flow.disu.area.dat",
4039
+ "test006_gwf3_nr_mfusg/flow.disu.iac.dat",
4040
+ "test006_gwf3_nr_mfusg/flow.ic",
4041
+ "test006_gwf3_nr_mfusg/flow.disu.ja.dat",
4042
+ "test006_gwf3_nr_mfusg/mfsim.nam",
4043
+ "test006_gwf3_nr_mfusg/description.txt",
4044
+ "test006_gwf3_nr_mfusg/flow.npf",
4045
+ "test006_gwf3_nr_mfusg/mfusg/flow.oc",
4046
+ "test006_gwf3_nr_mfusg/mfusg/flow.disu",
4047
+ "test006_gwf3_nr_mfusg/mfusg/flow.nam",
4048
+ "test006_gwf3_nr_mfusg/mfusg/flow.bas",
4049
+ "test006_gwf3_nr_mfusg/mfusg/flow.lpf",
4050
+ "test006_gwf3_nr_mfusg/mfusg/flow.sms",
4051
4051
  ]
4052
4052
  "mf6/test/test006_gwf3_tr" = [
4053
4053
  "test006_gwf3_tr/flow.ims",
@@ -4347,26 +4347,26 @@
4347
4347
  "test014_NWTP3High/nwtp3.nam",
4348
4348
  "test014_NWTP3High/description.txt",
4349
4349
  ]
4350
- "mf6/test/test014_NWTP3High_dev" = [
4351
- "test014_NWTP3High_dev/nwtp3.oc",
4352
- "test014_NWTP3High_dev/nwtp3_Rhigh.rch",
4353
- "test014_NWTP3High_dev/simulation.tdis",
4354
- "test014_NWTP3High_dev/nwtp3.npf",
4355
- "test014_NWTP3High_dev/nwtp3.chd",
4356
- "test014_NWTP3High_dev/model.ims",
4357
- "test014_NWTP3High_dev/nwtp3.ic",
4358
- "test014_NWTP3High_dev/nwtp3.dis",
4359
- "test014_NWTP3High_dev/mfsim.nam",
4360
- "test014_NWTP3High_dev/nwtp3.nam",
4361
- "test014_NWTP3High_dev/description.txt",
4362
- "test014_NWTP3High_dev/mfusg/NWTP3.oc",
4363
- "test014_NWTP3High_dev/mfusg/NWTP3_Rhigh.rch",
4364
- "test014_NWTP3High_dev/mfusg/NWTP3.sms",
4365
- "test014_NWTP3High_dev/mfusg/NWTP3.dis",
4366
- "test014_NWTP3High_dev/mfusg/NWTP3.bas",
4367
- "test014_NWTP3High_dev/mfusg/NWTP3.nam",
4368
- "test014_NWTP3High_dev/mfusg/NWTP3_bottom.ref",
4369
- "test014_NWTP3High_dev/mfusg/NWTP3.lpf",
4350
+ "mf6/test/test014_NWTP3High_mfusg" = [
4351
+ "test014_NWTP3High_mfusg/nwtp3.oc",
4352
+ "test014_NWTP3High_mfusg/nwtp3_Rhigh.rch",
4353
+ "test014_NWTP3High_mfusg/simulation.tdis",
4354
+ "test014_NWTP3High_mfusg/nwtp3.npf",
4355
+ "test014_NWTP3High_mfusg/nwtp3.chd",
4356
+ "test014_NWTP3High_mfusg/model.ims",
4357
+ "test014_NWTP3High_mfusg/nwtp3.ic",
4358
+ "test014_NWTP3High_mfusg/nwtp3.dis",
4359
+ "test014_NWTP3High_mfusg/mfsim.nam",
4360
+ "test014_NWTP3High_mfusg/nwtp3.nam",
4361
+ "test014_NWTP3High_mfusg/description.txt",
4362
+ "test014_NWTP3High_mfusg/mfusg/NWTP3.oc",
4363
+ "test014_NWTP3High_mfusg/mfusg/NWTP3_Rhigh.rch",
4364
+ "test014_NWTP3High_mfusg/mfusg/NWTP3.sms",
4365
+ "test014_NWTP3High_mfusg/mfusg/NWTP3.dis",
4366
+ "test014_NWTP3High_mfusg/mfusg/NWTP3.bas",
4367
+ "test014_NWTP3High_mfusg/mfusg/NWTP3.nam",
4368
+ "test014_NWTP3High_mfusg/mfusg/NWTP3_bottom.ref",
4369
+ "test014_NWTP3High_mfusg/mfusg/NWTP3.lpf",
4370
4370
  ]
4371
4371
  "mf6/test/test014_NWTP3Low" = [
4372
4372
  "test014_NWTP3Low/nwtp3.oc",
@@ -4522,31 +4522,31 @@
4522
4522
  "test015_KeatingLike_disu/data/grid.dbf",
4523
4523
  "test015_KeatingLike_disu/data/boundary.dbf",
4524
4524
  ]
4525
- "mf6/test/test015_KeatingLike_disu_dev" = [
4526
- "test015_KeatingLike_disu_dev/keatinglike.nam",
4527
- "test015_KeatingLike_disu_dev/keatinglike.oc",
4528
- "test015_KeatingLike_disu_dev/keatinglike.chd",
4529
- "test015_KeatingLike_disu_dev/keatinglike.rch",
4530
- "test015_KeatingLike_disu_dev/simulation.tdis",
4531
- "test015_KeatingLike_disu_dev/model.ims",
4532
- "test015_KeatingLike_disu_dev/keatinglike.ic",
4533
- "test015_KeatingLike_disu_dev/keatinglike.npf",
4534
- "test015_KeatingLike_disu_dev/keatinglike.disu",
4535
- "test015_KeatingLike_disu_dev/mfsim.nam",
4536
- "test015_KeatingLike_disu_dev/mfusg/Simple3D_usg.oc",
4537
- "test015_KeatingLike_disu_dev/mfusg/Simple3D_usg.sms",
4538
- "test015_KeatingLike_disu_dev/mfusg/Simple3D_usg.bas",
4539
- "test015_KeatingLike_disu_dev/mfusg/Simple3D_usg.nam",
4540
- "test015_KeatingLike_disu_dev/mfusg/Simple3D_usg.lpf",
4541
- "test015_KeatingLike_disu_dev/mfusg/Simple3D_usg.chd",
4542
- "test015_KeatingLike_disu_dev/mfusg/Simple3D_usg.rch",
4543
- "test015_KeatingLike_disu_dev/mfusg/Simple3D_usg.disu",
4544
- "test015_KeatingLike_disu_dev/data/boundary.shp",
4545
- "test015_KeatingLike_disu_dev/data/boundary.shx",
4546
- "test015_KeatingLike_disu_dev/data/grid.shx",
4547
- "test015_KeatingLike_disu_dev/data/grid.shp",
4548
- "test015_KeatingLike_disu_dev/data/grid.dbf",
4549
- "test015_KeatingLike_disu_dev/data/boundary.dbf",
4525
+ "mf6/test/test015_KeatingLike_disu_mfusg" = [
4526
+ "test015_KeatingLike_disu_mfusg/keatinglike.nam",
4527
+ "test015_KeatingLike_disu_mfusg/keatinglike.oc",
4528
+ "test015_KeatingLike_disu_mfusg/keatinglike.chd",
4529
+ "test015_KeatingLike_disu_mfusg/keatinglike.rch",
4530
+ "test015_KeatingLike_disu_mfusg/simulation.tdis",
4531
+ "test015_KeatingLike_disu_mfusg/model.ims",
4532
+ "test015_KeatingLike_disu_mfusg/keatinglike.ic",
4533
+ "test015_KeatingLike_disu_mfusg/keatinglike.npf",
4534
+ "test015_KeatingLike_disu_mfusg/keatinglike.disu",
4535
+ "test015_KeatingLike_disu_mfusg/mfsim.nam",
4536
+ "test015_KeatingLike_disu_mfusg/mfusg/Simple3D_usg.oc",
4537
+ "test015_KeatingLike_disu_mfusg/mfusg/Simple3D_usg.sms",
4538
+ "test015_KeatingLike_disu_mfusg/mfusg/Simple3D_usg.bas",
4539
+ "test015_KeatingLike_disu_mfusg/mfusg/Simple3D_usg.nam",
4540
+ "test015_KeatingLike_disu_mfusg/mfusg/Simple3D_usg.lpf",
4541
+ "test015_KeatingLike_disu_mfusg/mfusg/Simple3D_usg.chd",
4542
+ "test015_KeatingLike_disu_mfusg/mfusg/Simple3D_usg.rch",
4543
+ "test015_KeatingLike_disu_mfusg/mfusg/Simple3D_usg.disu",
4544
+ "test015_KeatingLike_disu_mfusg/data/boundary.shp",
4545
+ "test015_KeatingLike_disu_mfusg/data/boundary.shx",
4546
+ "test015_KeatingLike_disu_mfusg/data/grid.shx",
4547
+ "test015_KeatingLike_disu_mfusg/data/grid.shp",
4548
+ "test015_KeatingLike_disu_mfusg/data/grid.dbf",
4549
+ "test015_KeatingLike_disu_mfusg/data/boundary.dbf",
4550
4550
  ]
4551
4551
  "mf6/test/test016_Keating" = [
4552
4552
  "test016_Keating/keating.chd",
@@ -4622,34 +4622,34 @@
4622
4622
  "test016_Keating_disu_250_xt3d/keating.npf",
4623
4623
  "test016_Keating_disu_250_xt3d/keating.oc",
4624
4624
  ]
4625
- "mf6/test/test016_Keating_disu_dev" = [
4626
- "test016_Keating_disu_dev/keating.rch",
4627
- "test016_Keating_disu_dev/keating.ghb",
4628
- "test016_Keating_disu_dev/keating.nam",
4629
- "test016_Keating_disu_dev/simulation.tdis",
4630
- "test016_Keating_disu_dev/keating.ic",
4631
- "test016_Keating_disu_dev/keating.disu",
4632
- "test016_Keating_disu_dev/keating.gnc",
4633
- "test016_Keating_disu_dev/model.ims",
4634
- "test016_Keating_disu_dev/mfsim.nam",
4635
- "test016_Keating_disu_dev/description.txt",
4636
- "test016_Keating_disu_dev/keating.npf",
4637
- "test016_Keating_disu_dev/keating.oc",
4638
- "test016_Keating_disu_dev/mfusg/kzusg.nam",
4639
- "test016_Keating_disu_dev/mfusg/kzusg.bas",
4640
- "test016_Keating_disu_dev/mfusg/kzusg.lpf",
4641
- "test016_Keating_disu_dev/mfusg/kzusg.ghb",
4642
- "test016_Keating_disu_dev/mfusg/kzusg.rch",
4643
- "test016_Keating_disu_dev/mfusg/kzusg.oc",
4644
- "test016_Keating_disu_dev/mfusg/kzusg.gnc",
4645
- "test016_Keating_disu_dev/mfusg/kzusg.sms",
4646
- "test016_Keating_disu_dev/mfusg/kzusg.disu",
4647
- "test016_Keating_disu_dev/data/boundary.shp",
4648
- "test016_Keating_disu_dev/data/boundary.shx",
4649
- "test016_Keating_disu_dev/data/grid.shx",
4650
- "test016_Keating_disu_dev/data/grid.shp",
4651
- "test016_Keating_disu_dev/data/grid.dbf",
4652
- "test016_Keating_disu_dev/data/boundary.dbf",
4625
+ "mf6/test/test016_Keating_disu_mfusg" = [
4626
+ "test016_Keating_disu_mfusg/keating.rch",
4627
+ "test016_Keating_disu_mfusg/keating.ghb",
4628
+ "test016_Keating_disu_mfusg/keating.nam",
4629
+ "test016_Keating_disu_mfusg/simulation.tdis",
4630
+ "test016_Keating_disu_mfusg/keating.ic",
4631
+ "test016_Keating_disu_mfusg/keating.disu",
4632
+ "test016_Keating_disu_mfusg/keating.gnc",
4633
+ "test016_Keating_disu_mfusg/model.ims",
4634
+ "test016_Keating_disu_mfusg/mfsim.nam",
4635
+ "test016_Keating_disu_mfusg/description.txt",
4636
+ "test016_Keating_disu_mfusg/keating.npf",
4637
+ "test016_Keating_disu_mfusg/keating.oc",
4638
+ "test016_Keating_disu_mfusg/mfusg/kzusg.nam",
4639
+ "test016_Keating_disu_mfusg/mfusg/kzusg.bas",
4640
+ "test016_Keating_disu_mfusg/mfusg/kzusg.lpf",
4641
+ "test016_Keating_disu_mfusg/mfusg/kzusg.ghb",
4642
+ "test016_Keating_disu_mfusg/mfusg/kzusg.rch",
4643
+ "test016_Keating_disu_mfusg/mfusg/kzusg.oc",
4644
+ "test016_Keating_disu_mfusg/mfusg/kzusg.gnc",
4645
+ "test016_Keating_disu_mfusg/mfusg/kzusg.sms",
4646
+ "test016_Keating_disu_mfusg/mfusg/kzusg.disu",
4647
+ "test016_Keating_disu_mfusg/data/boundary.shp",
4648
+ "test016_Keating_disu_mfusg/data/boundary.shx",
4649
+ "test016_Keating_disu_mfusg/data/grid.shx",
4650
+ "test016_Keating_disu_mfusg/data/grid.shp",
4651
+ "test016_Keating_disu_mfusg/data/grid.dbf",
4652
+ "test016_Keating_disu_mfusg/data/boundary.dbf",
4653
4653
  ]
4654
4654
  "mf6/test/test017_Crinkle" = [
4655
4655
  "test017_Crinkle/crinkle.oc",
@@ -6304,6 +6304,25 @@
6304
6304
  "test041_flowdivert/mf2005/flowdivert.oc",
6305
6305
  "test041_flowdivert/mf2005/flowdivert.pcg",
6306
6306
  ]
6307
+ "mf6/test/test041_flowdivert_mfusg" = [
6308
+ "test041_flowdivert_mfusg/flowdivert.nam",
6309
+ "test041_flowdivert_mfusg/flowdivert.dis",
6310
+ "test041_flowdivert_mfusg/flowdivert.chd",
6311
+ "test041_flowdivert_mfusg/flowdivert.oc",
6312
+ "test041_flowdivert_mfusg/flowdivert.ims",
6313
+ "test041_flowdivert_mfusg/flowdivert.npf",
6314
+ "test041_flowdivert_mfusg/mfsim.nam",
6315
+ "test041_flowdivert_mfusg/flowdivert.tdis",
6316
+ "test041_flowdivert_mfusg/description.txt",
6317
+ "test041_flowdivert_mfusg/flowdivert.ic",
6318
+ "test041_flowdivert_mfusg/mfusg/flowdivert.lpf",
6319
+ "test041_flowdivert_mfusg/mfusg/flowdivert.bas",
6320
+ "test041_flowdivert_mfusg/mfusg/flowdivert.nam",
6321
+ "test041_flowdivert_mfusg/mfusg/flowdivert.dis",
6322
+ "test041_flowdivert_mfusg/mfusg/flowdivert.oc",
6323
+ "test041_flowdivert_mfusg/mfusg/flowdivert.sms",
6324
+ "test041_flowdivert_mfusg/mfusg/flowdivert.pcg",
6325
+ ]
6307
6326
  "mf6/test/test041_flowdivert_nr" = [
6308
6327
  "test041_flowdivert_nr/flowdivert.nam",
6309
6328
  "test041_flowdivert_nr/flowdivert.dis",
@@ -6316,25 +6335,6 @@
6316
6335
  "test041_flowdivert_nr/description.txt",
6317
6336
  "test041_flowdivert_nr/flowdivert.ic",
6318
6337
  ]
6319
- "mf6/test/test041_flowdivert_nr_dev" = [
6320
- "test041_flowdivert_nr_dev/flowdivert.nam",
6321
- "test041_flowdivert_nr_dev/flowdivert.dis",
6322
- "test041_flowdivert_nr_dev/flowdivert.chd",
6323
- "test041_flowdivert_nr_dev/flowdivert.oc",
6324
- "test041_flowdivert_nr_dev/flowdivert.ims",
6325
- "test041_flowdivert_nr_dev/flowdivert.npf",
6326
- "test041_flowdivert_nr_dev/mfsim.nam",
6327
- "test041_flowdivert_nr_dev/flowdivert.tdis",
6328
- "test041_flowdivert_nr_dev/description.txt",
6329
- "test041_flowdivert_nr_dev/flowdivert.ic",
6330
- "test041_flowdivert_nr_dev/mfusg/flowdivert.lpf",
6331
- "test041_flowdivert_nr_dev/mfusg/flowdivert.bas",
6332
- "test041_flowdivert_nr_dev/mfusg/flowdivert.nam",
6333
- "test041_flowdivert_nr_dev/mfusg/flowdivert.dis",
6334
- "test041_flowdivert_nr_dev/mfusg/flowdivert.oc",
6335
- "test041_flowdivert_nr_dev/mfusg/flowdivert.sms",
6336
- "test041_flowdivert_nr_dev/mfusg/flowdivert.pcg",
6337
- ]
6338
6338
  "mf6/test/test041_flowdivert_nwt_dev" = [
6339
6339
  "test041_flowdivert_nwt_dev/flowdivert.nam",
6340
6340
  "test041_flowdivert_nwt_dev/flowdivert.dis",
@@ -7729,30 +7729,30 @@
7729
7729
  "test053_npf-a/mf2005/npftest.pcg",
7730
7730
  "test053_npf-a/mf2005/npftest.wel",
7731
7731
  ]
7732
- "mf6/test/test053_npf-a-nwt_dev" = [
7733
- "test053_npf-a-nwt_dev/mf6.npf",
7734
- "test053_npf-a-nwt_dev/mf6.wel",
7735
- "test053_npf-a-nwt_dev/mf6.oc",
7736
- "test053_npf-a-nwt_dev/mf6.riv",
7737
- "test053_npf-a-nwt_dev/mf6.tdis",
7738
- "test053_npf-a-nwt_dev/mf6.nam",
7739
- "test053_npf-a-nwt_dev/mfsim.nam",
7740
- "test053_npf-a-nwt_dev/mf6.dis",
7741
- "test053_npf-a-nwt_dev/mf6.ic",
7742
- "test053_npf-a-nwt_dev/description.txt",
7743
- "test053_npf-a-nwt_dev/mf6.ims",
7744
- "test053_npf-a-nwt_dev/mf6.ghb",
7745
- "test053_npf-a-nwt_dev/mf6.rch",
7746
- "test053_npf-a-nwt_dev/mfusg/npftest.rch",
7747
- "test053_npf-a-nwt_dev/mfusg/npftest.ghb",
7748
- "test053_npf-a-nwt_dev/mfusg/npftest.dis",
7749
- "test053_npf-a-nwt_dev/mfusg/npftest.oc",
7750
- "test053_npf-a-nwt_dev/mfusg/npftest.bas",
7751
- "test053_npf-a-nwt_dev/mfusg/npftest.nam",
7752
- "test053_npf-a-nwt_dev/mfusg/npftest.lpf",
7753
- "test053_npf-a-nwt_dev/mfusg/npftest.riv",
7754
- "test053_npf-a-nwt_dev/mfusg/npftest.sms",
7755
- "test053_npf-a-nwt_dev/mfusg/npftest.wel",
7732
+ "mf6/test/test053_npf-a_mfusg" = [
7733
+ "test053_npf-a_mfusg/mf6.npf",
7734
+ "test053_npf-a_mfusg/mf6.wel",
7735
+ "test053_npf-a_mfusg/mf6.oc",
7736
+ "test053_npf-a_mfusg/mf6.riv",
7737
+ "test053_npf-a_mfusg/mf6.tdis",
7738
+ "test053_npf-a_mfusg/mf6.nam",
7739
+ "test053_npf-a_mfusg/mfsim.nam",
7740
+ "test053_npf-a_mfusg/mf6.dis",
7741
+ "test053_npf-a_mfusg/mf6.ic",
7742
+ "test053_npf-a_mfusg/description.txt",
7743
+ "test053_npf-a_mfusg/mf6.ims",
7744
+ "test053_npf-a_mfusg/mf6.ghb",
7745
+ "test053_npf-a_mfusg/mf6.rch",
7746
+ "test053_npf-a_mfusg/mfusg/npftest.rch",
7747
+ "test053_npf-a_mfusg/mfusg/npftest.ghb",
7748
+ "test053_npf-a_mfusg/mfusg/npftest.dis",
7749
+ "test053_npf-a_mfusg/mfusg/npftest.oc",
7750
+ "test053_npf-a_mfusg/mfusg/npftest.bas",
7751
+ "test053_npf-a_mfusg/mfusg/npftest.nam",
7752
+ "test053_npf-a_mfusg/mfusg/npftest.lpf",
7753
+ "test053_npf-a_mfusg/mfusg/npftest.riv",
7754
+ "test053_npf-a_mfusg/mfusg/npftest.sms",
7755
+ "test053_npf-a_mfusg/mfusg/npftest.wel",
7756
7756
  ]
7757
7757
  "mf6/test/test053_npf-b" = [
7758
7758
  "test053_npf-b/mf6.npf",
@@ -7779,30 +7779,30 @@
7779
7779
  "test053_npf-b/mf2005/npftest.pcg",
7780
7780
  "test053_npf-b/mf2005/npftest.wel",
7781
7781
  ]
7782
- "mf6/test/test053_npf-b-nwt_dev" = [
7783
- "test053_npf-b-nwt_dev/mf6.npf",
7784
- "test053_npf-b-nwt_dev/mf6.wel",
7785
- "test053_npf-b-nwt_dev/mf6.oc",
7786
- "test053_npf-b-nwt_dev/mf6.riv",
7787
- "test053_npf-b-nwt_dev/mf6.tdis",
7788
- "test053_npf-b-nwt_dev/mf6.nam",
7789
- "test053_npf-b-nwt_dev/mfsim.nam",
7790
- "test053_npf-b-nwt_dev/mf6.dis",
7791
- "test053_npf-b-nwt_dev/mf6.ic",
7792
- "test053_npf-b-nwt_dev/description.txt",
7793
- "test053_npf-b-nwt_dev/mf6.ims",
7794
- "test053_npf-b-nwt_dev/mf6.ghb",
7795
- "test053_npf-b-nwt_dev/mf6.rch",
7796
- "test053_npf-b-nwt_dev/mfusg/npftest.rch",
7797
- "test053_npf-b-nwt_dev/mfusg/npftest.ghb",
7798
- "test053_npf-b-nwt_dev/mfusg/npftest.dis",
7799
- "test053_npf-b-nwt_dev/mfusg/npftest.oc",
7800
- "test053_npf-b-nwt_dev/mfusg/npftest.bas",
7801
- "test053_npf-b-nwt_dev/mfusg/npftest.nam",
7802
- "test053_npf-b-nwt_dev/mfusg/npftest.lpf",
7803
- "test053_npf-b-nwt_dev/mfusg/npftest.riv",
7804
- "test053_npf-b-nwt_dev/mfusg/npftest.sms",
7805
- "test053_npf-b-nwt_dev/mfusg/npftest.wel",
7782
+ "mf6/test/test053_npf-b_mfusg" = [
7783
+ "test053_npf-b_mfusg/mf6.npf",
7784
+ "test053_npf-b_mfusg/mf6.wel",
7785
+ "test053_npf-b_mfusg/mf6.oc",
7786
+ "test053_npf-b_mfusg/mf6.riv",
7787
+ "test053_npf-b_mfusg/mf6.tdis",
7788
+ "test053_npf-b_mfusg/mf6.nam",
7789
+ "test053_npf-b_mfusg/mfsim.nam",
7790
+ "test053_npf-b_mfusg/mf6.dis",
7791
+ "test053_npf-b_mfusg/mf6.ic",
7792
+ "test053_npf-b_mfusg/description.txt",
7793
+ "test053_npf-b_mfusg/mf6.ims",
7794
+ "test053_npf-b_mfusg/mf6.ghb",
7795
+ "test053_npf-b_mfusg/mf6.rch",
7796
+ "test053_npf-b_mfusg/mfusg/npftest.rch",
7797
+ "test053_npf-b_mfusg/mfusg/npftest.ghb",
7798
+ "test053_npf-b_mfusg/mfusg/npftest.dis",
7799
+ "test053_npf-b_mfusg/mfusg/npftest.oc",
7800
+ "test053_npf-b_mfusg/mfusg/npftest.bas",
7801
+ "test053_npf-b_mfusg/mfusg/npftest.nam",
7802
+ "test053_npf-b_mfusg/mfusg/npftest.lpf",
7803
+ "test053_npf-b_mfusg/mfusg/npftest.riv",
7804
+ "test053_npf-b_mfusg/mfusg/npftest.sms",
7805
+ "test053_npf-b_mfusg/mfusg/npftest.wel",
7806
7806
  ]
7807
7807
  "mf6/test/test054_xt3d_whirlsA" = [
7808
7808
  "test054_xt3d_whirlsA/model.ic",