Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
1f20b9d
feat(dfn): structure dfn component hierarchy (#228)
wpbonelli Jul 14, 2025
fcd0017
refactor(dfn): separate period block arrays in toml (#229)
wpbonelli Jul 22, 2025
4e8621c
feat(dfn): add get_fields function (#230)
wpbonelli Jul 24, 2025
b5f9dc3
refactor(dfn): drop fkeys from v2/toml (#231)
wpbonelli Jul 29, 2025
ece3d60
fix(dfn): populate keystring children properly (#232)
wpbonelli Aug 5, 2025
0fc9539
feat(dfn): separate all recarray columns in tomls (#234)
wpbonelli Aug 19, 2025
0c07240
feat(dfn): mark models, exgs, slns multi-components in tomls (#235)
wpbonelli Aug 19, 2025
8290fd2
refactor(dfn): rename _SCALAR_TYPES to public SCALAR_TYPES (#236)
mwtoews Sep 11, 2025
0f7503b
fix(dfn): distinguish file format from schema version (#233)
wpbonelli Oct 9, 2025
dc0d0b5
feat(dfn): add longname and developmode to field (#238)
wpbonelli Oct 11, 2025
007532b
refactor(dfn): rename default -> default_value in schema map (#240)
wpbonelli Oct 13, 2025
dac768e
feat(dfn): add from_dict method (#241)
wpbonelli Oct 15, 2025
1d6bc8f
feat(dfn2toml): support single files, add validate mode (#242)
wpbonelli Oct 15, 2025
301fe49
fix(dfn): add missing field attributes, model type constant (#244)
wpbonelli Oct 15, 2025
5e591d7
fix(dfn): add list to v2 FieldType, drop union (#245)
wpbonelli Oct 16, 2025
dd90b71
fix(dfn): sort blocks, coerce schema_version to Version (#246)
wpbonelli Oct 16, 2025
485dadf
chore(dfn): remove duplicate longname from v1 schema field (#249)
wpbonelli Oct 27, 2025
94e167e
fix(dfn): move SCALAR_TYPES to schema-version-specific modules (#250)
wpbonelli Oct 27, 2025
fba155c
refactor(dfn): rename validate to is_valid and move to dfn module (#257)
wpbonelli Oct 29, 2025
d48c5f7
fix(dfn): fix record subfield order
wpbonelli Nov 1, 2025
5660d38
fix(dfn): fix v1 -> v2 field type names
wpbonelli Nov 1, 2025
9adb922
dfn: add netcdf to v2 field (#265)
mjreno Dec 8, 2025
603f5ec
implement per plan
wpbonelli Jan 20, 2026
b51daec
appease mypy
wpbonelli Jan 20, 2026
61e6928
testing
wpbonelli Jan 20, 2026
bd0ee7f
compatibility plan
wpbonelli Jan 20, 2026
6901a0e
add ftype attribute to Dfn
wpbonelli Jan 21, 2026
a225de5
fixes
wpbonelli Feb 22, 2026
c7e0054
ruff
wpbonelli Feb 23, 2026
73d0744
better support for local model registries, update test config
wpbonelli Feb 23, 2026
a8733f3
fixes
wpbonelli Feb 23, 2026
f50e43f
fix tests
wpbonelli Feb 23, 2026
be5d405
fixes
wpbonelli Feb 23, 2026
2a849d9
fix?
wpbonelli Feb 23, 2026
82a4b8d
compiler
wpbonelli Feb 23, 2026
1a35308
intel version
wpbonelli Feb 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 38 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,13 +89,33 @@ jobs:
uses: actions/checkout@v4
with:
path: modflow-devtools


- name: Checkout modflow6 for DFN autodiscovery
uses: actions/checkout@v4
with:
repository: MODFLOW-ORG/modflow6
path: modflow6

- name: Setup uv
uses: astral-sh/setup-uv@v5
with:
cache-dependency-glob: "**/pyproject.toml"
python-version: ${{ matrix.python }}

- name: Setup Fortran
if: runner.os != 'Windows'
uses: fortran-lang/setup-fortran@v1
with:
compiler: gcc
version: ${{ env.GCC_V }}

- name: Setup Fortran (Windows)
if: runner.os == 'Windows'
uses: fortran-lang/setup-fortran@v1
with:
compiler: intel
version: 2025.2

- name: Install project
working-directory: modflow-devtools
run: uv sync --all-extras
Expand All @@ -105,9 +125,10 @@ jobs:
env:
REPOS_PATH: ${{ github.workspace }}
MODFLOW_DEVTOOLS_NO_AUTO_SYNC: 1
TEST_DFN_PATH: ${{ github.workspace }}/modflow6/doc/mf6io/mf6ivar/dfn
# use --dist loadfile to so tests requiring pytest-virtualenv run on the same worker
run: uv run pytest -v -n auto --dist loadfile --durations 0 --ignore test_download.py --ignore test_models.py
run: uv run pytest -v -n auto --dist loadfile --durations 0 --ignore test_download.py --ignore test_models.py --ignore test_dfns_registry.py

- name: Run network-dependent tests
# only invoke the GH API on one OS and Python version
# to avoid rate limits (1000 rqs / hour / repository)
Expand All @@ -117,12 +138,20 @@ jobs:
env:
REPOS_PATH: ${{ github.workspace }}
GITHUB_TOKEN: ${{ github.token }}
TEST_REPO: MODFLOW-ORG/modflow6-testmodels
TEST_REF: develop
TEST_SOURCE: modflow6-testmodels
TEST_SOURCE_NAME: mf6/test
MODFLOW_DEVTOOLS_NO_AUTO_SYNC: 1
run: uv run pytest -v -n auto --dist loadgroup --durations 0 test_download.py test_models.py
# TODO: switch to upstream when dfn registry file added
TEST_DFNS_REPO: wpbonelli/modflow6
TEST_DFNS_REF: registry
TEST_DFNS_SOURCE: modflow6
# Models API
TEST_MODELS_REPO: MODFLOW-ORG/modflow6-testmodels
TEST_MODELS_REF: develop
TEST_MODELS_SOURCE: modflow6-testmodels
TEST_MODELS_SOURCE_NAME: mf6/test
# Programs API
TEST_PROGRAMS_REPO: MODFLOW-ORG/modflow6
TEST_PROGRAMS_REF: develop
TEST_PROGRAMS_SOURCE: modflow6
run: uv run pytest -v -n auto --dist loadgroup --durations 0 test_download.py test_models.py test_dfns_registry.py

rtd:
name: Docs
Expand Down
3 changes: 2 additions & 1 deletion autotest/test_build.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,6 @@ def test_meson_build(tmp_path):

assert (bin_path / f"mf6{_exe_ext}").is_file()
assert (bin_path / f"zbud6{_exe_ext}").is_file()
assert (bin_path / f"mf5to6{_exe_ext}").is_file()
# mf5to6 is no longer built by default in modflow6 meson.build
# assert (bin_path / f"mf5to6{_exe_ext}").is_file()
assert (bin_path / f"libmf6{_lib_ext}").is_file()
62 changes: 0 additions & 62 deletions autotest/test_dfn.py

This file was deleted.

Loading
Loading