Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

### Added

- Added support for river routing, incl. ensemble simulations ([PR #145](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/145), [PR #174](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/174), [PR #176](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/176)).
- Added support for river routing, incl. ensemble simulations ([PR #145](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/145), [PR #174](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/174), [PR #176](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/176), [PR #202](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/202)).
- Added support for lake tiles (single ensemble member only) ([PR #181](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/181)).
- Added support for running ISSM (Ice-Sheet and Sea-level System Model; single ensemble member only) ([PR #161](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/161), [PR #176](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/176)).
- Added support for running ISSM (Ice-Sheet and Sea-level System Model; single ensemble member only) ([PR #161](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/161), [PR #176](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/176), [PR #202](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/202)).
- Added assimilation of surface soil moisture observations from H-SAF ASCAT H121 CDR v8 and H139 ICDR netcdf products (MetOp-A/B/C) ([PR #186](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/186)).
- Added optional NetCDF4 output of ObsFcstAna; changed namelist variable "out_ObsFcstAna" from logical to integer ([PR #163](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/163), [PR #185](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/185)).
- Added Matlab and python readers for binary Tb scaling parameters files ([PR #179](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/179), [PR #191](https://github.com/GEOS-ESM/GEOSldas_GridComp/pull/191)).
Expand Down
22 changes: 12 additions & 10 deletions GEOSldas_App/ldas.py
Original file line number Diff line number Diff line change
Expand Up @@ -461,15 +461,15 @@ def __init__(self, cmdLineArgs):
landiceRstFile=self.in_rstdir+'/'+tmpFile
assert os.path.isfile(landiceRstFile), 'landice_internal_rst file [%s] does not exist!' %(landiceRstFile)

if self.run_route > 0:
tmpFile=self.ExeInputs['RESTART_ID']+'.route_internal_rst.'+y4m2d2_h2m2
routeRstFile=self.in_rstdir+'/'+tmpFile
assert os.path.isfile(routeRstFile), 'route_internal_rst file [%s] does not exist!' %(routeRstFile)
#if self.run_route > 0:
# tmpFile=self.ExeInputs['RESTART_ID']+'.route_internal_rst.'+y4m2d2_h2m2
# routeRstFile=self.in_rstdir+'/'+tmpFile
# assert os.path.isfile(routeRstFile), 'route_internal_rst file [%s] does not exist!' %(routeRstFile)

if self.with_issm:
tmpFile=self.ExeInputs['RESTART_ID']+'.issm_internal_rst.'+y4m2d2_h2m2
issmRstFile=self.in_rstdir+'/'+tmpFile
assert os.path.isfile(issmRstFile), 'issm_internal_rst file [%s] does not exist!' %(issmRstFile)
#if self.with_issm:
# tmpFile=self.ExeInputs['RESTART_ID']+'.issm_internal_rst.'+y4m2d2_h2m2
# issmRstFile=self.in_rstdir+'/'+tmpFile
# assert os.path.isfile(issmRstFile), 'issm_internal_rst file [%s] does not exist!' %(issmRstFile)
Comment on lines +464 to +472

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm a bit confused about the logic here. We get into this block if RESTART=1. In this case, it is expected that the user has provided an LDAS experiment ID, path, & domain that contains a complete set of restarts. At least in the case of RESTART=1, we need to then copy that restart into the (new) experiment directory, just like the catch and landice restarts above


# DEAL WITH mwRTM input from exec
self.assim = True if self.ExeInputs.get('LAND_ASSIM', 'NO').upper() == 'YES' and self.with_land else False
Expand Down Expand Up @@ -1042,6 +1042,8 @@ def createLnRstBc(self) :
landiceRstFile = rstpath+ensdir +'/'+ y4m2+'/'+self.ExeInputs['RESTART_ID']+'.'+'landice_internal_rst.'+y4m2d2_h2m2
if self.with_issm:
issmRstFile = rstpath+ensdir +'/'+ y4m2+'/'+self.ExeInputs['RESTART_ID']+'.'+'issm_internal_rst.'+y4m2d2_h2m2
if not os.path.isfile(issmRstFile) :
issmRstFile = '/discover/nobackup/projects/gmao/bcs_shared/restarts/surface/issm/v202609/issm_internal_rst'
Comment on lines +1045 to +1046

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same comment as above. For RESTART=1, we should not backfill from the bcs_shared directory. Backfilling requires spin-up, and that would contradict the instructions encoded here:

print ('# Except for RESTART=1, SPIN-UP is REQUIRED in almost #')




Expand Down Expand Up @@ -1086,8 +1088,8 @@ def createLnRstBc(self) :
if RESTART_str in ['1', '2'] :
routeRstFile = rstpath+ensdir +'/'+ y4m2+'/'+self.ExeInputs['RESTART_ID']+'.'+'route_internal_rst.'+y4m2d2_h2m2
if not os.path.isfile(routeRstFile) :
exit("Please copy a route restart from /discover/nobackup/projects/gmao/bcs_shared/restarts/surface/route/ \
to " + routeRstFile)
routeRstFile = '/discover/nobackup/projects/gmao/bcs_shared/restarts/surface/route/v202605/route_internal_rst.0101_0000'

Comment on lines +1091 to +1092

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same as comment above

if RESTART_str == 'M':
exit(" RUN_ROUTE does not support MERRA 2 option")

Expand Down
Loading