diff --git a/doc/CHANGELOG.md b/doc/CHANGELOG.md index 54b2545d..5626d2ef 100644 --- a/doc/CHANGELOG.md +++ b/doc/CHANGELOG.md @@ -27,12 +27,85 @@ this period, LDASsa and GEOSldas development continued in parallel. In 2019, GEOS LDAS version control transferred from CVS to Git. -This README file contains the history of stable GEOSldas versions ("tags") in Git, followed by older, CVS LDASsa and GEOSldas versions and change logs. +This README file contains the history of stable GEOSldas Releases in Git, followed by older, CVS LDASsa tags and GEOSldas versions and change logs. Overview of Git Releases: ============================ +[v18.0.0](https://github.com/GEOS-ESM/GEOSldas/releases/tag/v18.0.0) - 2024-03-22 +------------------------------ + +- 0-diff vs. v17.13.1 except for MAPL bug fix ([PR #734](https://github.com/GEOS-ESM/GEOSldas/pull/734)). + +- Notes: + - Release uses original GEOSldas repository structure. Next release is expected to use a revised repository structure. + +- Science changes: + - Added MODIS snow cover fraction assimilation ([PR #512](https://github.com/GEOS-ESM/GEOSldas/pull/512)). + - Added ASCAT soil moisture assimilation ([PR #656](https://github.com/GEOS-ESM/GEOSldas/pull/656), [PR #703](https://github.com/GEOS-ESM/GEOSldas/pull/703), [PR #723](https://github.com/GEOS-ESM/GEOSldas/pull/723), [PR #729](https://github.com/GEOS-ESM/GEOSldas/pull/729)). + - New update_type=13 for ASCAT soil moisture and SMAP brightness temperature assimilation ([PR #703](https://github.com/GEOS-ESM/GEOSldas/pull/703)). + - New update_type=13 replaces update_type=[1,2], which has been disabled. + - Requires ASCAT mask file ([PR #723](https://github.com/GEOS-ESM/GEOSldas/pull/723), [PR #729](https://github.com/GEOS-ESM/GEOSldas/pull/729)). + - Disabled CatchmentCNCLM45 model option (LSM_CHOICE=3) ([PR #707](https://github.com/GEOS-ESM/GEOSldas/pull/707), [GEOSgcm_GridComp PR #900](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/900)). + - Added support for GEOS-IT surface met forcing ([PR #688](https://github.com/GEOS-ESM/GEOSldas/pull/688)). + - Added CATCHMENT_SPINUP mode ([PR #647](https://github.com/GEOS-ESM/GEOSldas/pull/647), [GEOSgcm_GridComp PR #751](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/751)). + +- GEOSgcm_GridComp v2.5.2: + - Improved MODIS-based snow albedo (v2) in make_bcs package ([GEOSgcm_GridComp PR #687](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/687)). + - Major source code cleanup: + - Stieglitz snow model ([GEOSgcm_GridComp PR #834](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/834)). + - make_bcs package ([GEOSgcm_GridComp PR #763](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/763), [GEOSgcm_GridComp PR #786](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/786), [GEOSgcm_GridComp PR #846](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/846)). + - coeffsib ([GEOSgcm_GridComp PR #845](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/845)). + - Fixed CDCR2 long_name ([GEOSgcm_GridComp PR #818](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/818)). + - Optional checks of snow states after application of LDAS increments ([GEOSgcm_GridComp PR #834](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/834)). + - Refined check for allowable bcs versions for CatchCN ([GEOSgcm_GridComp PR #882](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/882)). + - Fixed treatment of atmospheric CO2 input file for CatchCN ([PR #663](https://github.com/GEOS-ESM/GEOSldas/pull/663), [GEOSgcm_GridComp PR #771](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/771)). + - Fixed bug when reading vegetation type ity from restart ([GEOSgcm_GridComp PR #757](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/757)). + - Fixed bug to correct vegetation fraction assessment in GetIds_carbon (getids.F90) for CatchCN ([GEOSgcm_GridComp PR #770](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/770)). + +- Interface: + - Use boundary conditions inputs in revised directory layout and naming convention ([PR #680](https://github.com/GEOS-ESM/GEOSldas/pull/680)). + +- Utilities: + - GMAO_Shared v1.9.7 ([PR #725](https://github.com/GEOS-ESM/GEOSldas/pull/725)). + - GEOS_Util v2.0.7 ([PR #725](https://github.com/GEOS-ESM/GEOSldas/pull/725)). + - Sparse checkout of GEOS_Util ([PR #711](https://github.com/GEOS-ESM/GEOSldas/pull/711)). + - Improved remap_restarts package ([GEOS_Util PR #43](https://github.com/GEOS-ESM/GEOS_Util/pull/19), [GEOS_Util PR #43](https://github.com/GEOS-ESM/GEOS_Util/pull/43), [GEOS_Util PR #53](https://github.com/GEOS-ESM/GEOS_Util/pull/53)) + - Added NCEP_Shared v1.3.0 ([PR #656](https://github.com/GEOS-ESM/GEOSldas/pull/656)). + +- Infrastructure: + - Updated for NCCS/Discover hardware: + - Added support for SLES15/Milan nodes ([PR #693](https://github.com/GEOS-ESM/GEOSldas/pull/693)). + - Removed support for Haswell nodes ([PR #681](https://github.com/GEOS-ESM/GEOSldas/pull/681)). + - Support for running GEOSldas at the NASA Advanced Supercomputing (NAS) facility ([PR #706](https://github.com/GEOS-ESM/GEOSldas/pull/706)). + - Allow experiment setup from another user's build ([PR #733](https://github.com/GEOS-ESM/GEOSldas/pull/733), [PR #740](https://github.com/GEOS-ESM/GEOSldas/pull/740)). + - ESMA_env v4.23.0, Baselibs v7.16.0 ([PR #681](https://github.com/GEOS-ESM/GEOSldas/pull/681)). + - ESMA_cmake v3.41.0 ([PR #725](https://github.com/GEOS-ESM/GEOSldas/pull/725)). + - MAPL v2.44.1 ([PR #734](https://github.com/GEOS-ESM/GEOSldas/pull/734)). + - CircleCI Orb v2 ([PR #694](https://github.com/GEOS-ESM/GEOSldas/pull/694)). + - Replaced FLAP with fArgParse ([PR #669](https://github.com/GEOS-ESM/GEOSldas/pull/669)). + - Updated versions of GitHub Actions ([PR #739](https://github.com/GEOS-ESM/GEOSldas/pull/739)). + + +- Documentation: + - Updates and corrections ([PR #728](https://github.com/GEOS-ESM/GEOSldas/pull/728)). + +- Bug fixes and other minor changes: + - Fixed bug that degraded simulation when writing (MAPL-binary) instantaneous output with bit shaving ([PR #734](https://github.com/GEOS-ESM/GEOSldas/pull/734)). + - Removed requirement for mwRTM parameter input files ([PR #685](https://github.com/GEOS-ESM/GEOSldas/pull/685)). + - Support for reading corrected precipitation from aggregated daily netcdf files ([PR #718](https://github.com/GEOS-ESM/GEOSldas/pull/718)). + - Updated generate_catchincr_hist.py and sample documents for coupled land-atmosphere data assimilation ([PR #698](https://github.com/GEOS-ESM/GEOSldas/pull/698)). + - Bug fix to avoid NaN for ens std-dev in debug mode ([PR #679](https://github.com/GEOS-ESM/GEOSldas/pull/679)). + - Implementation changes for FFT used in perturbations ([PR #679](https://github.com/GEOS-ESM/GEOSldas/pull/679)). + - Some cleanup of unused variables ([PR #679](https://github.com/GEOS-ESM/GEOSldas/pull/679)). + - Updated met forcing path when coupled with ADAS ([PR #682](https://github.com/GEOS-ESM/GEOSldas/pull/682)). + - Added more export variable definitions to tile_bin2nc4.F90 ([PR #676](https://github.com/GEOS-ESM/GEOSldas/pull/676)). + - Fixed LONG_NAME for longwave radiation variables ([PR #674](https://github.com/GEOS-ESM/GEOSldas/pull/674), [GEOSgcm_GridComp PR #764](https://github.com/GEOS-ESM/GEOSgcm_GridComp/pull/764)). + - Fixed bug in matlab reader MAPL_ReadForcing_fullfile.m ([PR #665](https://github.com/GEOS-ESM/GEOSldas/pull/665)). + - Renamed GEOSldas_GridComp/Shared to GEOSldas_GridComp/LDAS_Shared ([PR #714](https://github.com/GEOS-ESM/GEOSldas/pull/714)). + +------------------------------ [v17.13.1](https://github.com/GEOS-ESM/GEOSldas/releases/tag/v17.13.1) - 2023-06-26 ------------------------------ diff --git a/doc/README.MetForcing_and_BCS.md b/doc/README.MetForcing_and_BCS.md index 5ed10ab3..fa0dd307 100644 --- a/doc/README.MetForcing_and_BCS.md +++ b/doc/README.MetForcing_and_BCS.md @@ -4,7 +4,7 @@ README.metforcing_and_bcs Description: --------------- -Information about met forcing and boundary conditions for GEOSldas. +Information about surface meteorological forcing and boundary conditions for GEOSldas. Author: --------------- @@ -12,29 +12,26 @@ Author: - jperket (10 Dec 2019) - converted to markdown -Met Forcing -========= - -Surface meteorological forcing data +Surface Meteorological Forcing +================================================================================ The forcing time step is controlled with the configurable resource variable __FORCE_DTSTEP__ and __must match the frequency of the input forcing files__. -Specify FORCE_DTSTEP=3600 [seconds] for GEOS products, incl. MERRA, MERRA-2, FP, and FP-IT/RP-IT, which are 1-hourly datasets. +Specify FORCE_DTSTEP=3600 [seconds] for most GEOS products, incl. MERRA, MERRA-2, FP, FP-IT/RP-IT, and GEOS-IT, which are 1-hourly datasets. The spatial (horizontal) interpolation method for the met forcing is controlled by `MET_HINTERP` (see optional parameters in `exeinp` input file to ldas_setup). `MET_PATH` and `MET_TAG` must be consistent: - - `MET_PATH` is the full path to the forcing data set + - `MET_PATH` is the full path to the forcing data set. - - `MET_TAG` is an identifier for the forcing data set + - `MET_TAG` is an identifier for the forcing data set. - - Available non-MERRA and non-GEOS forcing data sets are pre-defined - in subroutine get_forcing() + - Available non-GEOS forcing data sets are pre-defined in subroutine get_forcing(). - - For MERRA and other GEOS forcing datasets, see special `MET_TAG` + - For GEOS forcing datasets, see special `MET_TAG` parsing conventions in subroutines parse_MERRA_met_tag(), parse_MERRA2_met_tag() - and parse_G5DAS_met_tag() + and parse_G5DAS_met_tag(). - For details on corrected precipitation data see also (https://gmao.gsfc.nasa.gov/pubs/): - Reichle and Liu (2014), @@ -64,49 +61,44 @@ COMMONLY USED values for `MET_PATH`: MET_PATH : /discover/nobackup/projects/lis/MET_FORCING/ERA5/ ``` -### GEOS-based datasets +### GEOS datasets #### MERRA forcing (including precip-corrected MERRA forcing) ``` MET_PATH : /discover/nobackup/projects/gmao/merra/iau/merra_land/MERRA_land_forcing/ ``` -#### MERRA2 forcing (including precip-corrected MERRA forcing) +#### MERRA2 forcing (including precip-corrected MERRA2 forcing) ``` MET_PATH : /discover/nobackup/projects/gmao/merra/iau/merra_land/MERRA2_land_forcing/ ``` -#### SMAP_Nature_v03 -``` - MET_PATH : /discover/nobackup/projects/gmao/merra/iau/merra_land/GEOS5_land_forcing/ -``` - -#### SMAP_Nature_v04, SMAP_Nature_v04.1 -``` - MET_PATH : /discover/nobackup/projects/gmao/merra/iau/merra_land/GEOS5_land_forcing/ -``` - -#### SMAP_Nature_v05, v7.2, v8.1, v8.3; SMAP L4_SM Version 4 -``` - MET_PATH : /discover/nobackup/projects/gmao/merra/iau/merra_land/MERRA2_land_forcing/ ! before 1/1/2015 - MET_PATH : /discover/nobackup/projects/gmao/merra/iau/merra_land/GEOS5_land_forcing/ ! after 1/1/2015 -``` +Note: Used for SMAP Nature Run v05, v7.2, v8.1, v8.3, v9.1, v10.0 (before 1/1/2015). #### GEOS FP forcing with "seamless" file names, for use with MET_TAG=GEOS.fp.asm[__prec*] (__PREFERRED__) ``` MET_PATH : /discover/nobackup/projects/gmao/smap/SMAP_L4/GEOS/FP/ ``` +Note: Used for SMAP Nature Run v8.1, v8.3, v9.1, v10.0 (after 1/1/2015); SMAP L4_SM Version 5, 6, 7. + #### GEOS forcing with experiment-specific file names, incl. FP (__DEPRECATED__), FP-IT/RP-IT, and precip-corrected GEOS forcing ``` MET_PATH : /discover/nobackup/projects/gmao/merra/iau/merra_land/GEOS5_land_forcing/ ``` +Note: Used for SMAP Nature Run v03, v04, v04.1, v05, v7.2 (after 1/1/2015); SMAP L4_SM Version 4. + +#### GEOS-IT forcing (including precip-corrected GEOS-IT forcing) +``` + MET_PATH : /discover/nobackup/projects/gmao/merra/iau/merra_land/GEOSIT_land_forcing/ +``` + #### Forcing from post-processed output of the GEOS S2S system (FCST, AODAS) -``` +``` MET_PATH : [check with GMAO S2S group] -``` +``` @@ -126,7 +118,7 @@ COMMONLY USED values for `MET_TAG`: MET_TAG : ERA5_LIS ``` -### GEOS-based datasets +### GEOS datasets #### MERRA ``` @@ -140,32 +132,32 @@ COMMONLY USED values for `MET_TAG`: #### MERRA-2 - - All MERRA-2 options use native MERRA-2 "lfo" files for all surface met forcing fields - *except* precipitation. + - All MERRA-2 options use native MERRA-2 "lfo" files for all surface met forcing fields *except* precipitation. - Option 1a: Use corrected precip seen by the land w/in the MERRA-2 system (i.e., native MERRA-2 "lfo" files). Precip is as corrected within the MERRA-2 system. Closest to land-only MERRA-2 replay. ``` - MET_TAG : M2COR_cross - MET_TAG : M2COR_100 - MET_TAG : M2COR_200 - MET_TAG : M2COR_300 - MET_TAG : M2COR_400 - ``` + MET_TAG : M2COR_cross ! all streams + MET_TAG : M2COR_100 ! stream 1 only + MET_TAG : M2COR_200 ! stream 2 only + MET_TAG : M2COR_300 ! stream 3 only + MET_TAG : M2COR_400 ! stream 4 only + ``` + - Option 1b: - Use corrected precip forcing constructed in post-processing using MERRA-2 as background. + Use corrected precip forcing constructed in post-processing using MERRA-2 as background. Background precip is typically from MERRA-2 "int" data, but corrected precip is stored in files that look like MERRA-2 "lfo" files. For example, select corrected precip version "CPCUGPCP22clim_MERRA2_BMTXS" as follows: ``` - MET_TAG : M2COR_cross__precCPCUGPCP22clim_MERRA2_BMTXS - MET_TAG : M2COR_100__precCPCUGPCP22clim_MERRA2_BMTXS - MET_TAG : M2COR_200__precCPCUGPCP22clim_MERRA2_BMTXS - MET_TAG : M2COR_300__precCPCUGPCP22clim_MERRA2_BMTXS - MET_TAG : M2COR_400__precCPCUGPCP22clim_MERRA2_BMTXS + MET_TAG : M2COR_cross__precCPCUGPCP22clim_MERRA2_BMTXS ! all streams + MET_TAG : M2COR_100__precCPCUGPCP22clim_MERRA2_BMTXS ! stream 1 only + MET_TAG : M2COR_200__precCPCUGPCP22clim_MERRA2_BMTXS ! stream 2 only + MET_TAG : M2COR_300__precCPCUGPCP22clim_MERRA2_BMTXS ! stream 3 only + MET_TAG : M2COR_400__precCPCUGPCP22clim_MERRA2_BMTXS ! stream 4 only ``` This particular version uses as background the MERRA-2 model ("int") precip, rescaled to @@ -178,32 +170,35 @@ COMMONLY USED values for `MET_TAG`: Use uncorrected precip generated by the AGCM w/in the MERRA-2 system (i.e., native MERRA-2 "int" files). ``` - MET_TAG : M2INT_cross - MET_TAG : M2INT_100 - MET_TAG : M2INT_200 - MET_TAG : M2INT_300 - MET_TAG : M2INT_400 - ``` + MET_TAG : M2INT_cross ! all streams + MET_TAG : M2INT_100 ! stream 1 only + MET_TAG : M2INT_200 ! stream 2 only + MET_TAG : M2INT_300 ! stream 3 only + MET_TAG : M2INT_400 ! stream 4 only + ``` #### RP-IT/FP-IT (d591) -``` - MET_TAG : d591_rpit1_jan00 - MET_TAG : d591_rpit2_jun06 - MET_TAG : d591_rpit3_jan11 - MET_TAG : d591_fpit - MET_TAG : cross_d591_RPFPIT -``` + ``` + MET_TAG : cross_d591_RPFPIT ! all streams + MET_TAG : d591_rpit1_jan00 ! stream 1 only + MET_TAG : d591_rpit2_jun06 ! stream 2 only + MET_TAG : d591_rpit3_jan11 ! stream 3 only + MET_TAG : d591_fpit ! stream 4 only + ``` #### RP-IT/FP-IT (d5124) -``` - MET_TAG : d5124_rpit1_jan00 - MET_TAG : d5124_rpit2_jun04 - MET_TAG : d5124_rpit3_jan12 ! updated through present - MET_TAG : cross_d5124_RPFPIT ! uses "late-look" through present -``` + ``` + MET_TAG : cross_d5124_RPFPIT ! all streams - uses "late-look" through present + MET_TAG : d5124_rpit1_jan00 ! stream 1 only + MET_TAG : d5124_rpit2_jun04 ! stream 2 only + MET_TAG : d5124_rpit3_jan12 ! stream 3 only - updated through present + ``` #### GEOS FP -``` + ``` + MET_TAG : GEOS.fp.asm ! PREFERRED: "seamless" FP files (published/generic file names, ~same result as cross_FP) + + MET_TAG : cross_FP ! DEPRECATED: stitch FP experiment names across years MET_TAG : e5110_fp ! starting 11 Jun 2013 MET_TAG : e5130_fp ! starting 20 Aug 2014 MET_TAG : e5131_fp ! starting 1 May 2015 @@ -214,38 +209,70 @@ COMMONLY USED values for `MET_TAG`: MET_TAG : f525_fp ! starting 30 Jan 2020 MET_TAG : f525_p5_fp ! starting 7 Apr 2020 ... + ``` - MET_TAG : cross_FP ! stitch FP experiment names across years (DEPRECATED) +#### GEOS-IT + ``` + MET_TAG : cross_d5294_GEOSIT + ``` - MET_TAG : GEOS.fp.asm ! "seamless" FP files (published/generic file names, ~same result as cross_FP, PREFERRED) -``` +#### Forcing from post-processed output of the GEOS S2S system + + - Forcing derived through post-processing of daily average output from the GEOS S2S system, + including S2S hindcasts/forecasts ("FCST") and the "AODAS" used for S2S initialization. + + S2S output is from the geosgcm_vis2d and geosgcm_surf Collections for FCST and from the + geosgcm_rad and geosgcm_surf Collections for AODAS (see GMAO Office Note No. 16). + + For FCST, post-processing includes a monthly bias correction to the MERRA-2 climatology. + + Daily data are disaggregated to 6-hourly (FCST) or 1-hourly (AODAS) using the MERRA-2 + climatological diurnal cycle. -#### With precip corrections: + For FCST, MET_TAG must specify S2S ensemble member ('ensX'; currently: 'ens1', 'ens2', + 'ens3', or 'ens4') and month/day of forecast initialization ('MMMDD'; e.g., 'jan01'), + separated by double underscores. + + As of 14 Jun 2021: + - Preparation of S2S forcing data ignores the 3-hour offset between S2S daily averages + (21z-21z) and the MERRA-2 daily averages (0z-0z) used for the temporal disaggregration. + - The processing of the S2S output incorrectly partitioned total precipitation into snowfall + and convective precipitation. Therefore, rainfall and snowfall are determined in the + S2S forcing reader from total precipitation and air temperature. Convective rainfall is + set to 0. (As of now, only total rainfall is used by Catchment.) + + ``` + MET_TAG : GEOSs2sFCST__[ensX]__[MMMDD] + MET_TAG : GEOSs2sAODAS + ``` + + +#### SMAP L4_SM #### Pre-beta SMAP L4_SM ``` MET_TAG : cross_FP__precCPCUG5FPv2 ``` -#### SMAP_Nature_v03 +#### SMAP Nature Run v03 ``` MET_TAG : cross_RPFPIT__precCPCUG5RPFPITv1 ! before 1/1/2014 - MET_TAG : cross_FP__precCPCUG5FPv1 ! after 1/1/2014 + MET_TAG : cross_FP__precCPCUG5FPv1 ! after 1/1/2014 ``` -#### SMAP_Nature_v04 +#### SMAP Nature Run v04 ``` MET_TAG : cross_d591_RPFPIT__precCPCUG5RPFPITv2 ! before 1/1/2014 MET_TAG : cross_FP__precCPCUG5FPv2 ! after 1/1/2014 ``` -#### SMAP_Nature_v04.1 +#### SMAP Nature Run v04.1 ``` MET_TAG : cross_d5124_RPFPIT__precCPCUG5RPFPITv2.1 ! before 1/1/2015 MET_TAG : cross_FP__precCPCUG5FPv2 ! after 1/1/2015 ``` -#### SMAP_Nature_v05, v7.2, v8.1, v8.3; SMAP L4_SM Version 4 +#### SMAP Nature Run v05, v7.2, v8.1, v8.3; SMAP L4_SM Version 4 ``` MET_TAG : M2COR_cross__precCPCUGPCP22clim_MERRA2_BMTXS ! before 1/1/2015 MET_TAG : cross_FP__precCPCUG5FPv3 ! after 1/1/2015 @@ -257,48 +284,33 @@ COMMONLY USED values for `MET_TAG`: MET_TAG : GEOS.fp.asm__precCPCUFLKG5FPv3 ! (precip corr with first-look CPCU) ``` -#### SMAP L4_SM Version 6 +#### SMAP Nature Run v9.1; SMAP L4_SM Version 6 ``` - MET_TAG : GEOS.fp.asm__precCPCU_IMGFinal_IMGFclim_G5FP ! (precip corr with IMERG-Final and late-look CPCU) - MET_TAG : GEOS.fp.asm__precCPCULLK_IMERGLateV06b_fp_v1 ! (precip corr with IMERG-Late and late-look CPCU) - MET_TAG : GEOS.fp.asm__precCPCUFLK_IMERGLateV06b_fp_v1 ! (precip corr with IMERG-Late and first-look CPCU) + MET_TAG : M2COR_cross__precSMAPv6_CGIM2 ! before 01/01/2015 + MET_TAG : GEOS.fp.asm__precCPCU_IMGFinal_IMGFclim_G5FP ! before 06/30/2021 (precip corr with IMERG-Final and late-look CPCU) + MET_TAG : GEOS.fp.asm__precCPCULLK_IMERGLateV06b_fp_v1 ! before 10/27/2021 (precip corr with IMERG-Late and late-look CPCU) + MET_TAG : GEOS.fp.asm__precCPCUFLK_IMERGLateV06b_fp_v1 ! before 05/09/2022 (precip corr with IMERG-Late and first-look CPCU) + MET_TAG : GEOS.fp.asm__precCPCUFLK_IMERGLateV06c_fp_v1 ! (precip corr with IMERG-Late and first-look CPCU) ``` -#### Forcing from post-processed output of the GEOS S2S system - - - Forcing derived through post-processing of daily average output from the GEOS S2S system, - including S2S hindcasts/forecasts ("FCST") and the "AODAS" used for S2S initialization. - - S2S output is from the geosgcm_vis2d and geosgcm_surf Collections for FCST and from the - geosgcm_rad and geosgcm_surf Collections for AODAS (see GMAO Office Note No. 16). - - For FCST, post-processing includes a monthly bias correction to the MERRA-2 climatology. - - Daily data are disaggregated to 6-hourly (FCST) or 1-hourly (AODAS) using the MERRA-2 - climatological diurnal cycle. - - For FCST, MET_TAG must specify S2S ensemble member ('ensX'; currently: 'ens1', 'ens2', - 'ens3', or 'ens4') and month/day of forecast initialization ('MMMDD'; e.g., 'jan01'), - separated by double underscores. - - As of 14 Jun 2021: - - Preparation of S2S forcing data ignores the 3-hour offset between S2S daily averages - (21z-21z) and the MERRA-2 daily averages (0z-0z) used for the temporal disaggregration. - - The processing of the S2S output incorrectly partitioned total precipitation into snowfall - and convective precipitation. Therefore, rainfall and snowfall are determined in the - S2S forcing reader from total precipitation and air temperature. Convective rainfall is - set to 0. (As of now, only total rainfall is used by Catchment.) - +#### SMAP Nature Run v10.0*; SMAP L4_SM Version 7 ``` - MET_TAG : GEOSs2sFCST__[ensX]__[MMMDD] - MET_TAG : GEOSs2sAODAS + MET_TAG : M2COR_cross__precSMAPv6_CGIM2 ! before 01/01/2015 + MET_TAG : GEOS.fp.asm__precCPCU_IMGFinal_IMGFclim_G5FP ! before 09/30/2021 (precip corr with IMERG-Final and late-look CPCU) + MET_TAG : GEOS.fp.asm__precCPCUFLK_IMERGLateV06b_fp_v1 ! before 05/09/2022 (precip corr with IMERG-Late and first-look CPCU) + MET_TAG : GEOS.fp.asm__precCPCUFLK_IMERGLateV06c_fp_v1 ! before 07/02/2023 (precip corr with IMERG-Late and first-look CPCU) + MET_TAG : GEOS.fp.asm__precCPCUFLK_IMERGLateV06d_fp_v1 ! before 11/07/2023 (precip corr with IMERG-Late and first-look CPCU) + MET_TAG : GEOS.fp.asm__precCPCUFLK_IMERGLateV06e_fp_v1 ! (precip corr with IMERG-Late and first-look CPCU) + ``` +*Transitions dates are for L4_SM Version 7. Transition dates for NRv10.0 may differ somewhat. + -Boundary Conditions +Boundary Conditions ================================================================================ Boundary conditions (bcs) are tile-space model parameters that are provided in a - set of files located in `BCS_PATH/BCS_RESOLUTION`. + set of files located in `BCS_PATH` for a given `BCS_RESOLUTION`. For "land" tiles, the discretization (tile-space) is constructed in one of two different ways: @@ -310,13 +322,15 @@ For "land" tiles, the discretization (tile-space) is constructed in one of two 0.5-degree ("c180") cube-sphere grid used by the atmospheric model in the MERRA-2 reanalysis: `CF0180x6C_DE1440xPE0720`. - 2. Directly on a regular grid, e.g., `SMAP_EASEv2_M09`. + 2. Directly on a regular grid, e.g., `EASEv2_M09`. -Note: GEOSldas can be run with older bcs. Note, however, that GEOSldas requires some bcs - files (NDVI and vegdyn) that did not exist in earlier bcs versions. Upon request, - older bcs directories can be patched up to work with GEOSldas (and still work with - LDASsa). +**IMPORTANT**: Beginning with GEOSldas release v18.0.0, bcs must be provided in a revised + directory layout and naming convention. On NCCS/Discover, use: +``` + BCS_PATH : /discover/nobackup/projects/gmao/bcs_shared/fvInput/ExtData/esm/tiles/ +``` + COMMONLY USED boundary conditions (bcs): @@ -327,7 +341,7 @@ COMMONLY USED boundary conditions (bcs): BCS_PATH : /discover/nobackup/projects/gmao/ssd/land/l_data/geos5/bcs/SiB2_V2_bad_lon_onDL/DC/ ``` -#### MERRA2 +#### Ganymed-4_0 (GM4): MERRA2 ``` BCS_PATH : /discover/nobackup/projects/gmao/bcs_shared/legacy_bcs/Ganymed-4_0/Ganymed-4_0_MERRA-2/ ``` @@ -349,26 +363,25 @@ COMMONLY USED boundary conditions (bcs): BCS_PATH : /discover/nobackup/projects/gmao/ssd/land/l_data/geos5/bcs/CLSM_params/mkCatchParam_SMAP_L4SM_v002/ ``` -#### Icarus-NL ("New Land"), SMAP_Nature_v7.2 +#### Icarus-NL ("New Land"): SMAP Nature Run v7.2 ``` BCS_PATH : /discover/nobackup/projects/gmao/bcs_shared/legacy_bcs/Icarus-NL/Icarus-NL_[XXXX]/ ``` Notes: -- _DON'T USE_ unless to replicate previous experiments. There is "missing" data in green*.data, nirdf*.dat, and visdf*.dat files. +- _DO NOT USE_ unless replicating previous experiments. There is "missing" data in green*.data, nirdf*.dat, and visdf*.dat files. - This path remains in place to permit recreating experiments that have used this path. - The sub-directory "Icarus-NL_MERRA-2/" contains the "new land" bcs. The string "MERRA-2" in this sub-directory name refers to ocean bcs that are not relevant for GEOSldas. -#### Icarus-NLv2, SMAP L4_SM Version 4 +#### Icarus-NLv2: SMAP L4_SM Version 4 ``` BCS_PATH : /discover/nobackup/projects/gmao/bcs_shared/legacy_bcs/Icarus-NLv2/Icarus-NLv2_[XXXX]/ ``` Notes: - Icarus-NLv2 is a update to Icarus-NL bcs. A patch has been applied to files green*.data, nirdf*.dat, and visdf*.dat. -- DEFAULT for GEOSldas v17.8.0 -#### Icarus-NLv3, SMAP_Nature_v8.1 +#### Icarus-NLv3 (NL3): SMAP Nature Run v8.1, GEOS-FP 5.25, 5.27, 5.29, GEOS-IT ``` BCS_PATH : /discover/nobackup/projects/gmao/bcs_shared/legacy_bcs/Icarus-NLv3/Icarus-NLv3_[XXXX]/ ``` @@ -376,15 +389,13 @@ Notes: Notes: - Soil parameters for a small fraction (< 0.05%) of tiles changed to correct "Mali" bug. - Vegdyn.data now netcdf4; reverts to using Dorman/Sellers veg heights (abandons JPL/Simard et al. 2011 Lidar data). -- Some underlying ASCII data files are now grouped to netcdf4. I.e., data in ar.new, bf.dat, ts.dat, etc are now in: - - clsm/catch_params.nc4 (for Catch) - - clsm/catchcn_params.nc4 (for CatchCN) +- Some underlying ASCII data files are now grouped into a netcdf4 file. I.e., data in ar.new, bf.dat, ts.dat, etc are now in: + - clsm/catch_params.nc4 + - clsm/catchcn_params.nc4 (additional parameters for CatchCN) - Generated with cvs tag Jason-3_0_LANDBCS -- DEFAULT for GEOSldas AFTER v17.8.0 -- Used in GEOS FP 5.25, 5.27, 5.29 -#### Icarus-NLv4, SMAP_Nature_v8.3, SMAP L4_SM Version 5, SMAP_Nature_v9.1, SMAP L4_SM Version 6 +#### Icarus-NLv4 (NL4): SMAP Nature Run v8.3, v9.1, SMAP L4_SM Version 5, 6 ``` BCS_PATH : /discover/nobackup/projects/gmao/smap/SMAP_L4/L4_SM/bcs/CLSM_params/Icarus-NLv4_EASE/ ``` @@ -393,7 +404,27 @@ Notes: - Icarus-NLv4 is identical to Icarus-NLv3 except that NLv4 reinstates veg heights from JPL/Simard et al. 2011 Lidar data. - Generated with GEOSldas tag v17.9.0-beta.7 under SLES11 O/S. - + +#### Icarus-NLv5 (NL5): SMAP Nature Run v10.0, SMAP L4_SM Version 7 +``` + BCS_PATH : /discover/nobackup/projects/gmao/smap/SMAP_L4/L4_SM/bcs/CLSM_params/Icarus-NLv5_EASE/ +``` + +Notes: +- Icarus-NLv5 is identical to Icarus-NLv4 except for parameters associated with PEATCLSM. + + +#### v11 +``` + BCS_PATH : /discover/nobackup/projects/gmao/bcs_shared/fvInput/ExtData/esm/tiles/v11/ +``` + +Notes: +- v11 is identical to Icarus-NLv5 (within roundoff) except for new MODIS-based snow albedo v2 parameters. + + + + diff --git a/src/Applications/LDAS_App/ldas_setup b/src/Applications/LDAS_App/ldas_setup index 1d1e8332..6c1eada8 100755 --- a/src/Applications/LDAS_App/ldas_setup +++ b/src/Applications/LDAS_App/ldas_setup @@ -1043,11 +1043,10 @@ class LDASsetup: # get optimzed NX and IMS optimized_distribution_file = tempfile.NamedTemporaryFile(delete=False) - tmp_path = os.path.dirname(optimized_distribution_file.name ) - print("tmp_path:"+tmp_path) print ("Optimizing... decomposition of processes.... \n") - cmd = self.bindir + '/preprocess_ldas.x optimize '+ self.inpdir+'/tile.data '+ str(self.rqdRmInp['ntasks_model']) + ' ' + optimized_distribution_file.name + cmd = self.bindir + '/preprocess_ldas.x optimize '+ self.inpdir+'/tile.data '+ str(self.rqdRmInp['ntasks_model']) + ' ' + optimized_distribution_file.name + ' ' + self.rundir print ("cmd: " + cmd) + print ("IMS.rc or JMS.rc would be generated on " + self.rundir) sp.call(shlex.split(cmd)) optinxny=self._parseInputFile(optimized_distribution_file.name) if (int(optinxny['NX']) == 1): @@ -1055,13 +1054,6 @@ class LDASsetup: self.rqdRmInp['ntasks_model']=optinxny['NY'] print ('adjust ntasks_model %d for cubed-sphere grid' % int(self.rqdRmInp['ntasks_model'])) - if os.path.isfile( tmp_path+'/IMS.rc') : - shutil.move(tmp_path+'/IMS.rc', self.rundir+'/') - print("move file: " + tmp_path+'/IMS.rc') - if os.path.isfile( tmp_path+'/JMS.rc') : - shutil.move(tmp_path+'/JMS.rc', self.rundir+'/') - print("move file: " + tmp_path+'/JMS.rc') - #os.remove(optimized_distribution_file.name) diff --git a/src/Applications/LDAS_App/preprocess_ldas.F90 b/src/Applications/LDAS_App/preprocess_ldas.F90 index 47b51bcd..4d5725e6 100644 --- a/src/Applications/LDAS_App/preprocess_ldas.F90 +++ b/src/Applications/LDAS_App/preprocess_ldas.F90 @@ -129,7 +129,7 @@ program main else if (trim(option) == "optimize") then - call optimize_latlon(arg1,arg2, arg3) + call optimize_latlon(arg1,arg2, arg3, arg4) else diff --git a/src/Applications/LDAS_App/preprocess_ldas_routines.F90 b/src/Applications/LDAS_App/preprocess_ldas_routines.F90 index d8612071..a7054880 100644 --- a/src/Applications/LDAS_App/preprocess_ldas_routines.F90 +++ b/src/Applications/LDAS_App/preprocess_ldas_routines.F90 @@ -2041,13 +2041,14 @@ end subroutine correctEase ! NY: N_proc 1 ! JMS.rc IMS.rc - subroutine optimize_latlon(fname_tilefile, N_proc_string, optimized_file) + subroutine optimize_latlon(fname_tilefile, N_proc_string, optimized_file, run_dir) implicit none character(*), intent(in) :: fname_tilefile ! file name (with path) of tile file (*.til) character(*), intent(in) :: N_proc_string ! *string* w/ no. of processors (or tasks), excl. OSERVER tasks character(*), intent(in) :: optimized_file + character(*), intent(in) :: run_dir ! local variables integer :: N_proc @@ -2286,8 +2287,7 @@ subroutine optimize_latlon(fname_tilefile, N_proc_string, optimized_file) write(10,'(A)') "GEOSldas.JMS_FILE: JMS.rc" close(10) - n = index(optimized_file, '/', back=.true.) - JMS_file = optimized_file(1:n)//"JMS.rc" + JMS_file = trim(run_dir)//"/JMS.rc" open(10,file=JMS_file ,action='write') write(10,'(I5,I5)') N_proc, maxval(face) do n=1,N_proc @@ -2482,8 +2482,7 @@ subroutine optimize_latlon(fname_tilefile, N_proc_string, optimized_file) write(10,'(A)') "GEOSldas.IMS_FILE: IMS.rc" close(10) - n = index(optimized_file, '/', back=.True.) - IMS_file = optimized_file(1:n)//"IMS.rc" + IMS_file = trim(run_dir)//"/IMS.rc" open(10,file=IMS_file,action='write') write(10,'(I5)') N_proc do n=1,N_proc