Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable cycling atmosphere DA in 3DEnVar mode with coupled ensemble. #1718

Merged

Conversation

aerorahul
Copy link
Contributor

Description
This PR:

  • allows self cycling of the ocean and ice components in a cycled atmosphere with 3DEnVar (without IAU).
  • allows staging of initial conditions for coupled ensemble when setting up cycled ensemble.

This PR also includes:

  • numerous improvements involving appropriate locations for defining relevant variables for components.

This PR does not:

  • address archiving of ensemble data when cycling
  • probably many other issues that are necessary e.g. IAU

Partially addresses #613

Type of change

  • New feature (non-breaking change which adds functionality)
  • This change requires a documentation update

How Has This Been Tested?

  • 3 cycles with 3DEnVar atmosphere and coupled ensemble
  • C48 S2S forecast was also tested. Waves and Aerosols have not been tested (again).

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I have commented my code, particularly in hard-to-understand areas
  • My changes need updates to the documentation. I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • Any dependent changes have been merged and published

@aerorahul
Copy link
Contributor Author

I will add more details to the description later.

@@ -167,7 +167,7 @@ case "${CASE}" in
export waveGRD='glo_500'
;;
"C96")
export OCNRES=100
export OCNRES=500
Copy link
Contributor

Choose a reason for hiding this comment

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

Why not support OCNRES=100 as well?

Copy link
Contributor

Choose a reason for hiding this comment

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

It's supported, it's just not a default for any ATM resolution.

Copy link
Contributor

Choose a reason for hiding this comment

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

OK, thank you for the clarification @WalterKolczynski-NOAA.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

We need to revisit this section in config.base as more combinations are possible, but the limitation here is the bash configuration.


# TODO: Possibly need OCNRES_ENKF, ICERES_ENKF, WAVRES_ENKF too
if [[ ${DO_OCN} == "YES" ]]; then
case "${CASE_ENS}" in
"C48") export OCNRES=500;;
"C96") export OCNRES=100;;
"C96") export OCNRES=500;;
Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is set because the deterministic and the ensemble share the same ocean resolution, unlike the atmosphere where we have dual resolutions. I am sure we can support dual resolution ocean as well, but its not worth the hassle at this moment.

@HenryRWinterbottom
Copy link
Contributor

I haven't be requested as a reviewer, but other than the OCNRES=100 questions this looks good to me FWIW.

Copy link
Contributor

@guillaumevernieres guillaumevernieres left a comment

Choose a reason for hiding this comment

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

Exiting stuff! Thanks @aerorahul , looks perfect to me.
I did not test your new feature

Copy link
Contributor

@HenryRWinterbottom HenryRWinterbottom left a comment

Choose a reason for hiding this comment

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

LGTM. Approved.

Copy link
Contributor

@WalterKolczynski-NOAA WalterKolczynski-NOAA left a comment

Choose a reason for hiding this comment

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

Generally looks good.

scripts/exgdas_enkf_fcst.sh Outdated Show resolved Hide resolved
scripts/exgdas_enkf_fcst.sh Outdated Show resolved Hide resolved
scripts/exgdas_enkf_fcst.sh Outdated Show resolved Hide resolved
ush/forecast_postdet.sh Show resolved Hide resolved
ush/forecast_postdet.sh Outdated Show resolved Hide resolved
ush/forecast_postdet.sh Show resolved Hide resolved
ush/forecast_postdet.sh Outdated Show resolved Hide resolved
ush/forecast_postdet.sh Outdated Show resolved Hide resolved
ush/forecast_predet.sh Outdated Show resolved Hide resolved
ush/parsing_namelists_FV3.sh Outdated Show resolved Hide resolved
aerorahul and others added 6 commits June 28, 2023 21:55
Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
Copy link

@github-advanced-security github-advanced-security bot left a comment

Choose a reason for hiding this comment

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

shellcheck found more than 10 potential problems in the proposed changes. Check the Files changed tab for more details.

ush/forecast_postdet.sh Fixed Show fixed Hide fixed
ush/forecast_postdet.sh Fixed Show fixed Hide fixed
ush/forecast_postdet.sh Fixed Show fixed Hide fixed
ush/forecast_postdet.sh Fixed Show fixed Hide fixed
ush/forecast_postdet.sh Fixed Show fixed Hide fixed
ush/forecast_postdet.sh Fixed Show fixed Hide fixed
ush/forecast_postdet.sh Fixed Show fixed Hide fixed
ush/forecast_postdet.sh Fixed Show fixed Hide fixed
ush/parsing_namelists_FV3.sh Fixed Show fixed Hide fixed
@TerrenceMcGuinness-NOAA TerrenceMcGuinness-NOAA added the CI-Orion-Ready **CM use only** PR is ready for CI testing on Orion label Jun 29, 2023
@emcbot emcbot added CI-Orion-Building **Bot use only** CI testing is cloning/building on Orion CI-Hera-Running **Bot use only** CI testing on Hera for this PR is in-progress and removed CI-Orion-Ready **CM use only** PR is ready for CI testing on Orion CI-Hera-Building **Bot use only** CI testing is cloning/building on Hera labels Jun 29, 2023
@emcbot
Copy link

emcbot commented Jun 29, 2023

Automated global-workflow Testing Results:

Machine: Hera
Start: Thu Jun 29 21:12:22 UTC 2023 on hfe05
---------------------------------------------------
Checkout:                      *SUCCESS*
Checkout: Completed at Thu Jun 29 21:16:40 UTC 2023
Build:                         *SUCCESS*
Build: Completed at Thu Jun 29 22:25:39 UTC 2023
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:44 UTC 2023 for experiment C48_S2S
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:47 UTC 2023 for experiment C96C48_hybatmDA
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:50 UTC 2023 for experiment C96_atm3DVar

@emcbot emcbot added CI-Orion-Running **Bot use only** CI testing on Orion for this PR is in-progress and removed CI-Orion-Building **Bot use only** CI testing is cloning/building on Orion labels Jun 29, 2023
@emcbot
Copy link

emcbot commented Jun 29, 2023

Automated global-workflow Testing Results:

Machine: Hera
Start: Thu Jun 29 21:12:22 UTC 2023 on hfe05
---------------------------------------------------
Checkout:                      *SUCCESS*
Checkout: Completed at Thu Jun 29 21:16:40 UTC 2023
Build:                         *SUCCESS*
Build: Completed at Thu Jun 29 22:25:39 UTC 2023
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:44 UTC 2023 for experiment C48_S2S
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:47 UTC 2023 for experiment C96C48_hybatmDA
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:50 UTC 2023 for experiment C96_atm3DVar
Experiment C48_S2S completed: *SUCCESS*
Experiment C48_S2S Completed at Thu Jun 29 23:12:14 UTC 2023
with 18 successfully completed jobs

@emcbot
Copy link

emcbot commented Jun 29, 2023

Automated global-workflow Testing Results:

Machine: Orion
Start: Thu Jun 29 16:36:24 CDT 2023 on Orion-login-1.HPC.MsState.Edu
---------------------------------------------------
Checkout:                      *SUCCESS*
Checkout: Completed at Thu Jun 29 16:38:36 CDT 2023
Build:                         *SUCCESS*
Build: Completed at Thu Jun 29 18:11:57 CDT 2023
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:05 CDT 2023 for experiment C48_S2S
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:09 CDT 2023 for experiment C96_atm3DVar
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:15 CDT 2023 for experiment C96C48_hybatmDA

@emcbot
Copy link

emcbot commented Jun 29, 2023

Automated global-workflow Testing Results:

Machine: Orion
Start: Thu Jun 29 16:36:24 CDT 2023 on Orion-login-1.HPC.MsState.Edu
---------------------------------------------------
Checkout:                      *SUCCESS*
Checkout: Completed at Thu Jun 29 16:38:36 CDT 2023
Build:                         *SUCCESS*
Build: Completed at Thu Jun 29 18:11:57 CDT 2023
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:05 CDT 2023 for experiment C48_S2S
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:09 CDT 2023 for experiment C96_atm3DVar
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:15 CDT 2023 for experiment C96C48_hybatmDA
Experiment C48_S2S completed: *SUCCESS*
Experiment C48_S2S Completed at Thu Jun 29 18:57:06 CDT 2023
with 18 successfully completed jobs

@emcbot emcbot added CI-Orion-Failed **Bot use only** CI testing on Orion for this PR has failed and removed CI-Orion-Running **Bot use only** CI testing on Orion for this PR is in-progress labels Jun 30, 2023
@emcbot
Copy link

emcbot commented Jun 30, 2023

Automated global-workflow Testing Results:

Machine: Orion
Start: Thu Jun 29 16:36:24 CDT 2023 on Orion-login-1.HPC.MsState.Edu
---------------------------------------------------
Checkout:                      *SUCCESS*
Checkout: Completed at Thu Jun 29 16:38:36 CDT 2023
Build:                         *SUCCESS*
Build: Completed at Thu Jun 29 18:11:57 CDT 2023
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:05 CDT 2023 for experiment C48_S2S
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:09 CDT 2023 for experiment C96_atm3DVar
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:15 CDT 2023 for experiment C96C48_hybatmDA
Experiment C48_S2S completed: *SUCCESS*
Experiment C48_S2S Completed at Thu Jun 29 18:57:06 CDT 2023
with 18 successfully completed jobs
Experiment C96_atm3DVar Terminated: *FAILED*
Experiment C96_atm3DVar Terminated with 1 tasks failed at Thu Jun 29 19:42:09 CDT 2023
Error logs:
/work2/noaa/stmp/GFS_CI_ROOT/PR/1718/RUNTESTS/C96_atm3DVar/COMROT/C96_atm3DVar/logs/2021122100/gdasvrfy.log

@emcbot
Copy link

emcbot commented Jun 30, 2023

Automated global-workflow Testing Results:

Machine: Hera
Start: Thu Jun 29 21:12:22 UTC 2023 on hfe05
---------------------------------------------------
Checkout:                      *SUCCESS*
Checkout: Completed at Thu Jun 29 21:16:40 UTC 2023
Build:                         *SUCCESS*
Build: Completed at Thu Jun 29 22:25:39 UTC 2023
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:44 UTC 2023 for experiment C48_S2S
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:47 UTC 2023 for experiment C96C48_hybatmDA
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:50 UTC 2023 for experiment C96_atm3DVar
Experiment C48_S2S completed: *SUCCESS*
Experiment C48_S2S Completed at Thu Jun 29 23:12:14 UTC 2023
with 18 successfully completed jobs
Experiment C96C48_hybatmDA completed: *SUCCESS*
Experiment C96C48_hybatmDA Completed at Fri Jun 30 00:57:15 UTC 2023
with 148 successfully completed jobs

@aerorahul
Copy link
Contributor Author

Automated global-workflow Testing Results:

Machine: Orion
Start: Thu Jun 29 16:36:24 CDT 2023 on Orion-login-1.HPC.MsState.Edu
---------------------------------------------------
Checkout:                      *SUCCESS*
Checkout: Completed at Thu Jun 29 16:38:36 CDT 2023
Build:                         *SUCCESS*
Build: Completed at Thu Jun 29 18:11:57 CDT 2023
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:05 CDT 2023 for experiment C48_S2S
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:09 CDT 2023 for experiment C96_atm3DVar
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 18:12:15 CDT 2023 for experiment C96C48_hybatmDA
Experiment C48_S2S completed: *SUCCESS*
Experiment C48_S2S Completed at Thu Jun 29 18:57:06 CDT 2023
with 18 successfully completed jobs
Experiment C96_atm3DVar Terminated: *FAILED*
Experiment C96_atm3DVar Terminated with 1 tasks failed at Thu Jun 29 19:42:09 CDT 2023
Error logs:
/work2/noaa/stmp/GFS_CI_ROOT/PR/1718/RUNTESTS/C96_atm3DVar/COMROT/C96_atm3DVar/logs/2021122100/gdasvrfy.log

The error is:

mv: cannot move ‘bad_pen.2021122100’ to a subdirectory of itself, ‘/work/noaa/global/mterry/monitor/radmon/stats/C96_atm3DVar/gdas.20211221/00/./bad_pen.2021122100’

@EdwardSafford-NOAA
We are seeing random failures in the GSI monitoring jobs like the one here. I experienced similar failures in one of our previous CI runs. Would you be able to test the GSI monitoring scripts and address these so our CI system can continue testing?

@aerorahul
Copy link
Contributor Author

@TerrenceMcGuinness-NOAA @WalterKolczynski-NOAA
I see what is happening in the failure on Orion.
Data is being copied to a common directory: /work/noaa/global/mterry/monitor/radmon/stats
as seen in the failure log: /work2/noaa/stmp/GFS_CI_ROOT/PR/1718/RUNTESTS/C96_atm3DVar/COMROT/C96_atm3DVar/logs/2021122100/gdasvrfy.log
Note how this directory is not PR specific. All tests/experiments will be writing to this space, which is why this job and some others will start to fail when several PRs are being tested as part of the CI.
We need to have flexibility in defining this path for CI test.

@emcbot
Copy link

emcbot commented Jun 30, 2023

Automated global-workflow Testing Results:

Machine: Hera
Start: Thu Jun 29 21:12:22 UTC 2023 on hfe05
---------------------------------------------------
Checkout:                      *SUCCESS*
Checkout: Completed at Thu Jun 29 21:16:40 UTC 2023
Build:                         *SUCCESS*
Build: Completed at Thu Jun 29 22:25:39 UTC 2023
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:44 UTC 2023 for experiment C48_S2S
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:47 UTC 2023 for experiment C96C48_hybatmDA
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:50 UTC 2023 for experiment C96_atm3DVar
Experiment C48_S2S completed: *SUCCESS*
Experiment C48_S2S Completed at Thu Jun 29 23:12:14 UTC 2023
with 18 successfully completed jobs
Experiment C96C48_hybatmDA completed: *SUCCESS*
Experiment C96C48_hybatmDA Completed at Fri Jun 30 00:57:15 UTC 2023
with 148 successfully completed jobs
Experiment C96_atm3DVar completed: *SUCCESS*
Experiment C96_atm3DVar Completed at Fri Jun 30 01:51:11 UTC 2023
with 86 successfully completed jobs

@emcbot emcbot added CI-Hera-Passed **Bot use only** CI testing on Hera for this PR has completed successfully and removed CI-Hera-Running **Bot use only** CI testing on Hera for this PR is in-progress labels Jun 30, 2023
@emcbot
Copy link

emcbot commented Jun 30, 2023

Automated global-workflow Testing Results:

Machine: Hera
Start: Thu Jun 29 21:12:22 UTC 2023 on hfe05
---------------------------------------------------
Checkout:                      *SUCCESS*
Checkout: Completed at Thu Jun 29 21:16:40 UTC 2023
Build:                         *SUCCESS*
Build: Completed at Thu Jun 29 22:25:39 UTC 2023
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:44 UTC 2023 for experiment C48_S2S
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:47 UTC 2023 for experiment C96C48_hybatmDA
Created experiment:            *SUCCESS*
Case setup: Completed at Thu Jun 29 22:25:50 UTC 2023 for experiment C96_atm3DVar
Experiment C48_S2S completed: *SUCCESS*
Experiment C48_S2S Completed at Thu Jun 29 23:12:14 UTC 2023
with 18 successfully completed jobs
Experiment C96C48_hybatmDA completed: *SUCCESS*
Experiment C96C48_hybatmDA Completed at Fri Jun 30 00:57:15 UTC 2023
with 148 successfully completed jobs
Experiment C96_atm3DVar completed: *SUCCESS*
Experiment C96_atm3DVar Completed at Fri Jun 30 01:51:11 UTC 2023
with 86 successfully completed jobs

@aerorahul
Copy link
Contributor Author

@NeilBarton-NOAA
This has passed on Hera. The failure on Orion is related to a gdasvrfy issue not a result of changes in this PR.
Please review at your convenience as we would like to enable IAU and 4DEnVar subsequently and build on for GEFS forecasts (and reforecast) capabilities.
Thanks!

@aerorahul aerorahul dismissed WalterKolczynski-NOAA’s stale review June 30, 2023 03:27

addressed reviewer comments. requesting re-review.

@NeilBarton-NOAA
Copy link
Contributor

This looks good to me. An important step. I don't have time to run it myself

@WalterKolczynski-NOAA WalterKolczynski-NOAA merged commit 188344a into NOAA-EMC:develop Jun 30, 2023
8 checks passed
@EdwardSafford-NOAA
Copy link
Contributor

@aerorahul I've reviewed the CI failure and understand that the issue is that the location for RadMon output location is not specific to the PR/PR# when run as a CI test. This is also true for the other DA monitors, which define the output location as $NOSCRUB/monitor/[monitor name]. $NOSCRUB is not uniquely defined by PR for CI tests. Do you wish me to undertake that change for global-workflow?

@aerorahul aerorahul deleted the feature/setup_ens_ics branch June 30, 2023 16:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CI-Hera-Passed **Bot use only** CI testing on Hera for this PR has completed successfully CI-Orion-Failed **Bot use only** CI testing on Orion for this PR has failed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants