From 2816dfe359d00fa9a552675c239f42aea9a61f61 Mon Sep 17 00:00:00 2001 From: Ryan Mulhall Date: Mon, 7 Dec 2020 08:39:38 -0500 Subject: [PATCH 1/2] Added to change log and incremented version numbers for release --- CHANGELOG.md | 34 +++++++++++++++++++++++++++++++++- CMakeLists.txt | 2 +- configure.ac | 2 +- libFMS/Makefile.am | 2 +- 4 files changed, 36 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b39f7810fe..987a151e20 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,39 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0), and this project uses `yyyy.rr[.pp]`, where `yyyy` is the year a patch is released, `rr` is a sequential release number (starting from `01`), and an optional two-digit sequential patch number (starting from `01`). - +## [2020.04] - 2020-12-07 +### Added +- DIAG_MANAGER: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. +- DIAG_MANAGER: A check is added before a time axis is registered to check if the time axis is registered as a variable +- DIAG_MANAGER: A unit test was added to test the optional `new_file_freq` functionality +- XGRID: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. +- INTERPOLATOR: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. +- AMIP_INTERP: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. +- TOPOGRAPHY: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. +- DATA_OVERRIDE: A namelist flag called `use_mpp_bug` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. +- DATA_OVERRIDE: A namelist flag called `reproduce_null_char_bug_flag` if set to .true. and fms2_io is being used, it will reproduce the mpp_io bug where the axis bounds were calculated instead of read. The default is .false. +A unit test was added to test the functionality of `get_grid_version_1` +- FMS2_IO: A unit test was added to test the functionality of `get_valid` and `is_valid` +### Changed +- The autotools build has been changed to copy each subdirectory module (.mod) files to a common .mod directory located at the top of the source directory. This change simplifies the include path specifications. +- Use F90 module files for external libraries (MPI and NetCDF) for improved interface checking, thereby removing the reliance on library header include files. +### Removed +- LIBFMS: The flag -Duse_mpp_io should not be used and will cause a crash +- LIBFMS: Macros and logic for interfacing to the Flexible FIle I/O library +- LIBFMS: Macros for SGI MIPSpro compilers, including: mpp_node function, SGI Irix specific high resolution timer, Macros for IBM AIX compilers +- LIBFMS: Files in mpp supporting the CRAY SHMEM communications library +- LIBFMS: Files in mpp for the SGI PSET approach for communication via GSM +### Fixed +- DATA_OVERRIDE: Fixed a bug in `get_grid_version_1` where the variable_size calls were not correct +- FMS2_IO: Fixed a bug in `get_valid` where the mpp_broadcast calls were done inside `if (root_pe)` blocks +The fms2_io unit tests were modified so they can work with the AOCC compiler +- XGRID: Fixed a bug in `load_xgrid` by checking if a dimension exists before calling `get_dimension_size` to avoid `FATAL: NetCDF: Invalid dimension ID or name` crashes +### Tag Commit Hashes +- 2020.04-alpha1 (2428bb182133b8062432ee1b15974739753ca470) +- 2020.04-alpha2 (ad9915d83a2f34610cd748fd85889ba1f0f1fc02) +- 2020.04-alpha3 (e7e48839ab25cc9405abe5d8418e1b6ee6fb2d69) +- 2020.04-beta1 (6d3ac620423e7ede412e4bb1b36c338775d95193) + ## [2020.03] - 2020-10-08 ### Added - FMS2_IO: Adds header_buffer_val to the fms2io namelist which sets the netcdf header size in bytes. The default value is 16kb diff --git a/CMakeLists.txt b/CMakeLists.txt index bacdd1e6a9..71549223ae 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -23,7 +23,7 @@ cmake_minimum_required(VERSION 3.7...3.15 FATAL_ERROR) # Define the CMake project project(FMS - VERSION 2020.03 + VERSION 2020.04 DESCRIPTION "GFDL FMS Library" HOMEPAGE_URL "https://www.gfdl.noaa.gov/fms" LANGUAGES C Fortran) diff --git a/configure.ac b/configure.ac index 873de82f29..88b50520e9 100644 --- a/configure.ac +++ b/configure.ac @@ -25,7 +25,7 @@ AC_PREREQ([2.59]) # Initialize with name, version, and support email address. AC_INIT([GFDL FMS Library], - [2020.03-dev], + [2020.04], [gfdl.climate.model.info@noaa.gov], [FMS], [https://www.gfdl.noaa.gov/fms]) diff --git a/libFMS/Makefile.am b/libFMS/Makefile.am index f9b0f075e7..0c63a4249e 100644 --- a/libFMS/Makefile.am +++ b/libFMS/Makefile.am @@ -28,7 +28,7 @@ lib_LTLIBRARIES = libFMS.la # These linker flags specify libtool version info. # See http://www.gnu.org/software/libtool/manual/libtool.html#Libtool-versioning # for information regarding incrementing `-version-info`. -libFMS_la_LDFLAGS = -version-info 5:0:0 +libFMS_la_LDFLAGS = -version-info 6:0:0 # Add the convenience libraries to the FMS library. libFMS_la_LIBADD = ${top_builddir}/platform/libplatform.la From e9dbddbfb04fe78110c054a54d6c3dbf7b48d5f1 Mon Sep 17 00:00:00 2001 From: rem1776 <35538242+rem1776@users.noreply.github.com> Date: Mon, 7 Dec 2020 11:16:38 -0500 Subject: [PATCH 2/2] Separate unrelated items and clean up --- CHANGELOG.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 987a151e20..47cd2cdef3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,14 +7,14 @@ and this project uses `yyyy.rr[.pp]`, where `yyyy` is the year a patch is releas sequential patch number (starting from `01`). ## [2020.04] - 2020-12-07 ### Added -- DIAG_MANAGER: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. +- DIAG_MANAGER: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. - DIAG_MANAGER: A check is added before a time axis is registered to check if the time axis is registered as a variable - DIAG_MANAGER: A unit test was added to test the optional `new_file_freq` functionality - XGRID: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. -- INTERPOLATOR: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. -- AMIP_INTERP: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. -- TOPOGRAPHY: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. -- DATA_OVERRIDE: A namelist flag called `use_mpp_bug` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. +- INTERPOLATOR: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. +- AMIP_INTERP: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. +- TOPOGRAPHY: A namelist flag called `use_mpp_io` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. +- DATA_OVERRIDE: A namelist flag called `use_mpp_bug` if set to .true. will use mpp_io. The default is .false. and will use fms2_io. - DATA_OVERRIDE: A namelist flag called `reproduce_null_char_bug_flag` if set to .true. and fms2_io is being used, it will reproduce the mpp_io bug where the axis bounds were calculated instead of read. The default is .false. A unit test was added to test the functionality of `get_grid_version_1` - FMS2_IO: A unit test was added to test the functionality of `get_valid` and `is_valid` @@ -23,8 +23,9 @@ A unit test was added to test the functionality of `get_grid_version_1` - Use F90 module files for external libraries (MPI and NetCDF) for improved interface checking, thereby removing the reliance on library header include files. ### Removed - LIBFMS: The flag -Duse_mpp_io should not be used and will cause a crash -- LIBFMS: Macros and logic for interfacing to the Flexible FIle I/O library -- LIBFMS: Macros for SGI MIPSpro compilers, including: mpp_node function, SGI Irix specific high resolution timer, Macros for IBM AIX compilers +- LIBFMS: Macros and logic for interfacing to the Flexible File I/O library +- LIBFMS: Macros for SGI MIPSpro compilers, including: mpp_node function and SGI Irix specific high resolution timer +- LIBFMS: Macros for IBM AIX compilers - LIBFMS: Files in mpp supporting the CRAY SHMEM communications library - LIBFMS: Files in mpp for the SGI PSET approach for communication via GSM ### Fixed