Skip to content

Commit 879f911

Browse files
authored
Merge pull request #1847 from MODFLOW-USGS/v6.5.0
Release 6.5.0
2 parents 543a04b + a2fec41 commit 879f911

File tree

911 files changed

+121693
-10472
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

911 files changed

+121693
-10472
lines changed

.build_rtd_docs/Doxyfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ PROJECT_NAME = "MODFLOW 6"
3737
# could be handy for archiving the generated documentation or if some version
3838
# control system is used.
3939

40-
PROJECT_NUMBER = "version 6.5.0.dev0"
40+
PROJECT_NUMBER = "version 6.5.0"
4141

4242
# Using the PROJECT_BRIEF tag one can provide an optional one line description
4343
# for a project that appears at the top of each page and should give viewer a

.codespell.ignore

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
alph
2+
wel
3+
nam
4+
gage
5+
drob
6+
delt
7+
lke
8+
ist
9+
inout
10+
ot
11+
initialx
12+
initialy
13+
initialz
14+
iterm
15+
dum
16+
shft
17+
lsat
18+
thi
19+
thckstrt

.gitattributes

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,3 +18,6 @@
1818
*.inc linguist-language=Fortran
1919
.build_rtd_docs/** linguist-documentation
2020
.doc/** linguist-documentation
21+
# GitHub syntax highlighting
22+
pixi.lock linguist-language=YAML
23+
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
name: Build parallel MF6 (Windows)
2+
description: Build parallel MODFLOW 6 on Windows
3+
runs:
4+
using: "composite"
5+
steps:
6+
7+
- name: Setup PETSc
8+
uses: ./modflow6/.github/actions/build-petsc-win
9+
10+
- name: Build modflow6
11+
shell: cmd
12+
run: |
13+
unix2dos -n "%GITHUB_WORKSPACE%\modflow6\.github\common\compile_modflow6.bat" "%TEMP%\compile_modflow6.bat"
14+
"%ONEAPI_ROOT%\setvars.bat" intel64 vs2022 && "%TEMP%\compile_modflow6.bat"
15+
16+
- name: Show Meson logs
17+
if: failure()
18+
shell: bash
19+
working-directory: modflow6
20+
run: cat builddir/meson-logs/meson-log.txt
Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
name: Build PETSc (Windows)
2+
description: Build PETSc on Windows with Cygwin
3+
runs:
4+
using: "composite"
5+
steps:
6+
7+
- name: Convert line endings
8+
shell: cmd
9+
run: |
10+
unix2dos -n "%GITHUB_WORKSPACE%\modflow6\.github\common\configure_petsc.sh" "%TEMP%\configure_petsc.sh"
11+
unix2dos -n "%GITHUB_WORKSPACE%\modflow6\.github\common\compile_petsc.sh" "%TEMP%\compile_petsc.sh"
12+
13+
- name: Hide Strawberry programs
14+
shell: bash
15+
run: |
16+
mkdir "$RUNNER_TEMP/strawberry"
17+
mv /c/Strawberry/c/bin/gmake "$RUNNER_TEMP/strawberry/gmake"
18+
mv /c/Strawberry/perl/bin/pkg-config "$RUNNER_TEMP/strawberry/pkg-config"
19+
mv /c/Strawberry/perl/bin/pkg-config.bat "$RUNNER_TEMP/strawberry/pkg-config.bat"
20+
21+
- name: Get date
22+
id: get-date
23+
shell: bash
24+
run: echo "date=$(/bin/date -u "+%Y%m%d")" >> "$GITHUB_OUTPUT"
25+
26+
- name: Setup oneAPI
27+
uses: ./modflow6/.github/actions/setup-par-oneapi
28+
29+
- name: Restore PETSc cache
30+
id: petsc-cache
31+
uses: actions/cache/restore@v3
32+
with:
33+
path: petsc
34+
key: petsc-${{ runner.os }}-${{ steps.get-date.outputs.date }}
35+
36+
- name: Download PETSc
37+
if: steps.petsc-cache.outputs.cache-hit != 'true'
38+
shell: bash
39+
run: |
40+
curl https://web.cels.anl.gov/projects/petsc/download/release-snapshots/petsc-3.20.5.tar.gz -O -J
41+
mkdir petsc
42+
tar -xzf petsc-3.20.5.tar.gz -C petsc --strip-components=1
43+
44+
- name: Setup Cygwin
45+
if: steps.petsc-cache.outputs.cache-hit != 'true'
46+
uses: egor-tensin/setup-cygwin@v4
47+
with:
48+
packages: python3 make gcc-core gcc-g++ pkg-config
49+
50+
- name: Hide Cygwin linker
51+
if: steps.petsc-cache.outputs.cache-hit != 'true'
52+
shell: C:\tools\cygwin\bin\bash.exe --login --norc -eo pipefail -o igncr '{0}'
53+
run: mv /usr/bin/link.exe /usr/bin/link-cygwin.exe
54+
55+
- name: Configure PETSc
56+
if: steps.petsc-cache.outputs.cache-hit != 'true'
57+
shell: cmd
58+
run: |
59+
"%ONEAPI_ROOT%\setvars.bat" intel64 vs2022 && "C:\tools\cygwin\bin\bash.exe" --login --norc -eo pipefail -o igncr "%TEMP%\configure_petsc.sh"
60+
61+
- name: Build PETSc
62+
if: steps.petsc-cache.outputs.cache-hit != 'true'
63+
shell: cmd
64+
run: |
65+
"%ONEAPI_ROOT%\setvars.bat" intel64 vs2022 && "C:\tools\cygwin\bin\bash.exe" --login --norc -eo pipefail -o igncr "%TEMP%\compile_petsc.sh"
66+
67+
- name: Save PETSc cache
68+
if: steps.petsc-cache.outputs.cache-hit != 'true'
69+
uses: actions/cache/save@v3
70+
with:
71+
path: petsc
72+
key: petsc-${{ runner.os }}-${{ steps.get-date.outputs.date }}
73+
74+
- name: Setup PETSC environment
75+
shell: cmd
76+
run: |
77+
set PETSC_DIR=%GITHUB_WORKSPACE%\petsc
78+
set PETSC_ARCH=arch-mswin-c-opt
79+
echo PETSC_DIR=%PETSC_DIR%>>%GITHUB_ENV%
80+
echo PETSC_ARCH=%PETSC_ARCH%>>%GITHUB_ENV%
81+
echo %PETSC_DIR%\%PETSC_ARCH%\lib>>%GITHUB_PATH%
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Setup oneAPI for parallel MF6
2+
description: Setup oneAPI components for parallel MODFLOW 6
3+
runs:
4+
using: "composite"
5+
steps:
6+
7+
- name: Get date
8+
id: get-date
9+
shell: bash
10+
run: echo "date=$(/bin/date -u "+%Y%m%d")" >> "$GITHUB_OUTPUT"
11+
12+
- name: Set oneAPI install dir
13+
shell: bash
14+
run: echo "ONEAPI_ROOT=C:\Program Files (x86)\Intel\oneAPI" >> "$GITHUB_ENV"
15+
16+
- name: Restore oneAPI cache
17+
id: oneapi-cache
18+
uses: actions/cache/restore@v3
19+
with:
20+
path: ${{ env.ONEAPI_ROOT }}
21+
key: oneapi-${{ runner.os }}-${{ steps.get-date.outputs.date }}
22+
23+
- name: Install oneAPI BaseKit
24+
shell: bash
25+
if: steps.oneapi-cache.outputs.cache-hit != 'true'
26+
run: |
27+
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/5cb30fb9-21e9-47e8-82da-a91e00191670/w_BaseKit_p_2024.0.1.45_offline.exe"
28+
cmp="intel.oneapi.win.mkl.devel"
29+
"$GITHUB_WORKSPACE/modflow6/.github/common/install_intel_windows.bat" $url $cmp
30+
rm -rf $TEMP/webimage.exe
31+
rm -rf $TEMP/webimage_extracted
32+
33+
- name: Install oneAPI HPCKit
34+
shell: bash
35+
if: steps.oneapi-cache.outputs.cache-hit != 'true'
36+
run: |
37+
url="https://registrationcenter-download.intel.com/akdlm/IRC_NAS/7a6db8a1-a8b9-4043-8e8e-ca54b56c34e4/w_HPCKit_p_2024.0.1.35_offline.exe"
38+
cmp="intel.oneapi.win.cpp-dpcpp-common:intel.oneapi.win.ifort-compiler:intel.oneapi.win.mpi.devel"
39+
"$GITHUB_WORKSPACE/modflow6/.github/common/install_intel_windows.bat" $url $cmp
40+
rm -rf $TEMP/webimage.exe
41+
rm -rf $TEMP/webimage_extracted
42+
43+
- name: Save oneAPI cache
44+
if: steps.oneapi-cache.outputs.cache-hit != 'true'
45+
uses: actions/cache/save@v3
46+
with:
47+
path: ${{ env.ONEAPI_ROOT }}
48+
key: oneapi-${{ runner.os }}-${{ steps.get-date.outputs.date }}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
name: Test parallel MF6 (Windows)
2+
description: Build and test parallel MODFLOW 6 on Windows
3+
runs:
4+
using: "composite"
5+
steps:
6+
7+
- name: Build MF6 parallel
8+
uses: ./modflow6/.github/actions/build-par-win
9+
10+
- name: Update flopy
11+
working-directory: modflow6
12+
shell: cmd
13+
run: pixi run update-flopy
14+
15+
- name: Get executables
16+
working-directory: modflow6/autotest
17+
shell: cmd
18+
env:
19+
GITHUB_TOKEN: ${{ github.token }}
20+
run: pixi run get-exes
21+
22+
- name: Convert unix2dos
23+
shell: cmd
24+
run: |
25+
unix2dos -n "%GITHUB_WORKSPACE%\modflow6\.github\common\test_modflow6.bat" "%TEMP%\test_modflow6.bat"
26+
27+
- name: Test programs
28+
if: github.ref_name != 'master'
29+
shell: cmd
30+
env:
31+
REPOS_PATH: ${{ github.workspace }}
32+
run: |
33+
"%ONEAPI_ROOT%\setvars.bat" intel64 vs2022 && "%TEMP%\test_modflow6.bat"
34+
35+
- name: Test programs
36+
if: github.ref_name == 'master'
37+
shell: cmd
38+
env:
39+
REPOS_PATH: ${{ github.workspace }}
40+
MARKERS: not developmode
41+
run: |
42+
"%ONEAPI_ROOT%\setvars.bat" intel64 vs2022 && "%TEMP%\test_modflow6.bat"
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
name: Test parallel MF6
2+
description: Build and test parallel MODFLOW 6
3+
runs:
4+
using: "composite"
5+
steps:
6+
7+
- name: Setup GNU Fortran
8+
uses: fortran-lang/setup-fortran@v1
9+
with:
10+
compiler: gcc
11+
version: 13
12+
13+
- name: Checkout PETSc
14+
uses: actions/checkout@v4
15+
with:
16+
repository: petsc/petsc
17+
path: petsc
18+
ref: release
19+
20+
- name: Configure environment
21+
if: runner.os == 'Linux'
22+
shell: bash
23+
run: |
24+
echo "PKG_CONFIG_PATH=$GITHUB_WORKSPACE/petsc/linux-gnu/lib/pkgconfig" >> $GITHUB_ENV
25+
echo "$GITHUB_WORKSPACE/petsc/linux-gnu/bin" >> $GITHUB_PATH
26+
27+
- name: Configure environment
28+
if: runner.os == 'macOS'
29+
shell: bash
30+
run: |
31+
echo "PKG_CONFIG_PATH=$GITHUB_WORKSPACE/petsc/arch-darwin-gcc/lib/pkgconfig" >> $GITHUB_ENV
32+
echo "$GITHUB_WORKSPACE/petsc/arch-darwin-gcc/bin" >> $GITHUB_PATH
33+
34+
- name: Configure PETSc
35+
if: runner.os == 'Linux'
36+
shell: bash
37+
working-directory: petsc
38+
run: |
39+
sudo wget -P $GITHUB_WORKSPACE/petsc https://download.open-mpi.org/release/open-mpi/v5.0/openmpi-5.0.2.tar.gz
40+
sudo ./configure PETSC_ARCH=linux-gnu --download-fblaslapack --download-openmpi=$GITHUB_WORKSPACE/petsc/openmpi-5.0.2.tar.gz
41+
sudo make all
42+
43+
- name: Configure PETSc
44+
if: runner.os == 'macOS'
45+
shell: bash
46+
working-directory: petsc
47+
run: |
48+
sudo ./configure PETSC_DIR="$GITHUB_WORKSPACE/petsc" PETSC_ARCH=arch-darwin-gcc --download-fblaslapack --download-openmpi --with-debugging=0
49+
sudo make all
50+
51+
- name: Build modflow6
52+
shell: bash
53+
working-directory: modflow6
54+
run: |
55+
pixi run setup -Dparallel=true builddir
56+
pixi run build builddir
57+
pixi run test builddir
58+
59+
- name: Show Meson logs
60+
if: failure()
61+
shell: bash
62+
working-directory: modflow6
63+
run: cat builddir/meson-logs/meson-log.txt
64+
65+
- name: Update flopy
66+
shell: bash
67+
working-directory: modflow6
68+
run: pixi run update-flopy
69+
70+
- name: Get executables
71+
shell: bash
72+
working-directory: modflow6
73+
env:
74+
GITHUB_TOKEN: ${{ github.token }}
75+
run: pixi run get-exes
76+
77+
- name: Test programs
78+
shell: bash
79+
working-directory: modflow6
80+
env:
81+
REPOS_PATH: ${{ github.workspace }}
82+
run: pixi run autotest --parallel -k "test_par"

0 commit comments

Comments
 (0)