Skip to content

Commit

Permalink
Merge branch 'gchp/dev' into feature/FillValue_handling_fix
Browse files Browse the repository at this point in the history
  • Loading branch information
lizziel authored Dec 9, 2022
2 parents 98b7785 + 51a5730 commit 191585d
Show file tree
Hide file tree
Showing 436 changed files with 12,686 additions and 2,559 deletions.
387 changes: 119 additions & 268 deletions .circleci/config.yml

Large diffs are not rendered by default.

40 changes: 20 additions & 20 deletions .github/workflows/changelog-enforcer.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,21 @@
# name: "Enforce Changelog"
# on:
# pull_request:
# types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]
name: "Enforce Changelog"
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]

# jobs:
# # Enforces the update of a changelog file on every pull request
# changelog:
# runs-on: ubuntu-latest
# steps:
# - uses: dangoslen/changelog-enforcer@v3
# with:
# changeLogPath: 'CHANGELOG.md'
# skipLabels: 'Skip Changelog,0 diff trivial,automatic'
# missingUpdateErrorMessage: >
# No update to CHANGELOG.md found! Please add a changelog
# entry to it describing your change. Please note that the
# keepachangelog (https://keepachangelog.com) format is
# used. If your change is very trivial not applicable for a
# changelog entry, add a 'Skip Changelog' label to the pull
# request to skip the changelog enforcer.
#jobs:
# # Enforces the update of a changelog file on every pull request
# changelog:
# runs-on: ubuntu-latest
# steps:
# - uses: dangoslen/changelog-enforcer@v3
# with:
# changeLogPath: 'CHANGELOG.md'
# skipLabels: 'Skip Changelog,0 diff trivial,automatic'
# missingUpdateErrorMessage: >
# No update to CHANGELOG.md found! Please add a changelog
# entry to it describing your change. Please note that the
# keepachangelog (https://keepachangelog.com) format is
# used. If your change is very trivial not applicable for a
# changelog entry, add a 'Skip Changelog' label to the pull
# request to skip the changelog enforcer.
31 changes: 31 additions & 0 deletions .github/workflows/validate_yaml_files.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
---

# Based on code from https://github.com/marketplace/actions/yaml-lint

name: Yaml Lint

on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review, labeled, unlabeled]

# This validation is equivalent to running on the command line:
# yamllint -d relaxed --no-warnings
# and is controlled by the .yamllint.yml file
jobs:
validate-YAML:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- id: yaml-lint
name: yaml-lint
uses: ibiqlik/action-yamllint@v3
with:
no_warnings: true
format: colored
config_file: .yamllint.yml

- uses: actions/upload-artifact@v2
if: always()
with:
name: yamllint-logfile
path: ${{ steps.yaml-lint.outputs.logfile }}
277 changes: 109 additions & 168 deletions .github/workflows/workflow.yml

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,10 @@
/.mepo/
*.py.bak
CMakeUserPresets.json

*.swp
*.swo
.DS_Store
*#
.#*
**/CVS/
29 changes: 29 additions & 0 deletions .yamllint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---

extends: default

rules:
braces:
level: warning
max-spaces-inside: 1
brackets:
level: warning
max-spaces-inside: 1
colons:
level: warning
commas:
level: warning
comments: disable
comments-indentation: disable
document-start: disable
empty-lines:
level: warning
hyphens:
level: warning
indentation:
level: warning
indent-sequences: consistent
line-length:
level: warning
allow-non-breakable-inline-mappings: true
truthy: disable
11 changes: 3 additions & 8 deletions Apps/MAPL_GridCompSpecs_ACG.py
Original file line number Diff line number Diff line change
Expand Up @@ -73,16 +73,11 @@ def get_rank(self):

@staticmethod
def internal_name(name):
if name[-1] == '*':
return name[:-1]
else:
return name
return name.replace('*','')

@staticmethod
def mangled_name(name):
if name[-1] == '*':
return "'" + name[:-1] + "'//trim(comp_name)"
else:
return "'" + name + "'"
return "'" + name.replace("*","'//trim(comp_name)//'") + "'"

# Pointers must be declared regardless of COND status. Deactivated
# pointers should not be _referenced_ but such sections should still
Expand Down
220 changes: 220 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,224 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Deprecated

## [2.26.0] - 2022-09-16

### Fixed

- Change the logic to check if the field is already connected to a valid grid. If yes, we bypass the checks for tilegrid (issue #1654)
- Removed unnecessary DSO extension assert
- Fixed bug that required a /dev/null ExtData entry to still have a file variable name
- Fixed bug with checking for duplicate alias in collection
- Added protection in History to only allow `instantaneous` or `time-averaged` modes

### Added

- Added Ninja build of MAPL to CI tests

### Changed

- Have `MAPL_AddChildFromDSO` call `MAPL_AddChildFromDSOMeta` (#1598)

### Removed

- Removed unused code from History GridComp

## [2.25.0] - 2022-09-01

### Fixed

- Fix setting stretched grid target latitude and longitude from restart file metadata

### Added

- Added member function get_global_var to FileMetadata
- Added option to build source tarfile when building MAPL standalone. By default this is `OFF`, but can be enabled with
`-DINSTALL_SOURCE_TARFILE=ON`
- Added `regrid_method` metadata to History output
- Added an overloaded interface for MAPL_BalanceWork to handle both REAL32 and REAL64

### Changed

- Updated `components.yaml` to match GEOSgcm v10.22.5 (actually a bit beyond)
- ESMA_env v4.2.0 → v4.4.0 (Update to Intel 2022.1, Add TOSS4 Support at NAS)
- ESMA_cmake v3.17.0 → v3.18.0 (Updates to CPack and Provisional M2 Support)

### Removed

- Removed `LatLonGridFactory_basic` factory constructor (dead code)
## [2.24.0] - 2022-08-08

### Fixed

- Fix error trapping in bundleio test

### Added

- Add tutorials
- Check for duplicate entries in the History.rc file
- Check that a user-provided chunking in the History.rc is compatible with the output grid
- If a user requests CFIOasync in the History.rc, print warning and set to CFIO
- Added option allow writing to pre-existing files with History

### Changed

- Replaced deprecated __RC__ macro with _RC and remove unused code in ExtData2G
- Moved to `checkout@v3` action due to git safe directory issue
- Added tutorials to CI

## [2.23.1] - 2022-07-15

### Fixed

- Fixed the History file existence detection to only run for netCDF output. For still unknown reasons, this detection has an issue
with binary output (see https://github.com/GEOS-ESM/GEOSldas/pull/568)
- Fix GitHub Actions

## [2.23.0] - 2022-07-06

### Added

- Check return codes for YAML files when parsing in ExtData2G

### Changed

- Updated the ESMA_env version to v4.2.0 (Baselibs 7.5.0 → GFE v1.4.0)
- With this update, MAPL now **requires** these versions of GFE libraries
- yaFyaml v1.0.4 (if building with ExtData2G support)
- pFlogger v1.9.1 (if building with pFlogger support)
- Update the CI for Baselibs 7.5.0, BCs version 10.22.3

## [2.22.0] - 2022-06-24

### Fixed

- By pass the check of the missing value of Nan
- Update CI to work with latest GEOSadas `develop` (Uses a special branch of GEOSadas)
- Fix bundleio tests
- HistoryGridComp now checks if a file exists already before writing and errors out if so
- Minor updates for FORD documentation testing
- Add `program` statements to some test programs
- Remove `pfio/pfio_io_demo.F90` as dead code
- Fix redefinition of `_RETURN` in `pflogger_stub.F90`
- Removed unused `Test_SimpleClient.pf`
- Update CMake to require NetCDF C components and add `NetCDF::NetCDF_C` to pfio CMake

### Added

- Updated MAPL_CapGridComp to mark fields going to ExtData to not be checkpointed by components
- Add debug loggers for start/stop during stages in MAPL_Generic
- Handling for double precision input when retrieving single precision attributes
- Enable GCM run test in CircleCI (1-hour, no ExtData)
- Added monotonic regridding option
- Make availalbe to History and ExtData2G all supported regridding methods
- Add test cases for ExtData
- Add YAML validator GitHub Action
- This action makes sure all YAML files are valid (to a relaxed standard)

### Changed

- Modified error messages in FileMetadataUtilities to be unique and print filename
- Updated the ESMA_env version to v3.14.0
- Updated the ESMA_cmake version to v3.17.0
- Updated GitHub Actions MAPL build tests
- Added assert for missing file with ExtData2G
- Re-enable bundleio tests in CI
- Updated CircleCI to use latest Baselibs
- Updates for Spack support
- Add `find_package(MPI)` for non-Baselibs builds
- Add explicit interface dependence of `MPI` for `ESMF` target
- Add `esmf` alias library for `ESMF` for compatibility

## [2.21.3] - 2022-06-07

### Fixed

- Fixed bug in non cubed-sphere grid path in MAPL_GetHorzIJIndex

## [2.21.2] - 2022-05-31

### Fixed

- Initialize `cap%lperp` in `MAPL_CapGridComp.F90` (see Issue #1530)

## [2.21.1] - 2022-05-24

### Fixed

- Adding missing _RETURN and _VERIFY macros in GriddedIO.F90
- Update CircleCI to work with latest GEOSadas

## [2.21.0] - 2022-05-05

### Fixed

- Fixed incorrect legend when using PRINTSPEC option in MAPL Cap
- Fix ESMF errors exposed by monthly collections

### Added

- Added has_variable function to FileMetadata
- Added information about the container type for each item in state when using PRINTSPEC option

### Changed

- Change many instances of `_ASSERT(.false.,"msg")` to `_FAIL("msg")`
- Extended format width for exclusive and inclusive times in profiler from `f9.2` to `f10.2` (see #1420)

## [2.20.0] - 2022-04-19

### Fixed

- Removed one redundant get_file_extension call
- Fix issue where ACG was called when no file had changed
- Add missing `rc=status` in `MAPL_GetResourceFromMAPL_scalar`
- Fixed bugs with next generation ExtData
- Fixed variable PTR40 declaration in GenericCplComp.F90

### Added

- Added support for 4d variables in the coupler. Intentionally decided not to support 4d in the coupler's ReadRestart and WriteRestart to catch errors
- Added ability to use multiple rules for different time periods in next generation ExtData

### Changed

- Cleaned up a bit of old CMake
- Updated CircleCI config to use new orb `build` job
- Updated `components.yaml` to match GEOSgcm v10.22.1
- ESMA_env v3.13.0
- ESMA_cmake v3.12.0

## [2.19.2] - 2022-03-28

### Fixed

- Provided workaround for GNU bug when defining file metadata in cubed-sphere grid factory (similar to Issue #1433 and its solution)

## [2.19.1] - 2022-03-24

### Fixed

- Fix a bug deallocating a pointer potentially pointing to shared memory allocated by MAPL_Shmem

## [2.19.0] - 2022-03-18

### Fixed

- Fixed duration of the clock to be the smaller of the user specified duration and (END_DATE - currTime)
- Fixes for compiling on M1 Macs (remove REAL128)
- Fix for CMake when `esmf` is already a target

### Added

- New cmake option USE_EXTDATA2G to enable the next generation of ExtData for development, by default uses 1st generation ExtData
- MAPL_ESMFFieldBundleRead/Write modules are now available in when using MAPL

### Changed

- Replaced a wild card "*" in any position of a string in MAPL_GridCompSpecs_ACG.py
- Updated `MAPL_SunGetSolarConstantFromNRLFile` to open NRL Solar Table file only on root and broadcast the tables to all processes. Now all processes do interpolation.
- Add voting interpolation method as optional argument to SimpleBundleRead method

## [2.18.3] - 2022-03-15

### Fixed
Expand Down Expand Up @@ -54,6 +272,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Updates to CircleCI
- Added GEOSadas CI ifort build test
- Add "like-UFS" build to CI. This is no FLAP and pFlogger, and static build
- Added new `_STAT` and `_IOSTAT` macros a la `_RC`

### Changed

Expand All @@ -66,6 +285,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Updated `components.yaml`. These changes are to support using Spack to build MAPL
- ESMA_cmake v3.10.0 (add `FindESMF.cmake` from NOAA-EMC)
- ecbuild geos/v1.2.0 (updat `FindNetCDF.cmake` to that from NOAA-EMC)
- Improved file-not-found error handling in ExtData for non-templated filenames

## [2.17.2] - 2022-02-16

Expand Down
Loading

0 comments on commit 191585d

Please sign in to comment.