From 655ec0e5728fc44d1ba9a86cc8a9f805b32397c8 Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 24 Jul 2024 14:20:10 -0700 Subject: [PATCH 01/19] feat(GWE, PRT): updates for GWE and PRT support * added GWE package information * draft updates for ApiSlnPackage to support EMS6 * updated model sort order in conftest.py to ensure gwf is run first when it exists --- autotest/conftest.py | 17 ++++++++++--- modflowapi/extensions/apisimulation.py | 7 +++++- modflowapi/extensions/pakbase.py | 35 ++++++++++++++++++-------- 3 files changed, 44 insertions(+), 15 deletions(-) diff --git a/autotest/conftest.py b/autotest/conftest.py index 5c8f886..9a3f400 100644 --- a/autotest/conftest.py +++ b/autotest/conftest.py @@ -72,9 +72,20 @@ def simulation_name_from_model_path(p): for model_name, model_namfiles in groupby( namfiles, key=simulation_name_from_model_path ): - models = sorted( - list(model_namfiles) - ) # sort in alphabetical order (gwf < gwt) + models = [] + model_namfiles = list(model_namfiles) + if len(model_namfiles) > 1: + # trap gwf models as first set of models + idxs = [ + ix for ix, _ in enumerate(model_namfiles) if "gwf" in _ + ] + if len(idxs) > 0: + for ix in idxs[::-1]: + models.append(model_namfiles.pop(ix)) + + models += list( + sorted(model_namfiles) + ) # sort remaining models in alphabetical order (gwe < gwt < prt) simulations.append(models) print( f"Simulation {model_name} has {len(models)} model(s):\n" diff --git a/modflowapi/extensions/apisimulation.py b/modflowapi/extensions/apisimulation.py index 34ed94c..3eea52b 100644 --- a/modflowapi/extensions/apisimulation.py +++ b/modflowapi/extensions/apisimulation.py @@ -308,13 +308,18 @@ def load(mf6): solution_names.append(t[0]) + solution_types = [ + i[:-1].lower() for i in mf6.get_value("__INPUT__/SIM/NAM/SLNTYPE") + ] + tmpmdl = ApiMbase(mf6, "", {}) solution_names = list(set(solution_names)) solution_dict = {} for name in solution_names: sid_var_addr = mf6.get_var_address("ID", name) sid = mf6.get_value(sid_var_addr)[0] - sln = ApiSlnPackage(tmpmdl, name) + slntype = solution_types[sid - 1] + sln = ApiSlnPackage(tmpmdl, name, pkg_type=slntype) solution_dict[sid] = sln solutions = solution_dict diff --git a/modflowapi/extensions/pakbase.py b/modflowapi/extensions/pakbase.py index efb45be..b9cc2fe 100644 --- a/modflowapi/extensions/pakbase.py +++ b/modflowapi/extensions/pakbase.py @@ -147,7 +147,7 @@ "tsmult", ], # solution package - "sln": [ + "sln-ims": [ "mxiter", "dvclose", "gamma", @@ -170,6 +170,10 @@ "iscl", "iord", ], + "sln-ems": [ + "icnvg", + "ttsoln", + ] } @@ -599,6 +603,10 @@ def __setattr__(self, item, value): elif item in self._variables._ptrs: self._variables.set_value(item, value) + elif item in ("mxiter",): + # hack for sln-ems + super().__setattr__(item, value) + else: raise AttributeError(f"{item}") @@ -690,21 +698,26 @@ class ApiSlnPackage(ScalarPackage): package name (in the mf6 variables) sim_package : bool boolean flag for simulation level packages. Ex. TDIS, IMS + sln_type : str + ackronymn for the solution package type, default is "ims" """ - def __init__(self, sim, pkg_name): + def __init__(self, sim, pkg_name, pkg_type="ims"): from .apimodel import ApiMbase - super().__init__(sim, "sln", pkg_name, sim_package=True) + super().__init__(sim, f"sln-{pkg_type}", pkg_name, sim_package=True) - mdl = ApiMbase( - sim.mf6, pkg_name.upper(), pkg_types={"ims": ScalarPackage} - ) - imslin = ScalarPackage(mdl, "ims", "IMSLINEAR") - for key, ptr in imslin._variables._ptrs.items(): - if key in self._variables._ptrs: - key = f"{imslin.pkg_type}_{key}".lower() - self._variables._ptrs[key] = ptr + if pkg_type in ("ims",): + mdl = ApiMbase( + sim.mf6, pkg_name.upper(), pkg_types={pkg_type: ScalarPackage} + ) + imslin = ScalarPackage(mdl, "ims", "IMSLINEAR") + for key, ptr in imslin._variables._ptrs.items(): + if key in self._variables._ptrs: + key = f"{imslin.pkg_type}_{key}".lower() + self._variables._ptrs[key] = ptr + else: + self.mxiter = 10 def package_factory(pkg_type, basepackage): From afc7347c57e5401b0ef5b43d7f63ed189b6100a1 Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 24 Jul 2024 14:23:28 -0700 Subject: [PATCH 02/19] linting --- modflowapi/extensions/pakbase.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modflowapi/extensions/pakbase.py b/modflowapi/extensions/pakbase.py index b9cc2fe..39e1276 100644 --- a/modflowapi/extensions/pakbase.py +++ b/modflowapi/extensions/pakbase.py @@ -173,7 +173,7 @@ "sln-ems": [ "icnvg", "ttsoln", - ] + ], } From 46ac11bc5176fae1f5d844a6ef918f4aa27a1ba8 Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 24 Jul 2024 14:47:48 -0700 Subject: [PATCH 03/19] Filter SLNTYPE by SLNMNAMES --- modflowapi/extensions/apisimulation.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modflowapi/extensions/apisimulation.py b/modflowapi/extensions/apisimulation.py index 3eea52b..7916ab3 100644 --- a/modflowapi/extensions/apisimulation.py +++ b/modflowapi/extensions/apisimulation.py @@ -308,8 +308,11 @@ def load(mf6): solution_names.append(t[0]) + idp_names = [i for i in mf6.get_value("__INPUT__/SIM/NAM/SLNMNAMES")] solution_types = [ - i[:-1].lower() for i in mf6.get_value("__INPUT__/SIM/NAM/SLNTYPE") + i[:-1].lower() + for ix, i in enumerate(mf6.get_value("__INPUT__/SIM/NAM/SLNTYPE")) + if idp_names[ix] ] tmpmdl = ApiMbase(mf6, "", {}) From 9cccd2f375d3c27fb1db2ff294c397d39a2e7f22 Mon Sep 17 00:00:00 2001 From: jlarsen Date: Mon, 29 Jul 2024 11:44:38 -0700 Subject: [PATCH 04/19] Add support for MIP package --- modflowapi/extensions/apimodel.py | 4 +++- modflowapi/extensions/pakbase.py | 6 ++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/modflowapi/extensions/apimodel.py b/modflowapi/extensions/apimodel.py index 92dae99..a475234 100644 --- a/modflowapi/extensions/apimodel.py +++ b/modflowapi/extensions/apimodel.py @@ -164,12 +164,14 @@ def __init__(self, mf6, name): "riv": ListPackage, "sto": ArrayPackage, "wel": ListPackage, - # gwt + # gwt/gwe "adv": ArrayPackage, "cnc": ListPackage, "ist": ArrayPackage, "mst": ArrayPackage, "src": ListPackage, + # prt + "mip": ArrayPackage, } self.allow_convergence = True diff --git a/modflowapi/extensions/pakbase.py b/modflowapi/extensions/pakbase.py index 39e1276..2d480e3 100644 --- a/modflowapi/extensions/pakbase.py +++ b/modflowapi/extensions/pakbase.py @@ -121,6 +121,12 @@ "auxname_cst", "auxvar", ], + # prt model + "mip": [ + "porosity", + "retfactor", + "izone" + ], # exchange model "gwf-gwf": ["nexg", "nodem1", "nodem2", "cl1", "cl2", "ihc"], "gwt-gwt": ["nexg", "nodem1", "nodem2", "cl1", "cl2", "ihc"], From 27b5c96b1457caeb115755c3958fe17754def61d Mon Sep 17 00:00:00 2001 From: jlarsen Date: Mon, 29 Jul 2024 11:45:59 -0700 Subject: [PATCH 05/19] linting --- modflowapi/extensions/pakbase.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/modflowapi/extensions/pakbase.py b/modflowapi/extensions/pakbase.py index 2d480e3..74da3e6 100644 --- a/modflowapi/extensions/pakbase.py +++ b/modflowapi/extensions/pakbase.py @@ -122,11 +122,7 @@ "auxvar", ], # prt model - "mip": [ - "porosity", - "retfactor", - "izone" - ], + "mip": ["porosity", "retfactor", "izone"], # exchange model "gwf-gwf": ["nexg", "nodem1", "nodem2", "cl1", "cl2", "ihc"], "gwt-gwt": ["nexg", "nodem1", "nodem2", "cl1", "cl2", "ihc"], From 779cd6ed408708f20c1aced526a8ae831e0f016b Mon Sep 17 00:00:00 2001 From: jlarsen Date: Mon, 29 Jul 2024 12:24:19 -0700 Subject: [PATCH 06/19] Add in GWE list and array package support --- modflowapi/extensions/apiexchange.py | 6 +++++- modflowapi/extensions/apimodel.py | 9 +++++++-- modflowapi/extensions/pakbase.py | 28 +++++++++++++++++++++++++--- 3 files changed, 37 insertions(+), 6 deletions(-) diff --git a/modflowapi/extensions/apiexchange.py b/modflowapi/extensions/apiexchange.py index c3dae5f..de9c3b3 100644 --- a/modflowapi/extensions/apiexchange.py +++ b/modflowapi/extensions/apiexchange.py @@ -16,5 +16,9 @@ class ApiExchange(ApiMbase): """ def __init__(self, mf6, name): - pkg_types = {"gwf-gwf": ListPackage, "gwt-gwt": ListPackage} + pkg_types = { + "gwf-gwf": ListPackage, + "gwt-gwt": ListPackage, + "gwe-gwe": ListPackage, + } super().__init__(mf6, name, pkg_types) diff --git a/modflowapi/extensions/apimodel.py b/modflowapi/extensions/apimodel.py index a475234..4504821 100644 --- a/modflowapi/extensions/apimodel.py +++ b/modflowapi/extensions/apimodel.py @@ -164,12 +164,17 @@ def __init__(self, mf6, name): "riv": ListPackage, "sto": ArrayPackage, "wel": ListPackage, - # gwt/gwe - "adv": ArrayPackage, + # gwt + "dsp": ArrayPackage, "cnc": ListPackage, "ist": ArrayPackage, "mst": ArrayPackage, "src": ListPackage, + # gwe + "cnd": ArrayPackage, + "est": ArrayPackage, + "cpt": ListPackage, + "esl": ListPackage, # prt "mip": ArrayPackage, } diff --git a/modflowapi/extensions/pakbase.py b/modflowapi/extensions/pakbase.py index 74da3e6..9d5a7b7 100644 --- a/modflowapi/extensions/pakbase.py +++ b/modflowapi/extensions/pakbase.py @@ -91,8 +91,29 @@ "auxname_cst", "auxvar", ], + # gwe model + "cnd": ["alh", "alv", "ath1", "ath2", "atv", "kts"], + "est": ["porosity", "decay", "cps", "rhos"], + "cpt": [ + "maxbound", + "nbound", + "nodelist", + ("bound", ("temp",)), + "naux", + "auxname_cst", + "auxvar", + ], + "esl": [ + "maxbound", + "nbound", + "nodelist", + ("bound", ("senerrate",)), + "naux", + "auxname_cst", + "auxvar", + ], # gwt model - "adv": ["diffc", "alh", "alv", "ath1", "ath2", "atv"], + "dsp": ["diffc", "alh", "alv", "ath1", "ath2", "atv"], "cnc": [ "maxbound", "nbound", @@ -124,8 +145,9 @@ # prt model "mip": ["porosity", "retfactor", "izone"], # exchange model - "gwf-gwf": ["nexg", "nodem1", "nodem2", "cl1", "cl2", "ihc"], - "gwt-gwt": ["nexg", "nodem1", "nodem2", "cl1", "cl2", "ihc"], + "gwf-gwf": ["nexg", "nodem1", "nodem2", "cl1", "cl2", "ihc", "hwva"], + "gwt-gwt": ["nexg", "nodem1", "nodem2", "cl1", "cl2", "ihc", "hwva"], + "gwe-gwe": ["nexg", "nodem1", "nodem2", "cl1", "cl2", "ihc", "hwva"], # simulation "ats": [ "maxats", From 83c7bf746fdb20523663e1d31703c9499354815b Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 10:44:46 -0700 Subject: [PATCH 07/19] Update(CI): update to pull modflow6-examples from develop * add optional mf6-examples-path flag to pytest command line options --- .github/workflows/ci.yml | 19 +++++++++++++++---- autotest/conftest.py | 20 ++++++++++++++++++-- 2 files changed, 33 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ea7e671..475f35d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -176,10 +176,16 @@ jobs: shell: bash steps: - name: Checkout repo - uses: actions/checkout@v3 + uses: actions/checkout@v4 + + - name: Checkout mf6-examples + uses: actions/checkout@v4 + with: + repository: MODFLOW-USGS/modflow6-examples + path: modflow6-examples - name: Setup Python - uses: actions/setup-python@v4 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: 'pip' @@ -190,6 +196,7 @@ jobs: python -m pip install --upgrade pip pip install git+https://git@github.com/Deltares/xmipy@develop pip install git+https://git@github.com/MODFLOW-USGS/modflow-devtools@develop + pip install git+https://git@github.com/modflowpy/flopy@develop pip install .[test] - name: Install modflow6 nightly build @@ -197,8 +204,12 @@ jobs: with: path: ${{ github.workspace }}/autotest repo: modflow6-nightly-build - + + - name: Build mf6-examples + working-directory: modflow6-examples/autotest + run: pytest -v -n=auto --init test_scripts.py + - name: Run autotests working-directory: ./autotest shell: bash -l {0} - run: pytest -v -n auto -m "mf6 and not extensions" + run: pytest -v -n=auto test_mf6_examples.py --mf6-examples-path=../modflow6-examples/examples diff --git a/autotest/conftest.py b/autotest/conftest.py index 9a3f400..31e555e 100644 --- a/autotest/conftest.py +++ b/autotest/conftest.py @@ -33,21 +33,37 @@ def get_mf6_examples_path() -> Path: __mf6_examples_lock.release() +def pytest_addoption(parser): + parser.addoption("--mf6-examples-path", action="store", default=None) + + def is_nested(namfile) -> bool: p = Path(namfile) if not p.is_file() or not p.name.endswith(".nam"): raise ValueError(f"Expected a namfile path, got {p}") - return p.parent.parent.name != __mf6_examples def pytest_generate_tests(metafunc): # examples to skip: # - ex-gwtgwt-mt3dms-p10: https://github.com/MODFLOW-USGS/modflow6/pull/1008 + option_value = metafunc.config.option.mf6_examples_path + t = metafunc.fixturenames + if ( + "mf6_example_namfiles" in metafunc.fixturenames + and option_value is not None + ): + mf6_examples_path = Path(option_value) + global __mf6_examples + __mf6_examples = str(mf6_examples_path.name) + else: + mf6_examples_path = get_mf6_examples_path() + + # grouping... exclude = ["ex-gwt-gwtgwt-mt3dms-p10"] namfiles = [ str(p) - for p in get_mf6_examples_path().rglob("mfsim.nam") + for p in mf6_examples_path.rglob("mfsim.nam") if not any(e in str(p) for e in exclude) ] From daec9b88d6b38d568474f981c1d478af275cacfa Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 10:51:55 -0700 Subject: [PATCH 08/19] add git to testing requirements --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index 02159c9..593a562 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,6 +46,7 @@ test = [ "pytest!=8.1.0", "pytest-order", "pytest-xdist", + "git", ] lint = [ "ruff", From 8967f7c3a3996ab9b9ff3c5570258a2214d887f0 Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 11:00:08 -0700 Subject: [PATCH 09/19] update again to add GitPython dep --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 593a562..c4f38ac 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -46,7 +46,7 @@ test = [ "pytest!=8.1.0", "pytest-order", "pytest-xdist", - "git", + "GitPython", ] lint = [ "ruff", From aa06e1a4c7aadf38e0ddf091b5d1ce07b1484027 Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 12:02:27 -0700 Subject: [PATCH 10/19] add pooch to ci testing requirements --- pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/pyproject.toml b/pyproject.toml index c4f38ac..a18bfd9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,6 +47,7 @@ test = [ "pytest-order", "pytest-xdist", "GitPython", + "pooch" ] lint = [ "ruff", From 90337538ea2a5d58ab0ff5cfad6e053d11254622 Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 12:21:08 -0700 Subject: [PATCH 11/19] More CI updates for modflow6-examples --- .github/workflows/ci.yml | 1 + pyproject.toml | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1da6486..f6c24ca 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -198,6 +198,7 @@ jobs: pip install git+https://git@github.com/MODFLOW-USGS/modflow-devtools@develop pip install git+https://git@github.com/modflowpy/flopy@develop pip install .[test] + get-modflow :flopy - name: Install modflow6 nightly build uses: modflowpy/install-modflow-action@v1 diff --git a/pyproject.toml b/pyproject.toml index a18bfd9..ac765e1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -47,7 +47,8 @@ test = [ "pytest-order", "pytest-xdist", "GitPython", - "pooch" + "pooch", + "scipy" ] lint = [ "ruff", From 8f7e867e3a2d6a45b7a50baefcdf8ca84f239037 Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 12:28:03 -0700 Subject: [PATCH 12/19] Add pyshp and shapely as testing deps --- pyproject.toml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index ac765e1..79a1502 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -48,7 +48,9 @@ test = [ "pytest-xdist", "GitPython", "pooch", - "scipy" + "scipy", + "pyshp", + "shapely" ] lint = [ "ruff", From cfbbb5fda7b7f3581f55ce98ce4d68721ec4f63a Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 12:36:35 -0700 Subject: [PATCH 13/19] add rasterio testing dep --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 79a1502..0718874 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -50,7 +50,8 @@ test = [ "pooch", "scipy", "pyshp", - "shapely" + "shapely", + "rasterio" ] lint = [ "ruff", From 6e2714ce90d68b4421f5f498fbe3ed3939a625c4 Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 12:46:30 -0700 Subject: [PATCH 14/19] add rasterstats dep to testing env --- pyproject.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 0718874..dc72d8a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -51,7 +51,8 @@ test = [ "scipy", "pyshp", "shapely", - "rasterio" + "rasterio", + "rasterstats" ] lint = [ "ruff", From 94aae77f189d62f9145af72792b6ce95c317dd3d Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 13:00:58 -0700 Subject: [PATCH 15/19] update(ci): update flopy classes prior to building mf6-examples --- .github/workflows/ci.yml | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index f6c24ca..af5b527 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -198,14 +198,18 @@ jobs: pip install git+https://git@github.com/MODFLOW-USGS/modflow-devtools@develop pip install git+https://git@github.com/modflowpy/flopy@develop pip install .[test] - get-modflow :flopy - + - name: Install modflow6 nightly build uses: modflowpy/install-modflow-action@v1 with: path: ${{ github.workspace }}/autotest repo: modflow6-nightly-build + - name: update flopy for mf6-examples + run: | + get-modflow :flopy + python -m flopy.mf6.utils.generate_classes --ref develop --no-backup + - name: Build mf6-examples working-directory: modflow6-examples/autotest run: pytest -v -n=auto --init test_scripts.py From 5830ec426ba9d46627bc5ccea30b46c567039074 Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 13:45:22 -0700 Subject: [PATCH 16/19] Update CI to run "modflow6-example" problems prt-mp7-02, prt-mp7-04 * produce reversed head and budget files --- .github/workflows/ci.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index af5b527..82ac81e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -198,7 +198,7 @@ jobs: pip install git+https://git@github.com/MODFLOW-USGS/modflow-devtools@develop pip install git+https://git@github.com/modflowpy/flopy@develop pip install .[test] - + - name: Install modflow6 nightly build uses: modflowpy/install-modflow-action@v1 with: @@ -212,7 +212,9 @@ jobs: - name: Build mf6-examples working-directory: modflow6-examples/autotest - run: pytest -v -n=auto --init test_scripts.py + run: | + pytest -v -n=auto --init test_scripts.py + pytest -v -n=auto test_scripts.py -k "mp7-p02 or mp7-p04" - name: Run autotests working-directory: ./autotest From 360d50278ecab1ab3f383f68ab7e2df3d2fc3bbd Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 14:05:42 -0700 Subject: [PATCH 17/19] Exclude prt-mp7-p02 and p04 due to "Build mf6-examples" run failures --- .github/workflows/ci.yml | 1 - autotest/conftest.py | 6 +++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 82ac81e..bcaa64f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -214,7 +214,6 @@ jobs: working-directory: modflow6-examples/autotest run: | pytest -v -n=auto --init test_scripts.py - pytest -v -n=auto test_scripts.py -k "mp7-p02 or mp7-p04" - name: Run autotests working-directory: ./autotest diff --git a/autotest/conftest.py b/autotest/conftest.py index 31e555e..5ff5e69 100644 --- a/autotest/conftest.py +++ b/autotest/conftest.py @@ -60,7 +60,11 @@ def pytest_generate_tests(metafunc): mf6_examples_path = get_mf6_examples_path() # grouping... - exclude = ["ex-gwt-gwtgwt-mt3dms-p10"] + exclude = [ + "ex-gwt-gwtgwt-mt3dms-p10", + "ex-prt-mp7-p02", + "ex-prt-mp7-p04" + ] namfiles = [ str(p) for p in mf6_examples_path.rglob("mfsim.nam") From 3bfbae40ba42af8ea5be9bbe94a211cf52c4211c Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 14:07:09 -0700 Subject: [PATCH 18/19] lint conftest.py --- autotest/conftest.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/autotest/conftest.py b/autotest/conftest.py index 5ff5e69..adbb9f6 100644 --- a/autotest/conftest.py +++ b/autotest/conftest.py @@ -60,11 +60,7 @@ def pytest_generate_tests(metafunc): mf6_examples_path = get_mf6_examples_path() # grouping... - exclude = [ - "ex-gwt-gwtgwt-mt3dms-p10", - "ex-prt-mp7-p02", - "ex-prt-mp7-p04" - ] + exclude = ["ex-gwt-gwtgwt-mt3dms-p10", "ex-prt-mp7-p02", "ex-prt-mp7-p04"] namfiles = [ str(p) for p in mf6_examples_path.rglob("mfsim.nam") From 166d8b6cdfc7c3814d6588d0b3bd23b0f1f2daca Mon Sep 17 00:00:00 2001 From: jlarsen Date: Wed, 21 Aug 2024 14:28:24 -0700 Subject: [PATCH 19/19] more updates to CI --- .github/workflows/ci.yml | 17 ++++++++++++----- autotest/conftest.py | 2 +- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index bcaa64f..2b3a131 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -199,22 +199,29 @@ jobs: pip install git+https://git@github.com/modflowpy/flopy@develop pip install .[test] - - name: Install modflow6 nightly build - uses: modflowpy/install-modflow-action@v1 - with: - path: ${{ github.workspace }}/autotest - repo: modflow6-nightly-build + - name: update flopy for mf6-examples run: | get-modflow :flopy python -m flopy.mf6.utils.generate_classes --ref develop --no-backup + - name: Install modflow6 for modflow6-examples + uses: modflowpy/install-modflow-action@v1 + with: + path: ${{ github.workspace }}/modflow6-examples/autotest + - name: Build mf6-examples working-directory: modflow6-examples/autotest run: | pytest -v -n=auto --init test_scripts.py + - name: Install modflow6 nightly build + uses: modflowpy/install-modflow-action@v1 + with: + path: ${{ github.workspace }}/autotest + repo: modflow6-nightly-build + - name: Run autotests working-directory: ./autotest shell: bash -l {0} diff --git a/autotest/conftest.py b/autotest/conftest.py index adbb9f6..28bbed9 100644 --- a/autotest/conftest.py +++ b/autotest/conftest.py @@ -60,7 +60,7 @@ def pytest_generate_tests(metafunc): mf6_examples_path = get_mf6_examples_path() # grouping... - exclude = ["ex-gwt-gwtgwt-mt3dms-p10", "ex-prt-mp7-p02", "ex-prt-mp7-p04"] + exclude = ["ex-gwt-gwtgwt-mt3dms-p10", "mp7-p02", "mp7-p04"] namfiles = [ str(p) for p in mf6_examples_path.rglob("mfsim.nam")