Enable EnKF-only for atmosphere#4345
Conversation
… hard-coded (need to revisit)
…del (global_control.nml.IN)
…e temporary file
…e temporary file
TravisElless-NOAA
left a comment
There was a problem hiding this comment.
Thanks for picking up the ball on this @bhuang95. As I'm starting to relearn things, I have a few questions along with some other details I noticed initially.
| 'DOLETKF_OCN', 'IAUFHRS_ENKF', 'NET', 'NMEM_ENS_GFS', 'DO_GSISOILDA', 'DO_LAND_IAU', | ||
| 'DOENKFONLY_ATM'] |
There was a problem hiding this comment.
Cleans up the format of this block better
| 'DOLETKF_OCN', 'IAUFHRS_ENKF', 'NET', 'NMEM_ENS_GFS', 'DO_GSISOILDA', 'DO_LAND_IAU', | |
| 'DOENKFONLY_ATM'] | |
| 'DOLETKF_OCN', 'IAUFHRS_ENKF', 'NET', 'NMEM_ENS_GFS', | |
| 'DO_GSISOILDA', 'DO_LAND_IAU', 'DOENKFONLY_ATM'] |
There was a problem hiding this comment.
@TravisElless-NOAA Will modify as suggested in the updated PR. Thanks.
parm/archive/enkf_grp.yaml.j2
Outdated
| {% if not DOENKFONLY_ATM %} | ||
| {% for iaufhr in IAUFHRS %} | ||
| {% set iaufhr = iaufhr %} | ||
| - "{{ COMIN_ATMOS_ANALYSIS_MEM | relpath(ROTDIR) }}/{{ head }}recentered_increment.atm.i{{ '%03d' % iaufhr }}.nc" | ||
| {% endfor %} # iaufhr in IAUFHRS | ||
| {% endfor %} # iaufhr in IAUFHRS | ||
| {% endif %} |
There was a problem hiding this comment.
This section will need to be changed to match the JEDI version in lines 27-32. If running GSI version of ENKFONLY will want to archive increment files for that run as well.
There was a problem hiding this comment.
@TravisElless-NOAA I see. I will add one block for DOENKFONLY_ATM=YES to match Line 27-29 and add the increment files for GSI enkf-only run as well. Thanks.
|
@bhuang95
With
|
|
g-w CI
Gaea C6 Hera Hercules Ursa WCOSS2 (Cactus) All g-w cases run on each machine successfully completed all jobs. g-w CI was not run on Orion for two reasons. (1) g-w CI was run on Hercules - the other MSU system. (2) EnKF-only atmospheric CI is not exercised on either MSU machine. |
|
@DavidHuber-NOAA , @TravisElless-NOAA , @aerorahul , @DavidNew-NOAA , @CoryMartin-NOAA , @TerrenceMcGuinness-NOAA : g-w CI has been successfully run on Gaea C6, Hera, Hercules, Ursa, and WCOSS2 (Cactus). Are there any changes @bhuang95 needs to make in this PR or any more tests you would like me to run before this PR can move forward? We are currently running a real time parallel evaluating the performance of atmosphere JEDI-based Variational DA with respect to GSI-based variational DA. It's time to run a similar test for atmospheric JEDI EnKF DA. The changes in this PR allow us to run an atmospheric JEDI -vs GSI EnKF DA test. These two sets of parallels are necessary steps on the path to operational implementation of JEDI-based atmospheric DA in GFS v17.x or v18. |
DavidHuber-NOAA
left a comment
There was a problem hiding this comment.
Looks good. Just one comment on double-quoting, but no need to change anything.
| if [[ "${DOENKFONLY_ATM:-NO}" == "YES" ]] ; then | ||
| export RECENTER_ENKF="NO" # Turn off recentering ensemble analysis | ||
| export DO_VERFOZN="NO" # Ozone data assimilation monitoring | ||
| export DO_VERFRAD="NO" # Radiance data assimilation monitoring | ||
| export DO_VMINMON="NO" # GSI minimization monitoring | ||
| export DO_METP="NO" # Run METPLUS jobs - set METPLUS settings in config.metp | ||
| export DO_FIT2OBS="NO" # Run fit to observations package | ||
| export DO_TRACKER="NO" # Hurricane track verification | ||
| export DO_GENESIS="NO" # Cyclone genesis verification | ||
| fi |
There was a problem hiding this comment.
I think these can stay here for now.
|
@RussTreadon-NOAA Thanks for walking this PR through the final steps. I will merge this at COB if there are no further change requests. |
|
Thank you @DavidHuber-NOAA for looking over the changes, your useful comments, and kind offer to merge if there are no further change requests. |
TravisElless-NOAA
left a comment
There was a problem hiding this comment.
Only saw one place that I think a change should be made.
@bhuang95 @RussTreadon-NOAA I haven't tested and things look alright from my quick glance, but thought I'd ask if you looked to make sure all files got archived correctly
dev/workflow/rocoto/gfs_tasks.py
Outdated
| dep_dict = {'type': 'metatask', 'name': 'gdas_fcst', 'offset': f"-{timedelta_to_HMS(self._base['interval_gdas'])}"} | ||
| deps.append(rocoto.add_dependency(dep_dict)) |
There was a problem hiding this comment.
An additional dependency is being added here to all jobs that doesn't need to be.
| dep_dict = {'type': 'metatask', 'name': 'gdas_fcst', 'offset': f"-{timedelta_to_HMS(self._base['interval_gdas'])}"} | |
| deps.append(rocoto.add_dependency(dep_dict)) |
Remove outdated dependency for origial workflow tasks (do_enkfonly_atm=false). Co-authored-by: Travis Elless <113720457+TravisElless-NOAA@users.noreply.github.com>
Use double-quoted. Co-authored-by: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
|
Ursa g-w CI Install All g-w CI cases run on Ursa successfully ran to completion. |
|
@DavidHuber-NOAA , @TravisElless-NOAA , @aerorahul , @DavidNew-NOAA , @CoryMartin-NOAA , @TerrenceMcGuinness-NOAA : g-w CI has been rerun on Ursa from the current head, f9482a1, of
|
|
I will plan on merging this at COB today pending no further change requests. |
|
Thank you @TravisElless-NOAA for your review and approval. |
|
WCOSS2 (Cactus) g-w CI Install All jobs in all g-w CI cases run on WCOSS2 (Cactus) successfully ran to completion. |
|
Thank you @bhuang95 for adding this feature. Thank you @DavidHuber-NOAA for merging this PR into g-w |
|
Wonderful! Thanks @RussTreadon-NOAA for helping modify and test this PR and the other assocaited PRs. Thank you @DavidHuber-NOAA and the g-w team for reviewing and merging this PR. Great team work! |
Description
This PR, along with its three dependent PRs listed below, enables running enkf only for atmosphere in the global-workflow with necessary tasks. It will help test JEDI EnKF capabilities in the global workflow and compare with GSI in support of hybrid 4DEnVar appplication for the atmosphere.
This was further modified based on the original branch from Travis J Elless at NOAA EMC.
Major change summary from three PRs:
This PR:
DOENKFONLY_ATM(false by default) in the dev/parm/config/gfs/config.base.j2 to activate the GSI and JEDI EnKF-only run.fetchatmanlbiasandprepatmanlbiasto fetch operational analysis bias correction files at the previous cycle and process them for JEDI and GSI EnKF use (dev/jobs/JGLOBAL_ATM_PREP_ANL_BIAS)Resolves #4339
Dependencies:
Acceptance Criteria
DOENKFONLY_ATM="NO"by default, it should not affect existing applications in the current global workflow. In other words, it should pass all relevant tests following the general guidelines of building the global workflow.DOENKFONLY_ATM="YES"in the config.base during the workflow setup, it should generate related tasks for GSI and JEDI EnKF-only run with additional variable changes in config.base, respectively, and pass all these tasks through rocoto jobs.Type of change
Change characteristics
How has this been tested?
-Built and cycled successfully on Ursa as follows.
/scratch4/BMC/gsienkf/Bo.Huang/expCodes/Workflow/Data/IC/TravisIC-2022010312/Checklist