-
Notifications
You must be signed in to change notification settings - Fork 204
Preprocess and assimilate the GHCN snow data #4386
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
Preprocess and assimilate the GHCN snow data #4386
Conversation
ClaraDraper-NOAA
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For both IMS and GHCN, the snow_analysis task will continue without failing if there's a problem with the input data.
If there's a problem in prepare_[dataset], it reports a warning and continues. The snow_analysis will also continue if it doesn't find the expected file. I'd prefer that the code exits (or perhaps has a config option to force exit?) to let us know that there was a problem with the file. @CoryMartin-NOAA ?
|
@ClaraDraper-NOAA we can make an option that will fail instead of warn, but except in rare circumstances, operational requirements will make it so that the code needs to run to completion if input data is missing. Assimilating no snow obs that cycle is 10000x preferred to the GFS not starting in a timely manner. |
thanks @CoryMartin-NOAA . @jiaruidong2017 Can you please make an option for GHCN and IMS to switch between warning and failing if the obs are missing. It should be controlled by an input flag, with the default being to throw a warning. |
If the GHCN data is missing, the GHCN preprocessing ( Therefore, the warning in If we still decide to keep the logic that allows the code to exit when the GHCN data is missing, then this check should be implemented during the initialize() step as shown below: Any suggestions? |
|
@jiaruidong2017 your last snippet makes sense to me, raise a FileNotFound error if the file is missing and we want it to not continue when missing |
|
Thanks @jiaruidong2017. I like your last solution too. can you please add it for IMS as well? |
|
Thanks @CoryMartin-NOAA @ClaraDraper-NOAA I will add it for both GHCN and IMS. |
# Description This PR adds a `ghcn_snod2ioda.py` script to processes the GHCN data in csv format to IODA-format files for snow DA in the global-workflow. # Companion PRs This PR depends NOAA-EMC/jcb-gdas#220, NOAA-EMC/DA-utils#53, and NOAA-EMC/global-workflow#4388 This PR contributes NOAA-EMC/global-workflow#4386 # Issues Resolves #2018 # Automated CI tests to run in Global Workflow <!-- Which Global Workflow CI tests are required to adequately test this PR? --> - [ ] atm_jjob <!-- JEDI atm single cycle DA !--> - [ ] C96C48_ufs_hybatmDA <!-- JEDI atm cycled DA !--> - [ ] C96C48_hybatmsnowDA <!-- JEDI snow cycled DA !--> - [ ] C96_gcafs_cycled <!-- JEDI aerosol cycled DA !--> - [ ] C48mx500_3DVarAOWCDA <!-- JEDI low-res marine 3DVar cycled DA !--> - [ ] C48mx500_hybAOWCDA <!-- JEDI marine hybrid envar cycled DA !--> - [ ] C96C48_ufsgsi_hybatmDA <!-- JEDI atm Var with GSI EnKF cycled DA !--> - [ ] C96C48_hybatmDA <!-- GSI atm cycled DA !--> --------- Co-authored-by: Cory Martin <[email protected]>
|
Thank you @RussTreadon-NOAA As you suggested, I update the config.esnowanl.j2 to include the required parameters settings for snow ensemble analysis. |
|
Launching CI on C6. |
|
C96C48_hybatmsnowDA FAILED on Gaeac6 (pipeline ID: 6829) In directory: Error Log Files: View Error Logs: (gdas_anlstat.log) This failure was detected automatically by global-workflow's CI/CD Pipeline |
|
C48mx500_hybAOWCDA FAILED on Gaeac6 (pipeline ID: 6829) In directory: Error Log Files: View Error Logs: (gdas_anlstat.log) This failure was detected automatically by global-workflow's CI/CD Pipeline |
|
C96C48_hybatmDA FAILED on Gaeac6 (pipeline ID: 6829) In directory: Error Log Files: View Error Logs: (gdas_anlstat.log) This failure was detected automatically by global-workflow's CI/CD Pipeline |
|
C96_atm3DVar FAILED on Gaeac6 (pipeline ID: 6829) In directory: Error Log Files: View Error Logs: (gdas_anlstat.log) This failure was detected automatically by global-workflow's CI/CD Pipeline |
|
C48mx500_3DVarAOWCDA FAILED on Gaeac6 (pipeline ID: 6829) In directory: Error Log Files: View Error Logs: (gdas_anlstat.log) This failure was detected automatically by global-workflow's CI/CD Pipeline |
|
@DavidHuber-NOAA I think we are going to have to just accept that this PR has broken stats and the other has broken snow and merge both in and I will fix ASAP any issues that were missed. Apologies but it's from juggling too many pieces in the syncing of PRs between repos. |
|
I think the gdas_anlstat issue can be fixed by @CoryMartin-NOAA's PR #4401 |
|
Thanks @CoryMartin-NOAA |
|
C96_gcafs_cycled FAILED on Gaeac6 (pipeline ID: 6829) In directory: Error Log Files: View Error Logs: (gcdas_anlstat.log) This failure was detected automatically by global-workflow's CI/CD Pipeline |
|
C96C48mx500_S2SW_cyc_gfs FAILED on Gaeac6 (pipeline ID: 6829) In directory: Error Log Files: View Error Logs: (gdas_anlstat.log) This failure was detected automatically by global-workflow's CI/CD Pipeline |
|
C96C48_hybatmsoilDA FAILED on Gaeac6 (pipeline ID: 6829) In directory: Error Log Files: View Error Logs: (gdas_anlstat.log) This failure was detected automatically by global-workflow's CI/CD Pipeline |
|
Closing as this has been merged into #4401. |
# Description This PR adds a `ghcn_snod2ioda.py` script to processes the GHCN data in csv format to IODA-format files for snow DA in the global-workflow. # Companion PRs This PR depends NOAA-EMC/jcb-gdas#220, NOAA-EMC/DA-utils#53, and NOAA-EMC/global-workflow#4388 This PR contributes NOAA-EMC/global-workflow#4386 # Issues Resolves #2018 # Automated CI tests to run in Global Workflow <!-- Which Global Workflow CI tests are required to adequately test this PR? --> - [ ] atm_jjob <!-- JEDI atm single cycle DA !--> - [ ] C96C48_ufs_hybatmDA <!-- JEDI atm cycled DA !--> - [ ] C96C48_hybatmsnowDA <!-- JEDI snow cycled DA !--> - [ ] C96_gcafs_cycled <!-- JEDI aerosol cycled DA !--> - [ ] C48mx500_3DVarAOWCDA <!-- JEDI low-res marine 3DVar cycled DA !--> - [ ] C48mx500_hybAOWCDA <!-- JEDI marine hybrid envar cycled DA !--> - [ ] C96C48_ufsgsi_hybatmDA <!-- JEDI atm Var with GSI EnKF cycled DA !--> - [ ] C96C48_hybatmDA <!-- GSI atm cycled DA !--> --------- Co-authored-by: Cory Martin <[email protected]>
# Description This PR updates the `da-utils` commit hash to include the required utilities. This PR also addresses Copilot comments in `ghcn_snod2ioda.py`. In particular, it fixes the use of AttrData and DimDict as mutable module-level dictionaries, which is error-prone—especially since DimDict is modified within the class. These structures are now handled in a safer, more maintainable way. This PR is a supplementary update to PR #2019 and contributes to NOAA-EMC/global-workflow#4386 # Issues Resolves #2018 # Automated CI tests to run in Global Workflow <!-- Which Global Workflow CI tests are required to adequately test this PR? --> - [ ] atm_jjob <!-- JEDI atm single cycle DA !--> - [ ] C96C48_ufs_hybatmDA <!-- JEDI atm cycled DA !--> - [ ] C96C48_hybatmsnowDA <!-- JEDI snow cycled DA !--> - [ ] C96_gcafs_cycled <!-- JEDI aerosol cycled DA !--> - [ ] C48mx500_3DVarAOWCDA <!-- JEDI low-res marine 3DVar cycled DA !--> - [ ] C48mx500_hybAOWCDA <!-- JEDI marine hybrid envar cycled DA !--> - [ ] C96C48_ufsgsi_hybatmDA <!-- JEDI atm Var with GSI EnKF cycled DA !--> - [ ] C96C48_hybatmDA <!-- GSI atm cycled DA !-->
Description
This PR adds an entry to enable assimilation of the GHCN snow observations for reanalysis. This PR also includes functionality to preprocess the GHCN snow observations for global snow analysis.
This PR depends NOAA-EMC/GDASApp#2019; #4388; NOAA-EMC/GDASApp#2027
Resolves NOAA-EMC/GDASApp#2018
This PR merged the PR #4387 which enables to read and process the input IMS snow cover data in either ascii or netCDF format.
Resolves NOAA-EMC/GDASApp#2022
Type of change
Change characteristics
How has this been tested?
I conducted cycled experiments with
DO_JEDISNOWDA=YES. These runs also require GHCN snow observations.Checklist