Skip to content

Commit

Permalink
Merge BRIDGE into main in prep for release v17.12.0 (#614)
Browse files Browse the repository at this point in the history
Merge BRIDGE into main in prep for release v17.12.0
  • Loading branch information
gmao-rreichle authored Dec 16, 2022
2 parents 6211f3e + 62cc92f commit eef59e2
Show file tree
Hide file tree
Showing 86 changed files with 7,702 additions and 1,787 deletions.
42 changes: 11 additions & 31 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,42 +1,22 @@
version: 2.1

# Anchor to prevent forgetting to update a version
baselibs_version: &baselibs_version v7.7.0

orbs:
circleci-tools: geos-esm/circleci-tools@0.13.0
ci: geos-esm/circleci-tools@1

workflows:
build-test:
jobs:
- build-GEOSldas:
- ci/build:
name: build-GEOSldas-on-<< matrix.compiler >>
matrix:
parameters:
compiler: [gfortran, ifort]
context:
- docker-hub-creds

jobs:
build-GEOSldas:
parameters:
compiler:
type: string
executor:
name: circleci-tools/<< parameters.compiler >>
resource_class: large
working_directory: /root/project
steps:
- checkout:
path: GEOSldas
- circleci-tools/versions:
compiler: << parameters.compiler >>
- circleci-tools/mepoclone:
repo: GEOSldas
- circleci-tools/checkout_if_exists:
repo: GEOSldas
- circleci-tools/cmake:
repo: GEOSldas
compiler: << parameters.compiler >>
- circleci-tools/buildinstall:
matrix:
parameters:
compiler: [ifort, gfortran]
baselibs_version: *baselibs_version
repo: GEOSldas
- circleci-tools/compress_artifacts
- store_artifacts:
path: /logfiles
mepodevelop: false
persist_workspace: false # Needs to be true to run fv3/gcm experiment, costs extra
27 changes: 27 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Global Editor Config for MAPL
#
# This is an ini style configuration. See http://editorconfig.org/ for more information on this file.
#
# Top level editor config.
root = true

# Always use Unix style new lines with new line ending on every file and trim whitespace
[*]
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

# Python: PEP8 defines 4 spaces for indentation
[*.py]
indent_style = space
indent_size = 4

# YAML format, 2 spaces
[{*.yaml,*.yml}]
indent_style = space
indent_size = 2

# CMake (from KitWare: https://github.com/Kitware/CMake/blob/master/.editorconfig)
[{CMakeLists.txt,*.cmake,*.rst}]
indent_style = space
indent_size = 2
29 changes: 29 additions & 0 deletions .github/workflows/enforce-labels.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Enforce PR Labels

on:
pull_request:
types: [opened, labeled, unlabeled, edited, synchronize]

jobs:
require-label:
runs-on: ubuntu-latest
steps:
- uses: mheap/github-action-required-labels@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
mode: minimum
count: 1
labels: "0 diff,0 diff trivial,Non 0-diff,0 diff structural,0-diff trivial,Not 0-diff,0-diff,automatic,0-diff uncoupled"
add_comment: true
blocking-label:
runs-on: ubuntu-latest
steps:
- uses: mheap/github-action-required-labels@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
mode: exactly
count: 0
labels: "Contingent - DNA,Needs Lead Approval,Contingent -- Do Not Approve"
add_comment: true
10 changes: 7 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,14 @@
/@env/
/env/
/env@/
/BUILD/
/build*/
/install*/
/.mepo/
parallel_build.o*
log.*
CMakeUserPresets.json

*.swp
*.swo
.DS_Store
*#
.#*
**/CVS/
143 changes: 143 additions & 0 deletions CMakePresets.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
{
"version": 3,
"cmakeMinimumRequired": {
"major": 3,
"minor": 21,
"patch": 0
},
"configurePresets": [
{
"name": "base-configure",
"hidden": true,
"displayName": "Base Configure Settings",
"description": "Sets build and install directories",
"binaryDir": "${sourceDir}/build-${presetName}",
"cacheVariables": {
"BASEDIR": "$env{BASEDIR}",
"CMAKE_INSTALL_PREFIX": "${sourceDir}/install-${presetName}"
}
},
{
"name": "base-gnu",
"hidden": true,
"inherits": "base-configure",
"displayName": "Base GNU Make Config",
"description": "Sets GNU Make generator",
"generator": "Unix Makefiles"
},
{
"name": "base-ninja",
"hidden": true,
"inherits": "base-configure",
"displayName": "Base Ninja Config",
"description": "Sets Ninja generator",
"generator": "Ninja"
},
{
"name": "Release",
"inherits": "base-gnu",
"displayName": "Release Configure",
"description": "Release build using GNU Make generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "Debug",
"inherits": "base-gnu",
"displayName": "Debug Configure",
"description": "Debug build using GNU Make generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "Aggressive",
"inherits": "base-gnu",
"displayName": "Aggressive Configure",
"description": "Aggressive build using GNU Make generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Aggressive"
}
},
{
"name": "Release-Ninja",
"inherits": "base-ninja",
"displayName": "Release Ninja Configure",
"description": "Release build using Ninja generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Release"
}
},
{
"name": "Debug-Ninja",
"inherits": "base-ninja",
"displayName": "Debug Ninja Configure",
"description": "Debug build using Ninja generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Debug"
}
},
{
"name": "Aggressive-Ninja",
"inherits": "base-ninja",
"displayName": "Aggressive Ninja Configure",
"description": "Aggressive build using Ninja generator",
"cacheVariables": {
"CMAKE_BUILD_TYPE": "Aggressive"
}
}
],
"buildPresets": [
{
"name": "base-build",
"hidden": true,
"displayName": "Base Build Config",
"description": "Sets default build options",
"jobs": 6,
"targets": ["install"]
},
{
"name": "Release",
"configurePreset": "Release",
"inherits": "base-build",
"displayName": "Release Build",
"description": "Release build using GNU Make generator"
},
{
"name": "Debug",
"configurePreset": "Debug",
"inherits": "base-build",
"displayName": "Debug Build",
"description": "Debug build using GNU Make generator"
},
{
"name": "Aggressive",
"configurePreset": "Aggressive",
"inherits": "base-build",
"displayName": "Aggressive Build",
"description": "Aggressive build using GNU Make generator"
},
{
"name": "Release-Ninja",
"configurePreset": "Release-Ninja",
"inherits": "base-build",
"displayName": "Release Ninja Build",
"description": "Release build using Ninja generator"
},
{
"name": "Debug-Ninja",
"configurePreset": "Debug-Ninja",
"inherits": "base-build",
"displayName": "Debug Ninja Build",
"description": "Debug build using Ninja generator"
},
{
"name": "Aggressive-Ninja",
"configurePreset": "Aggressive-Ninja",
"inherits": "base-build",
"displayName": "Aggressive Ninja Build",
"description": "Aggressive build using Ninja generator"
}
]
}
12 changes: 6 additions & 6 deletions components.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,31 +4,31 @@ GEOSldas:
env:
local: ./@env
remote: ../ESMA_env.git
tag: v3.13.0
tag: v4.8.0

cmake:
local: ./@cmake
remote: ../ESMA_cmake.git
tag: v3.12.0
tag: v3.21.0

ecbuild:
local: ./@cmake/@ecbuild
remote: ../ecbuild.git
tag: geos/v1.2.0
tag: geos/v1.3.0

GMAO_Shared:
local: ./src/Shared/@GMAO_Shared
remote: ../GMAO_Shared.git
sparse: ./config/GMAO_Shared.sparse
tag: v1.5.5
tag: v1.6.3

MAPL:
local: ./src/Shared/@MAPL
remote: ../MAPL.git
tag: v2.19.0
tag: v2.33.0

GEOSgcm_GridComp:
local: ./src/Components/GEOSldas_GridComp/@GEOSgcm_GridComp
remote: ../GEOSgcm_GridComp.git
sparse: ./config/GEOSgcm_GridComp_ldas.sparse
tag: v1.15.5
tag: v1.17.2
47 changes: 47 additions & 0 deletions doc/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,52 @@ This README file contains the history of stable GEOSldas versions ("tags") in Gi
Overview of Git Releases:
============================

[v17.12.0](https://github.com/GEOS-ESM/GEOSldas/releases/tag/v17.12.0) - 2022-12-16
------------------------------

- Not zero-diff vs. v17.11.1 for simulations with data assimilation in EASE-grid tile space. Simulations in EASE-grid tile space without data assimilation are zero-diff except for roundoff differences in “tilegrids” and “tilecoord” parameters (`ll_lat`, `ll_lon`, `ur_lat`, `ur_lon`, `dlon`, `dlat`, `area`). Zero-diff for simulations in cube-sphere tile space with and without data assimilation.

- Science changes:
- Support for MODIS-based snow albedo (GEOSgcm_GridComp [PR#618](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/618)).
- Support for CatchCN ensemble simulations ([PR #584](https://github.com/GEOS-ESM/GEOSldas/pull/584), GEOSgcm_GridComp [PR#645](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/645)).

- Utilities:
- Re-mapping of restart files ([PR #551](https://github.com/GEOS-ESM/GEOSldas/pull/551), GMAO_Shared [PR#238](https://github.com/GEOS-ESM/GMAO_Shared/pull/238), GEOSgcm_GridComp [PR#571](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/571) and [PR#658](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/658)):
- New GMAO_Shared utility `remap_restarts.py`, including fixes to re-mapping of CatchCN restart variables (not fixed for `regrid.pl`).
- Deprecated perl script `regrid.pl`.
- New GEOSldas utility `process_rst.py` (replaces `process_rst.csh`).
- Re-mapping of LDASsa-formatted binary restarts is no longer supported.
- Trivial non-zero diff changes (presence/absence) in optional restart fields (`TSURF`, `WW`, `FR`, `CQ`, `CH`).
- Major cleanup of Catch[CN]-related routines for processing restarts in GEOSldas and GEOSgcm_GridComp.
- Updated `ldas_setup` to python3.
- Further cleanup and reorganization of EASE grid utilities and make_bcs ([PR #586](https://github.com/GEOS-ESM/GEOSldas/pull/586), GEOSgcm_GridComp [PR#601](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/601) and [PR#634]( https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/634)):
- Unified source code for EASEv1 and EASEv2 utilities, which causes roundoff differences.
- Reorganized and added utilities in LDAS_App ([PR #569](https://github.com/GEOS-ESM/GEOSldas/pull/569)):
- Added matlab routines for generation of Tb scaling parameters, mwRTM parameters, and climatology files.
- Added LADAS-related utilities and sample config files, incl. option for ensemble forcing of LDAS coupled to deterministic simulation in Hybrid4DEnVar.
- Added script for rewinding existing GEOSldas run ([PR #606](https://github.com/GEOS-ESM/GEOSldas/pull/606)).

- Interface:
- Increased character length of string variables to avoid truncation of input file paths/names ([PR #574](https://github.com/GEOS-ESM/GEOSldas/pull/574)).
- Changed ensemble member identifier string in HISTORY.rc to “_e[XXXX]” ([PR #584](https://github.com/GEOS-ESM/GEOSldas/pull/584)).
- Restored GEOSldas “debug” mode ([PR #587](https://github.com/GEOS-ESM/GEOSldas/pull/587), [PR #589](https://github.com/GEOS-ESM/GEOSldas/pull/589), and [PR #591](https://github.com/GEOS-ESM/GEOSldas/pull/591)).

- Infrastructure:
- Updated environment, CMake, ecbuild, and MAPL ([PR #604](https://github.com/GEOS-ESM/GEOSldas/pull/604)):
- ESMA_env v4.8.0
- ESMA_cmake v3.21.0
- ecbuild v1.3.0
- MAPL 2.33.0
- GMAO_Shared v1.6.3
- GEOSgcm_GridComp v1.17.2

- Documentation:
- Added README_LDAS_App ([PR #569](https://github.com/GEOS-ESM/GEOSldas/pull/569))

- Bug fixes and other minor changes:
- Fixed units labels of several CatchCNCLM45 restart variables (GEOSgcm_GridComp [PR#660](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/660))

------------------------------
[v17.11.1](https://github.com/GEOS-ESM/GEOSldas/releases/tag/v17.11.1) - 2022-06-15
------------------------------

Expand All @@ -50,6 +96,7 @@ Overview of Git Releases:
- Bug fixes and other minor changes:
- Corrected exports for water table depth and free-standing water change over peat ([PR #556](https://github.com/GEOS-ESM/GEOSldas/pull/556), [GEOSgcm_GridComp PR #593](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/593)).

------------------------------
[v17.11.0](https://github.com/GEOS-ESM/GEOSldas/releases/tag/v17.11.0) - 2022-03-04
------------------------------

Expand Down
Loading

0 comments on commit eef59e2

Please sign in to comment.