Skip to content

Commit

Permalink
merge "BRIDGE" into "main" in prep for release v17.10.0 (#495)
Browse files Browse the repository at this point in the history
  • Loading branch information
gmao-rreichle committed Dec 21, 2021
1 parent 21aab7f commit 017f3bd
Show file tree
Hide file tree
Showing 21 changed files with 612 additions and 4,300 deletions.
4 changes: 2 additions & 2 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ version: 2.1
executors:
gfortran-large:
docker:
- image: gmao/ubuntu20-geos-env-mkl:v6.2.7-openmpi_4.0.6-gcc_11.2.0
- image: gmao/ubuntu20-geos-env-mkl:v6.2.8-openmpi_4.0.6-gcc_11.2.0
auth:
username: $DOCKERHUB_USER
password: $DOCKERHUB_AUTH_TOKEN
Expand All @@ -16,7 +16,7 @@ executors:

ifort-large:
docker:
- image: gmao/ubuntu20-geos-env:v6.2.7-intelmpi_2021.2.0-intel_2021.2.0
- image: gmao/ubuntu20-geos-env:v6.2.8-intelmpi_2021.2.0-intel_2021.2.0
auth:
username: $DOCKERHUB_USER
password: $DOCKERHUB_AUTH_TOKEN
Expand Down
11 changes: 9 additions & 2 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,13 @@
# LDAS Gatekeepers own all files
* @GEOS-ESM/ldas-gatekeepers

# The GEOS CMake Team is the CODEOWNER for the CMakeLists.txt files in this repository
CMakeLists.txt @GEOS-ESM/cmake-team
# The LDAS gatekeepers and CMake should know/approve these
/.github/ @GEOS-ESM/cmake-team @GEOS-ESM/ldas-gatekeepers
/.circleci/ @GEOS-ESM/cmake-team @GEOS-ESM/ldas-gatekeepers
/.codebuild/ @GEOS-ESM/cmake-team @GEOS-ESM/ldas-gatekeepers

# The GEOS CMake Team should be notified about changes to the CMakeLists.txt files in this repository
CMakeLists.txt @GEOS-ESM/cmake-team @GEOS-ESM/ldas-gatekeepers

# The GEOS CMake Team should be notified about and approve config changes
/config/ @GEOS-ESM/cmake-team @GEOS-ESM/ldas-gatekeepers
10 changes: 10 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE/auto_pr_to_mapl3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
## :memo: Automatic PR: `develop``release/MAPL-v3`

### Description

<!-- Write your description here -->

## :file_folder: Modified files
<!-- Diff files - START -->
<!-- Diff files - END -->

30 changes: 30 additions & 0 deletions .github/workflows/push-to-develop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Push to Develop

on:
push:
branches:
- develop

jobs:
pull_request:
name: Create Pull Request
runs-on: ubuntu-latest
steps:
- name: Checkout repo
uses: actions/checkout@v2
with:
fetch-depth: 0
- name: Run the action
uses: devops-infra/action-pull-request@v0.4
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
source_branch: develop
target_branch: release/MAPL-v3
label: automatic,MAPL3,Skip Changelog
template: .github/PULL_REQUEST_TEMPLATE/auto_pr_to_mapl3.md
get_diff: true
assignee: ${{ github.actor }}
old_string: "<!-- Write your description here -->"
new_string: ${{ github.event.commits[0].message }}
title: Auto PR - develop → MAPL-v3 - ${{ github.event.commits[0].message }}

2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,3 +10,5 @@
/install*/
/.mepo/
parallel_build.o*
log.*
CMakeUserPresets.json
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ To build the model in a single step, do the following:
cd ./GEOSldas
parallel_build.csh
```
from a head node. Doing so will checkout all the external repositories of the model and build it. When done, the resulting model build will be found in `build/` and the installation will be found in `install/`, with setup scripts like `ldas_setup` in `install/bin`.
from a head node. Doing so will check out all the external repositories of the model (albeit only on the first run, see section on mepo below) and build the model. When done, the resulting model build will be found in `build/` and the installation will be found in `install/`, with setup scripts like `ldas_setup` in `install/bin`.

To obtain a build that is suitable for debugging, use `parallel_build.csh -debug`, which will build in `build-Debug/` and install in `install-Debug/`. There is also an option for aggressive optimization. For details, see [GEOSldas Wiki](https://github.com/GEOS-ESM/GEOSldas/wiki).

Expand Down Expand Up @@ -115,12 +115,13 @@ The steps detailed below are essentially those performed by `parallel_build.csh`

The GEOSldas is comprised of a set of sub-repositories. These are
managed by a tool called [mepo](https://github.com/GEOS-ESM/mepo). To
clone all the sub-repos, you can run `mepo clone` inside the fixture:
clone all the sub-repositories, you can run `mepo clone` inside the fixture:
```
cd GEOSldas
mepo init
mepo clone
```
External sub-repositories are stored in directories pre-faced with `@`. After `parallel_build.csh` has run once and created `./@env/`, `parallel_build.csh` skips `mepo clone` in subsequent runs. This means that the sub-repositories in your sandbox could get out of sync with the GEOSldas repository while you are working on your sandbox, which may result in a difficult-to-understand build error when `parallel_build.csh` is used. If this happens, try a fresh clone or use [mepo commands](https://github.com/GEOS-ESM/mepo/wiki) to update the sub-repositories manually.

#### Load Compiler, MPI Stack, and Baselibs
On tcsh:
Expand Down
10 changes: 5 additions & 5 deletions components.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ GEOSldas:
env:
local: ./@env
remote: ../ESMA_env.git
tag: v3.3.0
tag: v3.8.0

cmake:
local: ./@cmake
remote: ../ESMA_cmake.git
tag: v3.5.5
tag: v3.8.0

ecbuild:
local: ./@cmake/@ecbuild
Expand All @@ -20,15 +20,15 @@ GMAO_Shared:
local: ./src/Shared/@GMAO_Shared
remote: ../GMAO_Shared.git
sparse: ./config/GMAO_Shared.sparse
tag: v1.4.6
tag: v1.5.0

MAPL:
local: ./src/Shared/@MAPL
remote: ../MAPL.git
tag: v2.8.6
tag: v2.14.1

GEOSgcm_GridComp:
local: ./src/Components/GEOSldas_GridComp/@GEOSgcm_GridComp
remote: ../GEOSgcm_GridComp.git
sparse: ./config/GEOSgcm_GridComp_ldas.sparse
tag: v1.12.4
tag: v1.13.1
32 changes: 30 additions & 2 deletions doc/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,34 @@ This README file contains the history of stable GEOSldas versions ("tags") in Gi

Overview of Git Releases:
============================
[v17.10.0](https://github.com/GEOS-ESM/GEOSldas/releases/tag/v17.10.0) - 2021-12-21
------------------------------

- Zero-diff vs. v17.9.6.

- Science changes:
- Added CatchmentCN-CLM4.5.
- Added bilinear interpolation option for ERA5_LIS forcing.

- Infrastructure:
- Updated MAPL (v2.14.1; fixes bit shaving error in GEOSldas v17.9.6 when a processor was not assigned any tiles).
- Bit shaving turned on by default in HISTORY.rc template (except for increments output).
- Updated ESMA_env (v3.8.0).
- Updated ESMA_cmake (v3.8.0).
- Updated GMAO_Shared (v1.5.0).
- Updated GEOSgcm_GridComp (v1.13.1; added CatchmentCN-CLM4.5, make_bcs refactoring and bug fixes, minor fixes).
- Updated ldas_setup to facilitate use of Cascade Lake nodes.

- Documentation:
- Clarified parallel_build and external sub-repositories in README.md.
- Clarified NUM_SGMT in LDAS.rc template.

- Bug fixes and other minor changes:
- Fixed vegdyn restart issue when restarting an ensemble run from a single-member run for reduced domains.
- Minor changes to support weakly-coupled land-atmosphere DAS.
- Domain decomposition fix (ensure IMS>1).

------------------------------
[v17.9.6](https://github.com/GEOS-ESM/GEOSldas/releases/tag/v17.9.6) - 2021-09-23
------------------------------

Expand All @@ -46,12 +74,12 @@ Overview of Git Releases:
- Updated GMAO_Shared (v1.4.6).
- Updated GEOSgcm_GridComp (v1.12.4, minor change for LADAS coupling).
- Updated Circle-CI.
- Updated license (Apache 2.0).
- GitHub script to auto-create tarball (fully mepo'd) upon release.

- Updated license (Apache 2.0).

- Bug fixes and other minor changes:
- Minor fixes for GNU compiler.
- Updated LICENSE.md.
- Fixed PAR handling in get_GEOSs2s().

- Note: v17.9.6 fixes v17.9.5, which did not compile with GNU and was deleted soon after release.
Expand Down
5 changes: 0 additions & 5 deletions src/Applications/LDAS_App/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,6 @@ ecbuild_add_executable (
TARGET mwrtm_bin2nc4.x
SOURCES mwrtm_bin2nc4.F90
LIBS GEOSlandassim_GridComp)

ecbuild_add_executable (
TARGET mk_GEOSldasRestarts.x
SOURCES mk_GEOSldasRestarts.F90
LIBS GEOSldas_GridComp mk_restarts)

install(
PROGRAMS ldas_setup process_hist.csh process_rst.csh util/average_ensemble_forcing.py
Expand Down
32 changes: 29 additions & 3 deletions src/Applications/LDAS_App/GEOSldas_HIST.rc
Original file line number Diff line number Diff line change
@@ -1,12 +1,20 @@
# Sample HISTORY.rc file for GEOSldas
#
# This file is edited by "ldsetup" via "process_hist.csh". The strings '#ASSIM', '#EASE', and '#CUBE'
# are not linked to MAPL HISTORY functionality. For example, the line
# This HISTORY template is edited by "ldas_setup" via "process_hist.csh".
# The strings '#ASSIM', '#EASE', and '#CUBE' are *not* linked to MAPL HISTORY
# functionality. For example, the line
# "#CUBE 'tavg24_2d_lnd_Nx'"
# does not mean that the 'lnd' output will be on a cube-sphere grid.
# does *not* mean that the 'lnd' output will be on a cube-sphere grid.

#CUBE VERSION: 1

# Must edit 'EXPID' manually if HISTORY file is re-used without going
# through "ldas_setup".
#
EXPID: GEOSldas_expid

# Experiment description and source code info are expected by MAPL but
# not used (as of 13 Oct 2021).
EXPDSC: GEOSldas_output
EXPSRC: GEOSldas

Expand All @@ -33,7 +41,15 @@ COLLECTIONS:
#CUBE PC720x361-DC.DATELINE: DC
#CUBE PC720x361-DC.LM: 1

# Detailed definition of the collections listed above
#
# Bit shaving: Retain only scientifically meaningful precision and modify meaningless
# bits to facilitate better compression in post-processing;
# *.nbits specifies the number of bits retained;
# MERRA-2 uses nbits=12 and FP uses nbits=10 for many collections.

tavg24_1d_lfs_Nt.descr: 'Tile-space,Daily,Time-Averaged,Single-Level,Assimilation,Land Surface Forcings and States',
tavg24_1d_lfs_Nt.nbits: 12,
tavg24_1d_lfs_Nt.template: '%y4%m2%d2_%h2%n2z.bin',
tavg24_1d_lfs_Nt.archive: '%c/Y%y4',
tavg24_1d_lfs_Nt.mode: 'time-averaged',
Expand All @@ -60,6 +76,7 @@ COLLECTIONS:
::

tavg24_2d_lfs_Nx.descr: '2d,Daily,Time-Averaged,Single-Level,Assimilation,Land Surface Forcings and States',
tavg24_2d_lfs_Nx.nbits: 12,
tavg24_2d_lfs_Nx.template: '%y4%m2%d2_%h2%n2z.nc4',
tavg24_2d_lfs_Nx.archive: '%c/Y%y4',
tavg24_2d_lfs_Nx.mode: 'time-averaged',
Expand Down Expand Up @@ -91,6 +108,7 @@ COLLECTIONS:
::

tavg24_1d_lnd_Nt.descr: 'Tile-space,Daily,Time-Averaged,Single-Level,Assimilation,Land Surface Diagnostics',
tavg24_1d_lnd_Nt.nbits: 12,
tavg24_1d_lnd_Nt.template: '%y4%m2%d2_%h2%n2z.bin',
tavg24_1d_lnd_Nt.mode: 'time-averaged',
tavg24_1d_lnd_Nt.frequency: 240000,
Expand Down Expand Up @@ -160,6 +178,7 @@ COLLECTIONS:
>>>HIST_CATCHCN<<< 'CNTOTC' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNVEGC' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNROOT' , 'GridComp' ,
>>>HIST_CATCHCNCLM45<<< 'CNFROOTC' , 'CATCHCNCLM45' ,
>>>HIST_CATCHCN<<< 'CNNPP' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNGPP' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNSR' , 'GridComp' ,
Expand All @@ -184,6 +203,7 @@ COLLECTIONS:
::

tavg24_2d_lnd_Nx.descr: '2d,Daily,Time-Averaged,Single-Level,Assimilation,Land Surface Diagnostics',
tavg24_2d_lnd_Nx.nbits: 12,
tavg24_2d_lnd_Nx.template: '%y4%m2%d2_%h2%n2z.nc4',
tavg24_2d_lnd_Nx.mode: 'time-averaged',
tavg24_2d_lnd_Nx.frequency: 240000,
Expand Down Expand Up @@ -258,6 +278,7 @@ COLLECTIONS:
>>>HIST_CATCHCN<<< 'CNTOTC' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNVEGC' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNROOT' , 'GridComp' ,
>>>HIST_CATCHCNCLM45<<< 'CNFROOTC' , 'CATCHCNCLM45' ,
>>>HIST_CATCHCN<<< 'CNNPP' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNGPP' , 'GridComp' ,
>>>HIST_CATCHCN<<< 'CNSR' , 'GridComp' ,
Expand All @@ -282,6 +303,7 @@ COLLECTIONS:
::

SMAP_L4_SM_gph.descr: 'Tile-space,3-Hourly,Time-Averaged,Single-Level,Assimilation,SMAP L4_SM Land Geophysical Diagnostics',
SMAP_L4_SM_gph.nbits: 12,
SMAP_L4_SM_gph.template: '%y4%m2%d2_%h2%n2z.bin',
SMAP_L4_SM_gph.mode: 'time-averaged',
SMAP_L4_SM_gph.frequency: 030000,
Expand Down Expand Up @@ -329,6 +351,7 @@ COLLECTIONS:
::

inst1_1d_lnr_Nt.descr: 'Tile-space,1-Hourly,Instantaneous,Single-Level,Assimilation,Land Nature Run Diagnostics',
inst1_1d_lnr_Nt.nbits: 12,
inst1_1d_lnr_Nt.template: '%y4%m2%d2_%h2%n2z.bin' ,
inst1_1d_lnr_Nt.mode: 'instantaneous' ,
inst1_1d_lnr_Nt.frequency: 010000 ,
Expand All @@ -342,6 +365,7 @@ COLLECTIONS:

# For catch_progn_incr, *.frequency and *.ref_time must be consistent with the LDAS.rc resource
# parameters LANDASSIM_DT and LANDASSIM_T0.
# By default, no bit shaving for increments output.

catch_progn_incr.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation,Ensemble-Average Land Prognostics Increments',
catch_progn_incr.template: '%y4%m2%d2_%h2%n2z.bin',
Expand Down Expand Up @@ -379,6 +403,7 @@ COLLECTIONS:
# parameters LANDASSIM_DT and LANDASSIM_T0.

inst3_1d_lndfcstana_Nt.descr: 'Tile-space,3-Hourly,Instantaneous,Single-Level,Assimilation,Ensemble-Average Land Forecast and Analysis Diagnostics',
inst3_1d_lndfcstana_Nt.nbits: 12,
inst3_1d_lndfcstana_Nt.template: '%y4%m2%d2_%h2%n2z.bin',
inst3_1d_lndfcstana_Nt.mode: 'instantaneous',
inst3_1d_lndfcstana_Nt.frequency: 030000,
Expand All @@ -399,6 +424,7 @@ COLLECTIONS:
# parameters LANDASSIM_DT and LANDASSIM_T0.

inst3_2d_lndfcstana_Nx.descr: '2d,3-Hourly,Instantaneous,Single-Level,Assimilation,Ensemble-Average Land Forecast and Analysis Diagnostics',
inst3_2d_lndfcstana_Nx.nbits: 12,
inst3_2d_lndfcstana_Nx.template: '%y4%m2%d2_%h2%n2z.nc4',
inst3_2d_lndfcstana_Nx.archive: '%c/Y%y4',
inst3_2d_lndfcstana_Nx.mode: 'instantaneous',
Expand Down
16 changes: 9 additions & 7 deletions src/Applications/LDAS_App/GEOSldas_LDAS.rc
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,9 @@ CATCHMENT_OFFLINE: 1
# ---- Choice of land surface model
#
# 1 : Catchment model (default)
# 2 : CatchmentCN model
#
# 2 : CatchmentCN-CLM4.0
# 3 : CatchmentCN-CLM4.5

LSM_CHOICE: 1


Expand Down Expand Up @@ -141,18 +142,19 @@ FIRST_ENS_ID: 0

# ---- Job segments: Length
#
# Specify period between GEOSldas.x shutdown and restart.
# Specify period between GEOSldas.x restart and shutdown.
# Default is the entire simulation period (END_DATE minus BEG_DATE).
# Format: yyyymmdd hhmmss
#
# JOB_SGMT: 00000100 000000

# ---- Job segments: Number
#
# One lenkf.j job simulates NUM_SGMT*JOB_SGMT time, then re-submits itself,
# so (NUM_SGMT*JOB_SGMT) should be done within the 12 hour CPU time limit (at NCCS).
# Low values for NUM_SGMT are recommended for run-time and storage efficiency.
# Default is 1.
# One lenkf.j job simulates (NUM_SGMT*JOB_SGMT) time, then re-submits itself.
# Avoid unnecessarily exiting and re-initializing GEOSldas.x by using
# NUM_SGMT=1 (default) and the max possible JOB_SGMT so that (NUM_SGMT*JOB_SGMT)
# completes within the job's wall time limit (12 hours at NCCS).
# If desired, request intermediate restart files using RECORD_FREQUENCY.
#
# NUM_SGMT: 1

Expand Down
Loading

0 comments on commit 017f3bd

Please sign in to comment.