Skip to content

Commit

Permalink
Merge remote-tracking branch 'remotes/boutproject/next' into refactor…
Browse files Browse the repository at this point in the history
…-coordinates-with-next-merged-in
  • Loading branch information
tomchapman committed Jan 28, 2025
2 parents e117fa5 + 1a002d2 commit 4b5bee3
Show file tree
Hide file tree
Showing 346 changed files with 5,211 additions and 3,551 deletions.
5 changes: 5 additions & 0 deletions .ci_fedora.sh
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@ then
cat /etc/os-release
# Ignore weak depencies
echo "install_weak_deps=False" >> /etc/dnf/dnf.conf
echo "minrate=10M" >> /etc/dnf/dnf.conf
time dnf -y install dnf5
time dnf5 -y install dnf5-plugins cmake python3-zoidberg python3-natsort
# Allow to override packages - see #2073
Expand All @@ -58,7 +59,11 @@ else
export OMPI_MCA_rmaps_base_oversubscribe=yes
export PRTE_MCA_rmaps_default_mapping_policy=:oversubscribe
export TRAVIS=true
# Try limiting openmp threads
export FLEXIBLAS=NETLIB
export MKL_NUM_THREADS=1
export NUMEXPR_NUM_THREADS=1
export OMP_NUM_THREADS=1
cd
cd BOUT-dev
echo "starting configure"
Expand Down
11 changes: 2 additions & 9 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,18 +1,10 @@
---
Checks: 'clang-diagnostic-*,clang-analyzer-*,performance-*,readability-*,bugprone-*,clang-analyzer-*,cppcoreguidelines-*,mpi-*,misc-*,-readability-magic-numbers,-cppcoreguidelines-avoid-magic-numbers,-misc-non-private-member-variables-in-classes,-clang-analyzer-optin.mpi*,-bugprone-exception-escape,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-readability-function-cognitive-complexity,-misc-no-recursion,-bugprone-easily-swappable-parameters'
Checks: 'clang-diagnostic-*,clang-analyzer-*,performance-*,readability-*,bugprone-*,clang-analyzer-*,cppcoreguidelines-*,mpi-*,misc-*,-readability-magic-numbers,-cppcoreguidelines-avoid-magic-numbers,-misc-non-private-member-variables-in-classes,-clang-analyzer-optin.mpi*,-bugprone-exception-escape,-cppcoreguidelines-pro-bounds-pointer-arithmetic,-readability-function-cognitive-complexity,-misc-no-recursion,-bugprone-easily-swappable-parameters,-readability-identifier-length'
WarningsAsErrors: ''
HeaderFilterRegex: ''
FormatStyle: file
CheckOptions:

# Allow some common short names
- key: readability-identifier-length.IgnoredVariableNames
value: '^[dn]?[xyz]$'
- key: readability-identifier-length.IgnoredParameterNames
value: '^[dfijknxyz][01xyz]?$'
- key: readability-identifier-length.IgnoredLoopCounterNames
value: '^[ijkxyz_]$'

# Don't expand macros when simplifying boolean expressions,
# otherwise this breaks `ASSERT` macros!
- key: readability-simplify-boolean-expr.IgnoreMacros
Expand All @@ -27,6 +19,7 @@ These are all basically unavoidable in HPC numeric code:
-cppcoreguidelines-pro-bounds-pointer-arithmetic
-readability-function-cognitive-complexity
-bugprone-easily-swappable-parameters
-readability-identifier-length

This doesn't work very well:
-clang-analyzer-optin.mpi*
Expand Down
2 changes: 1 addition & 1 deletion .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version: 2
updates:
- package-ecosystem: "gitsubmodule"
schedule:
interval: "daily"
interval: "weekly"
directory: "/"

- package-ecosystem: "pip"
Expand Down
6 changes: 4 additions & 2 deletions .github/workflows/clang-tidy-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,17 @@ jobs:
submodules: true

- name: Run clang-tidy
uses: ZedThree/clang-tidy-review@v0.14.0
uses: ZedThree/clang-tidy-review@v0.19.0
id: review
with:
annotations: true
build_dir: build
apt_packages: "libfftw3-dev,libnetcdf-c++4-dev,libopenmpi-dev,petsc-dev,slepc-dev,liblapack-dev,libparpack2-dev,libsundials-dev,uuid-dev"
config_file: ".clang-tidy"
# Googletest triggers a _lot_ of clang-tidy warnings, so ignore all
# the unit tests until they're fixed or ignored upstream
exclude: "tests/unit/*cxx"
lgtm_comment_body: ''
cmake_command: |
pip install --break-system-packages cmake && \
cmake --version && \
Expand All @@ -46,4 +48,4 @@ jobs:
-DBOUT_UPDATE_GIT_SUBMODULE=OFF
- name: Upload clang-tidy fixes
uses: ZedThree/clang-tidy-review/upload@v0.14.0
uses: ZedThree/clang-tidy-review/upload@v0.19.0
6 changes: 3 additions & 3 deletions .github/workflows/python-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
fetch-depth: 0
submodules: true
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
- name: Install dependencies
run: python -m pip install --upgrade pip &&
pip install --upgrade build &&
Expand Down Expand Up @@ -62,7 +62,7 @@ jobs:
fetch-depth: 0
submodules: true
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
- name: Install dependencies
run: python -m pip install --upgrade pip &&
pip install --upgrade build &&
Expand Down Expand Up @@ -111,7 +111,7 @@ jobs:
fetch-depth: 0
submodules: true
- name: Set up Python
uses: actions/setup-python@v4
uses: actions/setup-python@v5
- name: Install dependencies
run: python -m pip install --upgrade pip &&
pip install --upgrade build &&
Expand Down
51 changes: 12 additions & 39 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -47,9 +47,10 @@ jobs:
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=OFF
-DBOUT_USE_ADIOS2=ON
-DBOUT_ENABLE_PYTHON=ON
-DADIOS2_ROOT=/home/runner/local/adios2
-DADIOS2_ROOT=/home/runner/local
-DSUNDIALS_ROOT=/home/runner/local
-DPETSC_DIR=/home/runner/local/petsc
-DSLEPC_DIR=/home/runner/local/slepc"
Expand All @@ -74,18 +75,20 @@ jobs:
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=ON
-DSUNDIALS_ROOT=/home/runner/local"
on_cron: false

- name: "Debug, shared"
os: ubuntu-latest
cmake_options: "-DCHECK=3
cmake_options: "-DCHECK=4
-DCMAKE_BUILD_TYPE=Debug
-DBOUT_ENABLE_SIGNAL=ON
-DBOUT_ENABLE_TRACK=ON
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=ON
-DSUNDIALS_ROOT=/home/runner/local"
on_cron: false

Expand All @@ -97,6 +100,7 @@ jobs:
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=ON
-DBOUT_BUILD_DOCS=OFF
-DSUNDIALS_ROOT=/home/runner/local"
omp_num_threads: 2
Expand All @@ -110,6 +114,7 @@ jobs:
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=OFF
-DBOUT_ENABLE_PYTHON=ON
-DSUNDIALS_ROOT=/home/runner/local"
omp_num_threads: 2
Expand All @@ -123,32 +128,15 @@ jobs:
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_USE_HYPRE=OFF
-DBOUT_ENABLE_PYTHON=ON
-DSUNDIALS_ROOT=/home/runner/local
-DPETSC_DIR=/home/runner/local/petsc
-DSLEPC_DIR=/home/runner/local/slepc"
build_petsc: -petsc
on_cron: false

- name: "Coverage"
os: ubuntu-latest
cmake_options: "-DBUILD_SHARED_LIBS=ON
-DCMAKE_BUILD_TYPE=Debug
-DCHECK=3
-DENABLE_COVERAGE=ON
-DBOUT_USE_PETSC=ON
-DBOUT_USE_SLEPC=ON
-DBOUT_USE_HDF5=ON
-DBOUT_USE_SUNDIALS=ON
-DBOUT_ENABLE_PYTHON=ON
-DSUNDIALS_ROOT=/home/runner/local"
unit_only: YES
on_cron: false
exclude:
# Don't run the coverage tests if the branch isn't master or next
- is_master_or_next: false
config:
name: "Coverage"
- is_cron: true
config:
on_cron: false
Expand Down Expand Up @@ -178,12 +166,13 @@ jobs:
slepc-dev
liblapack-dev
libparpack2-dev
libhypre-dev

- uses: actions/checkout@v4
with:
submodules: true

- uses: actions/setup-python@v4
- uses: actions/setup-python@v5
with:
python-version: '3.x'

Expand All @@ -193,7 +182,7 @@ jobs:
python -m pip install -r requirements.txt
- name: Cache SUNDIALS build
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: /home/runner/local
key: bout-sundials-${{ matrix.config.os }}${{ matrix.config.build_petsc }}
Expand All @@ -210,26 +199,10 @@ jobs:
- name: Build BOUT++
run: UNIT_ONLY=${{ matrix.config.unit_only }} ./.ci_with_cmake.sh ${{ matrix.config.cmake_options }}

- name: Capture coverage
if: ${{ matrix.config.name == 'Coverage' }}
# Explicitly run the coverage capture target, because
# ci_script.sh also does the upload, and we're going to do
# that ourselves in the next step
run: |
# Ensure that there is a corresponding .gcda file for every .gcno file
# This is to try and make the coverage report slightly more accurate
# It still won't include, e.g. any solvers we don't build with though
find . -name "*.gcno" -exec sh -c 'touch -a "${1%.gcno}.gcda"' _ {} \;
make -C build code-coverage-capture
- name: Upload coverage
if: ${{ matrix.config.name == 'Coverage' }}
uses: codecov/codecov-action@v3

Fedora:
# This is its own job as it doesn't use most of the steps of the
# standard_tests
timeout-minutes: 60
timeout-minutes: 120
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand Down
3 changes: 0 additions & 3 deletions .gitmodules
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,3 @@
[submodule "externalpackages/boutdata"]
path = externalpackages/boutdata
url = https://github.com/boutproject/boutdata.git
[submodule "externalpackages/boututils"]
path = externalpackages/boututils
url = https://github.com/boutproject/boututils.git
61 changes: 61 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,67 @@
confusing. Now, monitors are called with the current number of
completed monitor-steps.

## [v5.1.1](https://github.com/boutproject/BOUT-dev/tree/v5.1.1)
[Full Changelog](https://github.com/boutproject/BOUT-dev/compare/v5.1.0...v5.1.1)

- Fix compilation error due to check_c_source_runs [\#2967][https://github.com/boutproject/BOUT-dev/pull/2967] ([mikekryjak][https://github.com/mikekryjak])
- Resolve merge conflict for v5.1.1-rc [\#2964][https://github.com/boutproject/BOUT-dev/pull/2964] ([dschwoerer][https://github.com/dschwoerer])
- Update boutdata and boututils submodules [\#2959][https://github.com/boutproject/BOUT-dev/pull/2959] ([dschwoerer][https://github.com/dschwoerer])
- Small clang-tidy fixes for sundials solvers [\#2953][https://github.com/boutproject/BOUT-dev/pull/2953] ([ZedThree][https://github.com/ZedThree])
- mark fmt::format() const [\#2942][https://github.com/boutproject/BOUT-dev/pull/2942] ([tchaikov][https://github.com/tchaikov])
- CI: Ensure we do not timeout due to slow mirrors [\#2940][https://github.com/boutproject/BOUT-dev/pull/2940] ([dschwoerer][https://github.com/dschwoerer])
- Bump externalpackages/boutdata from `cd0bc40` to `d9b8187` [\#2939][https://github.com/boutproject/BOUT-dev/pull/2939] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- SUNDIALS v7 support (backport to v5) [\#2937][https://github.com/boutproject/BOUT-dev/pull/2937] ([ZedThree][https://github.com/ZedThree])
- Bump externalpackages/googletest from `33af80a` to `0953a17` [\#2968][https://github.com/boutproject/BOUT-dev/pull/2968] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Update netcdf4 requirement from ~=1.6.0 to ~=1.7.1 [\#2960][https://github.com/boutproject/BOUT-dev/pull/2960] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump ZedThree/clang-tidy-review from 0.18.0 to 0.19.0 [\#2913][https://github.com/boutproject/BOUT-dev/pull/2913] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/googletest from `5a37b51` to `33af80a` [\#2912][https://github.com/boutproject/BOUT-dev/pull/2912] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/boututils from `433995f` to `6c22995` [\#2911][https://github.com/boutproject/BOUT-dev/pull/2911] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/googletest from `b479e7a` to `5a37b51` [\#2906][https://github.com/boutproject/BOUT-dev/pull/2906] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Fix name of PVODE Config file [\#2903][https://github.com/boutproject/BOUT-dev/pull/2903] ([dschwoerer][https://github.com/dschwoerer])
- Bump ZedThree/clang-tidy-review from 0.17.0 to 0.18.0 [\#2897][https://github.com/boutproject/BOUT-dev/pull/2897] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/googletest from `e4fdb87` to `b479e7a` [\#2880][https://github.com/boutproject/BOUT-dev/pull/2880] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/boutdata from `9e603a2` to `cd0bc40` [\#2879][https://github.com/boutproject/BOUT-dev/pull/2879] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/googletest from `b75ecf1` to `e4fdb87` [\#2877][https://github.com/boutproject/BOUT-dev/pull/2877] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/boutdata from `a043a2b` to `9e603a2` [\#2866][https://github.com/boutproject/BOUT-dev/pull/2866] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/googletest from `dddb219` to `b75ecf1` [\#2864][https://github.com/boutproject/BOUT-dev/pull/2864] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump codecov/codecov-action from 3 to 4 [\#2860][https://github.com/boutproject/BOUT-dev/pull/2860] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump ZedThree/clang-tidy-review from 0.14.0 to 0.17.0 [\#2846][https://github.com/boutproject/BOUT-dev/pull/2846] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump actions/cache from 3 to 4 [\#2845][https://github.com/boutproject/BOUT-dev/pull/2845] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Add warnings about SUNDIALS versions <4 [\#2840][https://github.com/boutproject/BOUT-dev/pull/2840] ([Steven-Roberts][https://github.com/Steven-Roberts])
- Do not excessively bump googletest [\#2836][https://github.com/boutproject/BOUT-dev/pull/2836] ([dschwoerer][https://github.com/dschwoerer])
- Remove propietary data (master) [\#2832][https://github.com/boutproject/BOUT-dev/pull/2832] ([dschwoerer][https://github.com/dschwoerer])
- Bump externalpackages/googletest from `829c199` to `dddb219` [\#2830][https://github.com/boutproject/BOUT-dev/pull/2830] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump externalpackages/boutdata from `908a4c2` to `a043a2b` [\#2827][https://github.com/boutproject/BOUT-dev/pull/2827] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- CI: Bump actions/setup-python from 4 to 5 [\#2819][https://github.com/boutproject/BOUT-dev/pull/2819] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Set oversubscribe flags for openmpi 5 [\#2800][https://github.com/boutproject/BOUT-dev/pull/2800] ([dschwoerer][https://github.com/dschwoerer])
- CI: Replace pip script with requirements.txt [\#2794][https://github.com/boutproject/BOUT-dev/pull/2794] ([ZedThree][https://github.com/ZedThree])
- master branch will be 5.1.1 not 5.2.0 [\#2784][https://github.com/boutproject/BOUT-dev/pull/2784] ([dschwoerer][https://github.com/dschwoerer])
- Bump externalpackages/googletest from `2dd1c13` to `829c199` [\#2782][https://github.com/boutproject/BOUT-dev/pull/2782] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Fix test-laplace-petsc3d [\#2781][https://github.com/boutproject/BOUT-dev/pull/2781] ([dschwoerer][https://github.com/dschwoerer])
- CI: user master branch for docker actions [\#2780][https://github.com/boutproject/BOUT-dev/pull/2780] ([dschwoerer][https://github.com/dschwoerer])
- [RTD] add os to read the docs config [\#2779][https://github.com/boutproject/BOUT-dev/pull/2779] ([dschwoerer][https://github.com/dschwoerer])
- CI: Increase shm size in container [\#2777][https://github.com/boutproject/BOUT-dev/pull/2777] ([dschwoerer][https://github.com/dschwoerer])
- Bump externalpackages/fmt from `f0903ad` to `2ac6c5c` [\#2776][https://github.com/boutproject/BOUT-dev/pull/2776] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump ZedThree/clang-tidy-review from 0.13.1 to 0.14.0 [\#2773][https://github.com/boutproject/BOUT-dev/pull/2773] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump stefanzweifel/git-auto-commit-action from 4 to 5 [\#2772][https://github.com/boutproject/BOUT-dev/pull/2772] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Bump actions/setup-python from 1 to 4 [\#2771][https://github.com/boutproject/BOUT-dev/pull/2771] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- CI: Run on PETSc developement branch [\#2765][https://github.com/boutproject/BOUT-dev/pull/2765] ([dschwoerer][https://github.com/dschwoerer])
- Prefer dnf5 for fedora CI (master) [\#2764][https://github.com/boutproject/BOUT-dev/pull/2764] ([dschwoerer][https://github.com/dschwoerer])
- Fix sphinx configuration [\#2762][https://github.com/boutproject/BOUT-dev/pull/2762] ([dschwoerer][https://github.com/dschwoerer])
- Bump docker/build-push-action from f2a1d5e99d037542a71f64918e516c093c6f3fc4 to 0f847266c302569530c95bfa228489494c43b002 [\#2761][https://github.com/boutproject/BOUT-dev/pull/2761] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Ensure also lower case is accepted [\#2759][https://github.com/boutproject/BOUT-dev/pull/2759] ([dschwoerer][https://github.com/dschwoerer])
- Bump externalpackages/googletest from `6092810` to `2dd1c13` [\#2757][https://github.com/boutproject/BOUT-dev/pull/2757] ([dependabot[bot]][https://github.com/dependabot%5Bbot%5D])
- Add fallback if the version has been bumped bot not tagged [\#2754][https://github.com/boutproject/BOUT-dev/pull/2754] ([dschwoerer][https://github.com/dschwoerer])

## [v5.1.0](https://github.com/boutproject/BOUT-dev/tree/v5.1.0

### Breaking changes

- The autotools `./configure` build system has been removed
- Parsing of booleans has changed [\#2828][https://github.com/boutproject/BOUT-dev/pull/2828] ([bendudson][https://github.com/bendudson]).
See the [manual page](https://bout-dev.readthedocs.io/en/stable/user_docs/bout_options.html#boolean-expressions) for details.


## [v5.1.0](https://github.com/boutproject/BOUT-dev/tree/v5.1.0)
[Full Changelog](https://github.com/boutproject/BOUT-dev/compare/v5.0.0...v5.1.0)
Expand Down
13 changes: 11 additions & 2 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -188,11 +188,20 @@ authors:
- family-names: Chapman
given-names: Tom

version: 5.1.0
- family-names: Chai
given-names: Kefu
- family-names: Roberts
given-names: Steven
- family-names: Georgakoudis
given-names: Giorgis
- family-names: Kryjak
given-names: Mike

version: 5.1.1
date-released: 2023-04-10
repository-code: https://github.com/boutproject/BOUT-dev
url: http://boutproject.github.io/
doi: 10.5281/zenodo.8369888
doi: 10.5281/zenodo.13753882
license: 'LGPL-3.0-or-later'
references:
- type: article
Expand Down
Loading

0 comments on commit 4b5bee3

Please sign in to comment.