Skip to content

Commit 922c67c

Browse files
Merge "develop" into "BRIDGE" in prep for release v20.2.0 (#845)
2 parents a28dd84 + 3bfc5c6 commit 922c67c

File tree

8 files changed

+109
-37
lines changed

8 files changed

+109
-37
lines changed

.circleci/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
version: 2.1
22

33
# Anchors in case we need to override the defaults from the orb
4-
#baselibs_version: &baselibs_version v7.33.0
4+
#baselibs_version: &baselibs_version v8.18.0
55
#bcs_version: &bcs_version v11.6.0
66

77
orbs:

.github/workflows/release-tarball.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@ jobs:
1010

1111
steps:
1212
- name: Checkout
13-
uses: actions/checkout@v4
13+
uses: actions/checkout@v5
1414
with:
1515
path: ${{ github.event.repository.name }}-${{ github.event.release.tag_name }}
1616

1717
- name: Setup Python
18-
uses: actions/setup-python@v5
18+
uses: actions/setup-python@v6
1919
with:
2020
python-version: '3.11'
2121

.github/workflows/workflow.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ jobs:
2020
name: gfortran / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }}
2121
runs-on: ubuntu-latest
2222
container:
23-
image: gmao/ubuntu24-geos-env-mkl:v7.33.0-openmpi_5.0.5-gcc_14.2.0
23+
image: gmao/ubuntu24-geos-env-mkl:v8.18.0-openmpi_5.0.5-gcc_14.2.0
2424
strategy:
2525
fail-fast: false
2626
matrix:
@@ -32,7 +32,7 @@ jobs:
3232
OMPI_MCA_btl_vader_single_copy_mechanism: none
3333
steps:
3434
- name: Checkout
35-
uses: actions/checkout@v4
35+
uses: actions/checkout@v5
3636
with:
3737
fetch-depth: 1
3838
filter: blob:none
@@ -49,15 +49,15 @@ jobs:
4949
name: ifort / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }}
5050
runs-on: ubuntu-latest
5151
container:
52-
image: gmao/ubuntu24-geos-env:v7.33.0-intelmpi_2021.13-ifort_2021.13
52+
image: gmao/ubuntu24-geos-env:v8.18.0-intelmpi_2021.13-ifort_2021.13
5353
strategy:
5454
fail-fast: false
5555
matrix:
5656
cmake-build-type: [Debug, Release]
5757
cmake-generator: [Unix Makefiles]
5858
steps:
5959
- name: Checkout
60-
uses: actions/checkout@v4
60+
uses: actions/checkout@v5
6161
with:
6262
fetch-depth: 1
6363
filter: blob:none
@@ -77,15 +77,15 @@ jobs:
7777
# name: ifx / ${{ matrix.cmake-build-type }} / ${{ matrix.cmake-generator }} #
7878
# runs-on: ubuntu-latest #
7979
# container: #
80-
# image: gmao/ubuntu24-geos-env:v7.33.0-intelmpi_2021.14-ifx_2025.0 #
80+
# image: gmao/ubuntu24-geos-env:v8.18.0-intelmpi_2021.15-ifx_2025.1 #
8181
# strategy: #
8282
# fail-fast: false #
8383
# matrix: #
8484
# cmake-build-type: [Debug, Release] #
8585
# cmake-generator: [Unix Makefiles] #
8686
# steps: #
8787
# - name: Checkout #
88-
# uses: actions/checkout@v4 #
88+
# uses: actions/checkout@v5 #
8989
# with: #
9090
# fetch-depth: 1 #
9191
# filter: blob:none #

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ if (NOT Baselibs_FOUND)
7575
# Another issue with historical reasons, old/wrong zlib target used in GEOS
7676
add_library(ZLIB::zlib ALIAS ZLIB::ZLIB)
7777

78-
find_package(MAPL 2.57 QUIET)
78+
find_package(MAPL 2.63 QUIET)
7979
if (MAPL_FOUND)
8080
message(STATUS "Found MAPL: ${MAPL_BASE_DIR} (found version \"${MAPL_VERSION})\"")
8181
endif ()

components.yaml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@ GEOSldas:
55
env:
66
local: ./@env
77
remote: ../ESMA_env.git
8-
tag: v4.38.0
8+
tag: v5.13.0
99
develop: main
1010

1111
cmake:
1212
local: ./@cmake
1313
remote: ../ESMA_cmake.git
14-
tag: v3.62.1
14+
tag: v3.64.0
1515
develop: develop
1616

1717
ecbuild:
@@ -29,14 +29,14 @@ NCEP_Shared:
2929
GMAO_Shared:
3030
local: ./src/Shared/@GMAO_Shared
3131
remote: ../GMAO_Shared.git
32-
tag: v2.1.1
32+
tag: v2.1.4
3333
sparse: ./config/GMAO_Shared.sparse
3434
develop: main
3535

3636
GEOS_Util:
3737
local: ./src/Shared/@GMAO_Shared/@GEOS_Util
3838
remote: ../GEOS_Util.git
39-
tag: v2.1.9
39+
tag: v2.1.10
4040
sparse: ./config/GEOS_Util.sparse
4141
develop: main
4242

@@ -51,7 +51,7 @@ GMAO_perllib:
5151
MAPL:
5252
local: ./src/Shared/@MAPL
5353
remote: ../MAPL.git
54-
tag: v2.57.0
54+
tag: v2.63.1
5555
develop: develop
5656

5757
GEOSldas_GridComp:

doc/CHANGELOG.md

Lines changed: 53 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,46 @@ Overview of GEOSldas Git Releases:
3636
============================
3737

3838

39+
40+
[v20.2.0](https://github.com/GEOS-ESM/GEOSldas/releases/tag/v20.2.0) - 2025-11-26
41+
------------------------------
42+
43+
- 0-diff vs. GEOSldas v20.1.0 except:
44+
- Not 0-diff for lat/lon fields in "1d" nc4 output owing to roundoff differences between files directly generated with MAPL [new default] and files generated with tile_bin2nc4 [discontinued].
45+
- Not 0-diff for ASCAT and CYGNSS data assimilation.
46+
47+
- Uses GEOSldas_GridComp v3.2.0.
48+
49+
- New features:
50+
- Changed default format of tile-space HISTORY output to nc4 ([GEOSldas_GridComp PR #144](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/144)).
51+
- Added reader for surface meteorological forcing from S2S-3 ([GEOSldas_GridComp PR #138](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/138)).
52+
53+
- Minor changes:
54+
- Cleaned up ldas_setup; split out ldas.py and setup_utils.py; restored ntasks-per-node option ([GEOSldas_GridComp PR #107](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/107)).
55+
- Enable remapping of landice restarts from ldas_setup ([GEOSldas_GridComp PR #146](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/146)).
56+
- Added matlab reader for binary mwRTM vegopacity file ([GEOSldas_GridComp PR #142](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/142)).
57+
- Commented out static QC mask in CYGNSS obs reader ([GEOSldas_GridComp PR #151](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/151)).
58+
- Update `GEOSlandassim_GridComp/io_hdf5.F90` to allow for use with HDF5 1.14 ([GEOSldas_GridComp PR #139](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/139)).
59+
60+
- GEOSgcm_GridComp v2.8.0:
61+
- Added "make_topo" scripts to "make_bcs" for generation of topography files used by AGCM ([GEOSgcm_GridComp PR #1054](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/1054)).
62+
- Updated introductory comments in GEOS_SurfaceGridComp.rc ([GEOSgcm_GridComp PR #1133](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/1133)).
63+
64+
- Bug fixes:
65+
- Fixed bug in ASCAT EUMET soil moisture obs reader; bumped max_obs limit ([GEOSldas_GridComp PR #148](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/148), [GEOSldas_GridComp PR #151](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/151)).
66+
- Provide default "zoom" value for remap_restarts yaml file ([GEOSldas_GridComp PR #137](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/137)).
67+
- Fixed Restart=1 when the domain is not global ([GEOSldas_GridComp PR #107](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/107)).
68+
69+
- Utilities:
70+
- GMAO_Shared v2.1.4 ([PR #836](https://github.com/GEOS-ESM/GEOSldas/pull/836)).
71+
- GEOS_Util v2.1.10 ([PR #836](https://github.com/GEOS-ESM/GEOSldas/pull/836)).
72+
73+
- Infrastructure:
74+
- ESMA_cmake v3.64.0 ([PR #836](https://github.com/GEOS-ESM/GEOSldas/pull/836)).
75+
- ESMA_env v5.13.0, Baselibs v8.18.0 ([PR #836](https://github.com/GEOS-ESM/GEOSldas/pull/836)).
76+
- MAPL v2.63.1 ([PR #836](https://github.com/GEOS-ESM/GEOSldas/pull/836), [PR #839](https://github.com/GEOS-ESM/GEOSldas/pull/839), [PR #842](https://github.com/GEOS-ESM/GEOSldas/pull/842)).
77+
78+
------------------------------
3979
[v20.1.0](https://github.com/GEOS-ESM/GEOSldas/releases/tag/v20.1.0) - 2025-07-01
4080
------------------------------
4181

@@ -44,25 +84,25 @@ Overview of GEOSldas Git Releases:
4484
- Uses GEOSldas_GridComp v3.1.0.
4585

4686
- New features:
47-
- Python package for post-processing ObsFcstAna output into data assimilation diagnostics ([PR #87](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/87), [PR #111](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/111)).
87+
- Python package for post-processing ObsFcstAna output into data assimilation diagnostics ([GEOSldas_GridComp PR #87](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/87), [GEOSldas_GridComp PR #111](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/111)).
4888
- Support for 2d output from EASE tile space and 2d output on EASE grid:
49-
- Switched EASE grid handling to new MAPL EASE Grid Factory ([PR #115](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/115)).
50-
- Revised pre-processing of HISTORY template ([PR #118](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/118)).
51-
- Support for tile space of stretched cube-sphere grids ([PR #109](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/109)).
89+
- Switched EASE grid handling to new MAPL EASE Grid Factory ([GEOSldas_GridComp PR #115](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/115)).
90+
- Revised pre-processing of HISTORY template ([GEOSldas_GridComp PR #118](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/118)).
91+
- Support for tile space of stretched cube-sphere grids ([GEOSldas_GridComp PR #109](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/109)).
5292

5393
- Minor changes:
54-
- Revised experiment setup for coupled land-atm DAS ([PR #102](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/102)).
55-
- Updated defaults in LDASsa_DEFAULT_inputs_*.nml files ([PR #104](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/104)).
56-
- Specify only "ntasks_model" in SLURM resource request ([PR #106](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/106)).
57-
- Added optional SLURM "constraint" ([PR #112](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/112)).
94+
- Revised experiment setup for coupled land-atm DAS ([GEOSldas_GridComp PR #102](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/102)).
95+
- Updated defaults in LDASsa_DEFAULT_inputs_*.nml files ([GEOSldas_GridComp PR #104](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/104)).
96+
- Specify only "ntasks_model" in SLURM resource request ([GEOSldas_GridComp PR #106](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/106)).
97+
- Added optional SLURM "constraint" ([GEOSldas_GridComp PR #112](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/112)).
5898

5999
- GEOSgcm_GridComp v2.7.5:
60100
- Optional numerical derivatives for Monin-Obukhov exchange coefficients over land in offline mode ([GEOSgcm_GridComp PR #999](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/999)).
61101
- Fixed treatment of freezing rain in Catchment[CN] ([GEOSgcm_GridComp PR #1111](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/1111)).
62102
- Use MAPL EASE Grid Factory ([GEOSgcm_GridComp PR #1112](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/1112)).
63103

64104
- Bug fixes:
65-
- UDUNITS error ([PR #101](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/101), [PR #123](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/123)).
105+
- UDUNITS error ([GEOSldas_GridComp PR #101](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/101), [GEOSldas_GridComp PR #123](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/123)).
66106

67107
- Utilities:
68108
- GEOS_Util v2.1.9 ([PR #822](https://github.com/GEOS-ESM/GEOSldas/pull/822)).
@@ -79,12 +119,12 @@ Overview of GEOSldas Git Releases:
79119
- Uses GEOSldas_GridComp v3.0.0.
80120

81121
- Science changes:
82-
- Added functionality to simulate landice tiles ([PR #18](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/18)).
83-
- Added model-based QC of (MODIS) snow cover area fraction observations using layer-1 soil temperature ([PR #96](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/96)).
122+
- Added functionality to simulate landice tiles ([GEOSldas_GridComp PR #18](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/18)).
123+
- Added model-based QC of (MODIS) snow cover area fraction observations using layer-1 soil temperature ([GEOSldas_GridComp PR #96](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/96)).
84124

85125
- Minor changes:
86-
- Added default settings and command line args for coupled land-atm DAS ([PR #94](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/94)).
87-
- Added functionality to read nc4-formatted tile file ([PR #18](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/18)).
126+
- Added default settings and command line args for coupled land-atm DAS ([GEOSldas_GridComp PR #94](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/94)).
127+
- Added functionality to read nc4-formatted tile file ([GEOSldas_GridComp PR #18](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/18)).
88128

89129
- GEOSgcm_GridComp v2.7.4:
90130
- Use nc4-formatted tile file when remapping ([GEOSgcm_GridComp PR #1087](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/1087), [GEOSgcm_GridComp PR #1094](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/1094)).

doc/README.MetForcing_and_BCS.md

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -289,12 +289,12 @@ COMMONLY USED values for `MET_TAG`:
289289
MET_TAG : cross_d5294_GEOSIT
290290
```
291291

292-
#### Forcing from post-processed output of the GEOS S2S system
292+
#### Forcing from post-processed output of the GEOS S2S-2 system
293293

294-
- Forcing derived through post-processing of daily average output from the GEOS S2S system,
294+
- Forcing derived through post-processing of daily average output from the GEOS S2S-2 system,
295295
including S2S hindcasts/forecasts ("FCST") and the "AODAS" used for S2S initialization.
296296

297-
S2S output is from the geosgcm_vis2d and geosgcm_surf Collections for FCST and from the
297+
S2S-2 output is from the geosgcm_vis2d and geosgcm_surf Collections for FCST and from the
298298
geosgcm_rad and geosgcm_surf Collections for AODAS (see GMAO Office Note No. 16).
299299

300300
For FCST, post-processing includes a monthly bias correction to the MERRA-2 climatology.
@@ -307,7 +307,7 @@ COMMONLY USED values for `MET_TAG`:
307307
separated by double underscores.
308308

309309
As of 14 Jun 2021:
310-
- Preparation of S2S forcing data ignores the 3-hour offset between S2S daily averages
310+
- Preparation of S2S-2 forcing data ignores the 3-hour offset between S2S daily averages
311311
(21z-21z) and the MERRA-2 daily averages (0z-0z) used for the temporal disaggregration.
312312
- The processing of the S2S output incorrectly partitioned total precipitation into snowfall
313313
and convective precipitation. Therefore, rainfall and snowfall are determined in the
@@ -319,6 +319,38 @@ COMMONLY USED values for `MET_TAG`:
319319
MET_TAG : GEOSs2sAODAS
320320
```
321321

322+
#### Forcing from post-processed output of the GEOS S2S-3 system
323+
324+
- Forcing derived through post-processing of 3-hourly and monthly average output from the
325+
GEOS S2S-3 system, including S2S hindcasts/forecasts ("FCST") and the "AODAS" used for
326+
S2S initialization.
327+
328+
S2S-3 output is from the sfc_tavg_3hr__glo_L720x361_sfc and rad_tavg_1mo_glo_L720x361_slv
329+
Collections for both FCST and AODAS. For surface pressure and lowest-model-level air
330+
temperature and humidity, the forcing reader estimates the values at the synoptic and
331+
off-synoptic times (0z, 3z, ...) by taking the mean of the 3-hourly time average data from
332+
the adjacent 3-hour intervals. This minimizes the phase shift but exacerbates the reduction
333+
in the diurnal amplitude.
334+
335+
Because S2S-3 does NOT output 3-hourly surface downward shortwave radiation (SWGDN) and
336+
absorbed longwave radiation (LWGAB), these 2 variables are estimated from 3-hourly land surface
337+
net radiation (SWLAND and LWLAND), snow cover fraction (ASNOW), surface skin temperature (TS),
338+
as well as land surface albedo and emissivity.
339+
340+
A 1-year offline simulation using the same boundary conditions and resolution as in S2S-3 was
341+
carried out to produce the (climatological) 3-hourly surface albedo over snow-free areas.
342+
Albedo over snow-covered areas and emissivity are estimated using the model's parameterizations
343+
to the extent possible (e.g., snow mass impact on albedo is considered but snow density is
344+
assumed to always be that of fresh snow because snow density is not in the S2S-3 output).
345+
346+
For FCST, MET_TAG must specify S2S ensemble member ('ensX', where X can be either 1 or 2 digits,
347+
e.g., 'ens1','ens2','ens10', 'ens11'), and date of forecast initialization in format of
348+
'YYYYMMDD' (e.g., '20160101'), separated by double underscores.
349+
350+
```
351+
MET_TAG : GEOSS2S3FCST__[ensX]__[YYYYMMDD] # note uppercase 'S2S'
352+
MET_TAG : GEOSS2S3AODAS # note uppercase 'S2S'
353+
```
322354

323355
#### SMAP L4_SM
324356

doc/README.OutputSpecs.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,16 +66,16 @@ Gridded ("2d") output can be on a grid other than the "native" grid that is asso
6666
```
6767
In addition, the line "VERSION: 1" must be present in the header of `HISTORY.rc`.
6868

69-
MAPL HISTORY can generally write gridded ("2d") output in binary or netcdf-4 (nc4) format _**except**_ for GEOSldas simulations in EASE-grid tile space (see below). Output in tile space ("1d") must always be written in binary format.
70-
7169

7270
**Special considerations for GEOSldas**
7371

74-
1. Gridded ("2d") output _**cannot**_ be written for simulations in any EASE-grid tile space. But since each EASE-grid cell contains at most one tile, it is straightforward to convert tile-space ("1d") output into gridded output (2d arrays) on the fly using the `i_indg` and `j_indg` data in the `./rc_out/*tilecoord*` file. See Matlab readers and scripts in `./src/Components/GEOSldas_GridComp/GEOSldas_App/util`.
72+
1. Since the introduction of mixed land+landice simulations, the tile space can differ across gridded components. For example, METFORCE fields are in the full land+landice tile space, whereas CATCH fields are in the land tilespace. Therefore, in mixed land+landice simulations, METFORCE fields and CATCH fields can no longer appear in the same "1d" HISTORY collection (which was previously the case in the "1d_lfs" collection).
73+
74+
2. Beginning with MAPL v2.63.1, simulations on the EASE grid tile space can write "2d" gridded output on the native EASE grid as well as interpolated to lat/lon and cube-sphere grids.
7575

76-
2. When running in EASE-grid tile space, the main GEOSldas executable (`GEOSldas.x`) first writes tile-space ("1d") output in binary format using MAPL HISTORY. If nc4 output is requested in `HISTORY.rc`, the binary output from `GEOSldas.x` is then automatically converted into nc4 format in post-processing as part of the `lenkf.j` job script using the `tile_bin2nc4.F90` utility.
76+
3. Beginning with MAPL v2.63.1, simulations can write "1d" tile-space output directly in nc4 format. The "tile_bin2nc4" utility was discontinued.
7777

78-
3. GEOSldas can bundle sub-daily nc4 output into daily nc4 files and write monthly-average output through the `POSTPROC_HIST` configuration option.
78+
4. GEOSldas can bundle sub-daily nc4 output into daily nc4 files and write monthly-average output through the `POSTPROC_HIST` configuration option.
7979

8080

8181
**Enhanced file compression and bit shaving**

0 commit comments

Comments
 (0)