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

Switch snow DA to use 2DVar for deterministic and ensemble mean #3163

Draft
wants to merge 229 commits into
base: develop
Choose a base branch
from

Conversation

CoryMartin-NOAA
Copy link
Contributor

Description

This PR moves the snow DA from a LETKF-OI approach with a fake ensemble to a 2DVar approach for the deterministic and the ensemble mean for GDAS/GFS. This PR also adds support for JCB and refactoring of the jobs to leverage the Jedi class in the workflow.

Resolves #3002

Type of change

  • Bug fix (fixes something broken)
  • New feature (adds functionality)
  • Maintenance (code refactor, clean-up, new CI test, etc.)

Change characteristics

  • Is this a breaking change (a change in existing functionality)? YES
  • Does this change require a documentation update? MAYBE
  • Does this change require an update to any of the following submodules? YES

How has this been tested?

  • Cycled test on Hera

Checklist

  • Any dependent changes have been merged and published
  • 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
  • I have documented my code, including function, input, and output descriptions
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • This change is covered by an existing CI test or a new one has been added
  • Any new scripts have been added to the .github/CODEOWNERS file with owners
  • I have made corresponding changes to the system documentation if necessary

RussTreadon-NOAA and others added 30 commits August 28, 2024 17:01
Replace it with a direct read from BUFR at runtime.
@CoryMartin-NOAA CoryMartin-NOAA self-assigned this Dec 12, 2024
env/HERA.env Outdated Show resolved Hide resolved
parm/config/gfs/config.snowanl Outdated Show resolved Hide resolved

export JCB_BASE_YAML="${PARMgfs}/gdas/snow/jcb-base.yaml.j2"
export JCB_ALGO_YAML_VAR="${PARMgfs}/gdas/snow/jcb-prototype_2dvar.yaml.j2"

Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
# Process IMS snowcover into snow depth
export IMS_OBS_LIST="${PARMgfs}/gdas/snow/prep/prep_ims.yaml.j2"
export CALCFIMSEXE="${EXECgfs}/calcfIMS.exe"
export FIMS_NML_TMPL="${PARMgfs}/gdas/snow/prep/fims.nml.j2"
export IMS2IODACONV="${USHgfs}/imsfv3_scf2ioda.py"

Add IMS process configures

@@ -47,7 +47,7 @@ gdas_restarta:

# Snow configuration yaml
{% if DO_JEDISNOWDA %}
- "{{ COMIN_CONF | relpath(ROTDIR) }}/{{ head }}letkfoi.yaml"
- "{{ COMIN_SNOW_ANALYSIS | relpath(ROTDIR) }}/{{ head }}snowanl.yaml"
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
- "{{ COMIN_SNOW_ANALYSIS | relpath(ROTDIR) }}/{{ head }}snowanl.yaml"
- "{{ COMIN_SNOW_ANALYSIS | relpath(ROTDIR) }}/{{ head }}snowanlvar.yaml"

Keep consistent to the defined expected_keys = ['snowanlvar'] in ush/python/pygfs/task/snow_analysis.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Switch to 2DVar for snow DA
6 participants