From a6f5983093f81bb01deabec515c73abe7fa633e7 Mon Sep 17 00:00:00 2001 From: rem1776 Date: Tue, 13 Jan 2026 16:38:52 -0500 Subject: [PATCH] update the various .md files --- .github/PULL_REQUEST_TEMPLATE.md | 10 +++--- CI.md | 54 ++++++++++++++++++++------------ INSTALL.md | 2 -- README.md | 22 +++++-------- 4 files changed, 46 insertions(+), 42 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 592bc36898..09e6138896 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -14,9 +14,9 @@ enough information so someone can reproduce your tests. - [ ] My code follows the style guidelines of this project - [ ] I have performed a self-review of my own code - [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] I have made corresponding changes to the documentation -- [ ] My changes generate no new warnings -- [ ] Any dependent changes have been merged and published in downstream modules -- [ ] New check tests, if applicable, are included -- [ ] `make distcheck` passes +- [ ] I have made corresponding changes to the inline documentation (see STYLE_GUIDE.md for more info) +- [ ] My changes generate no new compiler warnings +- [ ] All added code is tested by a unit test, either by modifying an existing test or creating a new one +- [ ] Code compiles with both build systems (cmake and autotools) +- [ ] `make distcheck` is able to compile, test, and package the library diff --git a/CI.md b/CI.md index 89b4db256e..98d96f4fdb 100644 --- a/CI.md +++ b/CI.md @@ -7,20 +7,20 @@ Required CI for pull requests are listed first. ## Pull Request CI and checks -### Build libFMS with autotools +### Build libFMS with autotools using GCC Required GNU build test for all pull requests/pushes. Runs `make distcheck` after configuring via GNU autotools. Runs on a container image with spack installed dependencies, on top a rocky linux base. -Dockerfile for image is stored at .github/workflows/Dockerfile.gnu for more specific information on the CI environment. +Dockerfile for image is stored in the [HPC-ME repository](github.com/noaa-gfdl/hpc-me). Container environment: -gcc v12.3.0 +gcc v13.2.0 mpich v4.0.2 -netcdf v4.9.0 -netcdf-fortran v4.6.0 +netcdf-c v4.9.2 +netcdf-fortran v4.6.1 autoconf v2.69 libyaml v0.2.5 @@ -33,25 +33,39 @@ libyaml v0.2.5 - `--enable-test-input=/home/unit_tests_input` -### Build libfms with cmake +### Build libfms with cmake using GCC Required GNU build test for all pull requests/pushes. Runs `make` after configuring via cmake. -Container environment: -gcc v7.3.0 -mpich v3.3a2 -netcdf v4.6.0 -netcdf-fortran v4.4.4 -cmake v3.22.0 - -container hosted at [noaagfdl/ubuntu_libfms_gnu:latest](https://hub.docker.com/r/noaagfdl/ubuntu_libfms_gnu) - cmake flags: - `-DOPENMP=on` - `-DOPENMP=on` - `-DWITH_YAML=on` - `-D64BIT=on` + +### Build libfms with autotools using Intel Oneapi Compilers + +Required build test for all pull requests. Workflow will build hdf5, netcdf, and libyaml and cache them for reuse. Cache can be used for a week before clearing. + +Test Environment: +intel-oneapi v2025.3.0 +hdf5 v1.14.6 +netcdf-c v4.9.3 +netcdf-fortran v4.6.2 +libyaml v0.2.5 + +### Build libfms with autotools using Intel Classic Compilers + +This test is triggered weekly on Sundays @ midnight and uses the intel 2023.1 classic compilers (ie. ifort/icc). + +Test Environment: +intel-oneapi v2025.3.0 +hdf5 v1.12.2 +netcdf-c v4.8.1 +netcdf-fortran v4.6.0 +libyaml v0.2.5 + ### libFMS lint tests Required test for all pull requests. Checks code for line lengths, tabs, and trailing whitespace in accordance with @@ -60,9 +74,9 @@ The action is hosted on github [here](https://github.com/NOAA-GFDL/simple_lint). ## Parallelworks CI The following CI workflows run on self-hosted runners through the parallelworks platform. -### Pull Request CI libFMS with intel -Optional(does not need to pass to merge) intel build test hosted on the parallelworks platform. -Runs `make check` with intel 18 and 21 compilers for all pull requests. -### Tag CI libFMS with AM4 regression -On alpha or beta tag creation, compiles and runs full AM4 model regression testing using the new FMS tag on parallelworks. +### AM5 testing + +On all pull requests, a full scale model test is compiled using the `c96L65_am5f11d12r0_amip` experiment from AM5 and run on a parallelworks cluster. + +This test will compile with debug flags and openmp enabled for a basic regression test. diff --git a/INSTALL.md b/INSTALL.md index a6ab9858fe..ca928d36f0 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -76,8 +76,6 @@ For more information on building with autotools and build options please see To build using CMake, follow the instructions in [CMAKE_INSTRUCTIONS.mk](https://github.com/NOAA-GFDL/FMS/blob/main/CMAKE_INSTRUCTIONS.md). -Currently the CMake configuration is the most restrictive build option as the -compiler flags are immutable. ### GFDL MKMF diff --git a/README.md b/README.md index 88af02074c..60704b5d89 100644 --- a/README.md +++ b/README.md @@ -1,11 +1,3 @@ -# License Announcement - -FMS will switch to the -[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0.txt) -with the 2025.04 release scheduled for September 2025. Please refer to -[issue 1683 on changing the license](https://github.com/NOAA-GFDL/FMS/issues/1683) -to participate in or follow any discussion on the topic. - # Modeling Framework: Flexible Modeling System (FMS) Today’s climate models simulate highly complex systems. In response to @@ -97,13 +89,13 @@ Compilers used in our Github continuous integration testing are in bold. |Compiler | Version |Builds Successfully | Unit Testing | |------------------------|---------|---------------------------|---------------------| -|**intel classic(ifort)**| 2021.6.0| yes | passes | -|**GNU (gfortran)** | 9.3.0 | yes | passes | -|intel oneapi (ifx) | 2021.6.0| yes | passes | -|GNU (gfortran) | 11.2.0 | yes | passes | -|HP/Cray (cce) | 9.1.1 | yes | not passing | -|Nvidia/PGI(nvfortran) | 22.9 | no | not passing | -|AMD (aocc) | 3.2.0 | no(compiles,fails to link)| not passing | +|**intel oneapi(ifx)** | 2025.3.0| yes | passes | +|**intel classic(ifort)**| 2023.2.0| yes | passes | +|**GNU (gfortran)** | 13.2.0 | yes | passes | +|GNU (gfortran) | 15.3.0 | yes | not all passing | +|HP/Cray (cce) | 9.1.1 | yes | not all passing | +|Nvidia(nvfortran) | 24.9 | no | n/a | +|AMD (aocc) | 3.2.0 | no(compiles,fails to link)| n/a | ## Documentation