Skip to content

Commit

Permalink
Merge branch 'master' into expand_documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
underwoo committed Jan 7, 2021
2 parents 57d5f65 + a58af11 commit 7b30544
Show file tree
Hide file tree
Showing 176 changed files with 6,863 additions and 17,309 deletions.
47 changes: 25 additions & 22 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -25,44 +25,47 @@
# 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.
* @wrongkindofdoctor @thomas-robinson @colingladueNOAA
* @wrongkindofdoctor @thomas-robinson @bensonr @rem1776

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

# cmake files
CM* @mlee03 @ngs333
cmake @mlee03 @ngs333

# Files specific to GitHub or GitLab
/.github/ @underwoo @colingladueNOAA
/.gitlab/ @underwoo @colingladueNOAA
/.github/ @GFDL-Eric @rem1776
/.gitlab/ @GFDL-Eric @rem1776

# Testing files
/.gitlab-ci.yml @uramirez8707 @mlee03 @underwoo @bensonr @thomas-robinson @wrongkindofdoctor @colingladueNOAA
/.travis.yml @uramirez8707 @mlee03 @underwoo @bensonr @thomas-robinson @wrongkindofdoctor @colingladueNOAA
/test_fms/ @uramirez8707 @mlee03 @underwoo @bensonr @thomas-robinson @wrongkindofdoctor @colingladueNOAA
/.gitlab-ci.yml @uramirez8707 @mlee03 @bensonr @thomas-robinson @wrongkindofdoctor @rem1776
/test_fms/ @uramirez8707 @mlee03 @bensonr @thomas-robinson @wrongkindofdoctor @rem1776

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

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

/data_override/ @GFDL-Eric
/test_fms/data_override/ @GFDL-Eric @colingladueNOAA
/test_fms/data_override/ @GFDL-Eric @rem1776

/diag_manager @thomas-robinson @underwoo @ngs333
/test_fms/diag_manager/ @thomas-robinson @underwoo @ngs333 @colingladueNOAA
/diag_manager @thomas-robinson @ngs333
/test_fms/diag_manager/ @thomas-robinson @ngs333

/fv3gfs/ @bensonr

/fms/ @wrongkindofdoctor @thomas-robinson
/test_fms/fms/ @wrongkindofdoctor @thomas-robinson @colingladueNOAA
/fms2/ @wrongkindofdoctor @thomas-robinson
/test_fms/fms2/ @wrongkindofdoctor @thomas-robinson @colingladueNOAA
/fms/ @wrongkindofdoctor @thomas-robinson @rem1776
/test_fms/fms/ @wrongkindofdoctor @thomas-robinson @rem1776
/fms2/ @uramirez8707 @GFDL-Eric
/test_fms/fms2/ @uramirez8707 @GFDL-Eric

/libFMS/ @underwoo @colingladueNOAA
/libFMS/ @thomas-robinson @rem1776

/mpp/ @wrongkindofdoctor @thomas-robinson
/test_fms/mpp/ @wrongkindofdoctor @thomas-robinson @colingladueNOAA
/mpp/ @wrongkindofdoctor @thomas-robinson @bensonr
/test_fms/mpp/ @wrongkindofdoctor @thomas-robinson @bensonr @rem1776
32 changes: 32 additions & 0 deletions .github/workflows/build_ubuntu_gnu.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Build libFMS test

on: [push, pull_request]

jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
distcheck-conf-flags: [--enable-openmp, --disable-openmp, --enable-mixed-mode, --disable-setting-flags]
fcflags: ["-I/usr/include", "-fdefault-real-8 -fdefault-double-8 -fcray-pointer -ffree-line-length-none -I/usr/include"]
exclude:
- distcheck-conf-flags: --disable-setting-flags
fcflags: -I/usr/include
- distcheck-conf-flags: --enable-mixed-mode
fcflags: "-fdefault-real-8 -fdefault-double-8 -fcray-pointer -ffree-line-length-none -I/usr/include"
container:
image: underwoo/ubuntu_libfms_gnu
env:
FCFLAGS: "${{ matrix.fcflags }}"
VERBOSE: 1
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Prepare GNU autoconf for build
run: autoreconf -if
- name: Configure the build
run: ./configure ${{ matrix.distcheck-conf-flags }}
env:
DISTCHECK_CONFIGURE_FLAGS: "${{ matrix.distcheck-conf-flags }}"
- name: Build the library
run: make -j distcheck
12 changes: 12 additions & 0 deletions .github/workflows/lint_fms.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: libFMS lint tests

on: [push, pull_request]

jobs:
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Run Lint
uses: NOAA-GFDL/simple_lint@v1
162 changes: 0 additions & 162 deletions .travis.yml

This file was deleted.

68 changes: 67 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,72 @@ 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 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
- 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
- FMS2_IO: Adds netcdf_default_format to the fms2io namelist which allows the user to change the netcdf file type. The default value is 64bit.
- FMS2_IO: Adds support to read netcdf string global attributes
- FMS2_IO: Adds an optional argument to open_file, `dont_add_res_to_filename`, which indicates that the filename should not be modified (default adds .res to restart file name)
- FMS2_IO: Modifies the `register_variable_attribute` and `register_global_attribute` interfaces by adding str_len as an argument. This is a workaround to get fms2io to work with PGI because they don't support class (*) with len=*.
- FMS2_IO: Adds unit test that tests `write_data` and `read_data` when using a domain with a mask table
- FMS2_IO: Adds fms2io’s version of get_mosaic_tile_grid
- MPP_IO: Adds `-Duse_mpp_io` compile option for data_override, interpolator, amip_interp, diag_manager, topography, and xgrid to select using mpp_io instead of fms2_io
- MPP_INIT: Adds unit tests for routines/functions that are called in mpp_init
- CMAKE: A cmake build system has been added with a CI build using cmake
### Changed
- FMS2_IO: Improves performance of previous release by gathering the domain decomposed data into one global buffer and doing one write rather than doing multiple reads
- DATA_OVERRIDE: Changes line in time_interp_external2 to enable 3D overrides

### Fixed
- DATA_OVERRIDE[2]: Fixes a crash when doing ongrid data_override calls with a domain with halos
- DIAG_MANAGER[2]: Fixes an issue where time_bnds were written incorrectly for the last time stamp
- DIAG_MANAGER: Regional diagnostics with a mask table now work
- FMS2_IO: Unit test includes fms2io_init call to improve functionality
- MPP: BOZ literals that are used in variable declaration are converted to integers using the int() function.
- MPP_DOMAINS2: Fixed unit test
- FMS_IO: Changes the logic in get_tile_string to fix bug where tile numbers 9 and 99 produce an inappropriate error

### Tag Commit Hashes
- 2020.03-beta4 (4d38679c1e18e920feb03d69f8a9762eb6a047aa)
- 2020.03-beta3 (521a15135a99d1f2da7d82f238353945f82ce1dd)
- 2020.03-beta2 (3dae0dfa405d555ecc09bbd2d60a1be24461f69e)
- 2020.03-beta1 (f7f1c1c73c1f478a53e84caee6aff2fa840ad086)
- 2020.03-alpha1 (2dd30b7ca0ac75a4a38b969e4a6d446eb395b4dd)


## [2020.02] - 2020-05-01
### Added
Expand All @@ -20,7 +86,7 @@ sequential patch number (starting from `01`).

### Removed
- GENERAL: References to the macro _ALLOCATABLE have been replaced with “allocatable”, _ALLOCATED has been replaced with “allocated”, and _NULL has been removed. It is now assumed that all compilers support the Fortran 2003 standard. The macros still exist in fms_platforms.h for compatibility within other components.
- DIAG_MANAGER: “fms_platform.h” is no longer included in any of the diag_manager routines. Instead, fms_platform_mod is now being use-associated where necessary. This fixes an issue for debuggers not providing correct line numbers.
- DIAG_MANAGER: “fms_platform.h” is no longer included in any of the diag_manager routines. Instead, fms_platform_mod is now being use-associated where necessary. This fixes an issue for debuggers not providing correct line numbers.

### Tag Commit Hashes
- 2020.02-beta1 (bbc6f8d33cfb75a411bbcd3f8423fa74b8b7cdfd)
Expand Down
Loading

0 comments on commit 7b30544

Please sign in to comment.