Skip to content

Commit 01ff76f

Browse files
committed
Merge branch 'main' of github.com:NOAA-GFDL/FMS
2 parents 23ea376 + 043ab2f commit 01ff76f

59 files changed

Lines changed: 1232 additions & 1509 deletions

Some content is hidden

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

‎.github/workflows/github_autotools_intel_classic.yml‎

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,6 @@ jobs:
2121
LDFLAGS: "-L/libs/lib"
2222
TEST_VERBOSE: 1
2323
I_MPI_FABRICS: "shm" # needed for mpi in image
24-
# intel bug causes some failures with shm option(required in container)
25-
SKIP_TESTS: "test_mpp_update_domains.1 test_update_domains_performance.1 test_diag_manager2.23"
2624
steps:
2725
- name: Cache dependencies
2826
id: cache

‎.github/workflows/github_autotools_intel_oneapi.yml‎

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ concurrency:
66
cancel-in-progress: true
77

88
jobs:
9-
intel-oneapi-2025.3:
9+
intel-oneapi-2025-3:
1010
runs-on: ubuntu-latest
1111
container:
1212
image: intel/oneapi-hpckit:2025.3.0-0-devel-ubuntu22.04
@@ -18,8 +18,6 @@ jobs:
1818
LDFLAGS: "-L/libs/lib"
1919
TEST_VERBOSE: 1
2020
I_MPI_FABRICS: "shm" # needed for mpi in image
21-
# intel bug causes some failures with shm option(required in container)
22-
SKIP_TESTS: "test_mpp_update_domains.1 test_update_domains_performance.1 test_diag_manager2.23"
2321
steps:
2422
- name: Cache dependencies
2523
id: cache

‎.github/workflows/github_cmake_gnu.yml‎

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,42 +12,48 @@ jobs:
1212
runs-on: ubuntu-latest
1313
strategy:
1414
matrix:
15-
omp-flags: [ -DOPENMP=on, -DOPENMP=off ]
1615
libyaml-flag: [ "", -DWITH_YAML=on ]
1716
build-type: [ "-DCMAKE_BUILD_TYPE=Release", "-DCMAKE_BUILD_TYPE=Debug" ]
1817
container:
1918
image: ghcr.io/noaa-gfdl/fms/fms-ci-rocky-gnu:13.2.0
2019
env:
21-
CMAKE_FLAGS: "${{ matrix.build-type }} ${{ matrix.omp-flags }} ${{ matrix.libyaml-flag }}"
20+
CMAKE_FLAGS: "${{ matrix.build-type }} ${{ matrix.libyaml-flag }}"
21+
EXCLUDE_TESTS: "test_mpp_nesting|test_bc_restart|test_collective_io|test_fms2_io|test_io_with_mask"
22+
PKG_CONFIG_PATH: "/opt/views/view/lib64/pkgconfig:/opt/views/view/lib/pkgconfig:/opt/views/view/share/pkgconfig"
2223
steps:
2324
- name: Checkout code
2425
uses: actions/checkout@v4.2.2
2526
- name: Generate makefiles with CMake
2627
run: |
2728
mkdir build
2829
cd build
29-
cmake $CMAKE_FLAGS -DNetCDF_ROOT=/opt/view -DLIBYAML_ROOT=/opt/view ..
30+
cmake $CMAKE_FLAGS -DOPENMP=on -DUNIT_TESTS=on -DNetCDF_ROOT=/opt/view -DLIBYAML_ROOT=/opt/view ..
3031
- name: Build the library
3132
run: make -C build
33+
- name: Run the unit tests
34+
run: cd build && ctest -E "${EXCLUDE_TESTS}" --output-on-failure
3235

3336
build_arm:
3437
runs-on: ubuntu-24.04-arm
3538
strategy:
3639
matrix:
37-
omp-flags: [ -DOPENMP=on, -DOPENMP=off ]
3840
libyaml-flag: [ "", -DWITH_YAML=on ]
3941
build-type: [ "-DCMAKE_BUILD_TYPE=Release", "-DCMAKE_BUILD_TYPE=Debug" ]
4042
container:
4143
image: ghcr.io/noaa-gfdl/fms/fms-ci-rocky-gnu:13.2.0-arm
4244
env:
43-
CMAKE_FLAGS: "${{ matrix.build-type }} ${{ matrix.omp-flags }} ${{ matrix.libyaml-flag }}"
45+
CMAKE_FLAGS: "${{ matrix.build-type }} ${{ matrix.libyaml-flag }}"
46+
EXCLUDE_TESTS: "test_mpp_nesting|test_bc_restart|test_collective_io|test_fms2_io|test_io_with_mask|test_sat_vapor_pres"
47+
PKG_CONFIG_PATH: "/opt/views/view/lib64/pkgconfig:/opt/views/view/lib/pkgconfig:/opt/views/view/share/pkgconfig"
4448
steps:
4549
- name: Checkout code
4650
uses: actions/checkout@v4.2.2
4751
- name: Generate makefiles with CMake
4852
run: |
4953
mkdir build
5054
cd build
51-
cmake $CMAKE_FLAGS -DNetCDF_ROOT=/opt/view -DLIBYAML_ROOT=/opt/view ..
55+
cmake $CMAKE_FLAGS -DOPENMP=on -DUNIT_TESTS=on -DNetCDF_ROOT=/opt/view -DLIBYAML_ROOT=/opt/view ..
5256
- name: Build the library
5357
run: make -C build
58+
- name: Run the unit tests
59+
run: cd build && ctest -E "${EXCLUDE_TESTS}" --output-on-failure

‎CHANGELOG.md‎

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,41 @@ and this project uses `yyyy.rr[.pp]`, where `yyyy` is the year a patch is releas
66
`rr` is a sequential release number (starting from `01`), and an optional two-digit
77
sequential patch number (starting from `01`).
88

9+
## [2026.01.01] - 2026-03-03
10+
11+
### Fixed
12+
- Fix: modern diag manager cell measures and associated files (#1837)
13+
- Avoid integer overflow in mpp_define_unstruct_domain (#1841)
14+
- Fixes for cmake 32/64bit builds and enable CI testing via ctest (#1787)
15+
16+
## [2026.01] - 2026-01-26
17+
18+
### Known Issues
19+
- - INTEL: Oneapi 2025.1 is currently unsupported due to an internal compiler error. The `-check uninit` flag for intel's LLVM compilers(ifx/icx) is also unsupported, see prior release for more information.
20+
- Diag Manager Rewrite: See [below](#20240102---2024-06-14) for known output file differences regarding the new diag manager. The new diag_manager is disabled by default, so these differences will only be present if `use_modern_diag` is set to true in the `diag_manager_nml`.
21+
- BUILD(HDF5): HDF5 version 1.14.3 generates floating point exceptions, and will cause errors if FMS is built with FPE traps enabled. FPE traps are turned on when using the debug target in mkmf.
22+
- GCC: version 14.1.0 is unsupported due to a bug with strings that has come up previously in earlier versions. This will be caught by the configure script, but will cause compilation errors if using other build systems.
23+
24+
### Added
25+
- Modifed and added tests for future generalized indices updates (#1763)
26+
- OFFLOAD: Added a prototype for offloading io to a smaller set of PE's `offloading_io_mod` (#1774)
27+
28+
### Changed
29+
- Legacy field_table and data_table ASCII formats are now deprecated and will output a warning if used (#1802)
30+
- MPP: Replaced point-to-point communication with collective mode in `mpp_gather` routines (#1775)
31+
- FMS2_IO: Refactored API for enabling MPI-IO support (#1789)
32+
- DIAG_MANAGER: The updated diag manager will now add the experiment title as a global attribute (#1817)
33+
34+
### Fixed
35+
- Fixed multiple compiler warnings raised from GCC 15 (#1765)
36+
- Fixed GNU warnings with the -DPORTABLE_KINDS flag (#1792)
37+
- DIAG_MANAGER: Fixed issue with not getting correct output name when adding the cell_measure attribute (#1815)
38+
- DIAG_MANAGER: Fixed error when setting zbounds for more than one variable (#1813)
39+
- CMAKE: Fixed handling of libyaml dependency when using a r4/r8 option (#1822)
40+
41+
### Removed
42+
- EXCHANGE: Removed cray pointer usage from `xgrid.F90` (#1778)
43+
944
## [2025.04] - 2025-09-29
1045

1146
### Known Issues

‎CMAKE_INSTRUCTIONS.md‎

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,6 @@ MPI compiler wrappers may be named different on your system, so its best to ensu
2222
export NetCDF_ROOT=`nc-config --prefix`
2323
```
2424

25-
#### If building with yaml parser (-DWITH_YAML)
26-
```
27-
export LIBYAML_ROOT=<your libyaml install directory>
28-
```
29-
3025
### Running CMake
3126
It's best to create a build directory inside of the FMS folder to avoid building on top of the source code.
3227
Once that is done, CMake can be ran to generate the necessary build files:
@@ -82,12 +77,12 @@ The following build options are available:
8277
-DSHARED_LIBS "Build shared/dynamic libraries" DEFAULT: OFF
8378
8479
-DCONSTANTS "Build with <X> constants parameter definitions" DEFAULT:GFDL OPTIONS:GFS|GEOS|GFDL
85-
-DINTERNAL_FILE_NML "Enable compiler definition -DINTERNAL_FILE_NML" DEFAULT: ON
8680
-DENABLE_QUAD_PRECISION "Enable compiler definition -DENABLE_QUAD_PRECISION" DEFAULT: ON
8781
-DPORTABLE_KINDS "Enable compiler definition -DPORTABLE_KINDS" DEFAULT:OFF
8882
-DGFS_PHYS "Enable compiler definition -DGFS_PHYS" DEFAULT:OFF
8983
-DLARGEFILE "Enable compiler definition -Duse_LARGEFILE" DEFAULT:OFF
9084
-DWITH_YAML "Enable compiler definition -Duse_yaml" DEFAULT:OFF
85+
-DUNIT_TESTS "Toggle on build of unit tests" DEFAULT:OFF
9186
```
9287

9388
## 3. Installation structure

0 commit comments

Comments
 (0)