Skip to content

Move Global Workflow parm/gdas files into GDASApp parm#1878

Merged
DavidNew-NOAA merged 68 commits into
developfrom
feature/parm-clean
Sep 8, 2025
Merged

Move Global Workflow parm/gdas files into GDASApp parm#1878
DavidNew-NOAA merged 68 commits into
developfrom
feature/parm-clean

Conversation

@DavidNew-NOAA
Copy link
Copy Markdown
Collaborator

@DavidNew-NOAA DavidNew-NOAA commented Sep 4, 2025

Description

This PR does a couple things.

  1. It moves every file that lives in Global Workflow parm/gdas into GDASApp parm and into the appropriate subdirectory (parm/atm, parm/aero, etc)
  2. All parm files that feed into the wxflow FileHandler or configure the GW Jedi class (most of the files in parm) are given a unified naming convention of (domain)_(task)_(stage/save)_(thing being staged or saved).yaml.j2 or (domain)_(task)_jedi_config.yaml.j2 respectively. For example, the file that stages atmospheric deterministic backgrounds is called atm_det_stage_bkg.yaml.j2.
  3. parm/soca becomes parm/marine for consistency.
  4. Anything that doesn't seem to be used in parm is moved to parm/obsolete.

Companion PRs

NOAA-EMC/global-workflow#4011

Issues

Refs NOAA-EMC/global-workflow#3973

root and others added 30 commits October 18, 2016 20:24
# Description
This PR:
- replaces use of non-jinja2 templates in the yaml templates.
Specifically `$( )` in favor of pure jinja2.
- uses jinja2's built-in capability to include templates within
templates, thereby allowing to assemble a completely rendered template
before passing it to for e.g. yaml loader.
- requires updates to `wxflow` and `gdasapp`
- Changes in `wxflow` in `parse_j2yaml` are **not** backwards compatible

Additionally, this PR:
- renames `config.base.emc.dyn` to `config.base`.  Resolves #2347
`JEDIYAML` was being parsed 3 times; once in `get_obs_dict`, second in
`get_bias_dict` and a third time in `initialize` for the specific
component analysis task.

This PR:
- eliminates the duplications and constructs the `jedi_config`
dictionary just once. The dictionary is written out before calling the
executable.
- updates hash to gdasapp
- updates configs for snow, aerosol, atmvar and atmens JEDI-DA to
include `JEDI_FIX_YAML` and `CRTM_FIX_YAML` . This allows greater
flexibility and control over the contents of these fix data sets to be
copied into the run directory.
- Combines snowDA and aerosolDA into a single test

Co-authored-by: Cory Martin <cory.r.martin@noaa.gov>
Co-authored-by: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
This PR, a companion to GDASApp PR
[#983](#983), creates a new
Rocoto job called "atmanlfv3inc" that computes the FV3 atmosphere
increment from the JEDI variational increment using a JEDI OOPS app in
GDASApp, called fv3jedi_fv3inc.x, that replaces the GDASApp Python
script, jediinc2fv3.py, for the variational analysis. The "atmanlrun"
job is renamed "atmanlvar" to better reflect the role it plays of
running now one of two JEDI executables for the atmospheric analysis
jobs.

Previously, the JEDI variational executable would interpolate and write
its increment, during the atmanlrun job, to the Gaussian grid, and then
the python script, jediinc2fv3.py, would read it and then write the FV3
increment on the Gaussian grid during the atmanlfinal job. Following the
new changes, the JEDI increment will be written directly to the cubed
sphere. Then during the atmanlfv3inc job, the OOPS app will read it and
compute the FV3 increment directly on the cubed sphere and write it out
onto the Gaussian grid.

The reason for writing first to the cubed sphere grid is that otherwise
the OOPS app would have to interpolate twice, once from Gaussian to
cubed sphere before computing the increment and then back to the
Gaussian, since all the underlying computations in JEDI are done on the
native grid.

The motivation for this new app and job is that eventually we wish to
transition all intermediate data to the native cubed sphere grid, and
the OOPS framework allows us the flexibility to read and write to/from
any grid format we wish by just changing the YAML configuration file
rather than hardcoding. When we do switch to the cubed sphere, it will
be an easy transition. Moreover, it the computations the OOPS app will
be done with a compiled executable rather than an interpreted Python
script, providing some performance increase.

It has been tested with a cycling experiment with JEDI in both Hera and
Orion to show that it runs without issues, and I have compared the FV3
increments computed by the original and news codes. The delp and
hydrostatic delz increments, the key increments produced during this
step, differ by a relative error of 10^-7 and 10^-2 respectively. This
difference is most likely due to the original python script doing its
internal computation on the interpolated Gaussian grid, while the new
OOPS app does its computations on the native cubed sphere before
interpolating the the Gaussian grid.
…(#2700)

This PR updates the `gdas.cd` hash to bring in new JCB conventions.
Resolves #2699

From #2654
This PR will move much of the staging code that take place in the python
initialization subroutines of the variational and ensemble DA jobs into
Jinja2-templated YAML files to be passed into the wxflow file handler.
Much of the staging has already been done this way, but this PR simply
expands that strategy.

The old Python routines that were doing this staging are now removed.
This is part of a broader refactoring of the pygfs tasking.

wxflow PR [#30](NOAA-EMC/wxflow#30) is a
companion to this PR.

Co-authored-by: danholdaway <danholdaway@users.noreply.github.com>
Co-authored-by: DavidNew-NOAA <david.new@noaa.gov>
Co-authored-by: DavidNew-NOAA <134300700+DavidNew-NOAA@users.noreply.github.com>
Co-authored-by: Dan Holdaway <27729500+danholdaway@users.noreply.github.com>
This PR changes the G-W so that backgrounds for the atmospheric analyses
are staged as UFS cubed-sphere history files rather than FMS restarts.
The motivation being that FMS restarts include many data we don't need
for the analyses and thus take up too much disk space/bandwidth.

This is a companion PR to:
GDASApp#1236
JCB-GDAS#19

---------

Co-authored-by: danholdaway <danholdaway@users.noreply.github.com>
Co-authored-by: Dan Holdaway <27729500+danholdaway@users.noreply.github.com>
Co-authored-by: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
Co-authored-by: RussTreadon-NOAA <russ.treadon@noaa.gov>
Co-authored-by: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com>
Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com>
Co-authored-by: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
This PR adds the capability to update the ensemble of snow states 
by recentering the ensemble mean to the deterministic snow analysis
and applying increments as appropriate.

Resolves #2585

---------

Co-authored-by: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com>
Co-authored-by: Guillaume Vernieres <guillaume.vernieres@noaa.gov>
Co-authored-by: AntonMFernando-NOAA <167725623+AntonMFernando-NOAA@users.noreply.github.com>
Co-authored-by: Anil Kumar <108816337+AnilKumar-NOAA@users.noreply.github.com>
Co-authored-by: TerrenceMcGuinness-NOAA <terrence.mcguinness@cox.net>
…738)

This PR adds in support for computing files needed for the aerosol
analysis **B**. This includes a new task, `aeroanlgenb`. This work was
performed by both me and @andytangborn

Resolves #2501
Resolves #2737

---------

Co-authored-by: Andrew.Tangborn <Andrew.Tangborn@noaa.gov>
Co-authored-by: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
…efactoring (#2992)

This PR is a companion to GDASApp PR
#1312 (merged) and NOAA-EMC/jcb-gdas#31
(merged).

This PR does three things:

1. It changes the observation and bias staging for the atmospheric
analysis tasks to use JCB templates instead of reading the full JEDI
input configuration dictionary in order to construct a list of files to
stage. This is cleaner and places fewer constraints on how to initialize
the analysis.
2. The ```Jedi``` constructor now takes as input a dictionary that is
essentially subset of the ```task_config``` dictionary. This makes the
code clearer and less opaque and makes debugging easier. Each dictionary
is constructed from a YAML file with configuration parameters for each
JEDI application that is run.
3. All JEDI applications and their input YAMLs are now initialized in
the initialize job of the ```AtmAnalysis``` and ```AtmEnsAnalysis```.
Before, in the ```atmensanl*``` jobs for example, the LETKF solver was
initialized in the ```atmensanlinit```cjob, but the LETKF solver and FV3
increment converter were both initialized and executed in the
```atmensanlobs``` and ```atmensanlfv3inc``` jobs respectively. This
makes more sense in terms of resource allocation.

Addendum:

I'm now rolling in the refactoring of the marine B-matrix task into this
PR. That makes it also a companion of #1346 and
NOAA-EMC/jcb-gdas#36.

These new changes introduce the ```Jedi``` class and JCB into the marine
B-matrix job.

Partially resolvesNOAA-EMC/GDASApp#1296

---------

Co-authored-by: RussTreadon-NOAA <Russ.Treadon@noaa.gov>
Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com>
…est (#3120)

This PR is a companion to #1365

It turns ```C96C48_ufs_hybatmDA``` and ```C48mx500_3DVarAOWCDA``` into a
regression test using the JEDI application testing feature. This feature
is turned on using the new ```DO_TEST_MODE``` parameter added to
```config.base``` in GW PR
[#3115](NOAA-EMC/global-workflow#3115). This
parameter is set to ```"YES"``` in the yaml defaults for the JEDI-based
CI tests in GW.

The motivation for this PR is a need to catch changes in JEDI which
alter the outputs of our applications.
---------

Co-authored-by: CoryMartin-NOAA <cory.r.martin@noaa.gov>
Co-authored-by: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com>
This PR switches to using JCB for aerosol DA YAML generation + makes use
of the Jedi class refactoring already done by @DavidNew-NOAA for the
atmospheric JEDI-based DA.

Resolves #3035

Note this PR is in draft for 2 reasons. 1) Need associated GDASApp PR to
be opened and merged first and 2) requires some fix file updates. This
will be coordinated with an issue and linked to this PR once
@andytangborn is satisfied with a first-attempt at the fix files.
---------

Co-authored-by: RussTreadon-NOAA <Russ.Treadon@noaa.gov>
Co-authored-by: DavidNew-NOAA <david.new@noaa.gov>
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 
---------

Co-authored-by: RussTreadon-NOAA <Russ.Treadon@noaa.gov>
Co-authored-by: Jiarui Dong <Jiarui.Dong@noaa.gov>
Co-authored-by: DavidNew-NOAA <david.new@noaa.gov>
Co-authored-by: Cory Martin <Cory.R.Martin@gaea68.ncrc.gov>
Co-authored-by: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
This PR adds the capability for this task to run for the enkfgfs
cycle, incorporating the rotating background directory structure used by
other enkfgfs tasks.

Resolves #3276 

---------

Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com>
…(#3238)

This PR mostly includes configuration changes to allow the use a
B-matrix at a defined resolution that may or may not be the same as the
background.

- Addition of an interpolation step in the B-matrix job
- version update for the fix files
- **the `gdas.cd` update should be the correct one now.**

Resolves #3230 
Resolves /issues/1375

# Dependencies
- /pull/1441
- NOAA-EMC/jcb-gdas/pull/66

---------

Co-authored-by: Anna Shlyaeva <anna.v.shlyaeva@noaa.gov>
Co-authored-by: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com>
Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com>
This PR implements ensemble recentering and analysis calculation in the
Global Workflow, using JEDI-based applications to replace certain GSI
utilities when JEDI is turned on in the workflow. If using GSI, then the
workflow will remain unchanged. This PR also (finally) implements
native-grid DA increments into the worflow.

The `gdas_analcalc` and `enkfgdas_ecen` jobs will be replaced by
`gdas_analcalc_fv3jedi` and `enkfgdas_ecen_fv3jedi` jobs respectively.
The `enkfgdas_echgres` job is eliminated, since changing of resolution
of the deterministic backgrounds is done internally in the JEDI-based
recentering application.

The design for this PR is based on discussions between the DA team and
GW team a few months ago. Explanation of the flow of data through the
workflow:

The `gdas_analcalc_fv3jedi` job dependencies do not change. The
native-grid backgrounds andincrements are staged, and then the GDASApp
JEDI `fv3jedi_add_increments` application is run to add them and
interpolate to the Gaussian grid. The Gaussian-grid backgrounds are also
staged, and then a simple Python function inserts to these analysis
variables into the histories, which become the Gaussian analyses. This
is done this way to guarantee that the resulting Gaussian analyses are
in the exact format required by UPP.

The `enkfgdas_ecen_fv3jedi` no longer depends on the analysis calc job,
since the ensemble-resolution variational analysis is
computed/interpolated internally in the JEDI-based recentering
application. All other job dependencies remain the same. We no longer
need to compute the ensemble mean analysis in this job, since it can be
outputted the the JEDI local ensemble DA application in the
`enkfgdas_atmensanlsol` job and just staged for recentering. The
variational increment and deterministic backgrounds are also staged to
compute the ensemble-resolution variational analysis. The output of this
job is no longer the recentered ensemble increments, but rather the
"correction increment", which when added to ensemble increments becomes
the recentered increments. The prefix for the "correction increment" is
`catminc`.

The `enkfgdas_fcst` job now stages both the ensemble increments and the
correction increment. They are added together with `ncbo` in
`forecast_postdet.sh` to generate the recentered increment.

All forecast increments, both deterministic and ensemble, are now on the
native cubed-sphere grid

Resolves #3248 

---------

Co-authored-by: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com>
Co-authored-by: AntonMFernando-NOAA <167725623+AntonMFernando-NOAA@users.noreply.github.com>
Co-authored-by: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
Co-authored-by: Kate Friedman <kate.friedman@noaa.gov>
Co-authored-by: Cory Martin <cory.r.martin@noaa.gov>
…cycle (#3537)

# Description
This PR modifies the archival lists for tape to save the aerosol and
snow analysis increments (and other supporting files) every cycle rather
than with the atmospheric RESTART files.

  Resolves #3523 

# Type of change
- [x] 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)? NO
- Does this change require a documentation update? NO
- Does this change require an update to any of the following submodules?
NO

# How has this been tested?

- Cycled test on GaeaC6
- Forecast-only on Hera

# Checklist
- [x] Any dependent changes have been merged and published
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have documented my code, including function, input, and output
descriptions
- [x] My changes generate no new warnings
- [x] New and existing tests pass with my changes
- [x] This change is covered by an existing CI test or a new one has
been added
- [x] Any new scripts have been added to the .github/CODEOWNERS file
with owners
- [x] I have made corresponding changes to the system documentation if
necessary

---------

Co-authored-by: Cory Martin <Cory.R.Martin@gaea67.ncrc.gov>
Co-authored-by: Cory Martin <Cory.R.Martin@gaea66.ncrc.gov>
Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com>
Co-authored-by: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
…y stat files (#3471)

# Description
This pull request adds an initial capability to produce summary
observation space statistics for JEDI-based analyses through a new job,
`anlstat`. This runs for both the GFS and GDAS cycles and produces
summary stats using JEDI IODA diagnostic files as input, so that they
can be concatenated/locally archived and used for the future JEDI obs
monitoring tools.

@kevindougherty-noaa did over 90% of the work, my contributions here are
almost all cosmetic.

  Resolves #3147 


# Type of change
- [ ] Bug fix (fixes something broken)
- [x] New feature (adds functionality)
- [ ] Maintenance (code refactor, clean-up, new CI test, etc.)

# Change characteristics
<!-- Choose YES or NO from each of the following and delete the other
-->
- 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
- 
  - [x] GDAS PR already merged


# How has this been tested?
- Cycled test on Hera

# Checklist
- [x] Any dependent changes have been merged and published
- [x] My code follows the style guidelines of this project
- [x] I have performed a self-review of my own code
- [x] I have commented my code, particularly in hard-to-understand areas
- [x] I have documented my code, including function, input, and output
descriptions
- [x] My changes generate no new warnings
- [x] New and existing tests pass with my changes
- [x] 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
- [x] I have made corresponding changes to the system documentation if
necessary

---------

Co-authored-by: Kevin Dougherty <kevin.dougherty@noaa.gov>
Co-authored-by: Kevin Dougherty <69815622+kevindougherty-noaa@users.noreply.github.com>
Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com>
Co-authored-by: Cory Martin <Cory.R.Martin@gaea67.ncrc.gov>
Co-authored-by: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
Change all references of COM_* variables in JEDI-based code to
COMIN_/COMOUT_, in compliance with EE2/NCO standards.

Refs #2777 
Refs #3657
This PR:
- relocates `parm/config/gfs|gefs|sfs` into
`dev/parm/config/gfs|gefs|sfs`
- updates `setup_expt.py` so that the `configdir` option defaults to the
new location
- updates the included yamls to the relocated path
- updates the documentation to reflect this change
- updates affected configs to resolve shellcheck errors

In addition to the above, this PR:
- updates the yamls in the sfs to include the defaults provided in
`dev/parm/config/sfs/yaml/defaults.yaml`. Previously, they were
duplicated in the sfs test yaml
- relocates a `anlstat` yaml that was misplaced in
`parm/config/gfs/yaml`. Its correct place is in `parm/gdas`

When the release is created for GFS (or any other system), `parm/config`
will contain along with `gfs`, folders for `gefs` and `sfs`. This is
`dead code` as far as operations of the GFS is concerned.

---------

Co-authored-by: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
This PR refactors the marine analysis task class to be in line with the
standard code structure of other JEDI domains (atmosphere, aerosol,
snow). This includes:
1. Using the `JEDI` class infrastructure to initialize and run all JEDI
applications used in the marine analysis task.
2. Ensuring that the input YAML for all JEDI applications are rendered
with JCB.
3. Using `task_config` to render the JCB base YAML, rather than a custom
dictionary.
4. Ensuring that the `task_config` member dictionary of the marine
analysis `Task` class is only modified at initialization by the class
constructor.
5. Ensuring that all file staging and finalizing is carried out with
YAML files via the wxflow FileHandler class.

Additionally, a method has been added to the `Jedi` class which goes
through the YAML it generates in the `initialize()` method and removes
any observations with missing input files. This was previously done
manually in the marine analysis code, but I've absorbed it into the
`Jedi` class because it's useful/required for all domains.

Resolves #2931 

---------

Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com>
This PR updates the GDASApp hash to bring in changes related to the
handling of FieldMetadata and variable aliasing. This PR does not alter
GDASApp results. It is only a refactoring of existing functionality.

Resolves #3689

---------

Co-authored-by: danholdaway <danholdaway@users.noreply.github.com>
This pull request adds in cycling capabilities for GCAFS/GCDAS which
include an offline analysis capability that fetches GDAS analysis files
from tape, regrids them, calculates the difference and produces an
analysis increment for meteorology. Other changes are included to get
cycling going under the GCAFS framework that previously worked under the
GFS framework.
Combine ocean increment and CICE restart postprocessing into one executable.
This in general simplifies the workflow and will also make it much
easier to update ocean increment based on ice postprocessing (e.g. SST
under ice) for better model initialization.

Refs #3765
This addresses two bugs in snow DA for GFSv17:
1) Bug#1: IMS observations (in the ioda formatted) are not being staged
correctly. Hence, IMS DA is not implemented at any cycles. During snow
DA, the `snowanl.log` (similar issue for `enkfgdas_esnowanl.log`) at all
cycles said "gdas.t[xx]z.ims_snow.tm00.nc does not exist, removing obs
space".
2) Bug#2: madis_snow related stats are not being output in the
`.../products/snow/anlmon directory.`

Resolves #3749
Stage and tar bias correction files for aerosol DA in the workflow.
Resolves #3172
Refs (#1690)
This PR, directly installs GDASApp executables into the Global Workflow, invoking
`make install` in the GDASApp `build.sh`. GDASApp executable will no
longer be linked to in run directories, but rather invoked directly from
`$EXECgfs`, where they will now live. Other changes involve renaming of
GDASApp executables to have a `gdas_` prefix in cases in which they
don't already have this prefix.

Resolves #1678
Resolves #1638

---------

Co-authored-by: Anna Shlyaeva <anna.v.shlyaeva@noaa.gov>
Co-authored-by: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com>
Co-authored-by: RussTreadon-NOAA <Russ.Treadon@noaa.gov>
Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com>
@DavidNew-NOAA DavidNew-NOAA changed the title Feature/parm clean Move Global Workflow parm/gdas files into GDASApp parm Sep 4, 2025
@CoryMartin-NOAA
Copy link
Copy Markdown
Contributor

@DavidNew-NOAA
Copy link
Copy Markdown
Collaborator Author

@CoryMartin-NOAA Ah yes. I'm also waiting for NOAA-EMC/global-workflow#4000 to merge before I merge this PR, so I can integrate your changes.

@DavidNew-NOAA DavidNew-NOAA added the DO NOT MERGE PR is not ready to be merged yet label Sep 4, 2025
Copy link
Copy Markdown
Collaborator

@AndrewEichmann-NOAA AndrewEichmann-NOAA left a comment

Choose a reason for hiding this comment

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

There are a number of instances of MARINE_OBS_LIST_YAML still in global-workflow and GDASApp - are those taken into account?

@DavidNew-NOAA
Copy link
Copy Markdown
Collaborator Author

@AndrewEichmann-NOAA Yes, I believe I took care of all of those in the GW companion PR

@DavidNew-NOAA DavidNew-NOAA removed the DO NOT MERGE PR is not ready to be merged yet label Sep 8, 2025
@DavidNew-NOAA
Copy link
Copy Markdown
Collaborator Author

@CoryMartin-NOAA @guillaumevernieres @AndrewEichmann-NOAA @RussTreadon-NOAA @jiaruidong2017 Since my CI self-test on Hera for the GW companion (NOAA-EMC/global-workflow#4011) for this PR has passed (see NOAA-EMC/global-workflow#4011 (comment)), and I've addressed all reviewer comments on that PR, I think we're ready to merge this PR. Just need your final approval.

Note: This PR will break a lot of things until NOAA-EMC/global-workflow#4011 merges.

@CoryMartin-NOAA
Copy link
Copy Markdown
Contributor

@DavidNew-NOAA ok let's coordinate our submarine key turns so that we merge this, update workflow hash, and merge immediately

Copy link
Copy Markdown
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.

👍

Copy link
Copy Markdown
Contributor

@RussTreadon-NOAA RussTreadon-NOAA left a comment

Choose a reason for hiding this comment

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

Approve.

To the extent possible, let's fast-track g-w PR #4011

@DavidNew-NOAA
Copy link
Copy Markdown
Collaborator Author

OK, merging now. I will re-run Hera CI locally, and let the GW team know we're ready for CI on other machines

@DavidNew-NOAA DavidNew-NOAA merged commit 560fcbf into develop Sep 8, 2025
5 checks passed
@DavidNew-NOAA DavidNew-NOAA deleted the feature/parm-clean branch September 8, 2025 13:06
DavidNew-NOAA added a commit that referenced this pull request Jan 16, 2026
# Description

This PR does a couple things.

1. It moves every file that lives in Global Workflow `parm/gdas` into
GDASApp `parm` and into the appropriate subdirectory (`parm/atm`,
`parm/aero`, etc)
2. All `parm` files that feed into the wxflow FileHandler or configure
the GW `Jedi` class (most of the files in `parm`) are given a unified
naming convention of `(domain)_(task)_(stage/save)_(thing being staged
or saved).yaml.j2` or `(domain)_(task)_jedi_config.yaml.j2`
respectively. For example, the file that stages atmospheric
deterministic backgrounds is called `atm_det_stage_bkg.yaml.j2`.
3. `parm/soca` becomes `parm/marine` for consistency.
4. Anything that doesn't seem to be used in `parm` is moved to
`parm/obsolete`.

# Companion PRs

NOAA-EMC/global-workflow#4011

# Issues

Refs NOAA-EMC/global-workflow#3973

---------

Co-authored-by: root <root>
Co-authored-by: Rahul Mahajan <aerorahul@users.noreply.github.com>
Co-authored-by: Cory Martin <cory.r.martin@noaa.gov>
Co-authored-by: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
Co-authored-by: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com>
Co-authored-by: danholdaway <danholdaway@users.noreply.github.com>
Co-authored-by: Dan Holdaway <27729500+danholdaway@users.noreply.github.com>
Co-authored-by: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
Co-authored-by: RussTreadon-NOAA <russ.treadon@noaa.gov>
Co-authored-by: Guillaume Vernieres <guillaume.vernieres@noaa.gov>
Co-authored-by: AntonMFernando-NOAA <167725623+AntonMFernando-NOAA@users.noreply.github.com>
Co-authored-by: Anil Kumar <108816337+AnilKumar-NOAA@users.noreply.github.com>
Co-authored-by: TerrenceMcGuinness-NOAA <terrence.mcguinness@cox.net>
Co-authored-by: Andrew.Tangborn <Andrew.Tangborn@noaa.gov>
Co-authored-by: Jiarui Dong <Jiarui.Dong@noaa.gov>
Co-authored-by: Cory Martin <Cory.R.Martin@gaea68.ncrc.gov>
Co-authored-by: Travis Elless <113720457+TravisElless-NOAA@users.noreply.github.com>
Co-authored-by: Anna Shlyaeva <anna.v.shlyaeva@noaa.gov>
Co-authored-by: Kate Friedman <kate.friedman@noaa.gov>
Co-authored-by: Cory Martin <Cory.R.Martin@gaea67.ncrc.gov>
Co-authored-by: Cory Martin <Cory.R.Martin@gaea66.ncrc.gov>
Co-authored-by: Kevin Dougherty <kevin.dougherty@noaa.gov>
Co-authored-by: Kevin Dougherty <69815622+kevindougherty-noaa@users.noreply.github.com>
Co-authored-by: Anna Shlyaeva <annash@ucar.edu>
Co-authored-by: yuanxue2870 <136842224+yuanxue2870@users.noreply.github.com>
Co-authored-by: Yaping Wang <49168260+ypwang19@users.noreply.github.com>
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.

10 participants