Skip to content

Commit b2be463

Browse files
authored
Merge branch 'main' into metadata-transfer
2 parents ecba40d + 59763e9 commit b2be463

207 files changed

Lines changed: 2811 additions & 2929 deletions

File tree

Some content is hidden

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

.editorconfig

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
#***********************************************************************
2-
# GNU Lesser General Public License
3-
#
4-
# This file is part of the GFDL FRE NetCDF tools package (FRE NCtools).
5-
#
6-
# FRE NCtools is free software: you can redistribute it and/or modify it under
7-
# the terms of the GNU Lesser General Public License as published by
8-
# the Free Software Foundation, either version 3 of the License, or (at
9-
# your option) any later version.
10-
#
11-
# FRE NCtools is distributed in the hope that it will be useful, but WITHOUT
12-
# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13-
# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14-
# for more details.
15-
#
16-
# You should have received a copy of the GNU Lesser General Public
17-
# License along with FMS. If not, see <http://www.gnu.org/licenses/>.
18-
#**********************************************************************/
2+
#* Apache License 2.0
3+
#*
4+
#* This file is part of the GFDL Flexible Modeling System (FMS).
5+
#*
6+
#* Licensed under the Apache License, Version 2.0 (the "License");
7+
#* you may not use this file except in compliance with the License.
8+
#* You may obtain a copy of the License at
9+
#*
10+
#* http://www.apache.org/licenses/LICENSE-2.0
11+
#*
12+
#* FMS is distributed in the hope that it will be useful, but WITHOUT
13+
#* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
14+
#* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
15+
#* PARTICULAR PURPOSE. See the License for the specific language
16+
#* governing permissions and limitations under the License.
17+
#***********************************************************************
1918

2019
# This is the preferred settings for files in the FRE NetCDF package
2120
# Please visit https://editorconfig.org for information on how to

.github/CODEOWNERS

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
#***********************************************************************
2-
#* GNU Lesser General Public License
2+
#* Apache License 2.0
33
#*
44
#* This file is part of the GFDL Flexible Modeling System (FMS).
55
#*
6-
#* FMS is free software: you can redistribute it and/or modify it under
7-
#* the terms of the GNU Lesser General Public License as published by
8-
#* the Free Software Foundation, either version 3 of the License, or (at
9-
#* your option) any later version.
6+
#* Licensed under the Apache License, Version 2.0 (the "License");
7+
#* you may not use this file except in compliance with the License.
8+
#* You may obtain a copy of the License at
109
#*
11-
#* FMS is distributed in the hope that it will be useful, but WITHOUT
12-
#* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13-
#* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14-
#* for more details.
10+
#* http://www.apache.org/licenses/LICENSE-2.0
1511
#*
16-
#* You should have received a copy of the GNU Lesser General Public
17-
#* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
12+
#* FMS is distributed in the hope that it will be useful, but WITHOUT
13+
#* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
14+
#* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
15+
#* PARTICULAR PURPOSE. See the License for the specific language
16+
#* governing permissions and limitations under the License.
1817
#***********************************************************************
1918
#
2019
# Each line is a file pattern followed by one or more owners. The owner

.github/workflows/github_autotools_gnu.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ jobs:
2424
env:
2525
TEST_VERBOSE: 1
2626
DISTCHECK_CONFIGURE_FLAGS: "${{ matrix.conf-flag }} ${{ matrix.input-flag }} ${{ matrix.io-flag }}"
27-
SKIP_TESTS: "test_horiz_interp2.[23-24]" # TODO (couldn't reproduce outside CI)
2827
DEBUG_FLAGS: "-O0 -g -fbounds-check -ffpe-trap=invalid,zero,overflow" # debug compiler flags taken from the mkmf template
2928
steps:
3029
- name: Checkout code

.github/workflows/github_autotools_intel.yml renamed to .github/workflows/github_autotools_intel_classic.yml

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
on: pull_request
1+
on:
2+
schedule:
3+
- cron: '0 0 * * 0' # sundays @ midnight
4+
25

36
# cancel running jobs if theres a newer push
47
concurrency:
@@ -26,7 +29,7 @@ jobs:
2629
uses: actions/cache@v4.2.0
2730
with:
2831
path: /libs
29-
key: ${{ runner.os }}-intel-libs
32+
key: intel-libs
3033
- name: Install packages for building
3134
run: apt-get update && apt-get install -y autoconf libtool automake zlibc zlib1g-dev
3235
- if: steps.cache.outputs.cache-hit != 'true'
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
on: pull_request
2+
3+
# cancel running jobs if theres a newer push
4+
concurrency:
5+
group: ${{ github.workflow }}-${{ github.ref }}
6+
cancel-in-progress: true
7+
8+
jobs:
9+
intel-oneapi-2025.3:
10+
runs-on: ubuntu-latest
11+
container:
12+
image: intel/oneapi-hpckit:2025.3.0-0-devel-ubuntu22.04
13+
env:
14+
CC: "mpiicx"
15+
FC: "mpiifx"
16+
CFLAGS: "-I/libs/include"
17+
FCFLAGS: "-I/libs/include -g -traceback"
18+
LDFLAGS: "-L/libs/lib"
19+
TEST_VERBOSE: 1
20+
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"
23+
steps:
24+
- name: Cache dependencies
25+
id: cache
26+
uses: actions/cache@v4.2.0
27+
with:
28+
path: /libs
29+
key: intel-libs
30+
- name: Install packages for building
31+
run: apt-get update && apt-get install -y autoconf libtool automake zlib1g zlib1g-dev libcurl4-openssl-dev
32+
- if: steps.cache.outputs.cache-hit != 'true'
33+
name: Build netcdf
34+
run: |
35+
# install everything to /libs
36+
export LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH"
37+
mkdir /libs
38+
# hdf5
39+
wget https://support.hdfgroup.org/releases/hdf5/v1_14/v1_14_6/downloads/hdf5-1.14.6.tar.gz
40+
tar xf hdf5-1.14.6.tar.gz && cd hdf5-1.14.6
41+
./configure --prefix=/libs
42+
make -j install && cd ..
43+
# netcdf-c
44+
wget https://github.com/Unidata/netcdf-c/archive/refs/tags/v4.9.3.tar.gz
45+
tar xf v4.9.3.tar.gz && cd netcdf-c-4.9.3
46+
./configure --prefix=/libs --disable-libxml2 --enable-netcdf-4 --enable-shared
47+
make -j install && cd ..
48+
# netcdf-fortran
49+
wget https://github.com/Unidata/netcdf-fortran/archive/refs/tags/v4.6.2.tar.gz
50+
tar xf v4.6.2.tar.gz && cd netcdf-fortran-4.6.2
51+
./configure --prefix=/libs
52+
make -j install && cd ..
53+
# libyaml
54+
wget https://github.com/yaml/libyaml/releases/download/0.2.5/yaml-0.2.5.tar.gz
55+
tar xf yaml-0.2.5.tar.gz && cd yaml-0.2.5
56+
./configure --prefix=/libs
57+
make -j install && cd ..
58+
- name: checkout
59+
uses: actions/checkout@v4.2.2
60+
- name: Configure
61+
run: |
62+
autoreconf -if ./configure.ac
63+
export LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH"
64+
./configure --with-yaml
65+
- name: Compile
66+
run: make -j || make
67+
- name: Run test suite
68+
run: make check LD_LIBRARY_PATH="/libs/lib:$LD_LIBRARY_PATH" TEST_VERBOSE=1

.gitignore

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
#***********************************************************************
2-
#* GNU Lesser General Public License
2+
#* Apache License 2.0
33
#*
44
#* This file is part of the GFDL Flexible Modeling System (FMS).
55
#*
6-
#* FMS is free software: you can redistribute it and/or modify it under
7-
#* the terms of the GNU Lesser General Public License as published by
8-
#* the Free Software Foundation, either version 3 of the License, or (at
9-
#* your option) any later version.
6+
#* Licensed under the Apache License, Version 2.0 (the "License");
7+
#* you may not use this file except in compliance with the License.
8+
#* You may obtain a copy of the License at
109
#*
11-
#* FMS is distributed in the hope that it will be useful, but WITHOUT
12-
#* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13-
#* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14-
#* for more details.
10+
#* http://www.apache.org/licenses/LICENSE-2.0
1511
#*
16-
#* You should have received a copy of the GNU Lesser General Public
17-
#* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
12+
#* FMS is distributed in the hope that it will be useful, but WITHOUT
13+
#* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
14+
#* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
15+
#* PARTICULAR PURPOSE. See the License for the specific language
16+
#* governing permissions and limitations under the License.
1817
#***********************************************************************
1918
# https://github.com/github/gitignore/blob/main/Fortran.gitignore
2019
# github uses C++ template, this only includes what fms generates

CMakeLists.txt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
#***********************************************************************
2-
#* GNU Lesser General Public License
2+
#* Apache License 2.0
33
#*
44
#* This file is part of the GFDL Flexible Modeling System (FMS).
55
#*
6-
#* FMS is free software: you can redistribute it and/or modify it under
7-
#* the terms of the GNU Lesser General Public License as published by
8-
#* the Free Software Foundation, either version 3 of the License, or (at
9-
#* your option) any later version.
6+
#* Licensed under the Apache License, Version 2.0 (the "License");
7+
#* you may not use this file except in compliance with the License.
8+
#* You may obtain a copy of the License at
109
#*
11-
#* FMS is distributed in the hope that it will be useful, but WITHOUT
12-
#* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13-
#* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14-
#* for more details.
10+
#* http://www.apache.org/licenses/LICENSE-2.0
1511
#*
16-
#* You should have received a copy of the GNU Lesser General Public
17-
#* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
12+
#* FMS is distributed in the hope that it will be useful, but WITHOUT
13+
#* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
14+
#* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
15+
#* PARTICULAR PURPOSE. See the License for the specific language
16+
#* governing permissions and limitations under the License.
1817
#***********************************************************************
1918

2019
# Copyright (c) GFDL, @underwoo

CODE_STYLE.md

Lines changed: 41 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
* No <Tab> characters.
88
* Supply a header for each file with a description of the file and the author(s)
99
name or GitHub ID.
10-
* A copy of the [Gnu Lesser General Public License](https://www.gnu.org/licenses/lgpl-3.0.en.html)
10+
* A copy of the [Apache License 2.0](https://www.apache.org/licenses/LICENSE-2.0)
1111
must be included at the top of each file.
1212
* Documentation should be written so that it can be parsed by [Doxygen](http://www.doxygen.nl/).
1313
* Files, modules, and public routines should be prefixed with `fms_subfolder_` where `subfolder` is
@@ -97,22 +97,21 @@
9797
```Fortran ./fms_subfolder_example.F90 file
9898
9999
!***********************************************************************
100-
!* GNU Lesser General Public License
100+
!* Apache License 2.0
101101
!*
102102
!* This file is part of the GFDL Flexible Modeling System (FMS).
103103
!*
104-
!* FMS is free software: you can redistribute it and/or modify it under
105-
!* the terms of the GNU Lesser General Public License as published by
106-
!* the Free Software Foundation, either version 3 of the License, or (at
107-
!* your option) any later version.
104+
!* Licensed under the Apache License, Version 2.0 (the "License");
105+
!* you may not use this file except in compliance with the License.
106+
!* You may obtain a copy of the License at
108107
!*
109-
!* FMS is distributed in the hope that it will be useful, but WITHOUT
110-
!* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
111-
!* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
112-
!* for more details.
108+
!* http://www.apache.org/licenses/LICENSE-2.0
113109
!*
114-
!* You should have received a copy of the GNU Lesser General Public
115-
!* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
110+
!* FMS is distributed in the hope that it will be useful, but WITHOUT
111+
!* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
112+
!* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
113+
!* PARTICULAR PURPOSE. See the License for the specific language
114+
!* governing permissions and limitations under the License.
116115
!***********************************************************************
117116
118117
!> @file
@@ -177,22 +176,21 @@ end module example_mod
177176
```
178177
```Fortran ./include/example_r4.fh file
179178
!***********************************************************************
180-
!* GNU Lesser General Public License
179+
!* Apache License 2.0
181180
!*
182181
!* This file is part of the GFDL Flexible Modeling System (FMS).
183182
!*
184-
!* FMS is free software: you can redistribute it and/or modify it under
185-
!* the terms of the GNU Lesser General Public License as published by
186-
!* the Free Software Foundation, either version 3 of the License, or (at
187-
!* your option) any later version.
183+
!* Licensed under the Apache License, Version 2.0 (the "License");
184+
!* you may not use this file except in compliance with the License.
185+
!* You may obtain a copy of the License at
188186
!*
189-
!* FMS is distributed in the hope that it will be useful, but WITHOUT
190-
!* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
191-
!* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
192-
!* for more details.
187+
!* http://www.apache.org/licenses/LICENSE-2.0
193188
!*
194-
!* You should have received a copy of the GNU Lesser General Public
195-
!* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
189+
!* FMS is distributed in the hope that it will be useful, but WITHOUT
190+
!* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
191+
!* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
192+
!* PARTICULAR PURPOSE. See the License for the specific language
193+
!* governing permissions and limitations under the License.
196194
!***********************************************************************
197195
198196
!> @file
@@ -210,22 +208,21 @@ end module example_mod
210208
```
211209
```Fortran ./include/example_r8.fh file
212210
!***********************************************************************
213-
!* GNU Lesser General Public License
211+
!* Apache License 2.0
214212
!*
215213
!* This file is part of the GFDL Flexible Modeling System (FMS).
216214
!*
217-
!* FMS is free software: you can redistribute it and/or modify it under
218-
!* the terms of the GNU Lesser General Public License as published by
219-
!* the Free Software Foundation, either version 3 of the License, or (at
220-
!* your option) any later version.
215+
!* Licensed under the Apache License, Version 2.0 (the "License");
216+
!* you may not use this file except in compliance with the License.
217+
!* You may obtain a copy of the License at
221218
!*
222-
!* FMS is distributed in the hope that it will be useful, but WITHOUT
223-
!* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
224-
!* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
225-
!* for more details.
219+
!* http://www.apache.org/licenses/LICENSE-2.0
226220
!*
227-
!* You should have received a copy of the GNU Lesser General Public
228-
!* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
221+
!* FMS is distributed in the hope that it will be useful, but WITHOUT
222+
!* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
223+
!* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
224+
!* PARTICULAR PURPOSE. See the License for the specific language
225+
!* governing permissions and limitations under the License.
229226
!***********************************************************************
230227
231228
!> @file
@@ -243,22 +240,21 @@ end module example_mod
243240
```
244241
``` Fortran ./include/example.inc file
245242
!***********************************************************************
246-
!* GNU Lesser General Public License
243+
!* Apache License 2.0
247244
!*
248245
!* This file is part of the GFDL Flexible Modeling System (FMS).
249246
!*
250-
!* FMS is free software: you can redistribute it and/or modify it under
251-
!* the terms of the GNU Lesser General Public License as published by
252-
!* the Free Software Foundation, either version 3 of the License, or (at
253-
!* your option) any later version.
247+
!* Licensed under the Apache License, Version 2.0 (the "License");
248+
!* you may not use this file except in compliance with the License.
249+
!* You may obtain a copy of the License at
254250
!*
255-
!* FMS is distributed in the hope that it will be useful, but WITHOUT
256-
!* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
257-
!* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
258-
!* for more details.
251+
!* http://www.apache.org/licenses/LICENSE-2.0
259252
!*
260-
!* You should have received a copy of the GNU Lesser General Public
261-
!* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
253+
!* FMS is distributed in the hope that it will be useful, but WITHOUT
254+
!* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
255+
!* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
256+
!* PARTICULAR PURPOSE. See the License for the specific language
257+
!* governing permissions and limitations under the License.
262258
!***********************************************************************
263259
!> @file
264260
!! @brief Example .inc file containing subroutine definitions/declarations

FMS.pc.in

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,19 @@
11
#***********************************************************************
2-
#* GNU Lesser General Public License
2+
#* Apache License 2.0
33
#*
44
#* This file is part of the GFDL Flexible Modeling System (FMS).
55
#*
6-
#* FMS is free software: you can redistribute it and/or modify it under
7-
#* the terms of the GNU Lesser General Public License as published by
8-
#* the Free Software Foundation, either version 3 of the License, or (at
9-
#* your option) any later version.
6+
#* Licensed under the Apache License, Version 2.0 (the "License");
7+
#* you may not use this file except in compliance with the License.
8+
#* You may obtain a copy of the License at
109
#*
11-
#* FMS is distributed in the hope that it will be useful, but WITHOUT
12-
#* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13-
#* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14-
#* for more details.
10+
#* http://www.apache.org/licenses/LICENSE-2.0
1511
#*
16-
#* You should have received a copy of the GNU Lesser General Public
17-
#* License along with FMS. If not, see <http://www.gnu.org/licenses/>.
12+
#* FMS is distributed in the hope that it will be useful, but WITHOUT
13+
#* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied;
14+
#* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
15+
#* PARTICULAR PURPOSE. See the License for the specific language
16+
#* governing permissions and limitations under the License.
1817
#***********************************************************************
1918

2019
prefix=@prefix@

0 commit comments

Comments
 (0)