Add functionality to assimilate the new snow observations#4132
Conversation
CoryMartin-NOAA
left a comment
There was a problem hiding this comment.
Similar changes need added for esnowanl
|
|
||
| export PREP_SNOCVR_SNOMAD_YAML="${PARMgfs}/gdas/snow/prep/prep_snocvr_snomad.yaml.j2" | ||
| export OBSBUILDER="${USHgfs}/bufr_snocvr_snomad.py" | ||
| export PYTHONPATH=${HOMEgfs}/lib/python3.11/site-packages:${PYTHONPATH} |
There was a problem hiding this comment.
Don't hard code python path for python version, nor should PYTHONPATH be defined here (it should be in the dev/ush/ module script
There was a problem hiding this comment.
This should be included in the dev/ush/load_ufsda_modules.sh, correct? Thanks.
There was a problem hiding this comment.
Made the changes and added the changes for esnowanl.
# Description This PR adds a BUFR-query–based obsBuilder script that concatenates the new SNOMAD observation into SNOCVR, and processes the result into IODA-format files for snow DA in the global-workflow. # Companion PRs This PR depends NOAA-EMC/jcb-gdas#188 This PR contributes NOAA-EMC/global-workflow#4132 # Issues Resolves #1888 # 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_hybatmDA <!-- GSI atm cycled DA !-->
| # Ensure the IODA snow depth GHCN file is produced by the IODA converter | ||
| # If so, copy to DATA/obs/ | ||
| if not os.path.isfile(f"{os.path.join(localconf.DATA, output_file)}"): | ||
| logger.exception(f"{self.task_config.OBSBUILDER} failed to produce {output_file}") | ||
| raise FileNotFoundError(f"{os.path.join(localconf.DATA, output_file)}") | ||
| else: | ||
| logger.info(f"Copy {output_file} successfully generated") | ||
| FileHandler(prep_snocvr_snomad_config.netcdf).sync() |
There was a problem hiding this comment.
I'm wondering if we should allow the analysis to still run even if this file fails to be produced? Thoughts?
There was a problem hiding this comment.
I will revise the warning and ensure the process continues when the file is not produced, once Ursa is back online. Thank you for your suggestions.
There was a problem hiding this comment.
Made the changes.
Update warning and ensure the process continues
Change to warning and ensure the process continues
CoryMartin-NOAA
left a comment
There was a problem hiding this comment.
Didn't test but looks good, thanks @jiaruidong2017
|
@jiaruidong2017 yes please ensure the obs list is up to date so that we can assimilate all necessary obs |
|
@jiaruidong2017 I think this is the file that is needed to be updated per @DavidNew-NOAA https://github.com/NOAA-EMC/GDASApp/blob/develop/parm/snow/snow_obs_list.yaml.j2 |
# Description Update the observation list to include the new snow observations # Companion PRs Contribute to NOAA-EMC/global-workflow#4132 # Issues <!-- Enter any issues referenced or resolved by this PR here. Use keywords "Resolves" or "Refs". Resolves #1234 Refs #4321 Refs NOAA-EMC/repo#5678 --> # 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_hybatmDA <!-- GSI atm cycled DA !-->
|
Launching CI on C6. |
|
All tests passed. Merging. |
…NOAA-EPIC/global-workflow-cloud into feature/use_container_spack-stack-1.9.2 * 'feature/use_container_spack-stack-1.9.2' of github.com:NOAA-EPIC/global-workflow-cloud: reverse few changes re-sync with EMC repo Add master grib files to GFS HPSS archive for AIGFS (NOAA-EMC#4203) Update Snow filenames to comply with EE2 (NOAA-EMC#4195) Rename files for JEDI atm EE2 (NOAA-EMC#4193) Generate `pres_b` files for `RUN=gdas` and update `APCP` to `598`. (NOAA-EMC#4196) Update checks for MOM6 restarts when performing a re-run on failure (NOAA-EMC#4179) Decrease HPSS storage for GFS retros and address hpss bugs (NOAA-EMC#4184) Add noaacloud to ufsda case in dev/ush/load_modules (NOAA-EMC#4198) Remove replay from global workflow (NOAA-EMC#4182) Add IODA stats text file to COM (NOAA-EMC#4176) Update UFS_UTILS submodule (NOAA-EMC#4178) Atm COM File Rename to Standardized Form (NOAA-EMC#4117) Replace cp with cpfs/cpreq for atomic copies to COM directories (NOAA-EMC#4130) Create a UPP module for the global workflow (NOAA-EMC#4174) Refactor marine DA tasks (NOAA-EMC#4160) Delay ocean post-processing trigger to next-next forecast (NOAA-EMC#4167) Make options hashes Remove multiple option from static data template Fix static_data yaml (descriptions and labels) Fix static_data yaml (remove colon) Add Ursa to and remove C5 from list of HPCs in the bug report template (NOAA-EMC#4164) Rename marine (ocean/ice) files following EE2 conventions (NOAA-EMC#4162) Add attributes to Gaussian grid sfcanl file (NOAA-EMC#4149) Remove the snow analysis from archive (NOAA-EMC#4157) Update verif-global to fix pcp failures on special cases (NOAA-EMC#4154) Add CRTM fix directory paths to global-workflow (NOAA-EMC#4143) Update UFS Model (NOAA-EMC#4138) Add functionality to assimilate the new snow observations (NOAA-EMC#4132)
# Description This PR adds a BUFR-query–based obsBuilder script that concatenates the new SNOMAD observation into SNOCVR, and processes the result into IODA-format files for snow DA in the global-workflow. # Companion PRs This PR depends NOAA-EMC/jcb-gdas#188 This PR contributes NOAA-EMC/global-workflow#4132 # Issues Resolves #1888 # 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_hybatmDA <!-- GSI atm cycled DA !-->
# Description Update the observation list to include the new snow observations # Companion PRs Contribute to NOAA-EMC/global-workflow#4132 # Issues <!-- Enter any issues referenced or resolved by this PR here. Use keywords "Resolves" or "Refs". Resolves #1234 Refs #4321 Refs NOAA-EMC/repo#5678 --> # 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_hybatmDA <!-- GSI atm cycled DA !-->
Description
This PR adds an entry to enable assimilation of the newly introduced snow observations. This PR also includes functionality to prepare the combined SNOCVR and SNOMAD observations for global snow analysis.
Resolves #1888
Type of change
Change characteristics
Is this a breaking change (a change in existing functionality)? NO
Does this change require a documentation update? NO
Does this change require an update to any of the following submodules? YES
How has this been tested?
I conducted cycled experiments with
DO_JEDISNOWDA=YES. These runs also require snow observations from GDA after September 2025, when the new SNOMAD products began being produced operationally.Checklist