Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
bd32c3b
Updates for the change log and version number for the release (#1725)
vithikashah001 Jun 24, 2025
5b75900
Chore: updated FMS codeowners to be default owners only (#1722)
vithikashah001 Jun 27, 2025
33b8fbd
Append dev to version number post-release (#1726)
github-actions[bot] Jul 1, 2025
76e2855
Fieldsmanager lengthremoval (#1702)
vithikashah001 Jul 9, 2025
418b55d
set the init time to a value in diag_integral test (#1730)
rem1776 Jul 15, 2025
fdd5d39
remove fms2io_interpolator init (#1723)
mlee03 Jul 22, 2025
71fa3a0
horiz_interp fixes for r4 tests (#1736)
rem1776 Jul 29, 2025
fcaea74
add fms_end call to test_grid2 (#1728)
rem1776 Jul 29, 2025
a834a27
Add fms2_io generalized indices test (#1734)
J-Lentz Jul 29, 2025
57c9f72
add checks for oneapi bug (#1712)
rem1776 Aug 6, 2025
41141e9
Updates README for license update. (#1744)
thomas-robinson Aug 12, 2025
d8a19fd
fms2_io: Add collective writes (#1733)
J-Lentz Aug 21, 2025
9328538
Fix array bounds error in the old diag manager (#1751)
J-Lentz Aug 21, 2025
74e9d38
move the parse.inc in field_manager to include directory (#1740)
rem1776 Aug 21, 2025
51b3199
Grid2 mod Initialization Fix (#1742)
uramirez8707 Aug 21, 2025
ea8c29c
add a test to test the multi-file capability in data_override (#1745)
uramirez8707 Aug 21, 2025
c39f610
MODERN_DIAG_MANAGER: Improvements to the diag_table.yaml format (#1731)
uramirez8707 Aug 21, 2025
4e18fb9
update cmake build for testing, build types and mixed precision (#1694)
rem1776 Aug 21, 2025
4fdd530
build fixes for added tests and missed kind macro (#1759)
rem1776 Aug 25, 2025
0fe5cef
License update (#1721)
thomas-robinson Aug 28, 2025
e08dbfd
Feature/mpp-gather-io-write-2d-3d (#1750)
abrooks1085 Sep 2, 2025
29629db
Remove tests with set/get_date_gregorian_old (#1748)
mlee03 Sep 3, 2025
1b48b74
Dm patch (#1761)
uramirez8707 Sep 3, 2025
6bb4cd8
1D time_interp_external and time_interp_external_bridge (#1758)
mlee03 Sep 4, 2025
3a7ebcc
Collective IO in modern diag manager (#1756)
uramirez8707 Sep 11, 2025
828d8f4
add unit testing information for cmake (#1772)
rem1776 Sep 18, 2025
0ba4c6c
Add conservative support in time_interp_external (#1773)
mlee03 Sep 22, 2025
3ac30e9
Update CHANGELOG.md (#1776)
vithikashah001 Sep 29, 2025
fb7d47b
[create-pull-request] automated change (#1777)
github-actions[bot] Oct 2, 2025
039d5f7
Fix warnings raising with GCC 15 (#1765)
foxtran Oct 2, 2025
301b4fd
Remove cray pointers from `exchange/xgrid.f90` (#1778)
foxtran Nov 20, 2025
1d6427c
Replace point-to-point with collective mode in MPP_GATHER_PELIST_3D_ …
abrooks1085 Dec 8, 2025
f13435f
added warnings (#1802)
vithikashah001 Dec 8, 2025
2f68815
fms2_io: Refactor MPI-IO support (#1789)
J-Lentz Dec 17, 2025
fbbe8f6
fix GNU warnings (#1807)
vithikashah001 Dec 18, 2025
8876a91
Add ifx/icx testing to intel workflow (#1798)
rem1776 Dec 23, 2025
59763e9
Updates for apache license on build and test systems (#1810)
thomas-robinson Dec 23, 2025
5ac9cfd
MODERN_DIAG_MANAGER: Fix cell measures attribute (#1815)
uramirez8707 Jan 8, 2026
3dd30dc
Add the title of the experiment as the global attribute (#1817)
uramirez8707 Jan 8, 2026
4d5b3dc
MODERN_DIAG_MANAGER: fix error when setting zbounds for more than one…
uramirez8707 Jan 8, 2026
70f930f
generalized indices: Modify unit tests to test nonstandard dimension …
J-Lentz Jan 9, 2026
3d4ac8c
add io offload prototype (#1774)
rem1776 Jan 13, 2026
d814ff6
build: fix handling of libyaml in CMake (#1822)
dougiesquire Jan 21, 2026
ddd2ccf
update changelog and versions for 2026.01 release (#1827)
rem1776 Jan 28, 2026
a7a012f
ci: fix identifier of job in Intel OneAPI CI (#1831)
foxtran Jan 30, 2026
4ec27f9
chore: append dev to version number(#1830)
github-actions[bot] Jan 30, 2026
b869f56
remove skipped tests from intel CI
Mar 5, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
33 changes: 16 additions & 17 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -1,21 +1,20 @@
#***********************************************************************
# GNU Lesser General Public License
#
# This file is part of the GFDL FRE NetCDF tools package (FRE NCtools).
#
# FRE NCtools is free software: you can redistribute it and/or modify it under
# the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation, either version 3 of the License, or (at
# your option) any later version.
#
# FRE NCtools is distributed in the hope that it will be useful, but WITHOUT
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
# for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with FMS. If not, see <http://www.gnu.org/licenses/>.
#**********************************************************************/
#* Apache License 2.0
#*
#* This file is part of the GFDL Flexible Modeling System (FMS).
#*
#* Licensed under the Apache License, Version 2.0 (the "License");
#* you may not use this file except in compliance with the License.
#* You may obtain a copy of the License at
#*
#* http://www.apache.org/licenses/LICENSE-2.0
#*
#* FMS is distributed in the hope that it will be useful, but WITHOUT
#* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
#* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
#* PARTICULAR PURPOSE. See the License for the specific language
#* governing permissions and limitations under the License.
#***********************************************************************

# This is the preferred settings for files in the FRE NetCDF package
# Please visit https://editorconfig.org for information on how to
Expand Down
62 changes: 11 additions & 51 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
#***********************************************************************
#* GNU Lesser General Public License
#* Apache License 2.0
#*
#* This file is part of the GFDL Flexible Modeling System (FMS).
#*
#* FMS is free software: you can redistribute it and/or modify it under
#* the terms of the GNU Lesser General Public License as published by
#* the Free Software Foundation, either version 3 of the License, or (at
#* your option) any later version.
#* Licensed under the Apache License, Version 2.0 (the "License");
#* you may not use this file except in compliance with the License.
#* You may obtain a copy of the License at
#*
#* FMS is distributed in the hope that it will be useful, but WITHOUT
#* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
#* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
#* for more details.
#* http://www.apache.org/licenses/LICENSE-2.0
#*
#* You should have received a copy of the GNU Lesser General Public
#* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
#* FMS is distributed in the hope that it will be useful, but WITHOUT
#* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
#* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
#* PARTICULAR PURPOSE. See the License for the specific language
#* governing permissions and limitations under the License.
#***********************************************************************
#
# Each line is a file pattern followed by one or more owners. The owner
Expand All @@ -25,43 +24,4 @@
# These owners will be the default owners for all the files in the
# repository. Unless a later match is found, these owners
# will be requested for a review when a PR is opened.
* @uramirez8707 @bensonr @rem1776 @vithikashah001

# GNU autotools files
Makefile.am @uramirez8707 @rem1776
/configure.ac @uramirez8707 @rem1776
/m4/ @uramirez8707 @rem1776
*.m4 @uramirez8707 @rem1776

# cmake files
CM* @mlee03 @rem1776 @vithikashah001
cmake @mlee03 @rem1776 @vithikashah001

# Files specific to GitHub or GitLab
/.github/ @rem1776 @vithikashah001

# Testing files
/test_fms/ @uramirez8707 @mlee03 @bensonr @rem1776 @vithikashah001

# Specific component directories
/affinity/ @bensonr
/test_fms/affinity/ @bensonr @rem1776

/block_control/ @bensonr
/test_fms/block_control/ @bensonr @rem1776

#/data_override/ Currently no code owner
/test_fms/data_override/ @rem1776

/diag_manager @uramirez8707
/test_fms/diag_manager/ @uramirez8707

/fms/ @uramirez8707 @rem1776
/test_fms/fms/ @uramirez8707 @rem1776
/fms2/ @uramirez8707
/test_fms/fms2/ @uramirez8707

/libFMS/ @uramirez8707 @rem1776

/mpp/ @uramirez8707 @bensonr
/test_fms/mpp/ @uramirez8707 @bensonr @rem1776
* @uramirez8707 @bensonr @rem1776 @vithikashah001
1 change: 0 additions & 1 deletion .github/workflows/github_autotools_gnu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ jobs:
env:
TEST_VERBOSE: 1
DISTCHECK_CONFIGURE_FLAGS: "${{ matrix.conf-flag }} ${{ matrix.input-flag }} ${{ matrix.io-flag }}"
SKIP_TESTS: "test_horiz_interp2.[23-24]" # TODO (couldn't reproduce outside CI)
DEBUG_FLAGS: "-O0 -g -fbounds-check -ffpe-trap=invalid,zero,overflow" # debug compiler flags taken from the mkmf template
steps:
- name: Checkout code
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
on: pull_request
on:
schedule:
- cron: '0 0 * * 0' # sundays @ midnight


# cancel running jobs if theres a newer push
concurrency:
Expand All @@ -18,15 +21,13 @@ jobs:
LDFLAGS: "-L/libs/lib"
TEST_VERBOSE: 1
I_MPI_FABRICS: "shm" # needed for mpi in image
# intel bug causes some failures with shm option(required in container)
SKIP_TESTS: "test_mpp_update_domains.1 test_update_domains_performance.1 test_diag_manager2.23"
steps:
- name: Cache dependencies
id: cache
uses: actions/cache@v4.2.0
with:
path: /libs
key: ${{ runner.os }}-intel-libs
key: intel-libs
- name: Install packages for building
run: apt-get update && apt-get install -y autoconf libtool automake zlibc zlib1g-dev
- if: steps.cache.outputs.cache-hit != 'true'
Expand Down
66 changes: 66 additions & 0 deletions .github/workflows/github_autotools_intel_oneapi.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
on: pull_request

# cancel running jobs if theres a newer push
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
intel-oneapi-2025-3:
runs-on: ubuntu-latest
container:
image: intel/oneapi-hpckit:2025.3.0-0-devel-ubuntu22.04
env:
CC: "mpiicx"
FC: "mpiifx"
CFLAGS: "-I/libs/include"
FCFLAGS: "-I/libs/include -g -traceback"
LDFLAGS: "-L/libs/lib"
TEST_VERBOSE: 1
I_MPI_FABRICS: "shm" # needed for mpi in image
steps:
- name: Cache dependencies
id: cache
uses: actions/cache@v4.2.0
with:
path: /libs
key: intel-libs
- name: Install packages for building
run: apt-get update && apt-get install -y autoconf libtool automake zlib1g zlib1g-dev libcurl4-openssl-dev
- if: steps.cache.outputs.cache-hit != 'true'
name: Build netcdf
run: |
# install everything to /libs
export LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH"
mkdir /libs
# hdf5
wget https://support.hdfgroup.org/releases/hdf5/v1_14/v1_14_6/downloads/hdf5-1.14.6.tar.gz
tar xf hdf5-1.14.6.tar.gz && cd hdf5-1.14.6
./configure --prefix=/libs
make -j install && cd ..
# netcdf-c
wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.9.3.tar.gz
tar xf v4.9.3.tar.gz && cd netcdf-c-4.9.3
./configure --prefix=/libs --disable-libxml2 --enable-netcdf-4 --enable-shared
make -j install && cd ..
# netcdf-fortran
wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.2.tar.gz
tar xf v4.6.2.tar.gz && cd netcdf-fortran-4.6.2
./configure --prefix=/libs
make -j install && cd ..
# libyaml
wget https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz
tar xf yaml-0.2.5.tar.gz && cd yaml-0.2.5
./configure --prefix=/libs
make -j install && cd ..
- name: checkout
uses: actions/checkout@v4.2.2
- name: Configure
run: |
autoreconf -if ./configure.ac
export LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH"
./configure --with-yaml
- name: Compile
run: make -j || make
- name: Run test suite
run: make check LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH" TEST_VERBOSE=1
42 changes: 14 additions & 28 deletions .github/workflows/github_cmake_gnu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,25 +18,18 @@ jobs:
container:
image: ghcr.io/noaa-gfdl/fms/fms-ci-rocky-gnu:13.2.0
env:
CMAKE_FLAGS: "${{ matrix.build-type }} ${{ matrix.omp-flags }} ${{ matrix.libyaml-flag }} -D64BIT=on"
CMAKE_FLAGS: "${{ matrix.build-type }} ${{ matrix.omp-flags }} ${{ matrix.libyaml-flag }}"
PKG_CONFIG_PATH: "/opt/views/view/lib64/pkgconfig:/opt/views/view/lib/pkgconfig:/opt/views/view/share/pkgconfig"
steps:
- name: Checkout code
uses: actions/checkout@v4.2.2
- name: Generate makefiles with CMake
run: cmake $CMAKE_FLAGS -DNetCDF_ROOT=/opt/view -DLIBYAML_ROOT=/opt/view
- name: Build the library
run: make
- name: Link with basic executable
run: |
echo "program test" > test.F90
echo " use fms_mod" >> test.F90
echo " call fms_init" >> test.F90
echo " call fms_end" >> test.F90
echo "end program" >> test.F90
mpifort -L/opt/view/lib -fopenmp `nf-config --flibs` -Iinclude_r4 -Iinclude_r8 test.F90 libfms_r4.a libfms_r8.a -o test.x
touch input.nml
- name: Run executable
run: ./test.x
mkdir build
cd build
cmake $CMAKE_FLAGS -DNetCDF_ROOT=/opt/view ..
- name: Build the library
run: make -C build

build_arm:
runs-on: ubuntu-24.04-arm
Expand All @@ -48,22 +41,15 @@ jobs:
container:
image: ghcr.io/noaa-gfdl/fms/fms-ci-rocky-gnu:13.2.0-arm
env:
CMAKE_FLAGS: "${{ matrix.build-type }} ${{ matrix.omp-flags }} ${{ matrix.libyaml-flag }} -D64BIT=on"
CMAKE_FLAGS: "${{ matrix.build-type }} ${{ matrix.omp-flags }} ${{ matrix.libyaml-flag }}"
PKG_CONFIG_PATH: "/opt/views/view/lib64/pkgconfig:/opt/views/view/lib/pkgconfig:/opt/views/view/share/pkgconfig"
steps:
- name: Checkout code
uses: actions/checkout@v4.2.2
- name: Generate makefiles with CMake
run: cmake $CMAKE_FLAGS -DNetCDF_ROOT=/opt/view -DLIBYAML_ROOT=/opt/view
- name: Build the library
run: make
- name: Link with basic executable
run: |
echo "program test" > test.F90
echo " use fms_mod" >> test.F90
echo " call fms_init" >> test.F90
echo " call fms_end" >> test.F90
echo "end program" >> test.F90
mpifort -L/opt/view/lib -fopenmp `nf-config --flibs` -Iinclude_r4 -Iinclude_r8 test.F90 libfms_r4.a libfms_r8.a -o test.x
touch input.nml
- name: Run executable
run: ./test.x
mkdir build
cd build
cmake $CMAKE_FLAGS -DNetCDF_ROOT=/opt/view ..
- name: Build the library
run: make -C build
21 changes: 10 additions & 11 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,20 +1,19 @@
#***********************************************************************
#* GNU Lesser General Public License
#* Apache License 2.0
#*
#* This file is part of the GFDL Flexible Modeling System (FMS).
#*
#* FMS is free software: you can redistribute it and/or modify it under
#* the terms of the GNU Lesser General Public License as published by
#* the Free Software Foundation, either version 3 of the License, or (at
#* your option) any later version.
#* Licensed under the Apache License, Version 2.0 (the "License");
#* you may not use this file except in compliance with the License.
#* You may obtain a copy of the License at
#*
#* FMS is distributed in the hope that it will be useful, but WITHOUT
#* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
#* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
#* for more details.
#* http://www.apache.org/licenses/LICENSE-2.0
#*
#* You should have received a copy of the GNU Lesser General Public
#* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
#* FMS is distributed in the hope that it will be useful, but WITHOUT
#* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
#* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
#* PARTICULAR PURPOSE. See the License for the specific language
#* governing permissions and limitations under the License.
#***********************************************************************
# https://github.com/github/gitignore/blob/main/Fortran.gitignore
# github uses C++ template, this only includes what fms generates
Expand Down
Loading
Loading