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

Only use CDUMP where appropriate #1299

Closed
WalterKolczynski-NOAA opened this issue Feb 7, 2023 · 0 comments · Fixed by #2727
Closed

Only use CDUMP where appropriate #1299

WalterKolczynski-NOAA opened this issue Feb 7, 2023 · 0 comments · Fixed by #2727
Assignees

Comments

@WalterKolczynski-NOAA
Copy link
Contributor

Description
Much of the workflow uses $CDUMP where it should be using $RUN instead. $RUN represents the ecflow family of the current job and can be one of gdas, gfs, enkfgdas, and enkfgfs. $CDUMP refers to whether the job is part of the early cycle or late cycle (gdas or gfs). $RUN should always be used in defining output paths for the current job.

As part of this issue, places that still use afterward can remove workaround used to accommodate CDUMPs of enkfgdas and enkfgfs (see Issue #1298) can be removed.

Part of Epic #1069

Requirements
$CDUMP used only where appropriate
Where $CDUMP remains, remove any workarounds used to strip enkf (i.e. ${CDUMP/enkf} or ${CDUMP} =~ gdas)

Acceptance Criteria (Definition of Done)
All workflow cases run properly using $RUN

Dependencies
#761 (this will partially resolve this issue)
#1298

WalterKolczynski-NOAA added a commit to WalterKolczynski-NOAA/global-workflow that referenced this issue Feb 7, 2023
Updates `$RUN` and `$CDUMP` for ensemble jobs to include `enkf`.

Previously, the `$RUN` for EnKF jobs had been set to `gdas` or `gfs`.
However, this violates NCO policy and was also complicating Issue NOAA-EMC#761.
Now the `$RUN` for EnKF jobs is either `enkfgdas` or `enkfgfs`.

Theoeretically, `$CDUMP` shouldn't need to change. However, `$CDUMP`
and `$RUN` are used interchangably throughout much of the workflow
(Issue NOAA-EMC#1299), so for now the `$CDUMP` is kept identical to `$RUN`.

Refs: NOAA-EMC#1298
WalterKolczynski-NOAA added a commit to WalterKolczynski-NOAA/global-workflow that referenced this issue Feb 7, 2023
Updates `$RUN` and `$CDUMP` for ensemble jobs to include `enkf`.

Previously, the `$RUN` for EnKF jobs had been set to `gdas` or `gfs`.
However, this violates NCO policy and was also complicating Issue NOAA-EMC#761.
Now the `$RUN` for EnKF jobs is either `enkfgdas` or `enkfgfs`.

Theoeretically, `$CDUMP` shouldn't need to change. However, `$CDUMP`
and `$RUN` are used interchangably throughout much of the workflow
(Issue NOAA-EMC#1299), so for now the `$CDUMP` is kept identical to `$RUN`.

Refs: NOAA-EMC#1298
WalterKolczynski-NOAA added a commit to WalterKolczynski-NOAA/global-workflow that referenced this issue Feb 13, 2023
Updates `$RUN` and `$CDUMP` for ensemble jobs to include `enkf`.

Previously, the `$RUN` for EnKF jobs had been set to `gdas` or `gfs`.
However, this violates NCO policy and was also complicating Issue NOAA-EMC#761.
Now the `$RUN` for EnKF jobs is either `enkfgdas` or `enkfgfs`.

Theoeretically, `$CDUMP` shouldn't need to change. However, `$CDUMP`
and `$RUN` are used interchangably throughout much of the workflow
(Issue NOAA-EMC#1299), so for now the `$CDUMP` is kept identical to `$RUN`.

Refs: NOAA-EMC#1298
WalterKolczynski-NOAA added a commit to WalterKolczynski-NOAA/global-workflow that referenced this issue Feb 15, 2023
Updates `$RUN` and `$CDUMP` for ensemble jobs to include `enkf`.

Previously, the `$RUN` for EnKF jobs had been set to `gdas` or `gfs`.
However, this violates NCO policy and was also complicating Issue NOAA-EMC#761.
Now the `$RUN` for EnKF jobs is either `enkfgdas` or `enkfgfs`.

Theoeretically, `$CDUMP` shouldn't need to change. However, `$CDUMP`
and `$RUN` are used interchangably throughout much of the workflow
(Issue NOAA-EMC#1299), so for now the `$CDUMP` is kept identical to `$RUN`.

Refs: NOAA-EMC#1298
WalterKolczynski-NOAA added a commit to WalterKolczynski-NOAA/global-workflow that referenced this issue Feb 16, 2023
Updates `$RUN` and `$CDUMP` for ensemble jobs to include `enkf`.

Previously, the `$RUN` for EnKF jobs had been set to `gdas` or `gfs`.
However, this violates NCO policy and was also complicating Issue NOAA-EMC#761.
Now the `$RUN` for EnKF jobs is either `enkfgdas` or `enkfgfs`.

Theoeretically, `$CDUMP` shouldn't need to change. However, `$CDUMP`
and `$RUN` are used interchangably throughout much of the workflow
(Issue NOAA-EMC#1299), so for now the `$CDUMP` is kept identical to `$RUN`.

Refs: NOAA-EMC#1298
WalterKolczynski-NOAA added a commit that referenced this issue Feb 17, 2023
Updates `$RUN` and `$CDUMP` for ensemble jobs to include `enkf`.

Previously, the `$RUN` for EnKF jobs had been set to `gdas` or `gfs`. However, this violates NCO policy and was also complicating Issue #761 . Now the `$RUN` for EnKF jobs is either `enkfgdas` or `enkfgfs`.

Theoretically, `$CDUMP` shouldn't need to change. However, `$CDUMP` and `$RUN` are used interchangeably throughout much of the workflow (Issue #1299), so for now the `$CDUMP` is kept identical to `$RUN`. This will be corrected in a future PR.

This change **changes the name** of enkf output files. Files now begin `enkfgdas` (or `enkfgfs`) rather than `gdas`.

Closes #1298
DavidHuber-NOAA added a commit to DavidHuber-NOAA/global-workflow that referenced this issue Mar 1, 2023
WalterKolczynski-NOAA pushed a commit that referenced this issue Mar 1, 2023
The archiving scripts have had preceding `enkf`s removed and `$CDUMP` has been replaced with `$RUN` throughout the scripts.  This fixes #1353 and partially addresses #1299.

Fixes #1353
Refs #1299
WalterKolczynski-NOAA added a commit that referenced this issue Apr 24, 2023
Reorganizes the entire COM directory into a more hierarchical structure and uses centrally-defined templates to define COM paths.

## Hierarchical Structure
To organize output a lot better and not have 30000+ files in a single directory, all of the component COM directories are divided into a number of subdirectories for each type of output.

Sample directory trees

### Cycled atmosphere only
```
gdas.20211222/00
├── analysis
│   └── atmos
│       └── gsidiags
│           ├── dir.0000
│           ├── dir.0001
│           ├── (Additional dir.* directories omitted for brevity)
│           └── dir.0083
├── model_data
│   └── atmos
│       ├── history
│       ├── master
│       └── restart
├── obs
└── products
    └── atmos
        ├── cyclone
        │   └── tracks
        └── grib2
            ├── 0p25
            ├── 0p50
            └── 1p00

101 directories
```
```
enkfgdas.20211222/00
├── earc00
├── ensstat
│   ├── analysis
│   │   └── atmos
│   │       └── gsidiags
│   │           ├── dir.0000
│   │           ├── dir.0001
│   │           ├── (Additional dir.* omitted for brevity)
│   │           └── dir.0039
│   └── model_data
│       └── atmos
│           └── history
├── mem001
│   ├── analysis
│   │   └── atmos
│   └── model_data
│       └── atmos
│           ├── history
│           ├── master
│           └── restart
└── mem002
    ├── analysis
    │   └── atmos
    └── model_data
        └── atmos
            ├── history
            ├── master
            └── restart

64 directories
```
```
gfs.20211222/00
├── analysis
│   └── atmos
├── model_data
│   └── atmos
│       ├── history
│       ├── master
│       └── restart
├── obs
└── products
    └── atmos
        ├── bufr
        ├── cyclone
        │   ├── genesis_vital
        │   └── tracks
        ├── gempak
        │   ├── 0p25
        │   ├── 0p50
        │   ├── 1p00
        │   ├── 35km_atl
        │   ├── 35km_pac
        │   └── 40km
        ├── grib2
        │   ├── 0p25
        │   ├── 0p50
        │   └── 1p00
        └── wmo

26 directories
```
```
enkfgfs.20211222/00
├── earc00
├── ensstat
│   ├── analysis
│   │   └── atmos
│   │       └── gsidiags
│   │           ├── dir.0000
│   │           ├── dir.0001
│   │           ├── (Additional dir.* directories removed for brevity)
│   │           └── dir.0039
│   └── model_data
│       └── atmos
│           └── history
├── mem001
│   ├── analysis
│   │   └── atmos
│   └── model_data
│       └── atmos
│           ├── history
│           ├── master
│           └── restart
└── mem002
    ├── analysis
    │   └── atmos
    └── model_data
        └── atmos
            ├── history
            ├── master
            └── restart

64 directories
```

### S2SWA coupled
prototype (forecast-only):
```
gfs.20130401/00/
├── model_data
│   ├── atmos
│   │   ├── history
│   │   ├── input
│   │   ├── master
│   │   └── restart
│   ├── chem
│   │   └── history
│   ├── ice
│   │   ├── history
│   │   ├── input
│   │   └── restart
│   ├── med
│   │   └── restart
│   ├── ocean
│   │   ├── history
│   │   ├── input
│   │   └── restart
│   └── wave
│       ├── history
│       ├── prep
│       └── restart
└── products
    ├── atmos
    │   ├── cyclone
    │   │   ├── genesis_vital
    │   │   └── tracks
    │   ├── gempak
    │   │   ├── 0p25
    │   │   ├── 0p50
    │   │   ├── 1p00
    │   │   ├── 35km_atl
    │   │   ├── 35km_pac
    │   │   └── 40km
    │   ├── grib2
    │   │   ├── 0p25
    │   │   ├── 0p50
    │   │   └── 1p00
    │   └── wmo
    ├── ocean
    │   ├── 2D
    │   ├── 3D
    │   ├── grib
    │   │   ├── 0p25
    │   │   └── 0p50
    │   └── xsect
    └── wave
        ├── gempak
        ├── gridded
        ├── station
        └── wmo

51 directories
```

### Trees with files
gdas: https://gist.github.com/WalterKolczynski-NOAA/f1de04901e2703fd24d38146d2669789
gfs: https://gist.github.com/WalterKolczynski-NOAA/5d1b7c0a0f4b8cfff0be1ae54082316a
enkfgdas: https://gist.github.com/WalterKolczynski-NOAA/860aaa804e3e70e191e7cae2ebb1055b
enkfgfs: https://gist.github.com/WalterKolczynski-NOAA/130bfff4650ed8b07cf395079b65d318
S2SWA P8: https://gist.github.com/WalterKolczynski-NOAA/6ae90c6eafb573878f60682ce47179db

## Templating
All of the COM paths have been replaced with new variables that are derived from a set of templates centrally defined in `config.com`. Variables in the templates are then substituted at runtime to generate the COM paths via the use of `envsubst`. To facilitate this, there is a new function, `generate_com` (see below), provided to automatically generate the COM paths.

Where possible, COM paths are defined at the j-job level and made read-only. However, many of the EnKF scripts loop over the ensemble members, forcing the definitions to be made at the exscript level instead (and be mutable).

The arguments to `generate_com()` are the list of COM variables to generate, optionally accompanied by a template to use using a colon to separate them. When no template is specified, the variable will be generated using the ${varname}_TMPL template. Two options are accepted, `-r` and `-x`, which will mark the variable as read-only and for export, respectively (the same as with the `declare` builtin). It is best practice to define any additional variables needed by the template on the same line to avoid adding them to the calling script’s scope. Here are some examples used in the code:

Generate the path to the atmos analysis directory for the current cycle and `$RUN` (implicitly from the `$COM_ATMOS_ANALYSIS_TMPL` template) and mark as read-only and export:
```
YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_ANALYSIS
```

Generate the path to the atmos history directory for the previous cycle's gdas from the `$COM_ATMOS_HISTORY_TMPL` template and mark as read-only and export:
```
RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} generate_com -rx \
    COM_ATMOS_HISTORY_PREV:COM_ATMOS_HISTORY_TMPL
```

Generate the path to the first ensemble member's history directory of the current cycle and `$RUN` and mark for export:
```
MEMDIR=’mem001’ YMD=${PDY} HH=${cyc} generate_com -x COM_ATMOS_HISTORY
```

## Additional information
The staging of initial conditions in `setup_expy.py` has been updated to stage in the new locations. The source of the initial conditions can **either** be in the new hierarchical structure or in the old flat structure and the script will stage the files in the new structure. The destination paths are hard-coded here, so if any changes are made to the analysis, input, or restart templates, they will need to be mirrored in `setup_expy.py`.

### Stipulations
All changes in this PR are subject to approval by several stakeholders, including NCO. Sample COM trees above are subject to revision based on feedback (for instance, file X isn't really an obs file).

File name updates are not included in this PR. File names (primarily for coupled components) will be updated to comply with NCO standards in a future PR.

AWIPS jobs are now almost working (they do not in current develop), but one last program is still ending with an error.

Work on fit2obs is deferred, so that portion of the verify job does not work.

WAFS scripts are all external and have not yet been updated. WAFS is expected to be packaged separately going forward, so will need to be updated like any other downstream package.

Some scripts that are not part of our normal development workflow have not yet been updated. I may be able to knock a few more off this list, but some just aren’t available in development mode currently:
- All UFSDA app jobs (to be handled separately)
- With associated dev jobs (may still modify and test)
  - JGDAS_ATMOS_GLDAS
  - ~~JGLOBAL_WAVE_GEMPAK~~
  - ~~JGLOBAL_WAVE_POST_BNDPNT~~
  - ~~JGLOBAL_WAVE_POST_BNDPNTBLL~~
  - ~~JGLOBAL_WAVE_PRDGEN_BULLS~~
  - ~~JGLOBAL_WAVE_PRDGEN_GRIDDED~~
  - ~~JGLOBAL_WAVE_PREP~~
- With no associated dev job
  - JGDAS_ATMOS_GEMPAK_META_NCDCJGFS_ATMOS_FBWIND
  - JGFS_ATMOS_FSU_GENESIS
  - JGFS_ATMOS_GEMPAK_META
  - JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF
  - JGLOBAL_ATMOS_EMCSFC_SFC_PREP
  - JGLOBAL_ATMOS_POST_MANAGER
  - JGLOBAL_ATMOS_TROPCY_QC_RELOC
+ All downstream scripts for the above

There are also a few scripts that are not available to the development workflow that I have already made a good-faith effort at updating:
- JGDAS_ATMOS_GEMPAK
- JGFS_ATMOS_PGRB2_SPEC_NPOESS

## Related Issues
Closes #761
Fixes #978
Fixes #999
Fixes #1207
Partially addresses #198
Partially addresses #289
Partially addresses #293
Partially addresses #1299
Partially addresses #1326
jkhender added a commit to jkhender/global-workflow that referenced this issue May 18, 2023
Squashed commit of the following:

commit 608ff650fbc902114203a8d03893e3d26fa05d70
Author: Kate Friedman <[email protected]>
Date:   Mon May 1 22:19:39 2023 -0400

    Remove gdas bump fix files (#1553)

    * Remove bump_ver from versions/fix.ver
    - No longer need a bump version variable in fix.ver.
    Refs #1552

commit 810071bff4878b16e5b70113fff990a1b1e80a4f
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon May 1 22:18:31 2023 -0400

    Remove remnant WAVE_RUN from archive (#1556)

    `$WAVE_RUN` is no longer used in workflow, but one reference remained
    in the archive job, which would cause failures. The conditional did
    not need to be replaced by `$RUN` since `$RUN` has already been checked
    at that point.

    Fixes #1548

commit f2ea92bf7345be1669677affab401bf25dd917ff
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon May 1 17:08:30 2023 -0400

    Update UFS to develop as of 2023 Apr 17 (#1509)

    Updates the UFS model hash to the version as of 2023 Apr 17.

    Some associated changes accompany this update
    - Restart filenames for MOM6 (ufs-community/ufs-weather-model#1599)
    - Remove store coriolis setting from MOM6 namelist (ufs-community/ufs-weather-model#1599)
    - Change in atm 'log' file names (ufs-community/ufs-weather-model#1704)
    - Additions to diag_table for frozen species (ufs-community/ufs-weather-model#1529)
    - Restart quilting (ufs-community/ufs-weather-model#1633)
    - Update to post itag (ufs-community/ufs-weather-model#1690)

    The switch to restart quilting adds an additional constraint on the size of write groups to be divisible by the number of tiles, so all were increased to the next multiple of 6.

    In the process of updating the diag tables, unused tables were removed.

    Closes #1279 as moot
    Closes #1445
    Closes #1499
    Partially addresses #1277

commit 6d3ed8ac4b71759fbace38f3dd544f7ee018b821
Author: Guillaume Vernieres <[email protected]>
Date:   Mon May 1 14:36:01 2023 -0400

    Adapt the marine DA to the new COM structure (#1554)

commit 6c48e94b4f3c7cf180cd443a13b957c8ab87ab4c
Author: Cory Martin <[email protected]>
Date:   Mon May 1 02:02:37 2023 -0400

    Update aerosol DA to use new COM structure (#1551)

    This PR updates the j-jobs and python classes for aerosol DA to use the new COM directory structure.
    This PR also includes removing of the chem history staging for the ICSDIR in setup_expt.py. The aerosol fields are treated as FV3 tracers, so they are either available (warm start) with the fv_tracer files or start at 0 (cold start) and must be spun up from emissions.

    Fixes #1516

commit ec2dd3ab8fb78c4e0aff7d81cb64095fe6130ad6
Author: RussTreadon-NOAA <[email protected]>
Date:   Fri Apr 28 14:45:09 2023 -0400

    Update UFSDA ATM ens for new COM directory structure (#1538)

    g-w PR #1421 changed the GFS COM directory structure. This PR updates UFSDA ATM ensemble analysis jobs and python script to work with the updated GFS COM directory structure.

    Fixes #1518

commit 406d6900963ca9c5152ef4b84de0d2840b0c2fd3
Author: Rahul Mahajan <[email protected]>
Date:   Fri Apr 28 12:55:05 2023 -0400

    Run an ensemble forecast of the coupled model (#1545)

commit ff37168eddd52e00b288cde4bdbdb1927369abe6
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri Apr 28 12:53:59 2023 -0400

    Fix ocean anl path in staging (#1544)

    The path for ocean analysis files was not properly updated after
    analysis was moved out of model_data into its own directory.

commit 8506ec6977c53018a100fd4881c296016a7df630
Author: Cory Martin <[email protected]>
Date:   Thu Apr 27 15:48:47 2023 -0400

    Two minor bugfixes (#1542)

    Found some odd bugs in the aerosol DA changes that need to be fixed to work properly.
    Not sure how they worked before with testing (by luck?) but these are straightforward fixes
    to implement.

    one has a missing / in a path for FileHandler
    and the other has a missing .nc causing files to not be found

commit 5f66da919c2525e189a169bad1f3fcbab3a64739
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Thu Apr 27 14:04:55 2023 -0400

    Move guts of ocean analysis post out of j-job (#1539)

    Removes most of content of JGDAS_GLOBAL_OCEAN_ANALYSIS_POST to scripts/exgdas_global_marine_analysis_post.py in GDASApp, now just calls that script.

    Addresses first bullet of #1480

commit 3dd6bbe7a77145ab31d00bd4c23af7649353cbd9
Author: RussTreadon-NOAA <[email protected]>
Date:   Wed Apr 26 17:02:05 2023 -0400

    Update UFSDA ATM anl for new COM directory structure (#1537)

    g-w PR #1421 changed the GFS COM directory structure. This PR updates UFSDA ATM variational analysis jobs and python scripts to work with the updated GFS COM directory structure.

    Fixes #1517

commit b5d173f6a95ccc5df55aecb9dc490fffb79b26ca
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Apr 26 13:39:45 2023 -0400

    Fix incorrect ocean history tmpl during workflow generation (#1533)

    The trailing '_TMPL' was accidentally ommited from the ocean history
    template used during workflow generation.

    Refs: #1532

commit 789ae97a1210117b9b629c4a47d6cfa999b551ab
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Apr 26 13:39:31 2023 -0400

    Fix ocean stating from flat structure (#1531)

    A typo led to the same variable being defined twice instead of the
    variable that was supposed to be defined.

    Fixes #1530

commit 1e4a24c35088a3db6348156c15bbc81b6f814e40
Author: Guillaume Vernieres <[email protected]>
Date:   Wed Apr 26 00:17:56 2023 -0400

    Fix warm-start IC staging (#1529)

    The incorrect path was used for staging coupled components during the COM refactor update (#1421). These are now corrected.

    Fixes #1528

commit 7421d805e6f50a59cd0be611d3ad7568ae603985
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Tue Apr 25 15:37:04 2023 -0400

    Quiet generate_com (#1526)

    Turns off trace for the duration of the generate_com function unless
    DEBUG_WORKFLOW is not set to "NO" (the default). In its place, the
    function will now echo the assignment.

    Closes #1524

commit 23e6cc22a456c4a4294216037673473db0a144af
Author: Guillaume Vernieres <[email protected]>
Date:   Tue Apr 25 11:45:16 2023 -0400

    Add ocnanlvrfy job and bugfixes. (#1514)

commit efa5180462f71ec476aeb6c5de4ba074a9d38a29
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Apr 24 15:37:52 2023 -0400

    Reorganize COM and refactor to use templates (#1421)

    Reorganizes the entire COM directory into a more hierarchical structure and uses centrally-defined templates to define COM paths.

    ## Hierarchical Structure
    To organize output a lot better and not have 30000+ files in a single directory, all of the component COM directories are divided into a number of subdirectories for each type of output.

    Sample directory trees

    ### Cycled atmosphere only
    ```
    gdas.20211222/00
    ├── analysis
    │   └── atmos
    │       └── gsidiags
    │           ├── dir.0000
    │           ├── dir.0001
    │           ├── (Additional dir.* directories omitted for brevity)
    │           └── dir.0083
    ├── model_data
    │   └── atmos
    │       ├── history
    │       ├── master
    │       └── restart
    ├── obs
    └── products
        └── atmos
            ├── cyclone
            │   └── tracks
            └── grib2
                ├── 0p25
                ├── 0p50
                └── 1p00

    101 directories
    ```
    ```
    enkfgdas.20211222/00
    ├── earc00
    ├── ensstat
    │   ├── analysis
    │   │   └── atmos
    │   │       └── gsidiags
    │   │           ├── dir.0000
    │   │           ├── dir.0001
    │   │           ├── (Additional dir.* omitted for brevity)
    │   │           └── dir.0039
    │   └── model_data
    │       └── atmos
    │           └── history
    ├── mem001
    │   ├── analysis
    │   │   └── atmos
    │   └── model_data
    │       └── atmos
    │           ├── history
    │           ├── master
    │           └── restart
    └── mem002
        ├── analysis
        │   └── atmos
        └── model_data
            └── atmos
                ├── history
                ├── master
                └── restart

    64 directories
    ```
    ```
    gfs.20211222/00
    ├── analysis
    │   └── atmos
    ├── model_data
    │   └── atmos
    │       ├── history
    │       ├── master
    │       └── restart
    ├── obs
    └── products
        └── atmos
            ├── bufr
            ├── cyclone
            │   ├── genesis_vital
            │   └── tracks
            ├── gempak
            │   ├── 0p25
            │   ├── 0p50
            │   ├── 1p00
            │   ├── 35km_atl
            │   ├── 35km_pac
            │   └── 40km
            ├── grib2
            │   ├── 0p25
            │   ├── 0p50
            │   └── 1p00
            └── wmo

    26 directories
    ```
    ```
    enkfgfs.20211222/00
    ├── earc00
    ├── ensstat
    │   ├── analysis
    │   │   └── atmos
    │   │       └── gsidiags
    │   │           ├── dir.0000
    │   │           ├── dir.0001
    │   │           ├── (Additional dir.* directories removed for brevity)
    │   │           └── dir.0039
    │   └── model_data
    │       └── atmos
    │           └── history
    ├── mem001
    │   ├── analysis
    │   │   └── atmos
    │   └── model_data
    │       └── atmos
    │           ├── history
    │           ├── master
    │           └── restart
    └── mem002
        ├── analysis
        │   └── atmos
        └── model_data
            └── atmos
                ├── history
                ├── master
                └── restart

    64 directories
    ```

    ### S2SWA coupled
    prototype (forecast-only):
    ```
    gfs.20130401/00/
    ├── model_data
    │   ├── atmos
    │   │   ├── history
    │   │   ├── input
    │   │   ├── master
    │   │   └── restart
    │   ├── chem
    │   │   └── history
    │   ├── ice
    │   │   ├── history
    │   │   ├── input
    │   │   └── restart
    │   ├── med
    │   │   └── restart
    │   ├── ocean
    │   │   ├── history
    │   │   ├── input
    │   │   └── restart
    │   └── wave
    │       ├── history
    │       ├── prep
    │       └── restart
    └── products
        ├── atmos
        │   ├── cyclone
        │   │   ├── genesis_vital
        │   │   └── tracks
        │   ├── gempak
        │   │   ├── 0p25
        │   │   ├── 0p50
        │   │   ├── 1p00
        │   │   ├── 35km_atl
        │   │   ├── 35km_pac
        │   │   └── 40km
        │   ├── grib2
        │   │   ├── 0p25
        │   │   ├── 0p50
        │   │   └── 1p00
        │   └── wmo
        ├── ocean
        │   ├── 2D
        │   ├── 3D
        │   ├── grib
        │   │   ├── 0p25
        │   │   └── 0p50
        │   └── xsect
        └── wave
            ├── gempak
            ├── gridded
            ├── station
            └── wmo

    51 directories
    ```

    ### Trees with files
    gdas: https://gist.github.com/WalterKolczynski-NOAA/f1de04901e2703fd24d38146d2669789
    gfs: https://gist.github.com/WalterKolczynski-NOAA/5d1b7c0a0f4b8cfff0be1ae54082316a
    enkfgdas: https://gist.github.com/WalterKolczynski-NOAA/860aaa804e3e70e191e7cae2ebb1055b
    enkfgfs: https://gist.github.com/WalterKolczynski-NOAA/130bfff4650ed8b07cf395079b65d318
    S2SWA P8: https://gist.github.com/WalterKolczynski-NOAA/6ae90c6eafb573878f60682ce47179db

    ## Templating
    All of the COM paths have been replaced with new variables that are derived from a set of templates centrally defined in `config.com`. Variables in the templates are then substituted at runtime to generate the COM paths via the use of `envsubst`. To facilitate this, there is a new function, `generate_com` (see below), provided to automatically generate the COM paths.

    Where possible, COM paths are defined at the j-job level and made read-only. However, many of the EnKF scripts loop over the ensemble members, forcing the definitions to be made at the exscript level instead (and be mutable).

    The arguments to `generate_com()` are the list of COM variables to generate, optionally accompanied by a template to use using a colon to separate them. When no template is specified, the variable will be generated using the ${varname}_TMPL template. Two options are accepted, `-r` and `-x`, which will mark the variable as read-only and for export, respectively (the same as with the `declare` builtin). It is best practice to define any additional variables needed by the template on the same line to avoid adding them to the calling script’s scope. Here are some examples used in the code:

    Generate the path to the atmos analysis directory for the current cycle and `$RUN` (implicitly from the `$COM_ATMOS_ANALYSIS_TMPL` template) and mark as read-only and export:
    ```
    YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_ANALYSIS
    ```

    Generate the path to the atmos history directory for the previous cycle's gdas from the `$COM_ATMOS_HISTORY_TMPL` template and mark as read-only and export:
    ```
    RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} generate_com -rx \
        COM_ATMOS_HISTORY_PREV:COM_ATMOS_HISTORY_TMPL
    ```

    Generate the path to the first ensemble member's history directory of the current cycle and `$RUN` and mark for export:
    ```
    MEMDIR=’mem001’ YMD=${PDY} HH=${cyc} generate_com -x COM_ATMOS_HISTORY
    ```

    ## Additional information
    The staging of initial conditions in `setup_expy.py` has been updated to stage in the new locations. The source of the initial conditions can **either** be in the new hierarchical structure or in the old flat structure and the script will stage the files in the new structure. The destination paths are hard-coded here, so if any changes are made to the analysis, input, or restart templates, they will need to be mirrored in `setup_expy.py`.

    ### Stipulations
    All changes in this PR are subject to approval by several stakeholders, including NCO. Sample COM trees above are subject to revision based on feedback (for instance, file X isn't really an obs file).

    File name updates are not included in this PR. File names (primarily for coupled components) will be updated to comply with NCO standards in a future PR.

    AWIPS jobs are now almost working (they do not in current develop), but one last program is still ending with an error.

    Work on fit2obs is deferred, so that portion of the verify job does not work.

    WAFS scripts are all external and have not yet been updated. WAFS is expected to be packaged separately going forward, so will need to be updated like any other downstream package.

    Some scripts that are not part of our normal development workflow have not yet been updated. I may be able to knock a few more off this list, but some just aren’t available in development mode currently:
    - All UFSDA app jobs (to be handled separately)
    - With associated dev jobs (may still modify and test)
      - JGDAS_ATMOS_GLDAS
      - ~~JGLOBAL_WAVE_GEMPAK~~
      - ~~JGLOBAL_WAVE_POST_BNDPNT~~
      - ~~JGLOBAL_WAVE_POST_BNDPNTBLL~~
      - ~~JGLOBAL_WAVE_PRDGEN_BULLS~~
      - ~~JGLOBAL_WAVE_PRDGEN_GRIDDED~~
      - ~~JGLOBAL_WAVE_PREP~~
    - With no associated dev job
      - JGDAS_ATMOS_GEMPAK_META_NCDCJGFS_ATMOS_FBWIND
      - JGFS_ATMOS_FSU_GENESIS
      - JGFS_ATMOS_GEMPAK_META
      - JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF
      - JGLOBAL_ATMOS_EMCSFC_SFC_PREP
      - JGLOBAL_ATMOS_POST_MANAGER
      - JGLOBAL_ATMOS_TROPCY_QC_RELOC
    + All downstream scripts for the above

    There are also a few scripts that are not available to the development workflow that I have already made a good-faith effort at updating:
    - JGDAS_ATMOS_GEMPAK
    - JGFS_ATMOS_PGRB2_SPEC_NPOESS

    ## Related Issues
    Closes #761
    Fixes #978
    Fixes #999
    Fixes #1207
    Partially addresses #198
    Partially addresses #289
    Partially addresses #293
    Partially addresses #1299
    Partially addresses #1326

commit 408ef65a8e2318125ad61478746024b2d0ef463d
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Apr 24 15:26:58 2023 -0400

    Move GDASApp hash to stable version (#1508)

    Changes the GDASApp hash to a more stable version than the tip of
    develop.
    See post-merge converastion in #1506

commit 699a759f80352aaade4203425c5df24842fcefa3
Author: RussTreadon-NOAA <[email protected]>
Date:   Mon Apr 24 13:37:04 2023 -0400

    update GDASApp hash to d34f616 (#1505) (#1506)

commit 44f5c28518a7d4b9e06658c6c21b9b1ee1d0918e
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Mon Apr 24 12:26:14 2023 -0400

    ignore archiving sfluxgrbf00[124578] files when they are not present (#1498)

    * ignore archiving certain sfluxgrbf??? files when they are not present.
    Co-authored-by: Rahul Mahajan <[email protected]>

commit 2e88dbfc5ff7a0bb2c6c1630b0c2783d76049d21
Author: Jiarui Dong <[email protected]>
Date:   Mon Apr 24 09:17:48 2023 -0400

    Add initial land DA cycling scripts (#1351)

    This PR adds rocoto jobs, jjobs, config files and updates to the machine.env to enable land-da  cycling capability.

commit f159d39a3b28dfcc120cdcdf87d11a611c75061f
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri Apr 21 15:46:35 2023 -0400

    Add CI cron jobs (#1476)

    As a maintainer of the CI framework, I need a set of cron jobs that will fully automate the CI pipeline so that whenever the appropriate label on GitHub is created the PR gets cloned and built followed by a set of functional experiments that are executed and reported on.

commit 587e469a1be5e278326fc0cbceefedc90caf75bf
Author: RussTreadon-NOAA <[email protected]>
Date:   Fri Apr 21 13:28:11 2023 -0400

    Refactor UFS-DA ATM ens component to use python g-w (#1373)

    This PR contains UFS-DA ATM ens changes originally in PR #1354.

    Below is a list of changes in this PR
    - rename UFS-DA ATM ens jobs atmensanalprep, atmensanalrun, and atmensanalpost as atmensanlinit, atmensanlrun, and atmensanlfinal, respectively
    - replace UFS-DA ATM ens shell scripts with python scripts
    - rename UFS-DA ATM ens j-jobs consistent with initialize, run, and finalize functions. Update j-jobs to execute python scripts instead of shell scripts
    - rename UFS-DA ATM ens rocoto jobs to be consistent with initialize, run, and finalize functions. Update jobs to set python paths and execute renamed j-jobs
    - update rocoto workflow generation to new names for UFS-DA ATM ens jobs
    - update UFS-DA ATM ens job names in machine dependent env files to new job names
    - rename UFS-DA ATM ens configuration files consistent with change in job names
    - add python class for UFS-DA ATM ens analysis
    - unify JEDIEXE link for UFS-DA Aerosol, ATM, and ENS
    - properly set `cycledefs` for `gfsatmanlinit`
    - remove unused `FV3JEDI_FIX` from atmanl and atmensanl config

    The above changes are part of a larger g-w effort to transition from shell scripts to python. UFS-DA Aerosol was the first GDASApp system to be converted. PR #1372 converted UFS-DA atmospheric variational DA to the python based approach.  This PR converts converts UFS-DA atmospheric local ensemble DA to the python based approach.

    Fixes #1313
    Depends (in part) on #1370 and #1372 and NOAA-EMC/GDASApp#388

commit 7db70496063fe32928cacb9790e45a1e987a3510
Author: David Huber <[email protected]>
Date:   Fri Apr 21 12:42:00 2023 -0400

    Added Fit2Obs to S4. #1489 (#1497)

    Adds Fit2Obs support for S4 by adding the module use/load commands to the module_base.s4.lua modulefile.

    Fixes #1489.

commit fb236523140b09686a4c2961e0552e7bd5dbf04f
Author: Guillaume Vernieres <[email protected]>
Date:   Fri Apr 21 12:40:11 2023 -0400

    Add new task to post-process marine DA (#1485)

    The work in this PR is only meant to bring us closer to a viable WCDA system. The refactoring of the marine DA to the new standard introduced by @aerorahul and used by @RussTreadon-NOAA and @CoryMartin-NOAA will be addressed after this [Epic](https://github.com/noaa-emc/gdasapp/issues/416) is resolved.

    ### Motivation and context
    This work adds a separate j-job ```JGDAS_GLOBAL_OCEAN_ANALYSIS_CHKPT ``` that calls a script that will be in the GDASApp for the time being (PR to come once this is merged) and does the following:
    - prepares the `SOCA` increment for `MOM6` IAU
    - recursively apply the `SOCA2CICE` change of variable. A mapping from the 2D seaice analysis variable to the CICE6 dynamical and thermodynamic variables.
    - merge the `Tref` increment from the `NSST` analysis with the `SOCA` increment

    ### Summary of the change
    - HPC environment: the new j-job runs a `JEDI` executable twice and one python script. All are serial jobs but the JEDI exec need to be called as an MPI job with 1 pe.
    - `jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_CHKPT`, that script point to a ex-script that is not in the GDASApp develop yet.
    - addition of the option to merge the Tref NSST increment with the MOM6 increment. This is triggered with the `DO_MERGENSST` switch
    - The new j-job dependency was added, with the option to wait for the surface analysis file `sfcanl.nc` if `do_mergensst` is true.

    Refs: #1480.
    Fixes NOAA-EMC/GDASApp/#418

commit 740daba8d6d34a327199701c1df7d6e10da73ec5
Author: Kate Friedman <[email protected]>
Date:   Fri Apr 21 03:11:51 2023 -0400

    Create fix file issue template (#1495)

    Create fix_file.md template file for new fix file request issue. This should help formalize the process and document updates.

    New issue will auto-assign to @KateFriedman-NOAA and @WalterKolczynski-NOAA (the developers with access to make fix files changes).

    Fixes #1492

commit 35942896ca4eeef243fe35d47416be64fe0058ff
Author: Kate Friedman <[email protected]>
Date:   Thu Apr 20 10:00:23 2023 -0400

    Update TC_tracker version to v1.1.15.6

    New ens_tracker.v1.1.15.6 tag installed on supported platforms. Adds Jet support and moves package to use new EPIC-installed hpc-stacks on R&Ds.

    Refs #1463

commit 86c3923bf60b1ce39165070bf2e5c3d60193d6dd
Author: Kate Friedman <[email protected]>
Date:   Thu Apr 20 09:39:56 2023 -0400

    Update GSI-Monitor hash to reflect recent assimilation changes.

    New GSI-Monitor hash to 45783e3 to update two fix files.

    Refs #1483

commit 2f347f6ddc770f2524394af25561a8da0d8dfb50
Author: Kate Friedman <[email protected]>
Date:   Wed Apr 19 15:54:19 2023 -0400

    Fit2Obs updates for package reorganization and invocation via module (#1484)

    The Fit2Obs repo has been reorganized to meet a few NCO standards and to add a module for invoking it from other packages.

    Refs #1472

commit b2ed8648f80946de85983a51664b120540854cc9
Author: RussTreadon-NOAA <[email protected]>
Date:   Tue Apr 18 16:21:14 2023 -0400

    Refactor UFS-DA ATM var component to use python g-w (#1372)

    This PR contains UFS-DA ATM var changes in PR https://github.com/NOAA-EMC/global-workflow/pull/1354.

    Below is a list of changes in this PR
    - rename UFS-DA ATM var jobs `atmanalprep`, `atmanalrun`, and `atmanalpost` as `atmanlinit`, `atmanlrun`, and `atmanlfinal`, respectively
    - replace UFS-DA ATM var shell scripts with python scripts
    - rename UFS-DA ATM var j-jobs consistent with initialize, run, and finalize functions.  Update j-jobs to execute python scripts instead of shell scripts
    - rename UFS-DA ATM var rocoto jobs to be consistent with initialize, run, and finalize functions.  Update jobs to set python paths and execute renamed j-jobs
    - update rocoto workflow generation to new names for UFS-DA ATM var jobs
    - update UFS-DA ATM var job names in machine dependent `env` files to new job names
    - rename UFS-DA ATM var configuration files consistent with change in job names
    - add UFS-DA ATM yaml files for UFS-DA fix files, crtm files, and increments
    - add python class for UFS-DA ATM var analysis
    - link UFS-DA python increment conversion script from GDASApp to g-w `ush` directory

    The above changes are part of a larger g-w effort to transition from shell scripts to python.  UFS-DA Aerosol was the first GDASApp system to be converted.   This PR represents the second GDASApp system, UFS-DA atmospheric variational DA, to be converted.  PR #1373 contains changes to convert the UFS-DA ensemble DA to a python based approach.

    Fixes (in part) #1313
    Depends (in part) on PR #1370 and [GDASApp #388](https://github.com/NOAA-EMC/GDASApp/pull/388)

commit 70a7d99bb65fd7661d7d2bac10633c0dda5d39fd
Author: David Huber <[email protected]>
Date:   Tue Apr 18 10:26:00 2023 -0400

    Port the global workflow to Jet (#1301)

    Provides initial cycled and free-forecast support for the global workflow on Jet.  References #357.  Not included in this port is support for GLDAS, verif-global, and TC_tracker.

    Jet will eventually support the following, with the currently tested options bolded, on xjet and kjet partitions
    - uncoupled, cycled and free-forecast experiments at C48, C96, C192, C384, and C768 resolutions
    - coupled, free-forecast experiments (ATMA, ATMW, S2S, and S2SW) at C384
    ~Note that currently coupled ICs are not available on Jet, so only ATM-only experiments can performed.~

    Fixes #357

commit d2b268ab3d965c9a2cf998dd048ac7a3ee7dc36b
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Apr 17 21:15:04 2023 -0400

    Consolidate wave parm files (#1477)

    When the new wave parm directory was created, the existing parm files
    were not moved into the new directory. These files were used for AWIPS,
    so not generally tested.

commit 8dcfaa6fbc5e0a94d44952f710f77c3b18ffa50d
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Apr 17 13:37:26 2023 -0400

    Split MPMD stdout into tasks on slurm (#1469)

    It can be difficult to debug MPMD jobs because their logs are all written concurrently to a single file. While the use of tags to designate which task via the preamble and PS4 can help identify which line is from which task, it is still difficult to follow a single task through the log, particularly for larger MPMD jobs with dozens of tasks.

    Individual stdout files are now created by using the `srun` `--output` option. These files are written to the working directory (in `$DATA`).

    Fixes: #1468

commit 6e7e4f1db78bbb67d94d54bdcb0a021a626b01f1
Author: Henry R. Winterbottom <[email protected]>
Date:   Mon Apr 17 09:59:01 2023 -0600

    GFS fixed-file YAMLs. (#1471)

    Add a few fixed-file YAMLs used in the GFS.

commit 2ec4125f67e6b6c1d8dee6f6fcf1d0798f587a31
Author: Rahul Mahajan <[email protected]>
Date:   Fri Apr 14 20:55:57 2023 -0400

    Initial blocks in place for forecast refactor work (#1466)

    This PR is a first in a series of PR for transforming the forecast job.
    This PR does not affect current function of the forecast job.
    This PR:
    - adds initial blocks to separate task specific and model configuration for the task blocks

commit d47f33f142824c0d2111f7e2f08c43f99b33bff4
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri Apr 14 15:51:14 2023 -0400

    Update buoys file and fix boundary point jobs (#1465)

    The buoy file used by the wave jobs ([wave_gfs.buoys](https://github.com/NOAA-EMC/global-workflow/blob/develop/parm/wave/wave_gfs.buoys)) was just a copy of [wave_gfs.buoys.dat](https://github.com/NOAA-EMC/global-workflow/blob/develop/parm/wave/wave_gfs.buoys.dat). In addition to being a duplicate, the file was a truncated version without any boundary points, causing boundary point jobs to fail.

    The duplicate file has been removed and replaced by a symlink to the full buoy list [wave_gfs.buoys.full](https://github.com/NOAA-EMC/global-workflow/blob/develop/parm/wave/wave_gfs.buoys.full). This maintains the provenance of the file and prevents the former duplicate from becoming out-of-sync. Users who still want to use the truncated buoy can change the target of the symlink to wave_gfs.buoys.dat.

    There are also a few minor bugs fixes that were necessary to get boundary point jobs to run:
    - `FHMAX_WAV_IBP` had been set in the bndpnt config file but not used in the j-job. This was invisible unless a user changed the value, since the config and j-job used the same default.
    - Checks against `FHMAX_WAV` would set the unused `FHMAX_WAV_IBP` to the max value instead of the `FHMAX_WAV_PNT` used for the loop. This is a problem when running for less than 180 h (the default value).
    - The boundary point bulletin job was not in the env job list for Orion (other machines have it).

    Now the boundary point jobs set `FHMAX_WAV_PNT` to `$FHMAX_WAV_IBP`. `FHMAX_WAV_IBP` was moved from the bndpnt config to config.wave so it is visible to bndpntbll as well.

    Fixes #1464

commit e496e393b16565207c227f4b69a5691d97098624
Author: Kate Friedman <[email protected]>
Date:   Wed Apr 12 15:59:00 2023 -0400

    Move Fit2Obs to stand-alone job (#1456)

    This PR moves the Fit2Obs invocation out of the vrfy job and into its own dedicated `fit2obs` job in the gdas suite. This new dedicated job uses the latest Fit2Obs tag `wflow.1.0`.

    The Fit2Obs requires a type of spin-up. The job looks back `VBACKUP_FITS` hrs and needs available inputs for that lookback cycle in the `ROTDIR`. The `jobs/JGDAS_FIT2OBS` script will first check that `xdate` (`CDATE` - `VBACKUP_FITS`) > `SDATE` and then if met, will check that the needed inputs exist.
    - If `xdate>SDATE` is not yet satisfied, the job will exit 0 with "Too early for FIT2OBS to run. Exiting.". The conditional is greater-than and not greater-than-or-equal since the first half cycle generally does not have some of the needed inputs (e.g. prepbufr). Thus the first half cycle is not included in the valid lookback cycles. This avoids erroneous job failures for the first cycle to run the Fit2Obs package. Additional logic could be introduced to include the half cycle if all available inputs are available.
    - If any of the needed inputs are missing the job will abort with "FATAL ERROR: FILE MISSING: ${file}".

    This spin-up means that the first cycles will run the job but exit 0 immediately. The 6th cycle (if `VBACKUP_FITS=24`) will be the first cycle to run the Fit2Obs package and produce output in the online archive.

    Changes:

    1. Remove fit2obs variables and settings from `config.vrfy` and into newly created `config.fit2obs` for `fit2obs` job.
    2. Remove fit2obs submission/invocation from `jobs/rocoto/vrfy.sh`.
    3. Create new `fit2obs` job scripts: `jobs/rocoto/fit2obs.sh` and `jobs/JGDAS_FIT2OBS`
    4. Add new `fit2obs` job to setup scripts: `workflow/applications.py` and `workflow/rocoto/workflow_tasks.py`
    5. Add new `fit2obs` job to all env files.
    6. Add new `fit2obs` job into `config.resources` (use 1 node on WCOSS2 and 3 nodes elsewhere).
    7. Add `export DO_FIT2OBS="YES"` to `config.base.emc.dyn`.

    Resolves #1405
    Resolves #1232

commit 363a2b47de11ab327408d2df20a3718f25062fa5
Author: David Huber <[email protected]>
Date:   Wed Apr 12 14:42:50 2023 -0400

    Rework arch job dependencies (#1455)

    This reworks the dependencies for arch tasks so that if there are no verification tasks selected and it is an uncoupled experiment, a dependency for the cycle's post jobs is added. It also fixes the dependency checks in rocoto.py to check for an empty list or string instead of checking the first element of a list, which may not exist if no dependencies are given. Lastly, it issues a warning to the user if there are no dependencies for any job.

    Fixes #1451

commit 7e661f4cd00cf99b12e55574318bbd0eb1a5eaa0
Author: RussTreadon-NOAA <[email protected]>
Date:   Wed Apr 12 10:36:58 2023 -0400

    Stage bias files for UFSDA aerosols (#1370)

    Updates UFSDA aerosols to stage bias files. Also adds in the threads and aprun commands for the run portion of the UFDA aero jobs.

    Fixes (in part) #1313.

commit d5ae3328fa4041b177357b1133f6b92e81c859d7
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Apr 4 03:34:48 2023 -0600

    Add logging level to logger (#1442)

    This PR provides task-level support for the respective pygfs applications. As an example, logging-level may be defined within jobs/JGLOBAL_FORECAST as follows.

    ```
    #! /usr/bin/env bash

    source "${HOMEgfs}/ush/preamble.sh"
    source "${HOMEgfs}/ush/jjob_header.sh" -e "fcst" -c "base fcst"

    export LOGGING_LEVEL="DEBUG"
    ```

    This feature allows a user to change the logging level from the run-time environment rather than requiring modification of the respective pygfs module or task.

    Fixes #1438

commit de81c5911c308679366b97fda19f015b1388d9dc
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Mon Apr 3 17:53:12 2023 -0400

    Update hash for GDASApp to db2f998 (#1443)

    When an update described below made a change to the HASH in the `${HOMEgfs}/sorc/checkout.sh` script for the corresponding GDASApp it was entered in error:

    _3e73038c - Use V2 version of fix files needed for Thompson MP (#1422) (7 days ago) <Rahul Mahajan>_

    Examining the GDASApp repo it should be confirmed that the correct HASH should be **db2f998**

    Fixes #1441

commit 0d1e993b2b5db6160c4a6b88b67899dc8e9754f8
Author: Kate Friedman <[email protected]>
Date:   Fri Mar 31 09:58:22 2023 -0400

    Remove para module paths for ncdiag on WCOSS2 (#1437)

    The ncdiag/1.0.0 module moved from para to prod on WCOSS2 on March 27th (RFC 10769).

    * Remove para module paths for ncdiag on WCOSS2 in global-workflow module_base.wcoss2.lua
    * Update GSI-EnKF hash to update ncio and ncdiag
    * Update GSI-Monitor hash to update ncdiag

    Refs #1426

commit 88e091a8e92cbc813830b21562fa392f8dd2d3d9
Author: Rahul Mahajan <[email protected]>
Date:   Fri Mar 31 02:50:53 2023 -0400

    Use P8 settings for C384 atm by default (#1440)

    Switches the default C383 FV3 timestep to 300s and reduces the decomposition for gfs CDUMP to 8×8 with 48 write tasks per group. These are the settings used by P8. MDAB has advised these settings can be used for non-P8 runs.

    Fixes #1439

commit 3cfdbe04e864847a3f89b6f8b89799b18b7e1f5e
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Mar 29 10:46:35 2023 -0400

    Enforce rstprod on relevant tarballs (#1436)

    Ensures that tarballs that contain restricted data are properly restricted to the rstprod group.

    Fixes #1433

commit 809b33bf50193a083c7ffdbd87bb83e0c78b2a9c
Author: Kate Friedman <[email protected]>
Date:   Tue Mar 28 09:44:37 2023 -0400

    GFSv16.3.5[6] GSI updates (#1404)

    * Update GSI hash to 31b8b29
    * Remove temporary hack that forced GSI to build with crtm/2.4.0
    * Remove G18 ABI from exglobal_atmos_analysis.sh
    * Remove GMI from processing in the GSI

    Refs #1322, #1321

commit 222f055e1e082faf7f9e489297e5c46ccc582a20
Author: Cory Martin <[email protected]>
Date:   Mon Mar 27 17:48:39 2023 -0400

    Have aerostat tar file extract to basename only (#1424)

    This bugfix makes it so that when the aerosol diags are extracted, they are extracted to the directory directly and not a full directory tree to where the runtime directory was located.

    Closes #1423

commit c549acb914c7ae479740c8f1007f5f3f36b91db5
Author: Rahul Mahajan <[email protected]>
Date:   Mon Mar 27 10:00:18 2023 -0400

    Updates in the aerosol tasks (#1420)

    -removes the definition of environment variables in the shell script j-jobs
    -eliminates the use of !ENV in the yaml files for aerosol jobs.
    -eliminates use of CDATE in the python tasks. Use current_cycle and previous_cycle
    -uses jinja templates where appropriate.
    -uses the Executable class to run the variational analysis executable
    -adds verbose logging to the actions in the aerosol analysis task
    -uses string templates instead of string replace where looping over tiles is required.
    -links aerosol ICs when cycling with the ATMA app. ICs courtesy of @CoryMartin-NOAA

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 3e73038c12f8261543c874cfffed11f8ce496399
Author: Rahul Mahajan <[email protected]>
Date:   Fri Mar 24 12:40:17 2023 -0400

    Use V2 version of fix files needed for Thompson MP (#1422)

    It has been noted by some developers who look at the run log in realtime that the model takes a while during the calculation of Thompson tables.
    Specifically see this part of the output from the forecast log:

    ```
       0: Calculating Thompson tables part 1 took      0.334 seconds.
       0: Calling radar_init took      0.000 seconds.
       0:    creating rain collecting graupel table
       0:  ThompMP: computing qr_acr_qg
       0:  Writing qr_acr_qgV2.dat in Thompson MP init
       0: Computing rain collecting graupel table took    203.539 seconds.
       0:    creating rain collecting snow table
       0:  ThompMP: computing qr_acr_qs
       0:  Writing qr_acr_qsV2.dat in Thompson MP init
       0: Computing rain collecting snow table took     36.694 seconds.
       0:    creating freezing of water drops table
       0: Computing freezing of water drops table took      2.084 seconds.
       0: Calculating Thompson tables part 2 took      2.084 seconds.
       0:   ... DONE microphysical lookup tables
    ```
    These tables are already available in the `fix` space and are being used in the ufs-weather-model regression tests.

    Fixes #1411

commit 4ff622a36e3f9aa2f39e847a7b9e2b536ebcdc0a
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Mar 23 01:55:42 2023 -0400

    Add experiment creation for CI (#1388)

    Adds a new python script to create an experiment on the fly for CI.

    Also adds detect_machine.sh.

    Closes #1375

commit 6bb2d64fa171604b9d5e8f58e4edf8bf946840e7
Author: Kate Friedman <[email protected]>
Date:   Wed Mar 22 15:44:00 2023 -0400

    Update state of operations in RTD to GFSv16.3.7 (#1417)

    Update the "State of operations" blurb in index.rst to note the updated GFSv16.3.7 operational version.

    Refs #1368

commit ea15b26585c0c804f44776cabb6ae3d08b76234f
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Mar 22 14:07:06 2023 -0400

    Fix typo in wave awips gridded task def (#1412)

    The task name was misspelled in the task definition for gridded wave
    awips.

commit 74b344ddb28fb40b8a65479f1584cf7daa376dfe
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed Mar 22 09:05:42 2023 -0600

    Make new methods in yaml_file be public.

commit 478f48ede4ee28e8193ff02befb0a954bd7eca61
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Tue Mar 21 17:18:46 2023 -0400

    Fix groupsize for early cycle EnKF rocoto task (#1408)

    When generating the rocoto tasks for enkfgfs, the different groupsize
    for gfs would not be picked up because the cdump comparison was not
    properly updated when the cdump/run was updated to include 'enkf'.

commit 49b96ed037c6919c651c6b7dd2b6c9fbe9866904
Author: ChunxiZhang-NOAA <[email protected]>
Date:   Mon Mar 20 15:35:19 2023 -0400

    Use fracoro data for all new UFS applications  (#1242)

    The new fracoro data should be used for all new UFS applications no matter if it uses frac_grid or not.

    Most problems in Issue[#863](https://github.com/NOAA-EMC/global-workflow/issues/863) have been resolved. However, one problem remains, e.g., the latest fix, mask and oro datasets (fracoro) created by Shan/Mike/Helin should work for both fractional and non-fractional grid.

    Note that it also requires the changes in UFS_UTILS. An corresponding PR[#741](https://github.com/ufs-community/UFS_UTILS/pull/741) in UFS_UTILS has been created.

    Fixes: #863

    Dependency: UFS_UTILS [PR#741](https://github.com/ufs-community/UFS_UTILS/pull/741)

commit e5af1b45f5aaa3acfe8e6ee37e690edff9aa608e
Author: Rahul Mahajan <[email protected]>
Date:   Fri Mar 17 13:02:54 2023 -0400

    Updates to python tools for use in DA tasks (#1400)

    Adds significant updates to pygw tools that expand the use of templated yaml files to make their use in the tasks clear and easier to use.
    All changes come with associated tests.
    New tests are added for timetools.py and jinja.py.
    New methods to parse a "simple" $( ... ) templated as well as jinja2 {{ ... }} templated yaml files are added along with their tests.

commit 3fe3592338598ef6b957d29e809dc70df1f82cec
Author: Guillaume Vernieres <[email protected]>
Date:   Wed Mar 15 01:48:46 2023 -0400

    Marine DA prep j-job needs more memory (#1393)

    The concatenation step runs out of memory in the marine-gdas prep step. This is not optimized and probably overkill, but 24GB should cover all cases.

    Fixes #1389

commit 6cf486190c83f64370f1c2dccabd85700fbc0a3a
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Tue Mar 14 15:50:18 2023 -0400

    Update rocoto_viewer to replace deprecated getiterator call (#1397)

    Rocoto viewer was using a deprecated function `getiterator` that caused it to fail on python 3.8+. The replacement method `iter` is now used.

    Fixes #522

commit 2929430369b0e6b4e6d42b45637f552f8cb7e59e
Author: Rahul Mahajan <[email protected]>
Date:   Mon Mar 13 16:29:51 2023 -0400

    Reset modules properly at beginning of forecast job (#1394)

    Following the PR last week that enabled ESMF threading, we had to replace `load_fv3gfs_modules.sh` with loading ufs-weather-model specific modules for the `fcst` and `efcs` jobs.

    `module-setup.sh` is needed after `detect_machine.sh`.  Previously, both these functions were performed in `load_fv3gfs_modules.sh`.

commit 995e2b0c819d2bf45e9cde7b3fb4dd638034f91d
Author: Henry R. Winterbottom <[email protected]>
Date:   Fri Mar 10 18:34:28 2023 -0700

    Add base workflow exception class (#1392)

    Adds a new WorkflowException that can serve as a base class for any new exceptions we wish to create to cover errors not well represented by the native python exceptions.

    Also adds a test exception.

    Closes #1391.

commit aa8175dc39bd64e895d2362dc0ec37ed76ababef
Author: Rahul Mahajan <[email protected]>
Date:   Fri Mar 10 19:50:28 2023 -0500

    Enable ESMF threading in the ufs-weather-model forecast (#1371)

    Transitions the workflow to use ESMF-managed threading for UFS. This allows for per-component specification of threads rather than a single value for all components.

    The resource calculation is updated to handle the different thread counts for each component. The variable `NTHREADS_FV3` (which set the global thread count) is removed. Now each component has a `${COMPONENT}THREADS` variable.

    In order to run properly, the launcher commands for each machine had to be modified so the number of processes is the number of CPUs on all nodes.

    Also, the forecast job now uses the UFS modulefile rather than the typical workflow runtime module. `prod_util` is then loaded manually as it is needed to run the workflow. Additionally, on WCOSS2 `cray-pals` is also loaded manually as it is necessary. This arrangement is temporary until a more permanent solution is implemented.

    Notes:
    1. As a result of threading, the `WRTTASKS_PER_GROUP` in the `model_configure` will end up to be a multiple of the number of threads used in quilting.  At present, they are assumed to be the same as the threads for FV3.
    2. The `WCOSS2.env` file needs a look at as the sections for steps `fcst` and `efcs` are different and very different when compared to the [job card](https://github.com/ufs-community/ufs-weather-model/blob/develop/tests/fv3_conf/fv3_qsub.IN_wcoss2) in the ufs-weather-model for WCOSS2.

    Closes #1042

commit 8a2d5061da3c3067291e51680408339ec2efec5c
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Thu Mar 9 16:11:22 2023 -0500

    Cleanup ocean, ice, and med directories when CDUMP=gdas (#1387)

commit 780a511e51c83b339b02709a782c123a16c5788d
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Thu Mar 9 15:59:40 2023 -0500

    Archive ocean and ice files when CDUMP=gdas (#1384)

commit d8fdd29ab236798937fbd1c5e1aa9266db98dcc0
Author: Guillaume Vernieres <[email protected]>
Date:   Wed Mar 8 16:38:06 2023 -0500

    Updated diag_table_da to allow output of ocean fields for SOCA at various resolutions (#1382)

commit 815823997e7886dd4c054fa2bf573dabd5d6047c
Author: Rahul Mahajan <[email protected]>
Date:   Wed Mar 8 09:38:11 2023 -0500

    Add mechanism to detect machine and clean module env. (#1381)

commit 4437181a72629e6f6f7214de749dc890e32a4994
Author: Kate Friedman <[email protected]>
Date:   Tue Mar 7 08:57:10 2023 -0500

    Update initial condition documentation and Orion BASE_CPLIC path (#1376)

    * The initial conditions section of the Read-The-Docs documentation is updated to add information about staged initial conditions that were pulled into global account space on supported platforms. Some reformatting of the section is also done.
    * The Orion BASE_CPLIC path is also updated after prototype ICs were copied from @WalterKolczynski-NOAA's personal area on Orion to the "glopara" area maintained by @KateFriedman-NOAA.

    Refs #1345

commit 1a48aca822b1caf9325b37e9819243f91454f4e6
Author: David Huber <[email protected]>
Date:   Tue Mar 7 07:56:59 2023 -0500

    Add a missing dollar sign in the earc script (#1378)

commit 33e8a8ea56920bca4e31bf961647ec989f24582b
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Mon Mar 6 22:52:33 2023 -0500

    Add BASH scripts for initial CI testing system using GitHub Labels (#1362)

    This PR is a set of high-level BASH scripts for creating a basis of a CI System using GitHub labels.
    These scripts will first poll the **global-workflow** GitHub repo for open PR's with the label **${hostname}-CI**.  The label is the designated RDHPCS system the CI functional tests will run.  A second script will then clone and build from the designated PRs on the specified RDHPC.

    Closes #1374

commit 47afc78568563bc4c55208e567bfb967684eae0a
Author: Rahul Mahajan <[email protected]>
Date:   Fri Mar 3 10:43:54 2023 -0500

    Consolidate ocean, ice and wave task info into config.ufs (#1334)

    config.fv3 is now renamed as config.ufs and contains ocean, ice, and wave task information

    * config.fv3 is used to record FV3 and write grid component task decomposition based on resolution.
    * Ocean (MOM6) and Ice (CICE6) decomposition, tasks and timesteps are added to config.ufs.
    * Updates are made to config.fcst and config.efcs to source config.ufs based on the configuration of the (coupled) model.
    * Several configurations were made deep in parsing_namelists_MOM.sh, which have now been elevated to config.ocn
    * Some improvements are made to limit the export of variables from functions in nems_configure.sh.
    * This will help with the ESMF threading work as it breaks down the work into multiple steps.

commit 0c523d9b75a6a5d24a55fcc3f56ed505dedac086
Author: Jessica Meixner <[email protected]>
Date:   Thu Mar 2 16:27:53 2023 -0500

    Update to HR1 (#1197)

    Updates settings for the HR1 prototype

    Compilation is switched to "mixed-mode", with a 32-bit atmosphere and 64-bit for other components.

    Atmosphere physics options are updated.

    Changing the wave model to run on the outer loop and the resolution to ¼-deg.

    The model version was already updated previously, but this commit updates some of the associated input files.

commit 5d6c71ab34667ef0dac777a89a19a37edd2652fc
Author: Rahul Mahajan <[email protected]>
Date:   Thu Mar 2 11:53:10 2023 -0500

    Add options while setting up Rocoto XML that are useful for CI (#1365)

    Adds options for maximum tries (default is 2), cyclethrottle (default is 3), taskthrottle (default is 25) and verbosity (default is 10)

commit 6024e68d8f519d4d1de224de0d7d6799e02f2e07
Author: Rahul Mahajan <[email protected]>
Date:   Thu Mar 2 11:06:17 2023 -0500

    Revert "Add options while setting up Rocoto XML that are useful for CI (#1363)" (#1364)

    This reverts commit c318cbdefc80b390a6bf897229fd2e206eb6873c.

commit 53952153eea6a9afc83512f84d860823b300bc97
Author: Guillaume Vernieres <[email protected]>
Date:   Thu Mar 2 10:02:14 2023 -0500

    MOM6 backgrounds in cycled DA mode were hardcoded for IAU  (#1355)

    * fixed mom6 bkg output
    Co-authored-by: Rahul Mahajan <[email protected]>

commit c318cbdefc80b390a6bf897229fd2e206eb6873c
Author: Rahul Mahajan <[email protected]>
Date:   Thu Mar 2 09:50:09 2023 -0500

    Add options while setting up Rocoto XML that are useful for CI (#1363)

    maxtries, cyclethrottle, taskthrottle and verbosity are command-line options to setup_xml.py

commit 0e1c753e7bd4d4e98b40372168578198c4300124
Author: Rahul Mahajan <[email protected]>
Date:   Thu Mar 2 09:48:51 2023 -0500

    Run executables or scripts from within python. (#1341)

    - adds the ability of running executable (binary or shell scripts) via the subprocess.Popen call
    - allows setting env. variables for the subprocess without having to modify the calling environment.
    - allows passing custom arguments to the executable
    - allows capturing stdout and stderr as well as pass stdin

commit 2e92b7c582f116434ca49af7f7e6b5ec48842f48
Author: David Huber <[email protected]>
Date:   Wed Mar 1 16:21:13 2023 -0500

    Remove extra 'enkf' from folder/file names in archive scripts (#1360)

    The archiving scripts have had preceding `enkf`s removed and `$CDUMP` has been replaced with `$RUN` throughout the scripts.  This fixes #1353 and partially addresses #1299.

    Fixes #1353
    Refs #1299

commit 0a18568a58d4c33e63d728424223900e98ee0350
Author: Xianwu Xue - NOAA <[email protected]>
Date:   Wed Mar 1 16:12:06 2023 -0500

    Fix bugs to create analysis files for early cycle (#1343)

    The cycled early enkf should generate analysis files, however, the CDUMP was changed from "gfs" to "enkfgfs" for enkfgfs* jobs, some of the scripts should do the corresponding changes. This PR is to fix this bug.

commit edbf8d955e04b54909c20379d4f674d0a9f3e1f7
Author: Cory Martin <[email protected]>
Date:   Wed Mar 1 16:10:59 2023 -0500

    Make necessary bugfixes to get aerosol cycling going (#1349)

    Makes a number of bugfixes that were overlooked in #1106 that now allow for 3DVar aerosol DA cycling on Hera/Orion.

    Also updates the GDASApp hash to the most recent commit in develop.

commit c4d05e57d5e7192ac3b8a93e6880efe5bbad2e65
Author: Kate Friedman <[email protected]>
Date:   Tue Feb 28 16:27:46 2023 -0500

    Create production_update.md (#1348)

    New template for operational production updates. Includes checklist for workflow side.

commit 8134f975d51905789f7a59b07d713306a91ba10b
Author: Rahul Mahajan <[email protected]>
Date:   Mon Feb 27 14:36:03 2023 -0500

    Update feature_request.md

commit a243b5c1c2bb21a47bcc9dee260ab5b90bb06843
Author: Rahul Mahajan <[email protected]>
Date:   Mon Feb 27 12:21:27 2023 -0500

    Create a template for requesting new features in the global workflow to separate from general issues (#1336)

commit 0c621d0b9ead8d46fb287d4eb547386b3335f9f8
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Fri Feb 24 19:30:00 2023 -0500

    allow script to access eva yaml generators (#1331)

commit f69d3e54d92b257bf1102c13eb1197a967288c39
Author: Rahul Mahajan <[email protected]>
Date:   Fri Feb 24 12:06:46 2023 -0500

    Add license and status badges for the CI (#1332)

commit ea414291341e77eb6eee64241a702141152efcfd
Author: Rahul Mahajan <[email protected]>
Date:   Wed Feb 22 17:02:15 2023 -0500

    Update ufs_utils hash that supports global_cycle with NoahMP. (#1315)

    - Updates ufs_utils hash that contains upgrades to `global_cycle` that  updates only the greenness fraction.  This update expects a pre-existing surface restart file to be updated.
    - Corressponding updates to scripts that call `global_cycle` to stage the surface restart file to update.
    - Updates to `checkout.sh` and `Externals.cfg`.  Temporary pointers to [this](https://github.com/GeorgeGayno-NOAA/UFS_UTILS/tree/feature/cycle_noahmp) branch until `develop` in `ufs_utils` is updated.
    - Updates to `setup_expt.py` to force using the same `CCPP_SUITE` and `IMP_PHYSICS` for cycled and forecast-only modes and all apps.
    - Only builds utilities from ufs_utils that are used in the GFS application.

    @GeorgeGayno-NOAA still needs to work with the land team to determine which fields (other than greenness fraction) need to be updated through `global_cycle`.

    Depends on https://github.com/ufs-community/UFS_UTILS/pull/774
    Fixes #1314

    Updating the UFS_utils hash will also resolve #1275
    Fixes #1275

commit 6addad94b510b08a83e43236b9d8c430b8aeddce
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Wed Feb 22 15:02:07 2023 -0500

    Save yaml for ocn analysis post and fix bug to save logs (#1318)

    Temporarily saves var.yaml to comrot in ocean analysis post and fixes a bug that caused log files to not be saved. Necessary for https://github.com/NOAA-EMC/GDASApp/issues/202. This is temporary pending an evaluation of what needs to be saved and the appropriate place.

    Refs https://github.com/NOAA-EMC/GDASApp/issues/202

commit dbbd8b19ce847136dbb6457a082e58ab17f5678f
Author: Kate Friedman <[email protected]>
Date:   Wed Feb 22 14:53:29 2023 -0500

    Update crtm to v2.4.0 (#1319)

    * Update module_base modulefiles to use crtm/2.4.0.
    * Remove line in module_base modulefiles to set CRTM_FIX; this variable is now set in the crtm module as of v2.4.0.
    * Update ufs-weather-model hash to c22aaad
    * Temporarily set crtm_ver in GSI build script to force GSI to build with crtm/2.4.0

    Refs #1233

commit adae24cf6c08ca327f74c8bcd3aa9c89cbb28724
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Feb 22 14:45:49 2023 -0500

    Fix python style errors (#1330)

    Some python style errors crept in to develop because we ignored pynorm failures during the PR process. These errors are now corrected.

commit e18a79036f16f60e7560771d17ab89d10ea39a96
Author: Xianwu Xue - NOAA <[email protected]>
Date:   Wed Feb 22 13:17:37 2023 -0500

    Fix workflow generation post times for early cycle (#1329)

    In PR #1309 a setting was overlooked that controls what hours have post tasks created for the early cycle.

    Fixes #1328

commit 07fedaa649e4576a2bd3d2fca32bb6c144fa2a85
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri Feb 17 16:43:16 2023 -0500

    Change RUN and CDUMP for ensemble jobs (#1309)

    Updates `$RUN` and `$CDUMP` for ensemble jobs to include `enkf`.

    Previously, the `$RUN` for EnKF jobs had been set to `gdas` or `gfs`. However, this violates NCO policy and was also complicating Issue #761 . Now the `$RUN` for EnKF jobs is either `enkfgdas` or `enkfgfs`.

    Theoretically, `$CDUMP` shouldn't need to change. However, `$CDUMP` and `$RUN` are used interchangeably throughout much of the workflow (Issue #1299), so for now the `$CDUMP` is kept identical to `$RUN`. This will be corrected in a future PR.

    This change **changes the name** of enkf output files. Files now begin `enkfgdas` (or `enkfgfs`) rather than `gdas`.

    Closes #1298

commit 383c8c3a25dbeedb3a4892d22d2531286e87389f
Author: Guillaume Vernieres <[email protected]>
Date:   Thu Feb 16 11:10:50 2023 -0500

    Provide default for DEBUG_WORKFLOW in load_ufsda_modules.sh

commit 3bfcb8975acab6a14634d95189b6b10379e37afc
Author: Guillaume Vernieres <[email protected]>
Date:   Wed Feb 15 11:10:34 2023 -0500

    Allow increments to be added for ocean and ice cycling. (#1308)

    Removed forgotten commented out call to the B-mat j-job in jobs/rocoto/ocnanalbmat.sh ... oops
    Provide ocean increments via `mom6_increment.nc`
    Link to the JEDI/SOCA increment in ush/forecast_postdet.sh
    Fixed a dependency bug in workflow/rocoto/workflow_tasks.py
    MOM6 Increment is required in ROTDIR for the first 1/2 cycle, changes reflected in workflow/setup_expt.py
    Co-authored-by: Rahul Mahajan <[email protected]>

commit a1968e6cd7546151e670c5a0d6f1dd4b5d859c10
Author: Kate Friedman <[email protected]>
Date:   Tue Feb 14 12:51:33 2023 -0500

    Module base file reorder and reduction (#1306)

    * Adjust the order of module loads in module_base modulefiles to conform with desired order: compilers, mpi, 3rd party, hdf5, netcdf, nceplibs.
    * Remove modules that aren't needed for runtime.
    * Checked dependencies of remaining modules to make sure prereqs are loaded beforehand as needed.
    * Correct bug with hpss module in module_base.jet.lua

    Refs #479

commit 5ac68361917e81555b13e0a2b160f2f7546b8fb4
Author: David Huber <[email protected]>
Date:   Tue Feb 14 12:00:43 2023 -0500

    Update S4 environment and module files (#1303)

    Updates the S4 module file and environment file to keep up to date with the current develop branch. Fixes #1297. Addresses one bug in #1195.
    This also increases the memory request for the ediag job. During testing, that job initially failed. For the 5 cycles run between 2022051500 - 2022051600, the largest memory footprint was ~26.5GB.

commit 1040216d8a4efb9955efecebf59775e91d8845e2
Author: Cory Martin <[email protected]>
Date:   Fri Feb 10 17:16:44 2023 -0500

    Add in initial 3DVar aerosol DA cycling capability (#1106)

    This PR adds an initial 3DVar aerosol DA cycling capability to support scientific development and testing towards an operationally viable candidate system for aerosol DA for GFSv17/GEFSv13.

    This PR includes the following:
    - Three new j-jobs and ex-scripts for aeroanlinit, aeroanlrun, and aeroanlfinal
    - modifies the rocoto scripts that call the above j-jobs to actually call them
    - makes modification to the config.resources and config.aeroanl files
    - Introduces an object-oriented python structure to initialize/finalize the aerosol analysis with the intention of eventually using the top-level classes for other analysis jobs (soca, atm, land)

    Closes #982

commit cc54b8cdab3b83b20c866bbaa5dba0004dae5425
Author: Neil Barton <[email protected]>
Date:   Fri Feb 10 17:15:16 2023 -0500

    Fix name of MOM6 n restarts for future cycle points (#1307)

    Script fix for C384 O0.25 3DVAR cycling. Original scripts had wrong naming structure for MOM *res${n}.nc restart files.

    Refs: #947, #1289

commit d8c1bd5dfb6b2654b5b8c5121af68f7473fac26e
Author: Kate Friedman <[email protected]>
Date:   Fri Feb 10 12:26:30 2023 -0500

    Update RTD GFS operational version to v16.3.6 (#1305)

    Update the status of operations to the newly implemented v16.3.6 version on the read-the-docs main page.

    Refs #1278

commit 9d11e1e871639523813fcc606aab40f1a6a8103f
Author: Guillaume Vernieres <[email protected]>
Date:   Tue Feb 7 21:58:29 2023 -0500

    Stop wiping data at beginning of bmat vrfy j-job (#1302)

    The ocean b-matrix verification job relies on data from the b-matrix job still residing in $DATA, but that directory was being wiped when this job began. Now setting WIPE_DATA to NO to prevent the deletion.

    Closes GDASApp/issues/318

commit ae9d140273df9f78b4ae7d64e441e31f7b0d9e10
Author: Kate Friedman <[email protected]>
Date:   Tue Feb 7 14:56:25 2023 -0500

    Add back in module load block in coupled_ic.sh (#1300)

    - Resolve bug introduced from removal of module load script block in coupled_ic.sh.
    - Add block back in for now and then address errors produced by it more appropriately.

commit 2615fff62853769f1cc5beb5da49a70cb0ad267d
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Feb 6 15:24:32 2023 -0500

    Turn off differential pylint (#1296)

    Turns off the differential pylint test until it can be evaluated further.
    The YAML block is left in commented form in case we wish to turn it back
    on later.

commit bdb0db77fdb3cc93a2eae981843499cd38724ba5
Author: Rahul Mahajan <[email protected]>
Date:   Fri Feb 3 11:13:18 2023 -0500

    Purge ICSDIR (#1295)

    This PR:
    - updates `coupled_ic.sh` job to copy initial conditions from `BASE_CPLIC` directly to `ROTDIR` in the names that the workflow expects and conforms to the naming convention within the workflow
    - obsoletes the need and use of `ICSDIR` in forecast-only experiments which served as a intermediate space for staging initial conditions.
    - updates the documentation section for `forecast-only`

    This is a non-breaking change.

    A change in documentation is required as the instructions for setting up the coupled forecast-only experiment no longer needs to pass the argument `--icsdir` to `setup_expt.py`.

    Fixes #1276

commit 1b0905c4f25e793a5a210ee0bfdb737bb5136c04
Author: Rahul Mahajan <[email protected]>
Date:   Thu Feb 2 14:42:18 2023 -0500

    Deprecate `FDATE` (#1294)

    There used to be a fringe functionality where the `gdas.tHHz.radstat` could be ignored in the first full cycle `gdasanal` task.
    All cycled experiments that start with a cold-start or warm-start must have initial bias correction coefficients (the so called `gdas.tHHz.abias` files) and the `gdas.tHHz.radstat` file.

    Experts may customize their configurations if they choose to setup without a `gdas.tHHz.radstat` file thereby initializing the radiance diagnostics.  They would anyways know what they are doing.

    There are no updates in documentation as this was never an advertised mode of starting an experiment.

    Closes #1005

commit 219c23b182ef1aee845faad19f4b6c1c0fe817be
Author: Rahul Mahajan <[email protected]>
Date:   Wed Feb 1 10:36:25 2023 -0500

    Atmosphere cycling with a Coupled model (#1274)

    This PR enables:
    - cycling the atmosphere with GSI using the coupled model (S2S) intended for WCDA development
    - allows staging of cycled IC's for coupled/atm-only model (in warm start and cold start)
    - updates dependencies in the XML to account for coupled model tasks (currently disable in cycled mode due to inadequacies in `ocnpost` jobs)

    This PR also:
    - disables `GLDAS` by default as it is expected to be deprecated.  Enthusiastic developers may turn it `ON`
    - allows a tiny flexibility for DA developers to turn ON 3Dvar automatically if `nens = 0`.

    Also in this PR:
    - `diag_table_da` was updated to include instantaneous ocean fields.  When running the model in `APP=ATM`, these entries from the `diag_table_da` are ignored.
    - `diag_table` was also updated to include coupled fields from `diag_table_cpl`.  This is a step towards unifying the `diag_table`.  There will be more work done in this area in the near future.
    - `MOM_input_template_500` is added for the 5 degree ocean configuration.

    This PR was built on initial work from @guillaumevernieres and @NeilBarton-NOAA
    @guillaumevernieres provided initial conditions
    @NeilBarton-NOAA and @guillaumevernieres both provided updates to the scripts that were used in the creation of this PR.
    The following commands are used to setup and configure the cycled experiment with S2S model configuration.
    @guillaumevernieres @NeilBarton-NOAA @DeniseWorthen and @junwang-noaa provided valuable assistance in debugging the coupled model failures.

    To setup and run a coupled model, cycled with atmosphere test at C48 atmosphere 5 degree ocean/ice resolution:
    ```
    # Setup experiment and COMROT directories.  Copy initial conditions to COMROT.
    ./setup_expt.py cycled --expdir <path_to_expdir> --comrot <path_to_comrot> --idate 202103231…
WalterKolczynski-NOAA pushed a commit that referenced this issue Jun 26, 2023
By default, the early-cycle EnKF is designed to write analysis files. The switch controlling this was using `$CDUMP` which was changed by PR #1421. This current PR updates this switch to use `$RUN` in accordance with issue #1299, and restores the default analysis file write capability.
jkhender added a commit to jkhender/global-workflow that referenced this issue Jul 28, 2023
…nch used for HFIP2023

Squashed commit of the following:

commit daf395d6f1b3a5dac9f44be29f90deb788481a4d
Author: Judy.K.Henderson <[email protected]>
Date:   Fri Jul 14 21:01:46 2023 +0000

     Updated GSL template for jet XML files

     Create hera and jet specific config.base.emc.dyn files

commit 108db520c8ab70799e603c0038af8c5fdb44dc91
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jul 13 04:42:38 2023 +0000

     Remove extra 'else' line in config.fcst

commit 1dfa79017f236dac89f83d39f499864d1b64dd99
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jul 13 02:38:27 2023 +0000

     Correct paths in build script for Joe's fork

commit 62a375a153a2d02a9c8a1bef01b2adf046aaf1ff
Author: Judy.K.Henderson <[email protected]>
Date:   Wed Jul 12 23:28:29 2023 +0000

     Add scripts to check out Joe's HFIP2023 branch from Joe's fork and compile it

commit 3761ac9003c55a2e74c98d4e848ddb3a75a11a47
Author: Judy.K.Henderson <[email protected]>
Date:   Wed Jul 12 23:25:06 2023 +0000

     Turn off creation of flux and pgrb2b grib2 files in config.post

commit 6057da21ab39086711e902c02b0ebea54a69320b
Author: Judy.K.Henderson <[email protected]>
Date:   Wed Jul 12 23:21:35 2023 +0000

     Use aerosol-aware Thompson for MYNN runs
       - add lcnorm=.true. for MYNN in config.fcst

     Change namelist settings in config.fcst to those suggested by Fanglin
       tau=0.0
       rf_cutoff=10
       fast_tau_w_sec=0.2
       n_split=4

     Remove older CCPP suites from config.fcst

     Add fast_tau_w_sec and lcnorm to ush/parsing_namelists_FV3.sh

commit 288e147cf70fcc284ecf9c60ab16b97c2c573a8b
Author: Judy.K.Henderson <[email protected]>
Date:   Mon Jul 10 06:31:20 2023 +0000

     Remove ufs_model_haiqin.x from config.fcst since we can use the same executable to
       run all 3 experiments once we updated to 26jun23 UFS
     Add v17p8_c3 SDF to build_ufs.sh

commit 0f100fd506effebe85e253e94b31010970fe0d2d
Author: Judy.K.Henderson <[email protected]>
Date:   Mon Jul 10 06:28:40 2023 +0000

     Add getic and init tasks to workflow for creating initial conditions in realtime

     Update ufs_utils.fd_gsl directory

commit 3aad7afc322658e0927a28e31f16ca15bcb5a4c8
Author: Judy.K.Henderson <[email protected]>
Date:   Mon Jul 10 05:26:01 2023 +0000

     Set COMINsyn in workflow/hosts/jet.yaml instead of changing conifg.vrfy

commit ba17b77a0ac9708c111d9303fd07f8f3561f142f
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 29 19:42:43 2023 +0000

     Update config.post files in experiment directories
       * Set default value for npe_dwn

commit 60a1d8d9cebb84edc554c7f75b91e8cab24481c5
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 29 19:37:15 2023 +0000

     Update UFS version to 26Jun23, ed7fc88, in checkout scripts

commit e1761702693f3fe4190c5d44d8cc0733775b4fc1
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 29 17:21:41 2023 +0000

     Update hera experiment directory, v17_p8_12x12_2wg_12wt, for running 2019 storms

commit 587bcb349bc2df5b67ccae0c7d03a25a1af245d8
Author: Judy.K.Henderson <[email protected]>
Date:   Tue Jun 27 22:13:55 2023 +0000

     Correct path for DATAROOT and change machine name to upper-case in config.ufs

commit 1c16a443c8582a296a50724e0d78e0e4ccdfa100
Author: Judy.K.Henderson <[email protected]>
Date:   Tue Jun 27 22:09:04 2023 +0000

     Update paths for DATAROOT in GSL template XML files

commit c36cbac40c3528150631cf72c6ab6b432418b423
Author: Judy.K.Henderson <[email protected]>
Date:   Tue Jun 27 15:58:26 2023 +0000

     Correct if machine statement in config.ufs

     Add/update experiment directories for 1wg/14wt on hera:  v17_p8_c3_12x12_1wg_14wt, v17_p8_thompson_12x12_1wg_14wt, v17_p8_mynn_12x12_1wg_14wt

commit 3481ea68587ebfbe8cd556ecc249611e33cc7ba3
Author: Judy.K.Henderson <[email protected]>
Date:   Tue Jun 27 00:21:02 2023 +0000

     Set npe_dwn in config.post if running on hera

     Update DATAROOT to be generic in GSL XML file templates

commit 5e071d38e502c469daae407e9b2dce1711fc6da4
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 22 23:41:16 2023 +0000

     Add c3 experiment directory on hera:  v17_p8_c3_12x12_2wg_12wt

commit ad8d8af2b91ded431d9b8e919b76bcd616a6fc1c
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 22 18:06:54 2023 +0000

     Add experiment directories for Thompson on jet:  v17_p8_thompson_12x12_vjet_2wg_12wt, v17_p8_thompson_12x12_xjet_2wg_12wt

commit 65e0d92e4dafbbfa216028f19172772186ec0b9a
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 22 17:47:59 2023 +0000

     Add jet XML template for GSL

     Add experiment directory for c3:  v17_p8_c3_12x12_xjet_1wg_14wt

     Add xml files to test running post on sjet with v17_p8_mynn_12x12_vjet_2wg_12wt experiment

commit d3ce3ef0ba48996d023136634184f4e915272f78
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 22 17:42:29 2023 +0000

     Add updated config.fcst file to experiment directories, test_hera and test_jet

commit e7137777ead823e860ff2e4bd38bb9f9cc2a53f5
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 22 01:03:32 2023 +0000

     Remove post database files and obsolete xml file from v17_p8_mynn_12x12_xjet_2wg_12wt experiment

commit 0b87272872a5370697bfa29ec11b27a7b8ceea5b
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 22 00:58:41 2023 +0000

     Commit correct version of config.post file

     Add updated config.post and config.resources file to experiment directories

commit eec5ae5282173b30e8f1cc045f7e435b1d5a7918
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 22 00:52:04 2023 +0000

     Delete database files and log file from v17_p8_mynn_12x12_xjet_2wg_12wt experiment

commit 6862a2285d274ed24bb63c1d3c94e7e1a04e78c1
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 22 00:02:25 2023 +0000

     Add PARTITION_POST_BATCH to run post jobs with different partition (default=sjet)

     Add "" to variables in if statements to make consistent in config.resources and config.post

commit 027ec8a13c5fecc7e37bae3078d11ed047ad254e
Author: Judy.K.Henderson <[email protected]>
Date:   Wed Jun 21 20:44:04 2023 +0000

     Delete obsolete files from v17_p8_mynn_12x12_xjet_2wg_12wt experiment

commit 3226494ba6b382b51ad1011b28fc4512390f7261
Author: Judy.K.Henderson <[email protected]>
Date:   Wed Jun 21 20:16:37 2023 +0000

     Correct link for vrfy.sh under jobs/rocoto

commit b7d32263e5b802eea2d67076ac8358abebff4eee
Author: Judy.K.Henderson <[email protected]>
Date:   Wed Jun 21 18:20:47 2023 +0000

     Update v17_p8_mynn_12x12_vjet_2wg_12wt and v17_p8_mynn_12x12_xjet_2wg_12wt experiments

commit 10eed6eb2f3b8394181583018800d56e7d30876c
Author: Judy.K.Henderson <[email protected]>
Date:   Wed Jun 21 18:19:31 2023 +0000

     Move additional experiments with older workflow files to testing directory

commit 4cdd857c1040b7cfb5c8502a7277a1d36a2c7fca
Author: Judy.K.Henderson <[email protected]>
Date:   Wed Jun 21 17:48:15 2023 +0000

     Move experiments with older workflow files to testing directory

commit e67b4bf5010404592f37736acaf3f402628d7f86
Author: Judy.K.Henderson <[email protected]>
Date:   Tue Jun 20 23:53:09 2023 +0000

     Changes for tracker for GSL
        syndat file:  /lfs4/HFIP/hwrf-data/hwrf-input/SYNDAT-PLUS
        only VRFYTRAK is set to "YES" in config.vrfy
        rename track file using ATCFNAME variable

commit 45a636ce9e647cee7861d64e747b1e771434511e
Author: Judy.K.Henderson <[email protected]>
Date:   Tue Jun 20 18:27:17 2023 +0000

     Update config.post for different jet partitions

     Update compile parameters for Haiqin's fork

     Update Jet yaml file with GSL paths

commit f1851a02bf426b443c87fd1c8797e0ff3efeb62f
Author: Judy.K.Henderson <[email protected]>
Date:   Thu Jun 15 19:05:18 2023 +0000

     Set WRTTASK_PER_GROUP_PER_THREAD_PER_TILE_GFS values based on machine for C768 in config.ufs

     Create GSL-specific versions of workflow python scripts
       * Add NATIVE_STR to xml files

     Make shell scripts executable

     Add template XML file for GSL jobs on hera

commit 812ee9ba4803f308f9e8bae27bbe1f063e5c2e9c
Author: Judy.K.Henderson <[email protected]>
Date:   Wed Jun 14 23:33:31 2023 +0000

     Update config.resources and XML files for experiment directories on hera

commit 81aa8e36a1c6d65a66d66a7dbd3cf56651cf9fb9
Author: Judy.K.Henderson <[email protected]>
Date:   Wed Jun 14 22:19:15 2023 +0000

      Change post to run on 1 node
      Make walltimes smaller for gfsfcst and gfspost tasks

commit 0cc889e8994ea28a0c160d773ed65e92eae841ba
Author: Judy.K.Henderson <[email protected]>
Date:   Wed Jun 14 22:06:12 2023 +0000

     Adding experiment directories for hera
        v17_p8_12x12_2wg_12wt
        v17_p8_c3_12x12_2wg_12wt
        v17_p8_mynn_12x12_1wg_14wt
        v17_p8_thompson_12x12_2wg_12wt

commit b7340601b600f8553268141d750b653bfa1bec93
Author: Judy.K.Henderson <[email protected]>
Date:   Tue Jun 13 23:58:27 2023 +0000

      Add memory report to srun command in env/HERA.env
      Add script to create links for initial conditions
      Remove if statements for GSL suites and v16 suites from config.fcst
      Update to UFS 12jun23 version
        - Add RT_COMPILER to compilation parameters in build_ufs.sh (changed in 31May23 commit)
        - Change default version in checkout.sh and checkout_ufs.sh
        - Add script to build 12Jun23 UFS
        - Update ufs_model.fd_gsl directories
           * delete mynnedmf_wrapper.F90
           * delete v17p8_gf_mynn suite definition file
      Remove checkout_jun08.sh script
      Check for existence of directory in rsync_gsl.sh
      Add test-mynn.sh experiment setup script

commit ca2025372cf529714e4f192b1b2ffc2deeb0ea6f
Author: Judy.K.Henderson <[email protected]>
Date:   Tue Jun 13 12:29:28 2023 +0000

     Add experiment directories
        vjet: 12 write tasks, 2 write groups
        vjet: 14 write tasks, 1 write group
        xjet: 14 write tasks, 1 and 2 write groups

commit fb0ce2fb4d6269f672271cd62b537de51102ae4b
Author: Judy.K.Henderson <[email protected]>
Date:   Mon Jun 12 13:32:45 2023 +0000

     Update test_hera experiment directory to run out to 120h
       - change walltime to 2h10m
       - modify FHMAX to 120 in config.base

commit 59acf1ecb11800ecd02e214c9a7ded16a6c87b97
Author: Judy.K.Henderson <[email protected]>
Date:   Sun Jun 11 11:42:23 2023 +0000

     Update STMP/PTMP path in config.base for test_hera

commit 655b16ba0a6cf37b0fd083a07a767016348a2401
Author: Judy.K.Henderson <[email protected]>
Date:   Sun Jun 11 11:20:15 2023 +0000

     Modify hera settings due to out of memory issues
      - Change to 12 write tasks for C768 in config.ufs
      - Change FHOUT_GFS to 6 in config.base

commit b8a5f750bcfc5ba11ca962d077a24db01b16ab2c
Author: Judy.K.Henderson <[email protected]>
Date:   Sat Jun 10 13:59:12 2023 +0000

     Update test_hera_12x12.xml file
     Delete FV3GFSwfm/test experiment directory

commit 5b5ef140f9e53dabbf907f794ac08af9888f0f0c
Author: Judy.K.Henderson <[email protected]>
Date:   Sat Jun 10 13:41:37 2023 +0000

     Modify scripts for building XML on hera
     Add experiment directory, FV3GFSwfm/test_hera for 12x12 layout
     Change defaults to 12x12 layout, 2 write groups for C768 in config.ufs
     Change FHOUT_GFS to 6, FHMAX to 120 in config.base

commit 2f4eb26117cc5fc39900f78fbfdd7015696e4741
Author: Judy.K.Henderson <[email protected]>
Date:   Fri Jun 9 13:03:26 2023 +0000

     Add scripts to checkout Haiqin's fork, checkout 08Jun23 UFS, sync GSL-specific directories
     Add v17p8_thompson SDF to ufs_model.fd_gsl  (copy of v17p8)

commit 0f2461255fd4488809ba2c2deb15da1660f54180
Author: Judy.K.Henderson <[email protected]>
Date:   Fri Jun 9 08:56:30 2023 +0000

     Update config.fcst to set progsigma=.false. for v17p8_c3

commit b114eb453c4dcf7ff238118bb0d2bcf32ef7f009
Author: Judy.K.Henderson <[email protected]>
Date:   Tue Jun 6 01:26:50 2023 +0000

     Remove database and log files from experiment directories

commit 53d72734b3a79d1577f8370ce17f3a3ab055cac4
Author: Judy.K.Henderson <[email protected]>
Date:   Tue Jun 6 01:24:29 2023 +0000

     Add experiment directories for HFIP application

commit f0d86c477daf41e97e34ba7ed94bd56d6248b25f
Author: Judy.K.Henderson <[email protected]>
Date:   Tue Jun 6 01:20:23 2023 +0000

     Create branch from NOAA-EMC:global-workflow 19May23 develop branch

     Add initial changes needed for GSL

commit 0fae23fa0012ef52b37ad70ab7c3eeb8a8c6b1bd
Author: Rahul Mahajan <[email protected]>
Date:   Fri May 19 14:01:30 2023 -0400

    Cast dict as an AttDict to handle nested dicts properly in update_configs (#1630)

    Some of the keys in the `defaults` were not being updated in `update_configs()` because it was
    using a regular `**dict` that would only update keys at the top-level.  These dictionaries are
    nested and deep. This fixes the bug by replacing `**dict` with the `update` method from `AttrDict`.

commit b29c95b83d217a57422f7fc4c480af728fdc6452
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Fri May 19 11:42:21 2023 -0400

    Adding path to atmosphere analysis in ocean verification job (#1632)

commit 5e687f098b179d2f995bad831f34016152006535
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Fri May 19 09:48:16 2023 -0400

    fixes use of wrong directory variables (#1631)

commit 10a6776351b1d1a62ff761016c0207913698aeda
Author: Jessica Meixner <[email protected]>
Date:   Thu May 18 16:59:53 2023 -0400

    Add GEFS wave grid to scripts and ensure post runs (#1608)

    This is an expansion of @NeilBarton-NOAA 's work in PR #1488

    * Adds new glo_025 grid to workflow which will be used by GEFSv13  (fixes #1434)
    * Ensures post works
    * Creates a section in config.wave for various wave grids so that it's easier to switch between grids
    * Adds documentation for adding a wave grid so that it will hopefully be easier the next time
    * Initial condition was added to hera for 2013010100 for this new grid so that C384/ P8 like tests can be made.  (Needs to be synced to other platforms if desired).

    This work expands on the work in PR #1605

    Fixes #1434
    Fixes #1604

commit 4bebafd61d5a0fc2f52910294204af5f1f51cb21
Author: Kate Friedman <[email protected]>
Date:   Thu May 18 13:30:56 2023 -0400

    Fixes for enkf archival bugs in ush/hpssarch_gen.sh (#1626)

    Fixes for enkf archival bugs

    Refs #1622 and #1623

commit 481b65903f9f4f55039ed68e24c929378dee3cca
Author: RussTreadon-NOAA <[email protected]>
Date:   Thu May 18 11:37:09 2023 -0400

    Bugfix in atm_analysis.py and setup_expt.py.

    resens was mischaracterized as ensres.
    CASE_ANL is not used in atmens_analysis.py
    set CASE_ANL=CASE in config.atmanl

commit 26ea93396ca6dad7ae9d86ec2890fc69725fa122
Author: Rahul Mahajan <[email protected]>
Date:   Wed May 17 17:32:08 2023 -0400

    Allow use of nested yamls during setup_expt.py (#1624)

    This PR:
    - allows a user to define their own configuration via a yaml during `setup_expt.py`, while retaining the `defaults.yaml` which is a must when templates are being set
    - updates to `setup_expt.py` to allow the above.
    - adds a `test_ci.yaml` as a demonstration for use in CI

    This PR will facilitate deprecating `config.defaults.s2s` as well as allowing users to make their own configurations.

commit 580f09ac1f169e2b9bb5986d55cee5fd0a05acfe
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed May 17 14:21:41 2023 -0400

    Add throttling to CI (#1568)

    Adds the ability to throttle the number of PRs and cases being run concurrently.

commit 53ba0753b962fbcbbccfcba74b645a1a07a99689
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Tue May 16 19:43:17 2023 -0400

    Fix type of donst for sfcanl namelist (#1620)

    The variable type expected by gaussian_sfcanl for donst was recently
    changed from YES/NO to a boolean (.true./.false.)

    Fixes #1619

commit 472cf8d0116ffab79f9bfdc4055d9eeb8cd199ed
Author: Rahul Mahajan <[email protected]>
Date:   Tue May 16 17:26:32 2023 -0400

    Prepare snow depth observations for JEDI-based Land DA. (#1609)

    This PR:
    - adds a job to prepare IMS snow depth observations as a task in the workflow.  This task depends on the `prep.sh` job to bring IMS data.  To test this type of data `DMPDIR` in `config.base` needed to be pointed to `"/scratch1/NCEPDEV/global/Jiarui.Dong/JEDI/GlobalWorkflow/para_gfs/glopara_dump"`
    - `land_analysis.py` introduces a method `prepare_IMS` for this type of data.
    - Updates are necessary in the `GDASApp` repo.  See companion PR https://github.com/NOAA-EMC/GDASApp/pull/472

    This job only runs at the `18z` cycle in the workflow.  This is controlled in the XML and not in the script.
    Consequently, updates are in the `workflow/` scripts to make this happen.

    Other updates included:
    - Adds a method (and associated test) to provide a datetime in the form of Julian day of the year.  The method is `to_julian` in `timetools.py`
    - `executable.py` was updated to accept a `list` of arguments (in addition to `str`).

    **Note:**
    - `calcfIMS.exe` is a serial executable and yet requires to be run with `srun`.  I recommend compiling this executable without MPI. @jiaruidong2017 @CoryMartin-NOAA
    - There are several deprecation warnings from the python IODA converter that will need to be addressed.  I recommend creating an issue to be resolved later. @jiaruidong2017 @CoryMartin-NOAA

    Part of Land DA work for snow depth assimilation, for which there is no issue open.

commit c005fbcdfef7803b8bde1b6138183ccb62db4d01
Author: Jessica Meixner <[email protected]>
Date:   Mon May 15 17:15:31 2023 -0400

    Code Updates for New Wave Fix Files  (#1605)

    Updates the code to point to correct fix files with name changes.

    Fixes #1493

commit 255d99b7f2151682699f181197529c0ac0f7050e
Author: Cory Martin <[email protected]>
Date:   Fri May 12 09:20:00 2023 -0400

    Make JEDI cycling toggle switches YAML configurable and their names more explicit  (#1607)

    * make some JEDI cycling options configurable through YAML

commit a8edbc7b429a740f444b42b5708ca70d59e7e5e8
Author: Kate Friedman <[email protected]>
Date:   Thu May 11 15:02:18 2023 -0400

    Update gfs-utils hash to 8965258 (#1586)

    New gfs-utils hash includes gfs_bufr code fix to resolve bugzilla #1208
    Other commits included in new hash are:
    - Partial removal of deprecated utilities and code
    - Updated Jet's module to point to the EPIC hpc-stack

    Refs #1245

commit f7e60f9a4e4e45428b0e9fecc4f6ec445e21c9a2
Author: Cory Martin <[email protected]>
Date:   Thu May 11 14:03:44 2023 -0400

    Allow YAML input to override config.base and make HPSS_PROJECT configurable (#1603)

commit 8544015c668d0d2196fab5e0eb3d0f55b7df0d18
Author: Walter.Kolczynski <[email protected]>
Date:   Wed May 10 12:39:32 2023 -0500

    Fix RTD python requirements path

    Refs: #1595

commit c7cc877ca675db8731e7276c4280dbd66aa8dd65
Author: Walter.Kolczynski <[email protected]>
Date:   Wed May 10 12:37:11 2023 -0500

    Clean up RTD python install settings

    Refs: #1595

commit 2392a413bb704be4b0b90d4c357fba0c6552161a
Author: Walter.Kolczynski <[email protected]>
Date:   Wed May 10 12:30:47 2023 -0500

    Use RTD python system packages

    Still trying to resolve issues with RTD build.

    Refs: #1595

commit 805f203a8f95cf62ee92149ad14386b429148642
Author: Walter.Kolczynski <[email protected]>
Date:   Wed May 10 12:22:38 2023 -0500

    Fix python RTD parameter name

    Refs: #1595

commit c4a090c19b7343be1f68b3506cd979cb34b5f5c1
Author: Walter.Kolczynski <[email protected]>
Date:   Wed May 10 12:19:08 2023 -0500

    Update RTD python install

    Refs: #1595

commit 7fa59a1302ba947917d774da04f7fdc7a0742f25
Author: Walter.Kolczynski <[email protected]>
Date:   Wed May 10 11:58:05 2023 -0500

    Restore RTD python version and add requirements

    Restored the python version to 3.11 after degrading it to 3.7 did not
    solve the bibtex issue. Instead, specify the requirements file in the
    config (the file already existed).

    Refs: #1595

commit 98bd25c465cae6fb6293a686a70d050ef770e76f
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed May 10 12:03:16 2023 -0400

    Revert python version for RTD (#1598)

    Reverts the python version for RTD back to 3.7 to see if that solves
    the missing bibtex import issue.

    Fixes #1595

commit 9f837d008cee71a0bceadc86cd576075086d3846
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed May 10 11:45:02 2023 -0400

    Move RTD config to root of repo (#1597)

    Read-the-docs config file was in the wrong location.

    Fixes #1595

commit c24b9ade80106808d72b96d499b1ad26f672192e
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed May 10 11:32:36 2023 -0400

    Add RTD config (#1596)

    Adds a read the docs config to get around docker image/library
    mismatch.

    Fixes #1595

commit e55f090208de1ce52ddde51732cbaf26e2323480
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed May 10 08:24:05 2023 -0600

    Add `schema` library to manage schema for variety of input configurations. (#1567)

    Adds schema.py from https://github.com/keleshev/schema
    Adds a test harness and additional functions to setup the Schema object.

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 6b0172ba1543ce682c6f28a826002788f298ed11
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Tue May 9 23:16:24 2023 -0400

    Add S2SA to the allowed app list in setup expt (#1591)

    Adds S2SA to the list of allowed apps for all experiment types. The
    workflow config files already supported this option, but it was not
    on the allowed list.

    Refs: #1589

commit bd8585b7289c675df76fb5b53792fc27a8f08934
Author: David Huber <[email protected]>
Date:   Tue May 9 22:36:25 2023 -0400

    Avoid parsing group name when checking RadMon diagnostic files (#1559)

    This changes the way the RadMon diagnostic file checker determines if a diagnostic
    file is 0-sized.  Instead of attempting to parse the output of `tar -tv`, the script now
    extracts the `radstat` file and runs `du -b` on each gzipped diagnostic file.  On S4, the
    primary group is `domain users`, which, containing a space, caused issues with the
    previous method.

    Fixes #1515

commit 106e74726a82573c09c5196a3866770968bfda34
Author: Rahul Mahajan <[email protected]>
Date:   Tue May 9 22:33:35 2023 -0400

    Remove gldas from global-workflow (#1590)

    Removes all instances of GLDAS from the global-workflow `develop` as it will not
     be used in GFS v17. Also updates the documentation to reflect this change.

    Fixes #1512

commit da2da72ded007386bfdd2f5c7b3c62b135ac66f5
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Tue May 9 18:46:34 2023 -0400

    Add GEFS capability to setup_expt (#1582)

    Allows GEFS experiment directories to be set up using `setup_expt.py`. This
    only creates the experiment directory; workflow generation will be added
    in a follow-up PR.

    To facilitate this, a new positional argument is added in the first position to
    specify which system to set up: `gfs` or `gefs`. If gfs is chosen, the second
    positional argument is to choose the mode, and allows the same values as
    before: `cycled` and `forecast-only`. If gefs is chosen, forecast-only is
    assumed and no second positional argument is required.

    To allow both gfs and gefs configure files to exist in workflow concurrently,
    the `parm/config` directory contains two new directories: gfs and gefs. All
    of the old config files have been moved into the gfs directory. A few select
    config files have also been copied to the gefs directory. As yet, they are un-
    modified (except the changes noted below). These config files will be
    updated in a future PR so the modifications for GEFS are not hidden in the
    new file creation. The `yaml/defaults` is also copied over, but the contents
    were removed since GEFS will not be running its own analyses.

    A couple variables have been renamed to be more appropriate for use in
    both systems: `NMEM_ENKF`, `NMEM_EFCS`, and `CASE_ENKF` are now
    `NMEM_ENS`, `NMEM_ENS_GFS`, and `CASE_ENS` respectively. Further,
    `HOMEfv3gfs` were removed as unused.

    Finally, resolution validation was extended to the ensemble resolution as well.

    Fixes: #1576

commit 2fd43d134f9d8479eb37c3800f6bcb715ceb7c3f
Author: Kate Friedman <[email protected]>
Date:   Mon May 8 16:53:21 2023 -0400

    Redo v16.3 GSI script updates to scripts/exglobal_atmos_analysis.sh (#1535)

    Updates to scripts/exglobal_atmos_analysis.sh are being put in again
    after a CRTM issue was resolved. These updates are needed to resolve
    an issue with the GSI assimilating too low of a number of observations.

    Also update gsi_ver to 20230112 in fix.ver

    Refs #1494 #1550

commit 6838c0ba5a1dc9033c2e7488ab1a970f70fea506
Author: Guillaume Vernieres <[email protected]>
Date:   Fri May 5 16:41:36 2023 -0400

    Fix bugs in the COM refactor of marine DA (#1566)

    Fixes a couple bugs and does a little cleanup of the COM refactor for marine DA. COM variable definitions are also updated to match the style used in other scripts.

commit dd19f05afa8b80e207de215c3d5f447107924f13
Author: Rahul Mahajan <[email protected]>
Date:   Fri May 5 16:36:34 2023 -0400

    Retire `getic.sh` and `init.sh` jobs from global-workflow (#1578)

    This PR removes:
    - `getic.sh` - job used to get initial conditions from HPSS from a past experiment/ops
    - `init.sh` - job used to create experiment resolution specific initial conditions from the ones fetched by `getic.sh`.

    Both these jobs were primarily used by the atmosphere model component developers in the past.
    They have since been staging pre-generated ICs making these jobs obsolete.

    Documentation will point to ufs-utils to generate the initial conditions.  The utilities from ufs-utils were used to identify the appropriate HPSS tarball as well as performing interpolation for the atmospheric model component.
    There is no such utility available for the other model components making these scripts only partially useful.

    In a future PR, an update to the definition of `BASE_CPLIC` and `coupled_ic` jobs will be made to make use of `--icsdir` to point to pre-staged locations of initial conditions.

    Fixes #1569

commit 63d5522e98fa65ce62d7ff681ed8923f48f0517e
Author: Kate Friedman <[email protected]>
Date:   Fri May 5 16:35:24 2023 -0400

    New UFS_UTILS hash for gdas_init COM reorg updates (#1581)

    This PR updates the UFS_UTILS hash to get `gdas_init` updates for the recent COM reorg.

    A few additional UFS_UTILS commits are also included but aren't significant changes, as noted by @GeorgeGayno-NOAA: "Updates since that hash have been mostly small things like bug fixes. However, the w3nco library was replaced by the w3emc library at https://github.com/ufs-community/UFS_UTILS/commit/7efbe0fd2dd373ae54d6c2954ebd484e0a3aab48". Updates to improve repo build are also included with this hash (https://github.com/ufs-community/UFS_UTILS/commit/b4900c483bd9cdb274aae6f75c0815a5f86bdaae).

    New hash from completion of https://github.com/ufs-community/UFS_UTILS/pull/820

    Resolves #1527

commit cf064a5c043106ea5ea6c2ce27e036e6d40babf5
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri May 5 16:32:31 2023 -0400

    Update documentation for PR standards (#1573)

    The section on commit message standards is updated to be for pull
    requests instead. Additional messaging about using the provided
    template is added, and bullets not relevant to PRs (line-wrapping
    and leaving a space between subject and body) are removed.

commit 8ff4c380d59ffa12f74dcef2cfa0e112b44b97c2
Author: Kate Friedman <[email protected]>
Date:   Thu May 4 16:43:54 2023 -0400

    Update prepobs install copy for atm log filename fix (#1571)

    Begin using feature-GFSv17_com_reorg_log_update install which updated
    the atm logf filename checked for by prepobs getges_nc.sh.

    Refs #1570

commit 3768c11e564ff82bfd2766a54513b49b4853e44c
Author: Rahul Mahajan <[email protected]>
Date:   Wed May 3 11:40:25 2023 -0400

    Update LandDA related job post COM refactor plus other minor fixes (#1564)

    This PR:
    - updates the j-jobs to accommodate post COM refactor upgrades.
    - minor updates to config.resources for land DA tasks
    - add task dependencies in the rocoto workflow
    - when doing LandDA, use sfc_data.tile{{ t }}.nc created by Land DA is used as input of global_cycle for the deterministic and case w/ DOIAU=NO.

commit a4177bb97722a6e90487af2b9744f3cbc960fb6b
Author: Rahul Mahajan <[email protected]>
Date:   Wed May 3 02:52:38 2023 -0400

    Replace `CDATE` with `PDYcyc` combo (#1561)

    Replaces `${CDATE}` with `${PDY}${cyc}` in all `config.*` files. Also fixes permissions on some of the config files that were turned to be executable in some of the JEDI PRs.

    Fixes #1560
    Partially fixes #198

commit 1242952faa4ce95d9a1fe2ce3e4ea20425d440d0
Author: Kate Friedman <[email protected]>
Date:   Tue May 2 16:23:18 2023 -0400

    Update init.rst cycled coupled IC info (#1562)

    * Update init.rst cycled coupled IC info
    * The cycled ATM w/ coupled (S2S) model ICs were updated
    and the folder was renamed from "C48mx500" to "C48C48mx500"
    * Added note to mention that the EnKF member ICs are
    currently just dummy duplicates of the deterministic.

commit 2e2357bc067390d51d1320d982abdce23b67d4ed
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Tue May 2 11:06:52 2023 -0400

    Use correct number of tasks in CICE when using threads (#1558)

    When the workflow was updated to use ESMF threading, the CICE namelist
    was not updated to use the new ntasks_cic6 variable instead of ICEPETS.
    This caused the incorrect number to be used when using multiple threads.

    Fixes #1549

commit 608ff650fbc902114203a8d03893e3d26fa05d70
Author: Kate Friedman <[email protected]>
Date:   Mon May 1 22:19:39 2023 -0400

    Remove gdas bump fix files (#1553)

    * Remove bump_ver from versions/fix.ver
    - No longer need a bump version variable in fix.ver.
    Refs #1552

commit 810071bff4878b16e5b70113fff990a1b1e80a4f
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon May 1 22:18:31 2023 -0400

    Remove remnant WAVE_RUN from archive (#1556)

    `$WAVE_RUN` is no longer used in workflow, but one reference remained
    in the archive job, which would cause failures. The conditional did
    not need to be replaced by `$RUN` since `$RUN` has already been checked
    at that point.

    Fixes #1548

commit f2ea92bf7345be1669677affab401bf25dd917ff
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon May 1 17:08:30 2023 -0400

    Update UFS to develop as of 2023 Apr 17 (#1509)

    Updates the UFS model hash to the version as of 2023 Apr 17.

    Some associated changes accompany this update
    - Restart filenames for MOM6 (ufs-community/ufs-weather-model#1599)
    - Remove store coriolis setting from MOM6 namelist (ufs-community/ufs-weather-model#1599)
    - Change in atm 'log' file names (ufs-community/ufs-weather-model#1704)
    - Additions to diag_table for frozen species (ufs-community/ufs-weather-model#1529)
    - Restart quilting (ufs-community/ufs-weather-model#1633)
    - Update to post itag (ufs-community/ufs-weather-model#1690)

    The switch to restart quilting adds an additional constraint on the size of write groups to be divisible by the number of tiles, so all were increased to the next multiple of 6.

    In the process of updating the diag tables, unused tables were removed.

    Closes #1279 as moot
    Closes #1445
    Closes #1499
    Partially addresses #1277

commit 6d3ed8ac4b71759fbace38f3dd544f7ee018b821
Author: Guillaume Vernieres <[email protected]>
Date:   Mon May 1 14:36:01 2023 -0400

    Adapt the marine DA to the new COM structure (#1554)

commit 6c48e94b4f3c7cf180cd443a13b957c8ab87ab4c
Author: Cory Martin <[email protected]>
Date:   Mon May 1 02:02:37 2023 -0400

    Update aerosol DA to use new COM structure (#1551)

    This PR updates the j-jobs and python classes for aerosol DA to use the new COM directory structure.
    This PR also includes removing of the chem history staging for the ICSDIR in setup_expt.py. The aerosol fields are treated as FV3 tracers, so they are either available (warm start) with the fv_tracer files or start at 0 (cold start) and must be spun up from emissions.

    Fixes #1516

commit ec2dd3ab8fb78c4e0aff7d81cb64095fe6130ad6
Author: RussTreadon-NOAA <[email protected]>
Date:   Fri Apr 28 14:45:09 2023 -0400

    Update UFSDA ATM ens for new COM directory structure (#1538)

    g-w PR #1421 changed the GFS COM directory structure. This PR updates UFSDA ATM ensemble analysis jobs and python script to work with the updated GFS COM directory structure.

    Fixes #1518

commit 406d6900963ca9c5152ef4b84de0d2840b0c2fd3
Author: Rahul Mahajan <[email protected]>
Date:   Fri Apr 28 12:55:05 2023 -0400

    Run an ensemble forecast of the coupled model (#1545)

commit ff37168eddd52e00b288cde4bdbdb1927369abe6
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri Apr 28 12:53:59 2023 -0400

    Fix ocean anl path in staging (#1544)

    The path for ocean analysis files was not properly updated after
    analysis was moved out of model_data into its own directory.

commit 8506ec6977c53018a100fd4881c296016a7df630
Author: Cory Martin <[email protected]>
Date:   Thu Apr 27 15:48:47 2023 -0400

    Two minor bugfixes (#1542)

    Found some odd bugs in the aerosol DA changes that need to be fixed to work properly.
    Not sure how they worked before with testing (by luck?) but these are straightforward fixes
    to implement.

    one has a missing / in a path for FileHandler
    and the other has a missing .nc causing files to not be found

commit 5f66da919c2525e189a169bad1f3fcbab3a64739
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Thu Apr 27 14:04:55 2023 -0400

    Move guts of ocean analysis post out of j-job (#1539)

    Removes most of content of JGDAS_GLOBAL_OCEAN_ANALYSIS_POST to scripts/exgdas_global_marine_analysis_post.py in GDASApp, now just calls that script.

    Addresses first bullet of #1480

commit 3dd6bbe7a77145ab31d00bd4c23af7649353cbd9
Author: RussTreadon-NOAA <[email protected]>
Date:   Wed Apr 26 17:02:05 2023 -0400

    Update UFSDA ATM anl for new COM directory structure (#1537)

    g-w PR #1421 changed the GFS COM directory structure. This PR updates UFSDA ATM variational analysis jobs and python scripts to work with the updated GFS COM directory structure.

    Fixes #1517

commit b5d173f6a95ccc5df55aecb9dc490fffb79b26ca
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Apr 26 13:39:45 2023 -0400

    Fix incorrect ocean history tmpl during workflow generation (#1533)

    The trailing '_TMPL' was accidentally ommited from the ocean history
    template used during workflow generation.

    Refs: #1532

commit 789ae97a1210117b9b629c4a47d6cfa999b551ab
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Apr 26 13:39:31 2023 -0400

    Fix ocean stating from flat structure (#1531)

    A typo led to the same variable being defined twice instead of the
    variable that was supposed to be defined.

    Fixes #1530

commit 1e4a24c35088a3db6348156c15bbc81b6f814e40
Author: Guillaume Vernieres <[email protected]>
Date:   Wed Apr 26 00:17:56 2023 -0400

    Fix warm-start IC staging (#1529)

    The incorrect path was used for staging coupled components during the COM refactor update (#1421). These are now corrected.

    Fixes #1528

commit 7421d805e6f50a59cd0be611d3ad7568ae603985
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Tue Apr 25 15:37:04 2023 -0400

    Quiet generate_com (#1526)

    Turns off trace for the duration of the generate_com function unless
    DEBUG_WORKFLOW is not set to "NO" (the default). In its place, the
    function will now echo the assignment.

    Closes #1524

commit 23e6cc22a456c4a4294216037673473db0a144af
Author: Guillaume Vernieres <[email protected]>
Date:   Tue Apr 25 11:45:16 2023 -0400

    Add ocnanlvrfy job and bugfixes. (#1514)

commit efa5180462f71ec476aeb6c5de4ba074a9d38a29
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Apr 24 15:37:52 2023 -0400

    Reorganize COM and refactor to use templates (#1421)

    Reorganizes the entire COM directory into a more hierarchical structure and uses centrally-defined templates to define COM paths.

    ## Hierarchical Structure
    To organize output a lot better and not have 30000+ files in a single directory, all of the component COM directories are divided into a number of subdirectories for each type of output.

    Sample directory trees

    ### Cycled atmosphere only
    ```
    gdas.20211222/00
    ├── analysis
    │   └── atmos
    │       └── gsidiags
    │           ├── dir.0000
    │           ├── dir.0001
    │           ├── (Additional dir.* directories omitted for brevity)
    │           └── dir.0083
    ├── model_data
    │   └── atmos
    │       ├── history
    │       ├── master
    │       └── restart
    ├── obs
    └── products
        └── atmos
            ├── cyclone
            │   └── tracks
            └── grib2
                ├── 0p25
                ├── 0p50
                └── 1p00

    101 directories
    ```
    ```
    enkfgdas.20211222/00
    ├── earc00
    ├── ensstat
    │   ├── analysis
    │   │   └── atmos
    │   │       └── gsidiags
    │   │           ├── dir.0000
    │   │           ├── dir.0001
    │   │           ├── (Additional dir.* omitted for brevity)
    │   │           └── dir.0039
    │   └── model_data
    │       └── atmos
    │           └── history
    ├── mem001
    │   ├── analysis
    │   │   └── atmos
    │   └── model_data
    │       └── atmos
    │           ├── history
    │           ├── master
    │           └── restart
    └── mem002
        ├── analysis
        │   └── atmos
        └── model_data
            └── atmos
                ├── history
                ├── master
                └── restart

    64 directories
    ```
    ```
    gfs.20211222/00
    ├── analysis
    │   └── atmos
    ├── model_data
    │   └── atmos
    │       ├── history
    │       ├── master
    │       └── restart
    ├── obs
    └── products
        └── atmos
            ├── bufr
            ├── cyclone
            │   ├── genesis_vital
            │   └── tracks
            ├── gempak
            │   ├── 0p25
            │   ├── 0p50
            │   ├── 1p00
            │   ├── 35km_atl
            │   ├── 35km_pac
            │   └── 40km
            ├── grib2
            │   ├── 0p25
            │   ├── 0p50
            │   └── 1p00
            └── wmo

    26 directories
    ```
    ```
    enkfgfs.20211222/00
    ├── earc00
    ├── ensstat
    │   ├── analysis
    │   │   └── atmos
    │   │       └── gsidiags
    │   │           ├── dir.0000
    │   │           ├── dir.0001
    │   │           ├── (Additional dir.* directories removed for brevity)
    │   │           └── dir.0039
    │   └── model_data
    │       └── atmos
    │           └── history
    ├── mem001
    │   ├── analysis
    │   │   └── atmos
    │   └── model_data
    │       └── atmos
    │           ├── history
    │           ├── master
    │           └── restart
    └── mem002
        ├── analysis
        │   └── atmos
        └── model_data
            └── atmos
                ├── history
                ├── master
                └── restart

    64 directories
    ```

    ### S2SWA coupled
    prototype (forecast-only):
    ```
    gfs.20130401/00/
    ├── model_data
    │   ├── atmos
    │   │   ├── history
    │   │   ├── input
    │   │   ├── master
    │   │   └── restart
    │   ├── chem
    │   │   └── history
    │   ├── ice
    │   │   ├── history
    │   │   ├── input
    │   │   └── restart
    │   ├── med
    │   │   └── restart
    │   ├── ocean
    │   │   ├── history
    │   │   ├── input
    │   │   └── restart
    │   └── wave
    │       ├── history
    │       ├── prep
    │       └── restart
    └── products
        ├── atmos
        │   ├── cyclone
        │   │   ├── genesis_vital
        │   │   └── tracks
        │   ├── gempak
        │   │   ├── 0p25
        │   │   ├── 0p50
        │   │   ├── 1p00
        │   │   ├── 35km_atl
        │   │   ├── 35km_pac
        │   │   └── 40km
        │   ├── grib2
        │   │   ├── 0p25
        │   │   ├── 0p50
        │   │   └── 1p00
        │   └── wmo
        ├── ocean
        │   ├── 2D
        │   ├── 3D
        │   ├── grib
        │   │   ├── 0p25
        │   │   └── 0p50
        │   └── xsect
        └── wave
            ├── gempak
            ├── gridded
            ├── station
            └── wmo

    51 directories
    ```

    ### Trees with files
    gdas: https://gist.github.com/WalterKolczynski-NOAA/f1de04901e2703fd24d38146d2669789
    gfs: https://gist.github.com/WalterKolczynski-NOAA/5d1b7c0a0f4b8cfff0be1ae54082316a
    enkfgdas: https://gist.github.com/WalterKolczynski-NOAA/860aaa804e3e70e191e7cae2ebb1055b
    enkfgfs: https://gist.github.com/WalterKolczynski-NOAA/130bfff4650ed8b07cf395079b65d318
    S2SWA P8: https://gist.github.com/WalterKolczynski-NOAA/6ae90c6eafb573878f60682ce47179db

    ## Templating
    All of the COM paths have been replaced with new variables that are derived from a set of templates centrally defined in `config.com`. Variables in the templates are then substituted at runtime to generate the COM paths via the use of `envsubst`. To facilitate this, there is a new function, `generate_com` (see below), provided to automatically generate the COM paths.

    Where possible, COM paths are defined at the j-job level and made read-only. However, many of the EnKF scripts loop over the ensemble members, forcing the definitions to be made at the exscript level instead (and be mutable).

    The arguments to `generate_com()` are the list of COM variables to generate, optionally accompanied by a template to use using a colon to separate them. When no template is specified, the variable will be generated using the ${varname}_TMPL template. Two options are accepted, `-r` and `-x`, which will mark the variable as read-only and for export, respectively (the same as with the `declare` builtin). It is best practice to define any additional variables needed by the template on the same line to avoid adding them to the calling script’s scope. Here are some examples used in the code:

    Generate the path to the atmos analysis directory for the current cycle and `$RUN` (implicitly from the `$COM_ATMOS_ANALYSIS_TMPL` template) and mark as read-only and export:
    ```
    YMD=${PDY} HH=${cyc} generate_com -rx COM_ATMOS_ANALYSIS
    ```

    Generate the path to the atmos history directory for the previous cycle's gdas from the `$COM_ATMOS_HISTORY_TMPL` template and mark as read-only and export:
    ```
    RUN=${GDUMP} YMD=${gPDY} HH=${gcyc} generate_com -rx \
        COM_ATMOS_HISTORY_PREV:COM_ATMOS_HISTORY_TMPL
    ```

    Generate the path to the first ensemble member's history directory of the current cycle and `$RUN` and mark for export:
    ```
    MEMDIR=’mem001’ YMD=${PDY} HH=${cyc} generate_com -x COM_ATMOS_HISTORY
    ```

    ## Additional information
    The staging of initial conditions in `setup_expy.py` has been updated to stage in the new locations. The source of the initial conditions can **either** be in the new hierarchical structure or in the old flat structure and the script will stage the files in the new structure. The destination paths are hard-coded here, so if any changes are made to the analysis, input, or restart templates, they will need to be mirrored in `setup_expy.py`.

    ### Stipulations
    All changes in this PR are subject to approval by several stakeholders, including NCO. Sample COM trees above are subject to revision based on feedback (for instance, file X isn't really an obs file).

    File name updates are not included in this PR. File names (primarily for coupled components) will be updated to comply with NCO standards in a future PR.

    AWIPS jobs are now almost working (they do not in current develop), but one last program is still ending with an error.

    Work on fit2obs is deferred, so that portion of the verify job does not work.

    WAFS scripts are all external and have not yet been updated. WAFS is expected to be packaged separately going forward, so will need to be updated like any other downstream package.

    Some scripts that are not part of our normal development workflow have not yet been updated. I may be able to knock a few more off this list, but some just aren’t available in development mode currently:
    - All UFSDA app jobs (to be handled separately)
    - With associated dev jobs (may still modify and test)
      - JGDAS_ATMOS_GLDAS
      - ~~JGLOBAL_WAVE_GEMPAK~~
      - ~~JGLOBAL_WAVE_POST_BNDPNT~~
      - ~~JGLOBAL_WAVE_POST_BNDPNTBLL~~
      - ~~JGLOBAL_WAVE_PRDGEN_BULLS~~
      - ~~JGLOBAL_WAVE_PRDGEN_GRIDDED~~
      - ~~JGLOBAL_WAVE_PREP~~
    - With no associated dev job
      - JGDAS_ATMOS_GEMPAK_META_NCDCJGFS_ATMOS_FBWIND
      - JGFS_ATMOS_FSU_GENESIS
      - JGFS_ATMOS_GEMPAK_META
      - JGFS_ATMOS_GEMPAK_NCDC_UPAPGIF
      - JGLOBAL_ATMOS_EMCSFC_SFC_PREP
      - JGLOBAL_ATMOS_POST_MANAGER
      - JGLOBAL_ATMOS_TROPCY_QC_RELOC
    + All downstream scripts for the above

    There are also a few scripts that are not available to the development workflow that I have already made a good-faith effort at updating:
    - JGDAS_ATMOS_GEMPAK
    - JGFS_ATMOS_PGRB2_SPEC_NPOESS

    ## Related Issues
    Closes #761
    Fixes #978
    Fixes #999
    Fixes #1207
    Partially addresses #198
    Partially addresses #289
    Partially addresses #293
    Partially addresses #1299
    Partially addresses #1326

commit 408ef65a8e2318125ad61478746024b2d0ef463d
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Apr 24 15:26:58 2023 -0400

    Move GDASApp hash to stable version (#1508)

    Changes the GDASApp hash to a more stable version than the tip of
    develop.
    See post-merge converastion in #1506

commit 699a759f80352aaade4203425c5df24842fcefa3
Author: RussTreadon-NOAA <[email protected]>
Date:   Mon Apr 24 13:37:04 2023 -0400

    update GDASApp hash to d34f616 (#1505) (#1506)

commit 44f5c28518a7d4b9e06658c6c21b9b1ee1d0918e
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Mon Apr 24 12:26:14 2023 -0400

    ignore archiving sfluxgrbf00[124578] files when they are not present (#1498)

    * ignore archiving certain sfluxgrbf??? files when they are not present.
    Co-authored-by: Rahul Mahajan <[email protected]>

commit 2e88dbfc5ff7a0bb2c6c1630b0c2783d76049d21
Author: Jiarui Dong <[email protected]>
Date:   Mon Apr 24 09:17:48 2023 -0400

    Add initial land DA cycling scripts (#1351)

    This PR adds rocoto jobs, jjobs, config files and updates to the machine.env to enable land-da  cycling capability.

commit f159d39a3b28dfcc120cdcdf87d11a611c75061f
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri Apr 21 15:46:35 2023 -0400

    Add CI cron jobs (#1476)

    As a maintainer of the CI framework, I need a set of cron jobs that will fully automate the CI pipeline so that whenever the appropriate label on GitHub is created the PR gets cloned and built followed by a set of functional experiments that are executed and reported on.

commit 587e469a1be5e278326fc0cbceefedc90caf75bf
Author: RussTreadon-NOAA <[email protected]>
Date:   Fri Apr 21 13:28:11 2023 -0400

    Refactor UFS-DA ATM ens component to use python g-w (#1373)

    This PR contains UFS-DA ATM ens changes originally in PR #1354.

    Below is a list of changes in this PR
    - rename UFS-DA ATM ens jobs atmensanalprep, atmensanalrun, and atmensanalpost as atmensanlinit, atmensanlrun, and atmensanlfinal, respectively
    - replace UFS-DA ATM ens shell scripts with python scripts
    - rename UFS-DA ATM ens j-jobs consistent with initialize, run, and finalize functions. Update j-jobs to execute python scripts instead of shell scripts
    - rename UFS-DA ATM ens rocoto jobs to be consistent with initialize, run, and finalize functions. Update jobs to set python paths and execute renamed j-jobs
    - update rocoto workflow generation to new names for UFS-DA ATM ens jobs
    - update UFS-DA ATM ens job names in machine dependent env files to new job names
    - rename UFS-DA ATM ens configuration files consistent with change in job names
    - add python class for UFS-DA ATM ens analysis
    - unify JEDIEXE link for UFS-DA Aerosol, ATM, and ENS
    - properly set `cycledefs` for `gfsatmanlinit`
    - remove unused `FV3JEDI_FIX` from atmanl and atmensanl config

    The above changes are part of a larger g-w effort to transition from shell scripts to python. UFS-DA Aerosol was the first GDASApp system to be converted. PR #1372 converted UFS-DA atmospheric variational DA to the python based approach.  This PR converts converts UFS-DA atmospheric local ensemble DA to the python based approach.

    Fixes #1313
    Depends (in part) on #1370 and #1372 and NOAA-EMC/GDASApp#388

commit 7db70496063fe32928cacb9790e45a1e987a3510
Author: David Huber <[email protected]>
Date:   Fri Apr 21 12:42:00 2023 -0400

    Added Fit2Obs to S4. #1489 (#1497)

    Adds Fit2Obs support for S4 by adding the module use/load commands to the module_base.s4.lua modulefile.

    Fixes #1489.

commit fb236523140b09686a4c2961e0552e7bd5dbf04f
Author: Guillaume Vernieres <[email protected]>
Date:   Fri Apr 21 12:40:11 2023 -0400

    Add new task to post-process marine DA (#1485)

    The work in this PR is only meant to bring us closer to a viable WCDA system. The refactoring of the marine DA to the new standard introduced by @aerorahul and used by @RussTreadon-NOAA and @CoryMartin-NOAA will be addressed after this [Epic](https://github.com/noaa-emc/gdasapp/issues/416) is resolved.

    ### Motivation and context
    This work adds a separate j-job ```JGDAS_GLOBAL_OCEAN_ANALYSIS_CHKPT ``` that calls a script that will be in the GDASApp for the time being (PR to come once this is merged) and does the following:
    - prepares the `SOCA` increment for `MOM6` IAU
    - recursively apply the `SOCA2CICE` change of variable. A mapping from the 2D seaice analysis variable to the CICE6 dynamical and thermodynamic variables.
    - merge the `Tref` increment from the `NSST` analysis with the `SOCA` increment

    ### Summary of the change
    - HPC environment: the new j-job runs a `JEDI` executable twice and one python script. All are serial jobs but the JEDI exec need to be called as an MPI job with 1 pe.
    - `jobs/JGDAS_GLOBAL_OCEAN_ANALYSIS_CHKPT`, that script point to a ex-script that is not in the GDASApp develop yet.
    - addition of the option to merge the Tref NSST increment with the MOM6 increment. This is triggered with the `DO_MERGENSST` switch
    - The new j-job dependency was added, with the option to wait for the surface analysis file `sfcanl.nc` if `do_mergensst` is true.

    Refs: #1480.
    Fixes NOAA-EMC/GDASApp/#418

commit 740daba8d6d34a327199701c1df7d6e10da73ec5
Author: Kate Friedman <[email protected]>
Date:   Fri Apr 21 03:11:51 2023 -0400

    Create fix file issue template (#1495)

    Create fix_file.md template file for new fix file request issue. This should help formalize the process and document updates.

    New issue will auto-assign to @KateFriedman-NOAA and @WalterKolczynski-NOAA (the developers with access to make fix files changes).

    Fixes #1492

commit 35942896ca4eeef243fe35d47416be64fe0058ff
Author: Kate Friedman <[email protected]>
Date:   Thu Apr 20 10:00:23 2023 -0400

    Update TC_tracker version to v1.1.15.6

    New ens_tracker.v1.1.15.6 tag installed on supported platforms. Adds Jet support and moves package to use new EPIC-installed hpc-stacks on R&Ds.

    Refs #1463

commit 86c3923bf60b1ce39165070bf2e5c3d60193d6dd
Author: Kate Friedman <[email protected]>
Date:   Thu Apr 20 09:39:56 2023 -0400

    Update GSI-Monitor hash to reflect recent assimilation changes.

    New GSI-Monitor hash to 45783e3 to update two fix files.

    Refs #1483

commit 2f347f6ddc770f2524394af25561a8da0d8dfb50
Author: Kate Friedman <[email protected]>
Date:   Wed Apr 19 15:54:19 2023 -0400

    Fit2Obs updates for package reorganization and invocation via module (#1484)

    The Fit2Obs repo has been reorganized to meet a few NCO standards and to add a module for invoking it from other packages.

    Refs #1472

commit b2ed8648f80946de85983a51664b120540854cc9
Author: RussTreadon-NOAA <[email protected]>
Date:   Tue Apr 18 16:21:14 2023 -0400

    Refactor UFS-DA ATM var component to use python g-w (#1372)

    This PR contains UFS-DA ATM var changes in PR https://github.com/NOAA-EMC/global-workflow/pull/1354.

    Below is a list of changes in this PR
    - rename UFS-DA ATM var jobs `atmanalprep`, `atmanalrun`, and `atmanalpost` as `atmanlinit`, `atmanlrun`, and `atmanlfinal`, respectively
    - replace UFS-DA ATM var shell scripts with python scripts
    - rename UFS-DA ATM var j-jobs consistent with initialize, run, and finalize functions.  Update j-jobs to execute python scripts instead of shell scripts
    - rename UFS-DA ATM var rocoto jobs to be consistent with initialize, run, and finalize functions.  Update jobs to set python paths and execute renamed j-jobs
    - update rocoto workflow generation to new names for UFS-DA ATM var jobs
    - update UFS-DA ATM var job names in machine dependent `env` files to new job names
    - rename UFS-DA ATM var configuration files consistent with change in job names
    - add UFS-DA ATM yaml files for UFS-DA fix files, crtm files, and increments
    - add python class for UFS-DA ATM var analysis
    - link UFS-DA python increment conversion script from GDASApp to g-w `ush` directory

    The above changes are part of a larger g-w effort to transition from shell scripts to python.  UFS-DA Aerosol was the first GDASApp system to be converted.   This PR represents the second GDASApp system, UFS-DA atmospheric variational DA, to be converted.  PR #1373 contains changes to convert the UFS-DA ensemble DA to a python based approach.

    Fixes (in part) #1313
    Depends (in part) on PR #1370 and [GDASApp #388](https://github.com/NOAA-EMC/GDASApp/pull/388)

commit 70a7d99bb65fd7661d7d2bac10633c0dda5d39fd
Author: David Huber <[email protected]>
Date:   Tue Apr 18 10:26:00 2023 -0400

    Port the global workflow to Jet (#1301)

    Provides initial cycled and free-forecast support for the global workflow on Jet.  References #357.  Not included in this port is support for GLDAS, verif-global, and TC_tracker.

    Jet will eventually support the following, with the currently tested options bolded, on xjet and kjet partitions
    - uncoupled, cycled and free-forecast experiments at C48, C96, C192, C384, and C768 resolutions
    - coupled, free-forecast experiments (ATMA, ATMW, S2S, and S2SW) at C384
    ~Note that currently coupled ICs are not available on Jet, so only ATM-only experiments can performed.~

    Fixes #357

commit d2b268ab3d965c9a2cf998dd048ac7a3ee7dc36b
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Apr 17 21:15:04 2023 -0400

    Consolidate wave parm files (#1477)

    When the new wave parm directory was created, the existing parm files
    were not moved into the new directory. These files were used for AWIPS,
    so not generally tested.

commit 8dcfaa6fbc5e0a94d44952f710f77c3b18ffa50d
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Apr 17 13:37:26 2023 -0400

    Split MPMD stdout into tasks on slurm (#1469)

    It can be difficult to debug MPMD jobs because their logs are all written concurrently to a single file. While the use of tags to designate which task via the preamble and PS4 can help identify which line is from which task, it is still difficult to follow a single task through the log, particularly for larger MPMD jobs with dozens of tasks.

    Individual stdout files are now created by using the `srun` `--output` option. These files are written to the working directory (in `$DATA`).

    Fixes: #1468

commit 6e7e4f1db78bbb67d94d54bdcb0a021a626b01f1
Author: Henry R. Winterbottom <[email protected]>
Date:   Mon Apr 17 09:59:01 2023 -0600

    GFS fixed-file YAMLs. (#1471)

    Add a few fixed-file YAMLs used in the GFS.

commit 2ec4125f67e6b6c1d8dee6f6fcf1d0798f587a31
Author: Rahul Mahajan <[email protected]>
Date:   Fri Apr 14 20:55:57 2023 -0400

    Initial blocks in place for forecast refactor work (#1466)

    This PR is a first in a series of PR for transforming the forecast job.
    This PR does not affect current function of the forecast job.
    This PR:
    - adds initial blocks to separate task specific and model configuration for the task blocks

commit d47f33f142824c0d2111f7e2f08c43f99b33bff4
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri Apr 14 15:51:14 2023 -0400

    Update buoys file and fix boundary point jobs (#1465)

    The buoy file used by the wave jobs ([wave_gfs.buoys](https://github.com/NOAA-EMC/global-workflow/blob/develop/parm/wave/wave_gfs.buoys)) was just a copy of [wave_gfs.buoys.dat](https://github.com/NOAA-EMC/global-workflow/blob/develop/parm/wave/wave_gfs.buoys.dat). In addition to being a duplicate, the file was a truncated version without any boundary points, causing boundary point jobs to fail.

    The duplicate file has been removed and replaced by a symlink to the full buoy list [wave_gfs.buoys.full](https://github.com/NOAA-EMC/global-workflow/blob/develop/parm/wave/wave_gfs.buoys.full). This maintains the provenance of the file and prevents the former duplicate from becoming out-of-sync. Users who still want to use the truncated buoy can change the target of the symlink to wave_gfs.buoys.dat.

    There are also a few minor bugs fixes that were necessary to get boundary point jobs to run:
    - `FHMAX_WAV_IBP` had been set in the bndpnt config file but not used in the j-job. This was invisible unless a user changed the value, since the config and j-job used the same default.
    - Checks against `FHMAX_WAV` would set the unused `FHMAX_WAV_IBP` to the max value instead of the `FHMAX_WAV_PNT` used for the loop. This is a problem when running for less than 180 h (the default value).
    - The boundary point bulletin job was not in the env job list for Orion (other machines have it).

    Now the boundary point jobs set `FHMAX_WAV_PNT` to `$FHMAX_WAV_IBP`. `FHMAX_WAV_IBP` was moved from the bndpnt config to config.wave so it is visible to bndpntbll as well.

    Fixes #1464

commit e496e393b16565207c227f4b69a5691d97098624
Author: Kate Friedman <[email protected]>
Date:   Wed Apr 12 15:59:00 2023 -0400

    Move Fit2Obs to stand-alone job (#1456)

    This PR moves the Fit2Obs invocation out of the vrfy job and into its own dedicated `fit2obs` job in the gdas suite. This new dedicated job uses the latest Fit2Obs tag `wflow.1.0`.

    The Fit2Obs requires a type of spin-up. The job looks back `VBACKUP_FITS` hrs and needs available inputs for that lookback cycle in the `ROTDIR`. The `jobs/JGDAS_FIT2OBS` script will first check that `xdate` (`CDATE` - `VBACKUP_FITS`) > `SDATE` and then if met, will check that the needed inputs exist.
    - If `xdate>SDATE` is not yet satisfied, the job will exit 0 with "Too early for FIT2OBS to run. Exiting.". The conditional is greater-than and not greater-than-or-equal since the first half cycle generally does not have some of the needed inputs (e.g. prepbufr). Thus the first half cycle is not included in the valid lookback cycles. This avoids erroneous job failures for the first cycle to run the Fit2Obs package. Additional logic could be introduced to include the half cycle if all available inputs are available.
    - If any of the needed inputs are missing the job will abort with "FATAL ERROR: FILE MISSING: ${file}".

    This spin-up means that the first cycles will run the job but exit 0 immediately. The 6th cycle (if `VBACKUP_FITS=24`) will be the first cycle to run the Fit2Obs package and produce output in the online archive.

    Changes:

    1. Remove fit2obs variables and settings from `config.vrfy` and into newly created `config.fit2obs` for `fit2obs` job.
    2. Remove fit2obs submission/invocation from `jobs/rocoto/vrfy.sh`.
    3. Create new `fit2obs` job scripts: `jobs/rocoto/fit2obs.sh` and `jobs/JGDAS_FIT2OBS`
    4. Add new `fit2obs` job to setup scripts: `workflow/applications.py` and `workflow/rocoto/workflow_tasks.py`
    5. Add new `fit2obs` job to all env files.
    6. Add new `fit2obs` job into `config.resources` (use 1 node on WCOSS2 and 3 nodes elsewhere).
    7. Add `export DO_FIT2OBS="YES"` to `config.base.emc.dyn`.

    Resolves #1405
    Resolves #1232

commit 363a2b47de11ab327408d2df20a3718f25062fa5
Author: David Huber <[email protected]>
Date:   Wed Apr 12 14:42:50 2023 -0400

    Rework arch job dependencies (#1455)

    This reworks the dependencies for arch tasks so that if there are no verification tasks selected and it is an uncoupled experiment, a dependency for the cycle's post jobs is added. It also fixes the dependency checks in rocoto.py to check for an empty list or string instead of checking the first element of a list, which may not exist if no dependencies are given. Lastly, it issues a warning to the user if there are no dependencies for any job.

    Fixes #1451

commit 7e661f4cd00cf99b12e55574318bbd0eb1a5eaa0
Author: RussTreadon-NOAA <[email protected]>
Date:   Wed Apr 12 10:36:58 2023 -0400

    Stage bias files for UFSDA aerosols (#1370)

    Updates UFSDA aerosols to stage bias files. Also adds in the threads and aprun commands for the run portion of the UFDA aero jobs.

    Fixes (in part) #1313.

commit d5ae3328fa4041b177357b1133f6b92e81c859d7
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Apr 4 03:34:48 2023 -0600

    Add logging level to logger (#1442)

    This PR provides task-level support for the respective pygfs applications. As an example, logging-level may be defined within jobs/JGLOBAL_FORECAST as follows.

    ```
    #! /usr/bin/env bash

    source "${HOMEgfs}/ush/preamble.sh"
    source "${HOMEgfs}/ush/jjob_header.sh" -e "fcst" -c "base fcst"

    export LOGGING_LEVEL="DEBUG"
    ```

    This feature allows a user to change the logging level from the run-time environment rather than requiring modification of the respective pygfs module or task.

    Fixes #1438

commit de81c5911c308679366b97fda19f015b1388d9dc
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Mon Apr 3 17:53:12 2023 -0400

    Update hash for GDASApp to db2f998 (#1443)

    When an update described below made a change to the HASH in the `${HOMEgfs}/sorc/checkout.sh` script for the corresponding GDASApp it was entered in error:

    _3e73038c - Use V2 version of fix files needed for Thompson MP (#1422) (7 days ago) <Rahul Mahajan>_

    Examining the GDASApp repo it should be confirmed that the correct HASH should be **db2f998**

    Fixes #1441

commit 0d1e993b2b5db6160c4a6b88b67899dc8e9754f8
Author: Kate Friedman <[email protected]>
Date:   Fri Mar 31 09:58:22 2023 -0400

    Remove para module paths for ncdiag on WCOSS2 (#1437)

    The ncdiag/1.0.0 module moved from para to prod on WCOSS2 on March 27th (RFC 10769).

    * Remove para m…
@WalterKolczynski-NOAA WalterKolczynski-NOAA self-assigned this Oct 10, 2023
@DavidHuber-NOAA DavidHuber-NOAA self-assigned this Jun 26, 2024
DavidHuber-NOAA added a commit to DavidHuber-NOAA/GDASApp that referenced this issue Jul 5, 2024
kayeekayee added a commit to kayeekayee/global-workflow that referenced this issue Aug 28, 2024
…l 19 UFS (c127601)

Squashed commit of the following:

commit d599fff4aedd41ae587dbe02226acb12ff48efc1
Author: HelinWei-NOAA <[email protected]>
Date:   Mon Aug 5 05:31:31 2024 -0400

    Change land surface for HR4 (#2787)

    Resets the default value of opt_diag to 2 corresponding to the land
    surface upgrades in ufs-weather-model for HR4.

    Resolves #2786

commit 6d7f7e860a0c7062f90bf09fdf9a5d19dc77cfdb
Author: David Huber <[email protected]>
Date:   Fri Aug 2 15:41:29 2024 -0400

    Run METplus serially and correct the name of prod tasks (#2804)

    Adds 2 hot fixes:

    - METplus v9.1.3 has a bug in it that sometimes attempts to create
    multiple copies of the same directory when running in parallel, causing
    a Python error and downstream problems. This PR makes METplus run in
    serial mode, preventing such issues.
    - Corrects the name of the atmos_prod, ocean_prod, and ice_prod tasks in
    workflow/rocoto/tasks.py (was accidentally changed to e.g. atmosprod)

commit 0706c59ac53cc3bbfbaa56cbd7fa75ab51117830
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri Aug 2 15:03:45 2024 -0400

    Update Java Agent launching script for Jenkins connections (#2762)

    Made updates to the Jenkins Launching Script for robustness and less
    ambiguous documentation:
    - Clearer distinction between required user token for the remote api and
    the systems token for launching
    - Added pre-checks: `gh` is authenticating, named compliant token and
    secret file exists
    - More robust Jason based parser of the remote api response for checking
    the state of the Node connection
    - For `cron` use a 5 minute pause and recheck was added before
    re-launching of the java agent
    - Added concise header documentation of requirements and purpose
    ---------

    Co-authored-by: David Huber <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit b73b1fd203496db97f8067652659573a632bcc67
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri Aug 2 07:59:06 2024 -0400

    Fix erroneous cdump addition (#2803)

commit 49877046ac3306f6b78ca0ab5d5089ba1aa3e3e3
Author: Rahul Mahajan <[email protected]>
Date:   Thu Aug 1 20:26:13 2024 -0400

    Update ocean post-processing triggers (#2784)

    This PR:
    - replaces `check_netcdf.sh` checker for ocean post-processing with with
    ocean output at the next forecast hour or finishing of the forecast job
    for ocean prod
    - removes no longer needed `ush/check_netcdf.sh`

commit aa2af1ca8d59424a60a1730722bf528775d9e606
Author: GeorgeGayno-NOAA <[email protected]>
Date:   Thu Aug 1 16:46:10 2024 -0400

    Update the gfs_utils repository hash (#2801)

    # Description
    Point to the latest hash of the gfs-utils repository, which contains the
    bug fix to gaussian_sfcanl.

    Resolves #2669.
    Refs: https://github.com/NOAA-EMC/gfs-utils/pull/73

commit d3d85f0e0d573f16a71ca44778021dfc0ccf50c8
Author: David Huber <[email protected]>
Date:   Thu Aug 1 08:12:14 2024 -0400

    Add fixes for metplus jobs when gfs_cyc=2 or 4 (#2791)

    Changes how METplus jobs run so that they run on the last GFS cycle for
    a given `PDY`.

    This is a departure from operations where the METplus jobs run on the
    00Z cycle for the previous 3 cycles and 00Z (i.e. `${PDYm1}06` through
    `${PDY}00`). With this PR, for gfs_cyc=4, METplus jobs will run on
    `${PDY}18` for cycles 00-18. See
    https://github.com/NOAA-EMC/EMC_verif-global/pull/131 for more details.

commit 1cf8b448af562dbb7af198399c78c585977e81da
Author: David Huber <[email protected]>
Date:   Tue Jul 30 10:38:49 2024 -0400

    Simplify resource-related variables, remove CDUMP where unneeded (#2727)

    This overhauls resource-related variables to use a common set of
    variables for each job. In the process, this also removed the use of
    CDUMP in most cases.

    Resolves #1299 #2693

commit 61875f25c9e971f82ae499b5b612d7f095deebd4
Author: Eric Sinsky - NOAA <[email protected]>
Date:   Mon Jul 29 14:40:03 2024 -0400

    Remove f000 from atmos rocoto tasks for replay cases (#2778)

    The main purpose of this PR is to remove the f000 from
    atmosphere-related rocoto tasks when `REPLAY_ICS` is set to `YES`. In
    cases where `REPLAY_ICS` is `YES` and `OFFSET_START_HOUR `is greater
    than `0`, it becomes necessary to have the first lead hour set to
    `OFFSET_START_HOUR ` for the atmosphere-related rocoto tasks. For
    example, when `OFFSET_START_HOUR ` is set to `3`, then the minimum lead
    time for the atmos_prod and atmos_ensstat rocoto tasks needs to be 3 and
    the minimum lead time for the ocean_prod rocoto task needs to be 6
    (assuming `FHOUT_OCN` is 6). This PR makes this rocoto workflow set up
    possible by removing 0 from fhrs for atmosphere-related tasks in
    `gefs_tasks.py` when replaying.

    This PR also moves where f000 is being removed for the ocean_prod and
    ice_prod tasks. The if-block that performs this f000 removal has been
    moved from `tasks.py` to `gefs_tasks.py` and `gfs_tasks.py`.

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>

commit f156a7894d639f177e3e2588f98eec1f6f59aa68
Author: Jessica Meixner <[email protected]>
Date:   Fri Jul 26 14:18:32 2024 -0500

    HR4 GWD update (#2732)

    This update is a combination of the gravity wave drag (GWD) versions
    from the NOAA/GSL and NOAA/PSL

commit a7f6b32ed63efa0de21bfb0ce63364a5b22b9891
Author: David Huber <[email protected]>
Date:   Thu Jul 25 14:26:52 2024 -0400

    Temporarily disable METplus jobs (#2796)

commit 848659691fdbf47e7ccdbbb2ebf22a6e470633a2
Author: Guillaume Vernieres <[email protected]>
Date:   Wed Jul 24 15:00:35 2024 -0400

    Refactoring of the marine B-matrix job (#2749)

    Refactor the functionality of B-matrix generation from the GDASApp

    Resolves #2743

commit 65a7ab75dc0e4baba06a02e11ed0455787056a68
Author: David Huber <[email protected]>
Date:   Tue Jul 23 08:35:48 2024 -0400

    Replace Jinja namespaces with replace_tmpl filter and disable ACCOUNT_SERVICE option (#2775)

    Removes the namespace-based construction of EnKF member COM directories
    in the enkf archive template.

commit c45b9611f3e701b819bd33dc5af29033f060bb91
Author: Eric Sinsky - NOAA <[email protected]>
Date:   Tue Jul 23 00:33:16 2024 -0400

    Add task to process reforecast variables to save on WCOSS2 (#2680)

    # Description
    This PR adds an optional task to the global-workflow to process a subset
    of ocean, ice, wave and atmosphere products to be saved on WCOSS2 for
    the GEFSv13 reforecast. This task is designed to process GEFS variables
    so that specific reforecast product requirements are met. A new variable
    in `config.base` called `DO_EXTRACTVARS` enables this task, which is
    currently called `extractvars`. `DO_EXTRACTVARS` is set to `NO` by
    default and is specifically a task designed to be executed for the
    GEFSv13 reforecast.

    Refs #1878

    # Type of change
    - New feature (adds functionality)

    # Change characteristics
    - Is this a breaking change (a change in existing functionality)? NO
    - Does this change require a documentation update? NO

    # How has this been tested?
    This has been cloned and tested on WCOSS2. This will need to be tested
    on Hera and other platforms on which the reforecast may be running.

    # Checklist
    - [ ] 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
    - [ ] I have commented my code, particularly in hard-to-understand areas
    - [x] My changes generate no new warnings
    - [x] New and existing tests pass with my changes
    - [ ] I have made corresponding changes to the documentation if
    necessary

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 71dc33c6ca991c16ce743760d99feaaf60f2218a
Author: David Huber <[email protected]>
Date:   Mon Jul 22 14:51:53 2024 -0400

    Set METplus process count in config.metp; add verif-global support for Rocky 9 (#2774)

    Fix metp* resources and check that they completed properly; add support for Orion Rocky 9

commit 56df67a90fe090c425199f1285e5aac722c398b1
Author: David Huber <[email protected]>
Date:   Mon Jul 22 09:28:18 2024 -0400

    Hotfix: Update jcb to avoid git-lfs files (#2782)

    Removes git-lfs files from the `GDASApp` `jcb` submodule, allowing it to
    be cloned on Hera.

    This hotfix points to a non-authoritative branch of the GDASApp
    (https://github.com/DavidHuber-NOAA/GDASApp/tree/hotfix/update_jcb) and
    should be updated ASAP back to the authoritative repository.

commit fc668aa422ebbad76ceda1b3bbf8dc0ea432defd
Author: Rahul Mahajan <[email protected]>
Date:   Tue Jul 16 09:44:00 2024 -0400

    Address issues in creating XML for GFS forecast-only with app S2SWA (#2757)

    This bugfix PR:
    - fixes an issue where a user is unable to generate the XML for a GFS
    forecast-only experiment with APP=S2SWA

    Specifically, the changes are related to defining `aero_fcst_cdumps`.
    Following `setup_expt.py`, the user will have to set
    `AERO_FCST_CDUMPS="gdas|gfs|both" depending on their use case in
    `config.base`.

commit e0878dba0e53706a7f53429b61aee2936e2c21bf
Author: Kate Friedman <[email protected]>
Date:   Mon Jul 15 10:25:11 2024 -0400

    Updated prepobs and fit2obs versions for Orion Rocky9 (#2758)

    Update prepobs to v1.0.2 and fit2obs to v1.1.2

    These versions now support Orion Rocky9. Updates are included
    for new install locations on WCOSS2, Hera, Orion/Hercules, and Jet.

commit 4968f3a8de9a5f90651cacd74e38f97bc80b7bbb
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Jul 11 17:48:47 2024 +0000

    CI maintenance updates and adding CI Unit Tests (#2740)

    This PR has a few maintenance updates to the CI pipeline and adds a test
    directory with Unit Tests
    **Major Maintenance updates:**
    - Added try blocks with appropriate messaging to GitHub PR of failure
    for:
    - - **scm** checkout
    - - build fail (with error logs sent as gists)
    - - create experiment fails with `stderr` sent to GitHub PR messaging
    - Pre-stage FAILS from the above are now captured these fails allow
    FINALIZE to update the label to FAIL (i.e. no more "hanging" CI state
    labels in GitHub - see image below)
    **Minor Maintenance updates:**
    - Fix for STALLED cases reviled from PR 2700 (just needed a lambda
    specifier)
    - Fixed path to experiment directory in PR message (had dropped EXPDIR
    in path)
    - Needed `latin-1` decoder in reading log files for publishing
    **Added python Unit Tests for CI functionality:**
    - Installed **Rocoto** and **wxfow** in GitHub Runner for testing key CI
    utility codes
    - Cashed the install of Rocoto in the GitHub Runners to greatly reduce
    stetup time for running the unit tests
    - Unit Tests Python scripts added
    - `test_rocostat.py`: rocoto_statcount() rocoto_summary()
    rocoto_stalled()
      - `test_setup.py`: setup_expt() test_setup_xml()
      - `test_create_experment`: test_create_experiment()
      - - Runs all PR cases that do not have ICs in the GItHub Runner
    - Reporting mechanism in the Actions tab for Python Unit Testing results
    - Test case data for STALLED and RUNNING stored on S3 and pulled using
    wget during runtime of tests

commit 5ef4db74649b8be03402c17aa29c024e71699a7b
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Thu Jul 11 08:59:24 2024 -0400

    Adds contents of constructor and initialize methods to marine LETKF class (#2635)

    Adds contents of constructor and initialize methods to marine LETKF class

    Partially addresses https://github.com/NOAA-EMC/GDASApp/issues/1091
    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: Cory Martin <[email protected]>

commit 8998ec7b74123e953b97a93fa14cc78d471a1aee
Author: David Huber <[email protected]>
Date:   Tue Jul 9 08:31:57 2024 -0400

    Fix GDAS group B restart archiving (#2735)

    Archives the GDAS restartb dataset at a 6-hour offset from restarta

    This allows cycled experiments to restart from the archives.
    The tabbing for the master archive templates was also added to
    improve readability.

    Resolves #2722

commit 3ca74771255727033b9dc043c652ac585178629c
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Tue Jul 9 08:28:54 2024 -0400

    Add fcst dependency to ocnanalprep (#2728)

    Add previous cycle's `fcst` as a dependency to `ocnanalprep`

    This ensures that the availability of restart files to the latter. This addresses a
    seldomly-encountered race condition where `ocnanalprep` fails due to the
    lack of the files.

commit 58fca1668aecd6fb1afd12a441256ad35900e075
Author: Rahul Mahajan <[email protected]>
Date:   Fri Jul 5 15:02:23 2024 -0400

    Update (partially) global-workflow for orion+rocky9 (#2741)

    This PR:
    - updates a few submodules (GSI, GSI-utils, GSI-monitor, UFS_utils,
    GFS-utils) to include recent update to their modulefiles for
    Orion+Rocky9 upgrade
    - updates the modulefiles in global-workflow to load modules from
    Orion+Rocky9 paths
    - updates modulefiles for `gwsetup` and `gwci` as well.
    - removes NCL and GEMPAK from Orion. NCL is not used and GEMPAK is not
    installed.
    - adds `parm/config.gfs/config.resources.ORION` to address GSI
    performance degradation after Rocky 9 upgrade.

    This PR:
    - does not update the build for UPP. Standalone UPP is not available via
    ufs-weather-model as of #2729
    - will need a follow-up update for `prepobs` and `fit2obs` updated
    locations when they are installed in `glopara` space on Orion.

    # Type of change
    - 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

    # How has this been tested?
    This PR is not sufficient for Orion.
    This PR must be tested on other platforms (Hera, WCOSS2) as this PR
    updates submodules.

    # 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
    - [ ] My changes generate no new warnings
    - [ ] New and existing tests pass with my changes
    - [ ] I have made corresponding changes to the documentation if
    necessary

    ---------

    Co-authored-by: Kate Friedman <[email protected]>

commit d65d3d257b38225fac74e86b770f43e1f8ae2d5a
Author: Jessica Meixner <[email protected]>
Date:   Wed Jul 3 21:07:49 2024 -0400

    Update ufs model hash to 20240625 (#2729)

    Updates UFS weather model hash to hash from 2024-06-24 which has orion
    porting updates + a few namelist updates.

commit 2bd106a013805ba4e16dbdc456d6731f8f36ec85
Author: David Huber <[email protected]>
Date:   Wed Jul 3 11:32:40 2024 -0400

    Hotfix for undefined CLUSTERS (#2748)

    Defines `CLUSTERS` as an empty string for all hosts except Gaea and uses
    the native `dict` `get` method to prevent grabbing an unset entry.

commit 7dc6651a3b92194d963675bdc0a9ec3c28499abf
Author: GwenChen-NOAA <[email protected]>
Date:   Wed Jul 3 09:56:08 2024 -0400

    Update gempak job to run one fcst hour per task (#2671)

    This PR updates gempak jobs (gfs, gdas, and goes) from processing all
    forecast hours at once to one forecast hour at a time. This will reduce
    the job runtime to less than 5 min, so restart capability is not needed.

    Resolves #1250
    Ref #2666 #2667
    ---------

    Co-authored-by: Walter.Kolczynski <[email protected]>

commit 8215ae654202186a4f753c3abe937b7b9b91a9c7
Author: Rahul Mahajan <[email protected]>
Date:   Tue Jul 2 16:22:11 2024 -0400

    Hotfix for clusters from #2701 (#2747)

    Fixes an issue created from #2701 that added `CLUSTERS` to the
    `gaea.yaml`.

commit 11943e36ba12b3df49c51942da780698fab02d38
Author: DavidBurrows-NCO <[email protected]>
Date:   Tue Jul 2 12:58:10 2024 -0400

    Fix xml file setup and complete C48 ATM and S2SW runs for CI on Gaea (#2701)

    This PR sets up the ability on Gaea for auto generation of a clean xml
    file, i.e., an xml file that does not need any alterations before
    running rocoto.
    Refs #2572
    Refs #2664

commit de8706702ead0630beb54d868f83aa2cb23f8f79
Author: RussTreadon-NOAA <[email protected]>
Date:   Mon Jul 1 09:29:14 2024 -0400

    Update for JCB policies and stage DA job files with Jinja2-templates (#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](https://github.com/NOAA-EMC/wxflow/pull/30) is a
    companion to this PR.

    Co-authored-by: danholdaway <[email protected]>
    Co-authored-by: DavidNew-NOAA <[email protected]>
    Co-authored-by: DavidNew-NOAA <[email protected]>
    Co-authored-by: Dan Holdaway <[email protected]>

commit c49e4eee1a2ca818b3ecdcb9ea41c3f3e91d585b
Author: Rahul Mahajan <[email protected]>
Date:   Fri Jun 28 14:56:19 2024 -0400

    Revert PR 2681 (#2739)

    This PR:
    - reverts #2681 in part
    - keeps some changes for `RUN`.
    - is a hotfix
    - should be merged ASAP after consensus w/ @guillaumevernieres
    @CatherineThomas-NOAA @WalterKolczynski-NOAA

commit 9476c1237af4adbc95f90bd1bdd34b6b99f2f8a3
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed Jun 26 15:46:08 2024 -0400

    updated Finalize in Jenkinsfile and added try block around scm checkout (#2692)

    We are updating the Jenkins Pipeline with a try block around checkout to
    capture errors for the user.
    Also cleaned up Finalize and added section to clean out workspace on
    success.

commit 968568f682bac7564095440bdb7813abefd76821
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Jun 26 13:27:19 2024 -0400

    Activate snow DA test on WCOSS (#2720)

    Activate the snow DA test on WCOSS.

commit 7706760bb8adbdf78cb640b02739023c886e7699
Author: Rahul Mahajan <[email protected]>
Date:   Wed Jun 26 10:02:22 2024 -0400

    Cleanup of stale RUNDIRS from an experiment (#2719)

    This PR:
    - removes stale temporary scratch run directories from `$DATAROOT/`
    every 3 days.
    - should help to scrub failed attempts.
    - removes an unused variable `RUNDIR` defined in `config.base`

commit 8962991691b5f0857b813bddfd28aa1034d4bd2b
Author: Jessica Meixner <[email protected]>
Date:   Wed Jun 26 09:43:48 2024 -0400

    Update logic for MOM6 number of layers/exception values (#2681)

    Updates the logic to be by run instead of for DO_JEDIOCNVAR to determine
    how many layers and sets the exception value for MOM6 to be 1e-34 for
    all scenarios. Note, we will no longer have zeros in the ocean grib
    output and the DA will also run without issues.

    Fixes https://github.com/NOAA-EMC/global-workflow/issues/2615

commit 12431f76bdce807067929415007592cffc8a2457
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed Jun 26 07:42:35 2024 -0600

    Update wave jobs to use COMIN/COMOUT (#2643)

    NCO has requested that each COM variable specify whether it is an input
    or an output.
    This completes that process for the global-workflow wave
    model and products tasks.
    Refs #2451

commit b902c0bac126c323a07186ad8881384b032b6fda
Author: David Huber <[email protected]>
Date:   Tue Jun 25 07:48:46 2024 -0400

    Assign machine- and RUN-specific resources (#2672)

    Redefine resource variables based explicitly on RUN or CDUMP

    Additionally, machine-specific resources are moved out of
    config.resources and placed in respective config.resources.{machine}
    files.

    Resolves #177 #2672

commit 4e1b937b67ed220120e81925c4507f03b9b8965f
Author: David Huber <[email protected]>
Date:   Mon Jun 24 10:50:52 2024 -0400

    Add minimum software requirements (#2712)

    Adds a table to HPC documentation stating the minimum support versions

commit f43a86276aaef91efa28faadc71a3cf50e749efe
Author: David Huber <[email protected]>
Date:   Fri Jun 21 13:44:29 2024 -0400

    Fix and simplify online archiving and reenable METplus jobs (#2687)

    This fixes the online archiving portion of the `*arch` and `*earc00`
    jobs, a prerequisite for running METplus.  This also reenables
    METplus by default.

    The approach previously taken created `FileHandler` dictionaries at
    varying levels within the resulting yaml, which was not properly parsed
    by `exglobal_archive.py`. This approach creates a single `FileHandler`
    dictionary and is much less complicated overall.

    Resolves #2673 #2647

commit 8993b42cb91144c0ab0501dc7841ea8d675c4701
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Jun 19 21:51:22 2024 -0400

    Eliminate post groups (#2667)

    Eliminates the post groups used for upp and products jobs so that each
    task only processes one forecast hour. This is more efficient and
    greatly simplifies downstream dependencies that depend on a specific
    forecast hour.

    Resolves #2666
    Refs #2642

commit 0b810c888239853fedd0e4584fe62536c6aaacdf
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 18 20:32:48 2024 -0600

    Removes misleading "No such file or directory" syntax errors from output files (#2688)

    This PR addresses issue #1252. The following is accomplished:

    - Prior to removing files, the existence of a file is checked prior to
    attempting to remove; this is performed as noted
    [here](https://github.com/NOAA-EMC/global-workflow/issues/1252#issue-1538627369);
    this PR only addresses the the `chgrp` issue.

    Refs #1252

    ---------

    Co-authored-by: David Huber <[email protected]>

commit 3270ac3bf00c3ebc8166c70d84647ec44431fbae
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 18 12:17:59 2024 -0600

    Hotfix for bug in template names. (#2697)

    This PR is a hotfix for an incorrectly named (e.g., non-existent) `COM/`
    template.
    Resolves #2696
    Refs #2451

commit 35d4d99eaac669721add9ddcc793153e5ab3b30a
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 18 08:06:53 2024 -0600

    Update archive job to use COMIN/COMOUT (#2668)

    NCO has requested that each COM variable specify whether it is an input
    or an output. This completes that process for the global-workflow
    archive task.

    Refs #2451
    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: David Huber <[email protected]>

commit 47b3a581c8257fa24411fb400df8bb0e1e04972a
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Jun 17 22:55:38 2024 -0400

    Turn on high-frequency output in extended test (#2679)

    Turns on high-frequency (hourly) output in the extended products test to
    exercise that aspect of the code. This test only runs on WCOSS.

    Also adds the hooks to optionally turn on the metplus jobs, but that is
    deferred as they are not currently working correctly.

commit 38f2df9fb0c074b1f80d3c637080be79be693161
Author: David Huber <[email protected]>
Date:   Mon Jun 17 17:12:55 2024 +0000

    Optimize wavepostpnt (#2657)

    Optimize the gfswavepostpnt, gfswavepostbndpntbll, and gfswavepostbndpnt jobs

    This is done by
    1) reducing the number of calls to `sed`, `awk`, `grep`, and `cat` by
    - performing operations on all files at once instead of looping over
    each file
        - removing piped `cat` calls (e.g. `cat <file> | sed 'something'`)
        - combining `sed` and `grep` calls when possible
        - adding logic to `awk` calls instead of handling that logic in bash
    2) minimizing as much as possible the amount of data on disk that has to
    be read in (e.g. limiting sed to read only the line numbers it needs)
    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 5af325a6a4e0a14d180514a418603ca79fada487
Author: Dan Holdaway <[email protected]>
Date:   Fri Jun 14 18:05:23 2024 -0400

    Update GDASapp hash to move JCB into GDASapp (#2665)

    This PR moves JCB into GDASapp. The PR
    also bumps up the hash of GDASapp to what is in `feature/move_jcb`,
    which at time of writing is develop plus the absorption of JCB into
    GDASapp.
    Note that I also took the changes from
    https://github.com/NOAA-EMC/global-workflow/pull/2641 to follow the
    testing @RussTreadon-NOAA has done.

commit 6c93b4554e235fcb4d0004e99a4c4498d55d461b
Author: Yaping Wang <[email protected]>
Date:   Fri Jun 14 10:18:17 2024 -0500

    Add observation preparation job for aerosols DA to workflow (#2624)

    Add a prepaeroobs job to prepare aerosol obs files for DA.

    This job does quality control of the VIIRS aerosol raw observations and
    convert them to ioda format.

    Resolves #2623
    ---------

    Co-authored-by: ypwang19 <[email protected]>
    Co-authored-by: TerrenceMcGuinness-NOAA <[email protected]>
    Co-authored-by: Cory Martin <[email protected]>
    Co-authored-by: David Huber <[email protected]>

commit 5a5fc2be7555f094a0f90fd3a3df22d071ccdfd4
Author: Jessica Meixner <[email protected]>
Date:   Fri Jun 14 11:04:41 2024 -0400

    Remove ocean daily files (#2689)

    This PR removes the ocn_daily files that are produced by the ocean
    component. These files can be recreated by averaging data that exists in
    the 6 hour aveaged files if needed.

    Fixes https://github.com/NOAA-EMC/global-workflow/issues/2675
    Fixes https://github.com/NOAA-EMC/global-workflow/issues/2659 (by
    removing them and making this obsolete)

commit 603a4a8052a5c43ce5986f028c3fcfd5fd248ad4
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Jun 13 12:22:03 2024 -0400

    Update Jenkinsfile

    needed a comma

commit dc21eac6c3941d7f30803891d91d82f4cc1f8183
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Jun 13 11:41:14 2024 -0400

    Add Hercules-EMC to the Jenkins configurable parameter list (#2685)

    This quick-fix PR is to update the Jenkins Pipeline's configurable
    parameter list to include the **Hercules-EMC** node.
    This allows Jenkins users to restart Jobs in the controller when no
    updates have been made.

commit ebacebfbe458634b8c80af6a735d6b6d01e4e406
Author: RussTreadon-NOAA <[email protected]>
Date:   Thu Jun 13 11:20:24 2024 -0400

    Update gdas.cd and gsi_utils hashes (#2641)

    This PR updates the `sorc/gdas.cd` and `sorc/gsi_utils` hashes. The
    updated hashes bring in bug fixes, new UFS DA functionality, and a Gaea
    build for gsi_utils.

    Resolves #2640

commit 34155fb4767769600a1ff95f0a65e37081addc2a
Author: Neil Barton <[email protected]>
Date:   Thu Jun 13 11:18:22 2024 -0400

    Add ability to use GEFS replay ICs (#2559)

    The PR allows the use of ICs from PSL's replay analysis. These replay
    ICs will be used for GEFS reforecasting and SFS. Two main changes are
    associated with these updates: (1) replay ICs being valid at 3Z, and (2)
    the use of warm starts.

    Resolves #1838

    ---------

    Co-authored-by: Jessica Meixner <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
    Co-authored-by: Rahul Mahajan <[email protected]>

commit 6c19a0e3fc4400e1d39288be4ee4fc244b74f699
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed Jun 12 19:25:42 2024 -0600

    Replace `sleep` with `wait_for_file` (#2586)

    This PR addresses issue #2444. The following is accomplished:

    - All `sleep` statements are replaced with `wait_for_file` for the
    relevant scripts beneath `scripts` and `ush`;
    - Indentation and shell-norms are updated where applicable.

    Note: The WAFS scripts are not updated as per @aerorahul direction.

    Resolves #2444

    ---------

    Co-authored-by: henrywinterbottom-wxdev <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 5b2a3d449a0835cec2663aabb06f1c47a3faf84e
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Jun 12 13:31:55 2024 -0400

    Add COM template for JEDI obs (#2678)

    Adds a COM template to define a path to store obs processed for JEDI.
    This will allow UFSDA to stop writing to COM_OBS, which should be
    read-only as it belongs to obsproc in operations.

    No functional change yet.

commit 2e6f1fcde9935619352b1b26cba42ec0f4d845ed
Author: Guoqing Ge <[email protected]>
Date:   Wed Jun 12 09:06:23 2024 -0600

    Link both global-nest fix files and non-nest ones at the same time (#2632)

    This PR enables linking both global-nest fix files and non-nest ones at
    the same time and users can run both nesting and non-nesting experiments
    at the same time without worries about what fix files to be linked.

    Resolves #2631

commit 61de004d4f9e9edf8a31bb173f2719b46451a36a
Author: Jessica Meixner <[email protected]>
Date:   Wed Jun 12 11:03:13 2024 -0400

    Update ufs-weather-model  (#2663)

    Updates ufs-weather-model, this updates RDHPCS to the newer spack-stack
    allowing some temporary fixes to be reverted.
    * removes upp submodule
    * uses upp from the ufs-weather-model
    * restores the build and link that were hacked during the Hera Rocky 8
    transition to allow for UPP submodule
    * Removes forecast directories in clean-up

    Resolves #2617
    Resolves #2437

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 15eaf35fb13f361be400be38a5f7ca7b5461ab1d
Author: Eric Sinsky - NOAA <[email protected]>
Date:   Wed Jun 12 01:15:37 2024 -0400

    Add ability to process ocean/ice products specific to GEFS (#2561)

    This PR begins to add the capability to produce GEFSv13 ocean and ice
    products in the global-workflow according to stakeholder requirements.
    The following features are added.

    - An oceanice prod yaml file has been added to address the ocean and ice
    products specific to GEFSv13.
    - The rocoto dependencies and config.base for GEFS have also been
    modified to allow for 24-hour averaged ocean and ice output.
    - Various scripts have been modified to allow for ocean and ice output
    frequencies of 24 hours.
    - `FHOUT_OCNICE` has been split into two variables called `FHOUT_OCN`
    and `FHOUT_ICE`. The same has been done for `FHOUT_OCNICE_GFS`.

    Refs #1878

commit 6691e7489650e0b738c176fbd096109288dc09b6
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 11 21:15:07 2024 -0600

    Update cleanup job to use COMIN/COMOUT (#2649)

    NCO has requested that each COM variable specify whether it is an input
    or an output. This completes that process for the global-workflow
    clean-up task.

    Refs #2451

    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 23a8d8835dd4c5d69ca20f5ff23705f30f17b4b0
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Tue Jun 11 16:17:25 2024 -0400

    Add overwrite to creat experiment in BASH CI (#2676)

    This is a quick hotfix to the CI BASH driver script adding `--overwrite`
    to create experiment script to avoid errors from restarting an
    experiment.

commit e7909af8d9e1f34140388a3f8556d8e582c58fe5
Author: emilyhcliu <[email protected]>
Date:   Mon Jun 10 15:11:27 2024 -0400

    Add handling to select CRTM cloud optical table based on cloud scheme and update calcanal_gfs.py  (#2645)

    This PR proposes updates for the following two scripts:

    1. In **scripts/exglobal_atmos_analysis.sh** --- Add handling to select
    CRTM cloud optical table based on cloud microphysical scheme indicated
    by `imp_physics'
    The default scheme in the GFS forecast model is Thompson scheme
    (imp_physics = 8).

    2. In **/ush/calcanl_gfs.py** --- Increase the MPI number declared in
    the script due to increased variables to interplate increments and
    calculate analysis in the netcdf_io routines in GSI-utils.
    Here is the related [PR #46 for
    GSI-utils](https://github.com/NOAA-EMC/GSI-utils/pull/46).

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 9caa51de8fb7be07d2e61775da01937d576964f6
Author: Henry R. Winterbottom <[email protected]>
Date:   Thu Jun 6 22:15:23 2024 -0600

    Update RDHPCS Hera resource for `eupd` task (#2636)

    As per @wx20jjung, the resource for the `eupd` task have been updated
    for RDHPCS Hera to account for memory issues for C384 `gdaseupd` job
    fails.

    Resolves #2454

    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit acf3aaa2b1d3e3024b0b5d2fe23eee8c317a980b
Author: DavidNew-NOAA <[email protected]>
Date:   Thu Jun 6 11:49:03 2024 -0400

    Parameterize some things in config.atmanl and config.atmensanl (#2661)

    This PR adds some parameters in config.atmanl and config.atmensanl that
    can be altered with the defaults.yaml. The motivation is to make these
    files match those in the GDASApp JJOB tests (example:
    https://github.com/NOAA-EMC/GDASApp/blob/develop/test/atm/global-workflow/config.atmanl),
    so we can just use the Global Workflow config.atmanl and
    config.atmensanl in the tests rather than custom ones in GDASApp that
    have to be separately updated every time the ones in the Global Workflow
    are updated.

commit 54ea0b73a07921be5fbb07fe41e976888bd3e549
Author: Guillaume Vernieres <[email protected]>
Date:   Thu Jun 6 01:36:02 2024 -0400

    Add links to the ocean insitu obs processing tools (#2644)

    Add links to the marine bufr to ioda converters for the marine insitu
    observations.

    - fixes https://github.com/NOAA-EMC/GDASApp/issues/1106
    - waiting for https://github.com/NOAA-EMC/GDASApp/pull/1135

commit 205d0c2b13e2d7755cec75bf8c978ab20d453862
Author: David Huber <[email protected]>
Date:   Wed Jun 5 17:31:30 2024 +0000

    Update S4 point of contact in docs (#2660)

    Update the point of contact for global workflow issues on S4.

commit aa23ccf1d0d229f9ff1398d84af1fa7ee5bed262
Author: RussTreadon-NOAA <[email protected]>
Date:   Wed Jun 5 12:50:14 2024 -0400

    Enable wcoss2 ufsda build and module load (#2620)

    This PR enables ufsda (`sorc/gdas.cd`) to be built and run on WCOSS2.

    Resolves #2602
    Resolves #2579

commit 67b833e0c7bc390865d453588b4609a1a7ede981
Author: Jessica Meixner <[email protected]>
Date:   Tue Jun 4 13:33:43 2024 -0400

    Update ufs-weather-model  (#2646)

    Updates UFS model to the commit https://github.com/ufs-community/ufs-weather-model/commit/5bec704243286421fc613838fc67a2129e96acd6
    This should resolve the issue and allow C768 runs on Hera and allow for CICE
    to run on WCOSS2 (due to library updates to allow linking).

    From what I can tell, all updates needed were done by
    @HenryWinterbottom-NOAA which were updates for CICE

    Fixes #2490

commit c44d0ac86cfdf78eb87492431bf6d825e8bae637
Author: GwenChen-NOAA <[email protected]>
Date:   Tue Jun 4 10:29:49 2024 -0400

    Update wmo parm files to fix WMO header (#2652)

    This PR updates wmo parm files to switch WMO header of precipitation
    type products (CRAIN, CFRZR, CICEP, and CSNOW) from time averaged to
    instantaneous.

    Resolves #2566

commit 237d6dd213e8b1455d2f45dc5978fb2d3de93e60
Author: Cory Martin <[email protected]>
Date:   Tue Jun 4 13:55:33 2024 +0000

    Add IAU to snow DA (and its test) (#2610)

    This PR enables IAU for the snow DA which is necessary for GFSv17.

    A snow analysis is created for the center of the window regardless, and
    an additional at the beginning of the window is added if IAU is on. The
    former is needed for UPP and the latter, to initialize the model.

    The increment is valid throughout the window for 3DVar, so the same
    increment is added to both forecasts.

    Additionally, the input file that goes into global_cycle has been
    updated to be the output of the JEDI snow analysis instead of the
    forecast (@jiaruidong2017 I recall discussing this, can you confirm this
    is right or am I mistaken)

    This PR also makes the CI test for snow DA (and aerosol DA) include IAU
    rather than without IAU,.

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit c92bf415060750127c9c05a62a1d2851c489551a
Author: David Huber <[email protected]>
Date:   Sat Jun 1 05:11:07 2024 +0000

    Archiving cleanup (#2621)

    1) Adds a lot of comments to the jinja templates for archiving
    2) Rearranges the gdas and enkf templates to a more logical order
    3) Fixes a couple of bugs in the enkf archiving of increments and
    analyses
    4) Disables archiving for the half cycle
    5) Removes the `FITSARC` key from `config.base` and `arcdir.yaml.j2`,
    instead relying on `DO_FIT2OBS`
    6) Updates wxflow to add the option to not allow undefined variables
    when parsing jinja templates and invokes this feature when running
    archives

    Resolves #2612

commit 12aa1e9cd2d159e2b303d2b33d6c79c365688eec
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri May 31 04:57:08 2024 -0400

    Switch to Rocky 9 built external packages on Hercules (#2608)

    The workflow was updated to use modules built on Rocky 9, but the
    external packages (like prepobs) were still pointing to the versions
    built on CentOS (Orion). This transitions to packages built on Rocky 9.

    Updating of the tracker package has been deferred until later. As such,
    the tracker jobs have been disabled by returning immediately if they are
    on Hercules. Since these jobs are small, resource-wise, it should not
    meaningfully impact turnover time.

commit 4422550c01c9214a2b3b8890bdcc898123ee216a
Author: Guoqing Ge <[email protected]>
Date:   Thu May 30 08:05:23 2024 -0600

    Add the capability to use slurm reservation nodes (#2627)

    Add the capability to use slurm reservation nodes
    Add "ACCOUNT_SERVICE" for jobs to run in PARTITION_SERVICE

    Resolves #2626

commit a54153fd9d26126206bc07a1da4e80f50c0c5910
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed May 29 23:24:07 2024 -0400

    Update forecast job to use COMIN/COMOUT (#2622)

    NCO has requested that each COM variable specify whether it is an input
    or an output. This completes that process for the forecast job.

    Refs #2451

    ---------

    Co-authored-by: David Huber <[email protected]>

commit d69a8af95d492982b918670322ed5c41ab074335
Author: Jessica Meixner <[email protected]>
Date:   Wed May 29 21:29:03 2024 -0400

    Update to add 1-deg global wave grid (#2619)

    This PR adds options to use a global 1 deg grid, intended for testing
    with the SFS application.

    Requires new fix file changes NOAA-EMC/global-workflow#2618

commit 0b4670ecf83b99b72835c8380573b2bca7cf5324
Author: Jessica Meixner <[email protected]>
Date:   Wed May 29 17:17:21 2024 -0400

    Add C384mx025_3DVarAOWCDA yamls (#2625)

    Adds the C384mx025_3DVarAOWCDA yaml files for one experiment into a new GFSv17 folder.

commit 2e885d05c64b947f00a3cf055a1277fbfac195c9
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed May 29 13:00:51 2024 -0400

    Script to keep Jenkins Agent persistent from cron (#2634)

    This "persistent" Java Agent launch script can be ran from a cron job:

    - Uses Jenkins Remote API to check the status of the Node connection
    using curl for a given machine.
    - If it is not connected a new agent is launched for that node.

    Resolves #2633

commit bb58e064d8e82ce51802bd6064cfa84cae2cc4d5
Author: GwenChen-NOAA <[email protected]>
Date:   Tue May 28 17:17:11 2024 -0400

    Change GRIB2 parameter names and vertical levels for ocean/ice post (#2611)

    Based on users' feedback, this PR do the following:
    1. Change GRIB2 parameter names DLWRF -> NLWRF and DSWRF -> NSWRF
    2. Change the vertical level of ocean 3D variables (WTMP, SALIN, UOGRD,
      and VOGRD) from "%g m below water surface" to "%g m below sea level"
    3. Round up depth numbers to integer (e.g. 4481.0625 -> 4481 m)

    Co-authored-by: Rahul Mahajan <[email protected]>

commit e53c5e8e0abbc0edf95970a71df0e6e8a2be9f31
Author: DavidNew-NOAA <[email protected]>
Date:   Tue May 28 17:16:23 2024 -0400

    Add atmensanlfv3inc job (#2592)

    This PR creates the atmensanlfv3inc job, the ensemble version of
    atmanlfv3inc, created in GW PR #2420. Its GDASApp companion PR is
    #[1104](https://github.com/NOAA-EMC/GDASApp/pull/1104), and its JCB-GDAS
    companion PR is #[3](https://github.com/NOAA-EMC/jcb-gdas/pull/3).

commit 50c2b8951b29a3c883a778becbf8582f9519eb48
Author: Anil Kumar <[email protected]>
Date:   Tue May 28 13:23:53 2024 -0400

    Global-workflow (AR) Generic updates for Gaea C5 (#2515)

    - Port global-workflow’s build and run capability to Gaea-C5
    - Building global-workflow on Gaea-C5
    - Setting up experiments with global-workflow on Gaea-C5

    ---------

    Co-authored-by: AnilKumar-NOAA <[email protected]>
    Co-authored-by: DavidBurrows-NCO <[email protected]>

commit b6ca771a0c584cbfcbbf9be739765d5f3815df97
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri May 24 10:52:45 2024 -0400

    Update STMP and PTMP settings in host file for Orion and Hercules  (#2614)

    - Updating STMP and PTMP settings in host file for Orion and Hercules
    because they are cross mounted.
    - Also took the opportunity to finally update **SLURM_ACCOUNT** to
    **HPC_ACCOUT** in CI over rides.
    - Added a refactor of the `rocotostat.py` tool that is more pythonic and
    as a execute retry feature because the `rocotostat` utility on Orion has
    been failing sometimes.

commit 7d2c539f45194cd4e5b21bfd4b83a9480189cd0f
Author: Guillaume Vernieres <[email protected]>
Date:   Tue May 21 23:50:50 2024 -0400

    Sea-ice analysis insertion (#2584)

    Allows cycling and restarting CICE with the sea-ice analysis if the
    marine DA is switched on.

    Resolves #2568
    Resolves NOAA-EMC/GDASApp#1103

commit 5369a1ff3a3969149fcf32810fad0e50216752b7
Author: David Huber <[email protected]>
Date:   Tue May 21 22:12:29 2024 +0000

    Refactored archiving (#2491)

    This provides a new pygfs task, archive.py, that provides all of the
    tools necessary to archive data to the local (`ARCDIR`) and backup
    (`ATARDIR`) archive directories. YAML-Jinja2 templates are provided to
    define the file to be archived or tarred to replace the
    `hpssarch_gen.sh`, `exglobal_earc`, and `exglobal_archive.sh` scripts
    and make it easier to add new data and explicitly handle optional and
    required files.

    For `ATARDIR` archiving, a master jinja template is provided for each
    `RUN` (i.e. master_gdas.yaml.j2, master_gfs.yaml.j2,
    master_enkf.yaml.j2). The master_enkf.yaml.j2 template is used for both
    `enkfgdas` and `enkfgfs` `RUN`s. These templates then include the
    appropriate `RUN`-specific jinja templates (e.g. gdas.yaml.j2) based on
    experiment, cycle, and coupled parameters. Each of these templates
    corresponds to a single tarball to populate and are tabbed 4 spaces so
    they are defined within the master `datasets` dictionary.

    Future developers should not have to make modifications to archive.py
    unless archiving is being enabled for a new `RUN` (e.g. `gefs`) and then
    only a single `elif` needs to be added to the configure method to
    specify the master `ATARDIR` template to archive (e.g.
    `master_gefs.yaml.j2`). If a new component is coming online that needs
    to be archived to `ATARDIR` (e.g. SNOW), then create a new template for
    each `RUN` that it needs to be archived for (e.g. `gdassnow.yaml.j2`)
    and reference the template in the appropriate master templates, e.g.

    `master_gdas.yaml:`
    ```jinja
    {% if DO_SNOW %}
    {% include "gdassnow.yaml.j2" %}
    {% endif %}
    ```

    A few other issues were addressed along the way:
    1. Aerosols have been reenabled. Aerosol forecasts should only be
    performed during gdas cycles, but analyses can be performed for both gfs
    and gdas cycles. This was accomplished by setting separate
    `AERO_<job>_CDUMP` variables to parse on for both `ANL` and `FCST` jobs.
    2. Fixed the name of the `cice6_rst_ok` variable in `forecast_det.sh`.
    This prevented restarts from being used for cice-enable experiments.
    This feature was not tested.
    3. Create a temporary fix for the `wgrib` utility. For spack-stack
    1.6.0, the `grib-util` module file does not declare `WGRIB`. An issue is
    open (https://github.com/JCSDA/spack-stack/issues/1097) to fix this in
    existing installations. Once complete, this temporary fix should be
    removed.
    4. The number of `earc` jobs has been reduced for lower resolution
    experiments. Both C48 and C96 experiments will now only have two earc
    jobs (one for the non-member files to archive and another for the member
    files). C192 will have up to 3 earc jobs (one non-member, one for
    members 1-40 and another for members 41-80, if needed).

    Resolves #2345
    Resolves #2318

    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 9aad86f27d37d19165b9a0b64cf70c7a4dd6362c
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri May 17 12:57:59 2024 -0400

     Add remove RUNDIRS step in CI before creating experements (#2607)

    As had been done in Bash CI we need to remove the RUNDIR in Jenkins
    before a creating an experiment in the event that case had beem
    previously ran.

commit bb930050b3cd51d28ecba6b231c8675f6d11856c
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Thu May 16 12:28:30 2024 -0400

    Adds jjob and other necessities for marine LETKF task (#2564)

    Adds jjob, rocoto script, config file, and other necessities for new
    marine LETKF task.

    Partially addresses NOAA-EMC/GDASApp#1091

commit 2c50fbde4d6cc3e53c55dca56925353a02fd1730
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu May 16 12:12:06 2024 -0400

    Updating CI Machine configs with redundant PTMP (#2605)

    Quick fix adding PTMP as STMP in Machine configs for CI for completeness

commit ef340ff33a6f89adf70838206ba3fd56a953fa7a
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu May 16 11:37:30 2024 -0400

    Fix race condition in CI between Orion and Hercules (#2604)

    Hotfix to solve race conditions in the CI system due to cross-mounted
    file systems between Orion and Hercules

commit e8b17e27f719df280170dc3f5bd9f19917cefaf2
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed May 15 17:16:30 2024 -0400

    Remove existing EXPDIRs and COMROTs when CI is re-run (#2601)

    Quick hotfix for having default for re-runing jobs to start clean with
    new EXPDIRs and COMROTs

commit b5d113efb1970ede5cd1d3d4dff8d96320519c41
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed May 15 16:52:49 2024 -0400

    Moving logic for skipping hosts in pr cases (#2573)

    This PR removes the logic of skipping hosts for pr cases from
    `create_experiment.py` and moves it to a test in the cron bash driver
    using a `parse_yaml.py` python tool.

    The Jenkins pipeline was not effected as it uses the
    `get_host_case_list.py` utility to form the cases on a per host bases.

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 3cd0c68c0de9900bc7b73e1ed7621573dff5e916
Author: RussTreadon-NOAA <[email protected]>
Date:   Wed May 15 13:13:30 2024 -0400

    Update gsi_utils.fd hash (#2598)

    This PR updates the `gsi_utils.fd` hash to bring in updates which add
    safeguards to
    -
    `src/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90`
    - `src/EnKF/gfs/src/recentersigp.fd/recentersigp.f90`

    The safeguards are described in GSI-utils PR
    [#41](https://github.com/NOAA-EMC/GSI-utils/pull/41) and the associated
    issue.

    Resolves #2597

commit d5366c66bd67f89d118b18956fe230207cbf0aea
Author: Kate Friedman <[email protected]>
Date:   Wed May 15 13:12:56 2024 -0400

    Update CICE and MOM6 fix versions (#2600)

    This PR updates the CICE (`cice_ver`) and MOM6 (`mom6_ver`) fix versions
    to the newer `20240416` timestamps, which includes updates and fixes to
    the `100` (1-deg) resolution files.

    Resolves #2480
    Resolves #2483
    Resolves #2595

commit 6ca106e6c0466d7165fc37b147e0e2735a1d6a0b
Author: David Huber <[email protected]>
Date:   Mon May 13 22:57:38 2024 +0000

    Limit gfswavepostpnt to 40 PEs/node (#2588)

    This fixes the slow runtime of the gfswavepostpnt job on Hercules. The
    job is very I/O intensive and does not scale well to large nodes, so
    limit the number of jobs/node to 40.

    Resolves #2587

commit 4fb7c12c325702a47f27c802a5067efd33d0327c
Author: Fanglin Yang <[email protected]>
Date:   Mon May 13 16:37:51 2024 -0400

    Update damping and time-step (#2575)

    Updates the model to use explicit Rayleigh damping for u/v and implicit
    damping to w. This improves model stability and allows for longer
    timesteps. Also unifies the GDAS and GFS to use the same damping.

    Results from a test at the C1152 resolution (coupled model) can be found
    at https://www.emc.ncep.noaa.gov/gmb/wx24fy/C1152/newdamp/

    Resolves #2574

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
    Co-authored-by: Lisa Bengtsson <[email protected]>
    Co-authored-by: Rahul Mahajan <[email protected]>

commit 6a9c1372ecce9e50e4f6e10e56f6e504cde1afe6
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri May 10 14:17:13 2024 -0400

    Do not use BUILT_semphore to force rebuilds when re-run (#2593)

    Remove the placement of the `BUILT_semaphore` file after the build in
    the Jenkins Pipeline and force it to rebuild any changes after a PR is
    re-ran.

commit 2346c6161f75ae02369cbf30f30c6150d3e12b66
Author: Innocent Souopgui <[email protected]>
Date:   Thu May 9 21:17:06 2024 -0500

    Migration to Rocky8 spack-stack installations on Jet (#2458)

    # Description
    Migrates Global Workflow to Rocky8 spack-stack installations on Jet.
    Jet has moved from CentOS7 to Rocky8.

    Resolves #2377
    Refs NOAA-EMC/UPP#919
    Refs NOAA-EMC/gfs-utils#60
    Refs NOAA-EMC/GSI#732
    Refs NOAA-EMC/GSI-Monitor#130
    Refs NOAA-EMC/GSI-utils#33

commit c7b3973014480a20dd8e24edaeb83a9e9e68159f
Author: Jessica Meixner <[email protected]>
Date:   Thu May 9 11:36:58 2024 -0400

    Updates for cold start half cycle, then continuing with IAU for WCDA (#2560)

    This PR allows us to run C384 S2S with IAU, but starting with the first
    half-cycle as a cold-start. This will be necessary for cycled testing as
    we build towards the full system for GFSv17. This updates the copying of
    the restarts for RUN=gdas for both ocean and ice copying what the atm
    model is doing. It also reduced the amount of restart files from 4 to 3.

    Other updates:
    * Add DOJEDI ocean triggers for archiving certain files update from:
    @CatherineThomas-NOAA
    * Adds COPY_FINAL_RESTARTS option to turn on/off copying the last
    restart file to COM. Defaults to off...
    * Defines model_start_date_current_cycle & model_start_date_next_cycle
    to help with knowing which IC to grab.

    Refs #2546

    Co-authored-by: Rahul Mahajan <[email protected]>

commit b405b7d3d11d384ce9fe3b9cd2180f315f7b38f2
Author: Dan Holdaway <[email protected]>
Date:   Wed May 8 20:52:48 2024 -0400

    Use JCB for assembling JEDI YAML files for atmospheric GDAS (#2477)

    Change the JEDI YAML assembly for the atmospheric GDAS to use the JEDI
    Configuration Builder (JCB) tool so that YAMLs can be made more portable
    and invoke the observation chronicle mechanism.

    Resolves #2476

    Co-authored-by: danholdaway <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 0cf0349c1f88048806e68ab58e93a3261b7a0e95
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed May 8 02:04:16 2024 -0400

    Add CI test for products (#2567)

    Adds a new version of the atm3DVar test that runs the full forecast
    length and produces most of the secondary products. For now, this test
    will only run on WCOSS due to gempak failures on other machines as well
    as computational needs. On other machines, the original version will run
    (the original version will not run on WCOSS). AWIPS remains off for now
    in this extended test due to a bug involving tocgrib2 and the convective
    precip fields (see #2566).

    The new test runs for 4½ cycles and the full 384-hr forecast length to
    ensure all gempak scripts are exercised. Since the cycle throttle is 3
    and the bulk of the time is in the free forecast, the cycles run mostly
    concurrently so it doesn't extend the total test time too much beyond
    that of a single 384-hr forecast.

    Fixes a bug in NPOESS that was introduced when the post filenames were
    reverted to the previous format for the GOES products until the final
    filenames are determined (#2499).

    Also removes the AWIPS g2 job from the rocoto mesh to complete the
    retirement of grib1 products.

    Resolves #2132
    Resolves #2445

commit 9b6f8404ac4507d14adc404b77cfdf002b55e832
Author: Rahul Mahajan <[email protected]>
Date:   Tue May 7 00:14:36 2024 -0400

    Add task to prepare emissions for GEFS (#2562)

    This PR:
    - introduces a task to prepare emissions for a forecast into the GEFS
    application.
    - adds configuration, j-job, rocoto job, ex-script and the python class
    for this job
    - updates GEFS workflow to be able to generate the XML to call this job.
    - updates the `fcst` and `efcs` job dependencies in the GEFS application
    to depend on `prep_emissions` if aerosols are turned ON.
    - provides a placeholder for @bbakernoaa to work on the details for
    preparing emissions.

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 233c18815d2e8e6b344f161fd0c102a4fbdfb66d
Author: Dan Holdaway <[email protected]>
Date:   Mon May 6 18:11:35 2024 -0400

    Single Executable for main GDAS JEDI applications (#2565)

    Changes that accompany GDAS PR (NOAA-EMC/GDASApp/pull/1075) that allows
    building of a single gdas executable, which should be more compliant
    with NCO requirements.

    Addresses https://github.com/NOAA-EMC/GDASApp/issues/1085

commit a005244bbfb2f1c525bca60d966f8095aa1acb8e
Author: Guoqing Ge <[email protected]>
Date:   Thu May 2 20:32:53 2024 -0600

    Add nest capability (#2545)

    This PR adds the global nesting capability to the global workflow so
    that one can run a regional domain nested in a global run.

    Resolves #2544

    Co-authored-by: Rahul Mahajan <[email protected]>

commit cb87daaced9fddd17f8370a1842d7e4ddab24e8f
Author: DavidBurrows-NCO <[email protected]>
Date:   Thu May 2 15:30:53 2024 -0400

    Update gfs_utils for Gaea (#2556)

    What: add build capability to the gfs_utils submod within the global
    workflow on Gaea

    Refs #2535

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 707a1cc5124bcd8e006839a17f76ceb88f45f902
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed May 1 18:13:02 2024 -0600

    Updated GEMPAK version and APRUN launcher. (#2555)

    This PR addresses issue #2248 and #2513. The following is accomplished:

    - Updates the parallel executable for GEMPAK applications;
    - Updates the GEMPAK version for RDHPCS Hera.

    Describe your changes. Focus on the *what* and *why*. The *how* will be
    evident from the changes. In particular, be sure to note any interface
    changes, such as command line syntax, that will need to be communicated
    to users.

    At the end of your description, please be sure to add the issue this PR
    solves using the word "Resolves". If there are any issues that are
    related but not yet resolved (including in other repos), you may use
    "Refs".

    Resolves #2248
    Resolves #2513

    Co-authored-by: David Huber <[email protected]>
    Co-authored-by: henrywinterbottom-wxdev <[email protected]>

commit f151cbf394e998ca0fdae893ca174499468d0c85
Author: Travis Elless <[email protected]>
Date:   Wed May 1 11:01:18 2024 -0400

    Utilize scale-dependent localization for atmospheric analysis (#2542)

    The plan for GFSv17 is to use a scale-dependent localization for the
    atmospheric analysis. This PR adds the necessary parameters to allow
    this feature to be used by default.

commit 53b6764392cb4c0f3b4506ccd3f8cba5c5d2c56e
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Tue Apr 30 16:37:54 2024 -0400

    Remove implicit symlink names (#2527)

    Lustre has a defect under Rocky 9 that results in symlink sometimes
    failing when the link name is not explicit. This updates all link
    creation to use explicit names.

    `config.base` is updated to turn off two monitor jobs on Hercules
    because the executables are not yet built there. This, combined with the
    previous change, should make workflow available for use on Hercules.

    Also removes the redundant utility names for NCP, NLN, etc. in the gdas
    scripts that are already defined in `config.base`.

    Resolves #2131
    Resolves #2522

commit 762f040a2045db17cdacd9026df9c4b8fd520156
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Mon Apr 29 22:26:28 2024 -0400

    Fixes sea ice archiving (#2541)

    Removes/changes sea ice output files that are failing to be added to
    list for archiving, causing `gdasarch` to fail in WCDA cycling.

    Resolves https://github.com/NOAA-EMC/GDASApp/issues/1044

commit 2ecf4f86e0cbe59407ba2c4e105ee7292f1eda01
Author: RussTreadon-NOAA <[email protected]>
Date:   Mon Apr 29 22:25:57 2024 -0400

    Link ensemble analysis increment files to COMROOT for warm_start (#2553)

    Scripting is added to `setup_expt.py` to link ensemble analysis
    increment files to COMROOT for warm_start experiments.

    Resolves #2552

commit 3a7abe1d63c573006e0e656237f1220002c3f579
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Tue Apr 30 02:25:28 2024 +0000

    Launch Multiple Platforms to Jenkins with polling (#2548)

    When launching Jenkins CI Tests all requested RDHPCS machines can now be
    selected via the Ready label at once.
    This is all that is required sense polling also works now on the
    controller end.

    Killing the jobs still needs to be done directly on the Jenkins
    Controller.
    Do not try to update the CI process using Labels. It is for launching
    only.
    Jenkins will update the labels as the states change.

    NOTE: When a case fails the label will be update to a **Fail** for that
    system but will continue to report failures of subsequent cases until
    otherwise stopped in the Jenkins Controller directly.

    Do not update any labels to **Ready** until a push has been made to the
    repo of the PR, and
    The job has been completed or stopped directly on the controller first.
    You can do this at anytime without having to wait until the other
    machines are completed.

    Co-authored-by: tmcguinness <[email protected]>
    Co-authored-by: Rahul Mahajan <[email protected]>

commit 4b96c1237c562b67650c2d2fa015984c95b228eb
Author: Jessica Meixner <[email protected]>
Date:   Sat Apr 27 19:03:26 2024 -0400

    Turn C48mx500_3DVarAOWCDA back on  (#2543)

    This PR turns the C48mx500_3DVarAOWCDA test back on. This required a few
    bugfixes in GDAS app which have now been merged.

    Resolves #2438
    Resolves #2528

    co-authors: @guillaumevernieres and @aerorahul who provided the bug
    fixes.

commit 48489b4e7758e80660941279652431e49fdd3cfa
Author: Guoqing Ge <[email protected]>
Date:   Sat Apr 27 00:23:00 2024 -0600

    Add option to link different orog/ugwd fix files for global nest (#2532)

    The global nest runs use a different set of tiles and need a different
    set of orog and ugwd fix files.
    The PR add an option to link correct fix files for global nest.

    Resolves #2530
    Resolves #2529

commit 7911f12ef0213f487a0681b260e4c982c946c17c
Author: GwenChen-NOAA <[email protected]>
Date:   Fri Apr 26 16:20:44 2024 -0400

    Retire AWIPS GRIB1 products (#2547)

    This PR retires AWIPS GRIB1 products by deleting the files that are responsible for it.
    This PR does not remove the awips_g2 tasks from rocoto task list.  It will be addressed in a follow up PR by workflow developers
      Refs #2445

commit 93c853d464908a88222d5a6eeca686cd1a413c0e
Author: James Jung <[email protected]>
Date:   Fri Apr 26 13:16:47 2024 -0400

    Add CADS use flexibility (#2540)

    The current design requires a script change to turn CADS on/off for
    specific instruments. The new design moves the on/off (true/false) flags
    to the config.anal file.

    Resolves #2538

commit 11bf141319ef2a29398742007a29d79bbf4439d5
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Apr 25 23:35:57 2024 +0000

    Hot fix for bash CI on WCOSS2 (#2536)

    A couple of minor hotfixes need for bash CI to work on WCOSS2.
    PR tested in bash on WCOSS with these changes

    Co-authored-by: tmcguinness <[email protected]>

commit f11bf3dc2bc062c070b901ce3aa808bd6b69a007
Author: Walter Kolczynski - NOAA <Walter…
kayeekayee added a commit to kayeekayee/global-workflow that referenced this issue Sep 2, 2024
 - based on gsl_ufs_dev from KaYee's fork
   global-workflow: 07Aug24,37c53ac [dev_07Aug2024_37c53ac]
   UFS: 19Jul24, c127601
   FV3: 19Jul24, 2527c11
   UPP: 23Apr24, be0410e
   CCPP-PHYSICS: 19Jul24, 46df080
   UFS_UTILS: 26Jun24, 3ef2e6b

Squashed commit of the following:

commit 70b557836379bb7e545fcc6642e28d66cfc17735
Merge: 5edbd123e 37c53ac69
Author: Janet Derrico <[email protected]>
Date:   Wed Aug 7 11:02:24 2024 -0600

    Merge branch 'NOAA-EMC:develop' into develop

commit 37c53ac692274eb5e9f9a3220033406e8c4b4a04
Author: Kate Friedman <[email protected]>
Date:   Wed Aug 7 08:11:21 2024 -0400

    Revert MSU FIX_DIRs back to glopara (#2811)

commit 876dfee26ad67e1f729bbf52b3167d48ea5a7517
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Tue Aug 6 14:47:36 2024 -0400

    Bugfix for updating label states in Jenkins (#2808)

    Quick bug fix for updating state labels in CI during finalize.
    (did not reference GitHub CLI executable correctly in the pipeline
    script)

commit 8fee36f0307b0c08080e3a8fa8fa6703e7da5fce
Author: Rahul Mahajan <[email protected]>
Date:   Tue Aug 6 11:02:45 2024 -0400

    Clean-up temporary rundirs - take 2. (#2753)

    This PR:
    - is a follow-up to a previous PR that aggressively pruned run
    directories.
    - removes run directories for the current cycle in the clean-up if the
    cycle is successful. If the cycle is not successful, cleanup is not
    called and all run directories for the cycle are safe from being purged.
    - also updates the PR template to list/query for any updates to
    submodules.

    ---------

    Co-authored-by: David Huber <[email protected]>
    Co-authored-by: David Huber <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit d599fff4aedd41ae587dbe02226acb12ff48efc1
Author: HelinWei-NOAA <[email protected]>
Date:   Mon Aug 5 05:31:31 2024 -0400

    Change land surface for HR4 (#2787)

    Resets the default value of opt_diag to 2 corresponding to the land
    surface upgrades in ufs-weather-model for HR4.

    Resolves #2786

commit 6d7f7e860a0c7062f90bf09fdf9a5d19dc77cfdb
Author: David Huber <[email protected]>
Date:   Fri Aug 2 15:41:29 2024 -0400

    Run METplus serially and correct the name of prod tasks (#2804)

    Adds 2 hot fixes:

    - METplus v9.1.3 has a bug in it that sometimes attempts to create
    multiple copies of the same directory when running in parallel, causing
    a Python error and downstream problems. This PR makes METplus run in
    serial mode, preventing such issues.
    - Corrects the name of the atmos_prod, ocean_prod, and ice_prod tasks in
    workflow/rocoto/tasks.py (was accidentally changed to e.g. atmosprod)

commit 0706c59ac53cc3bbfbaa56cbd7fa75ab51117830
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri Aug 2 15:03:45 2024 -0400

    Update Java Agent launching script for Jenkins connections (#2762)

    Made updates to the Jenkins Launching Script for robustness and less
    ambiguous documentation:
    - Clearer distinction between required user token for the remote api and
    the systems token for launching
    - Added pre-checks: `gh` is authenticating, named compliant token and
    secret file exists
    - More robust Jason based parser of the remote api response for checking
    the state of the Node connection
    - For `cron` use a 5 minute pause and recheck was added before
    re-launching of the java agent
    - Added concise header documentation of requirements and purpose
    ---------

    Co-authored-by: David Huber <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit b73b1fd203496db97f8067652659573a632bcc67
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri Aug 2 07:59:06 2024 -0400

    Fix erroneous cdump addition (#2803)

commit 49877046ac3306f6b78ca0ab5d5089ba1aa3e3e3
Author: Rahul Mahajan <[email protected]>
Date:   Thu Aug 1 20:26:13 2024 -0400

    Update ocean post-processing triggers (#2784)

    This PR:
    - replaces `check_netcdf.sh` checker for ocean post-processing with with
    ocean output at the next forecast hour or finishing of the forecast job
    for ocean prod
    - removes no longer needed `ush/check_netcdf.sh`

commit aa2af1ca8d59424a60a1730722bf528775d9e606
Author: GeorgeGayno-NOAA <[email protected]>
Date:   Thu Aug 1 16:46:10 2024 -0400

    Update the gfs_utils repository hash (#2801)

    # Description
    Point to the latest hash of the gfs-utils repository, which contains the
    bug fix to gaussian_sfcanl.

    Resolves #2669.
    Refs: https://github.com/NOAA-EMC/gfs-utils/pull/73

commit d3d85f0e0d573f16a71ca44778021dfc0ccf50c8
Author: David Huber <[email protected]>
Date:   Thu Aug 1 08:12:14 2024 -0400

    Add fixes for metplus jobs when gfs_cyc=2 or 4 (#2791)

    Changes how METplus jobs run so that they run on the last GFS cycle for
    a given `PDY`.

    This is a departure from operations where the METplus jobs run on the
    00Z cycle for the previous 3 cycles and 00Z (i.e. `${PDYm1}06` through
    `${PDY}00`). With this PR, for gfs_cyc=4, METplus jobs will run on
    `${PDY}18` for cycles 00-18. See
    https://github.com/NOAA-EMC/EMC_verif-global/pull/131 for more details.

commit 1cf8b448af562dbb7af198399c78c585977e81da
Author: David Huber <[email protected]>
Date:   Tue Jul 30 10:38:49 2024 -0400

    Simplify resource-related variables, remove CDUMP where unneeded (#2727)

    This overhauls resource-related variables to use a common set of
    variables for each job. In the process, this also removed the use of
    CDUMP in most cases.

    Resolves #1299 #2693

commit 61875f25c9e971f82ae499b5b612d7f095deebd4
Author: Eric Sinsky - NOAA <[email protected]>
Date:   Mon Jul 29 14:40:03 2024 -0400

    Remove f000 from atmos rocoto tasks for replay cases (#2778)

    The main purpose of this PR is to remove the f000 from
    atmosphere-related rocoto tasks when `REPLAY_ICS` is set to `YES`. In
    cases where `REPLAY_ICS` is `YES` and `OFFSET_START_HOUR `is greater
    than `0`, it becomes necessary to have the first lead hour set to
    `OFFSET_START_HOUR ` for the atmosphere-related rocoto tasks. For
    example, when `OFFSET_START_HOUR ` is set to `3`, then the minimum lead
    time for the atmos_prod and atmos_ensstat rocoto tasks needs to be 3 and
    the minimum lead time for the ocean_prod rocoto task needs to be 6
    (assuming `FHOUT_OCN` is 6). This PR makes this rocoto workflow set up
    possible by removing 0 from fhrs for atmosphere-related tasks in
    `gefs_tasks.py` when replaying.

    This PR also moves where f000 is being removed for the ocean_prod and
    ice_prod tasks. The if-block that performs this f000 removal has been
    moved from `tasks.py` to `gefs_tasks.py` and `gfs_tasks.py`.

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>

commit f156a7894d639f177e3e2588f98eec1f6f59aa68
Author: Jessica Meixner <[email protected]>
Date:   Fri Jul 26 14:18:32 2024 -0500

    HR4 GWD update (#2732)

    This update is a combination of the gravity wave drag (GWD) versions
    from the NOAA/GSL and NOAA/PSL

commit a7f6b32ed63efa0de21bfb0ce63364a5b22b9891
Author: David Huber <[email protected]>
Date:   Thu Jul 25 14:26:52 2024 -0400

    Temporarily disable METplus jobs (#2796)

commit 848659691fdbf47e7ccdbbb2ebf22a6e470633a2
Author: Guillaume Vernieres <[email protected]>
Date:   Wed Jul 24 15:00:35 2024 -0400

    Refactoring of the marine B-matrix job (#2749)

    Refactor the functionality of B-matrix generation from the GDASApp

    Resolves #2743

commit 65a7ab75dc0e4baba06a02e11ed0455787056a68
Author: David Huber <[email protected]>
Date:   Tue Jul 23 08:35:48 2024 -0400

    Replace Jinja namespaces with replace_tmpl filter and disable ACCOUNT_SERVICE option (#2775)

    Removes the namespace-based construction of EnKF member COM directories
    in the enkf archive template.

commit c45b9611f3e701b819bd33dc5af29033f060bb91
Author: Eric Sinsky - NOAA <[email protected]>
Date:   Tue Jul 23 00:33:16 2024 -0400

    Add task to process reforecast variables to save on WCOSS2 (#2680)

    # Description
    This PR adds an optional task to the global-workflow to process a subset
    of ocean, ice, wave and atmosphere products to be saved on WCOSS2 for
    the GEFSv13 reforecast. This task is designed to process GEFS variables
    so that specific reforecast product requirements are met. A new variable
    in `config.base` called `DO_EXTRACTVARS` enables this task, which is
    currently called `extractvars`. `DO_EXTRACTVARS` is set to `NO` by
    default and is specifically a task designed to be executed for the
    GEFSv13 reforecast.

    Refs #1878

    # Type of change
    - New feature (adds functionality)

    # Change characteristics
    - Is this a breaking change (a change in existing functionality)? NO
    - Does this change require a documentation update? NO

    # How has this been tested?
    This has been cloned and tested on WCOSS2. This will need to be tested
    on Hera and other platforms on which the reforecast may be running.

    # Checklist
    - [ ] 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
    - [ ] I have commented my code, particularly in hard-to-understand areas
    - [x] My changes generate no new warnings
    - [x] New and existing tests pass with my changes
    - [ ] I have made corresponding changes to the documentation if
    necessary

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 71dc33c6ca991c16ce743760d99feaaf60f2218a
Author: David Huber <[email protected]>
Date:   Mon Jul 22 14:51:53 2024 -0400

    Set METplus process count in config.metp; add verif-global support for Rocky 9 (#2774)

    Fix metp* resources and check that they completed properly; add support for Orion Rocky 9

commit 56df67a90fe090c425199f1285e5aac722c398b1
Author: David Huber <[email protected]>
Date:   Mon Jul 22 09:28:18 2024 -0400

    Hotfix: Update jcb to avoid git-lfs files (#2782)

    Removes git-lfs files from the `GDASApp` `jcb` submodule, allowing it to
    be cloned on Hera.

    This hotfix points to a non-authoritative branch of the GDASApp
    (https://github.com/DavidHuber-NOAA/GDASApp/tree/hotfix/update_jcb) and
    should be updated ASAP back to the authoritative repository.

commit fc668aa422ebbad76ceda1b3bbf8dc0ea432defd
Author: Rahul Mahajan <[email protected]>
Date:   Tue Jul 16 09:44:00 2024 -0400

    Address issues in creating XML for GFS forecast-only with app S2SWA (#2757)

    This bugfix PR:
    - fixes an issue where a user is unable to generate the XML for a GFS
    forecast-only experiment with APP=S2SWA

    Specifically, the changes are related to defining `aero_fcst_cdumps`.
    Following `setup_expt.py`, the user will have to set
    `AERO_FCST_CDUMPS="gdas|gfs|both" depending on their use case in
    `config.base`.

commit e0878dba0e53706a7f53429b61aee2936e2c21bf
Author: Kate Friedman <[email protected]>
Date:   Mon Jul 15 10:25:11 2024 -0400

    Updated prepobs and fit2obs versions for Orion Rocky9 (#2758)

    Update prepobs to v1.0.2 and fit2obs to v1.1.2

    These versions now support Orion Rocky9. Updates are included
    for new install locations on WCOSS2, Hera, Orion/Hercules, and Jet.

commit 4968f3a8de9a5f90651cacd74e38f97bc80b7bbb
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Jul 11 17:48:47 2024 +0000

    CI maintenance updates and adding CI Unit Tests (#2740)

    This PR has a few maintenance updates to the CI pipeline and adds a test
    directory with Unit Tests
    **Major Maintenance updates:**
    - Added try blocks with appropriate messaging to GitHub PR of failure
    for:
    - - **scm** checkout
    - - build fail (with error logs sent as gists)
    - - create experiment fails with `stderr` sent to GitHub PR messaging
    - Pre-stage FAILS from the above are now captured these fails allow
    FINALIZE to update the label to FAIL (i.e. no more "hanging" CI state
    labels in GitHub - see image below)
    **Minor Maintenance updates:**
    - Fix for STALLED cases reviled from PR 2700 (just needed a lambda
    specifier)
    - Fixed path to experiment directory in PR message (had dropped EXPDIR
    in path)
    - Needed `latin-1` decoder in reading log files for publishing
    **Added python Unit Tests for CI functionality:**
    - Installed **Rocoto** and **wxfow** in GitHub Runner for testing key CI
    utility codes
    - Cashed the install of Rocoto in the GitHub Runners to greatly reduce
    stetup time for running the unit tests
    - Unit Tests Python scripts added
    - `test_rocostat.py`: rocoto_statcount() rocoto_summary()
    rocoto_stalled()
      - `test_setup.py`: setup_expt() test_setup_xml()
      - `test_create_experment`: test_create_experiment()
      - - Runs all PR cases that do not have ICs in the GItHub Runner
    - Reporting mechanism in the Actions tab for Python Unit Testing results
    - Test case data for STALLED and RUNNING stored on S3 and pulled using
    wget during runtime of tests

commit 5ef4db74649b8be03402c17aa29c024e71699a7b
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Thu Jul 11 08:59:24 2024 -0400

    Adds contents of constructor and initialize methods to marine LETKF class (#2635)

    Adds contents of constructor and initialize methods to marine LETKF class

    Partially addresses https://github.com/NOAA-EMC/GDASApp/issues/1091
    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: Cory Martin <[email protected]>

commit 8998ec7b74123e953b97a93fa14cc78d471a1aee
Author: David Huber <[email protected]>
Date:   Tue Jul 9 08:31:57 2024 -0400

    Fix GDAS group B restart archiving (#2735)

    Archives the GDAS restartb dataset at a 6-hour offset from restarta

    This allows cycled experiments to restart from the archives.
    The tabbing for the master archive templates was also added to
    improve readability.

    Resolves #2722

commit 3ca74771255727033b9dc043c652ac585178629c
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Tue Jul 9 08:28:54 2024 -0400

    Add fcst dependency to ocnanalprep (#2728)

    Add previous cycle's `fcst` as a dependency to `ocnanalprep`

    This ensures that the availability of restart files to the latter. This addresses a
    seldomly-encountered race condition where `ocnanalprep` fails due to the
    lack of the files.

commit 58fca1668aecd6fb1afd12a441256ad35900e075
Author: Rahul Mahajan <[email protected]>
Date:   Fri Jul 5 15:02:23 2024 -0400

    Update (partially) global-workflow for orion+rocky9 (#2741)

    This PR:
    - updates a few submodules (GSI, GSI-utils, GSI-monitor, UFS_utils,
    GFS-utils) to include recent update to their modulefiles for
    Orion+Rocky9 upgrade
    - updates the modulefiles in global-workflow to load modules from
    Orion+Rocky9 paths
    - updates modulefiles for `gwsetup` and `gwci` as well.
    - removes NCL and GEMPAK from Orion. NCL is not used and GEMPAK is not
    installed.
    - adds `parm/config.gfs/config.resources.ORION` to address GSI
    performance degradation after Rocky 9 upgrade.

    This PR:
    - does not update the build for UPP. Standalone UPP is not available via
    ufs-weather-model as of #2729
    - will need a follow-up update for `prepobs` and `fit2obs` updated
    locations when they are installed in `glopara` space on Orion.

    # Type of change
    - 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

    # How has this been tested?
    This PR is not sufficient for Orion.
    This PR must be tested on other platforms (Hera, WCOSS2) as this PR
    updates submodules.

    # 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
    - [ ] My changes generate no new warnings
    - [ ] New and existing tests pass with my changes
    - [ ] I have made corresponding changes to the documentation if
    necessary

    ---------

    Co-authored-by: Kate Friedman <[email protected]>

commit d65d3d257b38225fac74e86b770f43e1f8ae2d5a
Author: Jessica Meixner <[email protected]>
Date:   Wed Jul 3 21:07:49 2024 -0400

    Update ufs model hash to 20240625 (#2729)

    Updates UFS weather model hash to hash from 2024-06-24 which has orion
    porting updates + a few namelist updates.

commit 2bd106a013805ba4e16dbdc456d6731f8f36ec85
Author: David Huber <[email protected]>
Date:   Wed Jul 3 11:32:40 2024 -0400

    Hotfix for undefined CLUSTERS (#2748)

    Defines `CLUSTERS` as an empty string for all hosts except Gaea and uses
    the native `dict` `get` method to prevent grabbing an unset entry.

commit 7dc6651a3b92194d963675bdc0a9ec3c28499abf
Author: GwenChen-NOAA <[email protected]>
Date:   Wed Jul 3 09:56:08 2024 -0400

    Update gempak job to run one fcst hour per task (#2671)

    This PR updates gempak jobs (gfs, gdas, and goes) from processing all
    forecast hours at once to one forecast hour at a time. This will reduce
    the job runtime to less than 5 min, so restart capability is not needed.

    Resolves #1250
    Ref #2666 #2667
    ---------

    Co-authored-by: Walter.Kolczynski <[email protected]>

commit 8215ae654202186a4f753c3abe937b7b9b91a9c7
Author: Rahul Mahajan <[email protected]>
Date:   Tue Jul 2 16:22:11 2024 -0400

    Hotfix for clusters from #2701 (#2747)

    Fixes an issue created from #2701 that added `CLUSTERS` to the
    `gaea.yaml`.

commit 11943e36ba12b3df49c51942da780698fab02d38
Author: DavidBurrows-NCO <[email protected]>
Date:   Tue Jul 2 12:58:10 2024 -0400

    Fix xml file setup and complete C48 ATM and S2SW runs for CI on Gaea (#2701)

    This PR sets up the ability on Gaea for auto generation of a clean xml
    file, i.e., an xml file that does not need any alterations before
    running rocoto.
    Refs #2572
    Refs #2664

commit de8706702ead0630beb54d868f83aa2cb23f8f79
Author: RussTreadon-NOAA <[email protected]>
Date:   Mon Jul 1 09:29:14 2024 -0400

    Update for JCB policies and stage DA job files with Jinja2-templates (#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](https://github.com/NOAA-EMC/wxflow/pull/30) is a
    companion to this PR.

    Co-authored-by: danholdaway <[email protected]>
    Co-authored-by: DavidNew-NOAA <[email protected]>
    Co-authored-by: DavidNew-NOAA <[email protected]>
    Co-authored-by: Dan Holdaway <[email protected]>

commit c49e4eee1a2ca818b3ecdcb9ea41c3f3e91d585b
Author: Rahul Mahajan <[email protected]>
Date:   Fri Jun 28 14:56:19 2024 -0400

    Revert PR 2681 (#2739)

    This PR:
    - reverts #2681 in part
    - keeps some changes for `RUN`.
    - is a hotfix
    - should be merged ASAP after consensus w/ @guillaumevernieres
    @CatherineThomas-NOAA @WalterKolczynski-NOAA

commit 9476c1237af4adbc95f90bd1bdd34b6b99f2f8a3
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed Jun 26 15:46:08 2024 -0400

    updated Finalize in Jenkinsfile and added try block around scm checkout (#2692)

    We are updating the Jenkins Pipeline with a try block around checkout to
    capture errors for the user.
    Also cleaned up Finalize and added section to clean out workspace on
    success.

commit 968568f682bac7564095440bdb7813abefd76821
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Jun 26 13:27:19 2024 -0400

    Activate snow DA test on WCOSS (#2720)

    Activate the snow DA test on WCOSS.

commit 7706760bb8adbdf78cb640b02739023c886e7699
Author: Rahul Mahajan <[email protected]>
Date:   Wed Jun 26 10:02:22 2024 -0400

    Cleanup of stale RUNDIRS from an experiment (#2719)

    This PR:
    - removes stale temporary scratch run directories from `$DATAROOT/`
    every 3 days.
    - should help to scrub failed attempts.
    - removes an unused variable `RUNDIR` defined in `config.base`

commit 8962991691b5f0857b813bddfd28aa1034d4bd2b
Author: Jessica Meixner <[email protected]>
Date:   Wed Jun 26 09:43:48 2024 -0400

    Update logic for MOM6 number of layers/exception values (#2681)

    Updates the logic to be by run instead of for DO_JEDIOCNVAR to determine
    how many layers and sets the exception value for MOM6 to be 1e-34 for
    all scenarios. Note, we will no longer have zeros in the ocean grib
    output and the DA will also run without issues.

    Fixes https://github.com/NOAA-EMC/global-workflow/issues/2615

commit 12431f76bdce807067929415007592cffc8a2457
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed Jun 26 07:42:35 2024 -0600

    Update wave jobs to use COMIN/COMOUT (#2643)

    NCO has requested that each COM variable specify whether it is an input
    or an output.
    This completes that process for the global-workflow wave
    model and products tasks.
    Refs #2451

commit b902c0bac126c323a07186ad8881384b032b6fda
Author: David Huber <[email protected]>
Date:   Tue Jun 25 07:48:46 2024 -0400

    Assign machine- and RUN-specific resources (#2672)

    Redefine resource variables based explicitly on RUN or CDUMP

    Additionally, machine-specific resources are moved out of
    config.resources and placed in respective config.resources.{machine}
    files.

    Resolves #177 #2672

commit 5edbd123e2878a07f5cce8e3c7ea6147f286633a
Merge: 09333c01d 4e1b937b6
Author: Janet Derrico <[email protected]>
Date:   Mon Jun 24 12:44:05 2024 -0600

    Merge branch 'NOAA-EMC:develop' into develop

commit 4e1b937b67ed220120e81925c4507f03b9b8965f
Author: David Huber <[email protected]>
Date:   Mon Jun 24 10:50:52 2024 -0400

    Add minimum software requirements (#2712)

    Adds a table to HPC documentation stating the minimum support versions

commit f43a86276aaef91efa28faadc71a3cf50e749efe
Author: David Huber <[email protected]>
Date:   Fri Jun 21 13:44:29 2024 -0400

    Fix and simplify online archiving and reenable METplus jobs (#2687)

    This fixes the online archiving portion of the `*arch` and `*earc00`
    jobs, a prerequisite for running METplus.  This also reenables
    METplus by default.

    The approach previously taken created `FileHandler` dictionaries at
    varying levels within the resulting yaml, which was not properly parsed
    by `exglobal_archive.py`. This approach creates a single `FileHandler`
    dictionary and is much less complicated overall.

    Resolves #2673 #2647

commit 8993b42cb91144c0ab0501dc7841ea8d675c4701
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Jun 19 21:51:22 2024 -0400

    Eliminate post groups (#2667)

    Eliminates the post groups used for upp and products jobs so that each
    task only processes one forecast hour. This is more efficient and
    greatly simplifies downstream dependencies that depend on a specific
    forecast hour.

    Resolves #2666
    Refs #2642

commit 0b810c888239853fedd0e4584fe62536c6aaacdf
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 18 20:32:48 2024 -0600

    Removes misleading "No such file or directory" syntax errors from output files (#2688)

    This PR addresses issue #1252. The following is accomplished:

    - Prior to removing files, the existence of a file is checked prior to
    attempting to remove; this is performed as noted
    [here](https://github.com/NOAA-EMC/global-workflow/issues/1252#issue-1538627369);
    this PR only addresses the the `chgrp` issue.

    Refs #1252

    ---------

    Co-authored-by: David Huber <[email protected]>

commit 3270ac3bf00c3ebc8166c70d84647ec44431fbae
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 18 12:17:59 2024 -0600

    Hotfix for bug in template names. (#2697)

    This PR is a hotfix for an incorrectly named (e.g., non-existent) `COM/`
    template.
    Resolves #2696
    Refs #2451

commit 35d4d99eaac669721add9ddcc793153e5ab3b30a
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 18 08:06:53 2024 -0600

    Update archive job to use COMIN/COMOUT (#2668)

    NCO has requested that each COM variable specify whether it is an input
    or an output. This completes that process for the global-workflow
    archive task.

    Refs #2451
    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: David Huber <[email protected]>

commit 47b3a581c8257fa24411fb400df8bb0e1e04972a
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Jun 17 22:55:38 2024 -0400

    Turn on high-frequency output in extended test (#2679)

    Turns on high-frequency (hourly) output in the extended products test to
    exercise that aspect of the code. This test only runs on WCOSS.

    Also adds the hooks to optionally turn on the metplus jobs, but that is
    deferred as they are not currently working correctly.

commit 38f2df9fb0c074b1f80d3c637080be79be693161
Author: David Huber <[email protected]>
Date:   Mon Jun 17 17:12:55 2024 +0000

    Optimize wavepostpnt (#2657)

    Optimize the gfswavepostpnt, gfswavepostbndpntbll, and gfswavepostbndpnt jobs

    This is done by
    1) reducing the number of calls to `sed`, `awk`, `grep`, and `cat` by
    - performing operations on all files at once instead of looping over
    each file
        - removing piped `cat` calls (e.g. `cat <file> | sed 'something'`)
        - combining `sed` and `grep` calls when possible
        - adding logic to `awk` calls instead of handling that logic in bash
    2) minimizing as much as possible the amount of data on disk that has to
    be read in (e.g. limiting sed to read only the line numbers it needs)
    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 5af325a6a4e0a14d180514a418603ca79fada487
Author: Dan Holdaway <[email protected]>
Date:   Fri Jun 14 18:05:23 2024 -0400

    Update GDASapp hash to move JCB into GDASapp (#2665)

    This PR moves JCB into GDASapp. The PR
    also bumps up the hash of GDASapp to what is in `feature/move_jcb`,
    which at time of writing is develop plus the absorption of JCB into
    GDASapp.
    Note that I also took the changes from
    https://github.com/NOAA-EMC/global-workflow/pull/2641 to follow the
    testing @RussTreadon-NOAA has done.

commit 6c93b4554e235fcb4d0004e99a4c4498d55d461b
Author: Yaping Wang <[email protected]>
Date:   Fri Jun 14 10:18:17 2024 -0500

    Add observation preparation job for aerosols DA to workflow (#2624)

    Add a prepaeroobs job to prepare aerosol obs files for DA.

    This job does quality control of the VIIRS aerosol raw observations and
    convert them to ioda format.

    Resolves #2623
    ---------

    Co-authored-by: ypwang19 <[email protected]>
    Co-authored-by: TerrenceMcGuinness-NOAA <[email protected]>
    Co-authored-by: Cory Martin <[email protected]>
    Co-authored-by: David Huber <[email protected]>

commit 5a5fc2be7555f094a0f90fd3a3df22d071ccdfd4
Author: Jessica Meixner <[email protected]>
Date:   Fri Jun 14 11:04:41 2024 -0400

    Remove ocean daily files (#2689)

    This PR removes the ocn_daily files that are produced by the ocean
    component. These files can be recreated by averaging data that exists in
    the 6 hour aveaged files if needed.

    Fixes https://github.com/NOAA-EMC/global-workflow/issues/2675
    Fixes https://github.com/NOAA-EMC/global-workflow/issues/2659 (by
    removing them and making this obsolete)

commit 603a4a8052a5c43ce5986f028c3fcfd5fd248ad4
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Jun 13 12:22:03 2024 -0400

    Update Jenkinsfile

    needed a comma

commit dc21eac6c3941d7f30803891d91d82f4cc1f8183
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Jun 13 11:41:14 2024 -0400

    Add Hercules-EMC to the Jenkins configurable parameter list (#2685)

    This quick-fix PR is to update the Jenkins Pipeline's configurable
    parameter list to include the **Hercules-EMC** node.
    This allows Jenkins users to restart Jobs in the controller when no
    updates have been made.

commit ebacebfbe458634b8c80af6a735d6b6d01e4e406
Author: RussTreadon-NOAA <[email protected]>
Date:   Thu Jun 13 11:20:24 2024 -0400

    Update gdas.cd and gsi_utils hashes (#2641)

    This PR updates the `sorc/gdas.cd` and `sorc/gsi_utils` hashes. The
    updated hashes bring in bug fixes, new UFS DA functionality, and a Gaea
    build for gsi_utils.

    Resolves #2640

commit 34155fb4767769600a1ff95f0a65e37081addc2a
Author: Neil Barton <[email protected]>
Date:   Thu Jun 13 11:18:22 2024 -0400

    Add ability to use GEFS replay ICs (#2559)

    The PR allows the use of ICs from PSL's replay analysis. These replay
    ICs will be used for GEFS reforecasting and SFS. Two main changes are
    associated with these updates: (1) replay ICs being valid at 3Z, and (2)
    the use of warm starts.

    Resolves #1838

    ---------

    Co-authored-by: Jessica Meixner <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
    Co-authored-by: Rahul Mahajan <[email protected]>

commit 6c19a0e3fc4400e1d39288be4ee4fc244b74f699
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed Jun 12 19:25:42 2024 -0600

    Replace `sleep` with `wait_for_file` (#2586)

    This PR addresses issue #2444. The following is accomplished:

    - All `sleep` statements are replaced with `wait_for_file` for the
    relevant scripts beneath `scripts` and `ush`;
    - Indentation and shell-norms are updated where applicable.

    Note: The WAFS scripts are not updated as per @aerorahul direction.

    Resolves #2444

    ---------

    Co-authored-by: henrywinterbottom-wxdev <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 5b2a3d449a0835cec2663aabb06f1c47a3faf84e
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Jun 12 13:31:55 2024 -0400

    Add COM template for JEDI obs (#2678)

    Adds a COM template to define a path to store obs processed for JEDI.
    This will allow UFSDA to stop writing to COM_OBS, which should be
    read-only as it belongs to obsproc in operations.

    No functional change yet.

commit 2e6f1fcde9935619352b1b26cba42ec0f4d845ed
Author: Guoqing Ge <[email protected]>
Date:   Wed Jun 12 09:06:23 2024 -0600

    Link both global-nest fix files and non-nest ones at the same time (#2632)

    This PR enables linking both global-nest fix files and non-nest ones at
    the same time and users can run both nesting and non-nesting experiments
    at the same time without worries about what fix files to be linked.

    Resolves #2631

commit 61de004d4f9e9edf8a31bb173f2719b46451a36a
Author: Jessica Meixner <[email protected]>
Date:   Wed Jun 12 11:03:13 2024 -0400

    Update ufs-weather-model  (#2663)

    Updates ufs-weather-model, this updates RDHPCS to the newer spack-stack
    allowing some temporary fixes to be reverted.
    * removes upp submodule
    * uses upp from the ufs-weather-model
    * restores the build and link that were hacked during the Hera Rocky 8
    transition to allow for UPP submodule
    * Removes forecast directories in clean-up

    Resolves #2617
    Resolves #2437

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 15eaf35fb13f361be400be38a5f7ca7b5461ab1d
Author: Eric Sinsky - NOAA <[email protected]>
Date:   Wed Jun 12 01:15:37 2024 -0400

    Add ability to process ocean/ice products specific to GEFS (#2561)

    This PR begins to add the capability to produce GEFSv13 ocean and ice
    products in the global-workflow according to stakeholder requirements.
    The following features are added.

    - An oceanice prod yaml file has been added to address the ocean and ice
    products specific to GEFSv13.
    - The rocoto dependencies and config.base for GEFS have also been
    modified to allow for 24-hour averaged ocean and ice output.
    - Various scripts have been modified to allow for ocean and ice output
    frequencies of 24 hours.
    - `FHOUT_OCNICE` has been split into two variables called `FHOUT_OCN`
    and `FHOUT_ICE`. The same has been done for `FHOUT_OCNICE_GFS`.

    Refs #1878

commit 6691e7489650e0b738c176fbd096109288dc09b6
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 11 21:15:07 2024 -0600

    Update cleanup job to use COMIN/COMOUT (#2649)

    NCO has requested that each COM variable specify whether it is an input
    or an output. This completes that process for the global-workflow
    clean-up task.

    Refs #2451

    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 23a8d8835dd4c5d69ca20f5ff23705f30f17b4b0
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Tue Jun 11 16:17:25 2024 -0400

    Add overwrite to creat experiment in BASH CI (#2676)

    This is a quick hotfix to the CI BASH driver script adding `--overwrite`
    to create experiment script to avoid errors from restarting an
    experiment.

commit e7909af8d9e1f34140388a3f8556d8e582c58fe5
Author: emilyhcliu <[email protected]>
Date:   Mon Jun 10 15:11:27 2024 -0400

    Add handling to select CRTM cloud optical table based on cloud scheme and update calcanal_gfs.py  (#2645)

    This PR proposes updates for the following two scripts:

    1. In **scripts/exglobal_atmos_analysis.sh** --- Add handling to select
    CRTM cloud optical table based on cloud microphysical scheme indicated
    by `imp_physics'
    The default scheme in the GFS forecast model is Thompson scheme
    (imp_physics = 8).

    2. In **/ush/calcanl_gfs.py** --- Increase the MPI number declared in
    the script due to increased variables to interplate increments and
    calculate analysis in the netcdf_io routines in GSI-utils.
    Here is the related [PR #46 for
    GSI-utils](https://github.com/NOAA-EMC/GSI-utils/pull/46).

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 9caa51de8fb7be07d2e61775da01937d576964f6
Author: Henry R. Winterbottom <[email protected]>
Date:   Thu Jun 6 22:15:23 2024 -0600

    Update RDHPCS Hera resource for `eupd` task (#2636)

    As per @wx20jjung, the resource for the `eupd` task have been updated
    for RDHPCS Hera to account for memory issues for C384 `gdaseupd` job
    fails.

    Resolves #2454

    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit acf3aaa2b1d3e3024b0b5d2fe23eee8c317a980b
Author: DavidNew-NOAA <[email protected]>
Date:   Thu Jun 6 11:49:03 2024 -0400

    Parameterize some things in config.atmanl and config.atmensanl (#2661)

    This PR adds some parameters in config.atmanl and config.atmensanl that
    can be altered with the defaults.yaml. The motivation is to make these
    files match those in the GDASApp JJOB tests (example:
    https://github.com/NOAA-EMC/GDASApp/blob/develop/test/atm/global-workflow/config.atmanl),
    so we can just use the Global Workflow config.atmanl and
    config.atmensanl in the tests rather than custom ones in GDASApp that
    have to be separately updated every time the ones in the Global Workflow
    are updated.

commit 54ea0b73a07921be5fbb07fe41e976888bd3e549
Author: Guillaume Vernieres <[email protected]>
Date:   Thu Jun 6 01:36:02 2024 -0400

    Add links to the ocean insitu obs processing tools (#2644)

    Add links to the marine bufr to ioda converters for the marine insitu
    observations.

    - fixes https://github.com/NOAA-EMC/GDASApp/issues/1106
    - waiting for https://github.com/NOAA-EMC/GDASApp/pull/1135

commit 205d0c2b13e2d7755cec75bf8c978ab20d453862
Author: David Huber <[email protected]>
Date:   Wed Jun 5 17:31:30 2024 +0000

    Update S4 point of contact in docs (#2660)

    Update the point of contact for global workflow issues on S4.

commit aa23ccf1d0d229f9ff1398d84af1fa7ee5bed262
Author: RussTreadon-NOAA <[email protected]>
Date:   Wed Jun 5 12:50:14 2024 -0400

    Enable wcoss2 ufsda build and module load (#2620)

    This PR enables ufsda (`sorc/gdas.cd`) to be built and run on WCOSS2.

    Resolves #2602
    Resolves #2579

commit 67b833e0c7bc390865d453588b4609a1a7ede981
Author: Jessica Meixner <[email protected]>
Date:   Tue Jun 4 13:33:43 2024 -0400

    Update ufs-weather-model  (#2646)

    Updates UFS model to the commit https://github.com/ufs-community/ufs-weather-model/commit/5bec704243286421fc613838fc67a2129e96acd6
    This should resolve the issue and allow C768 runs on Hera and allow for CICE
    to run on WCOSS2 (due to library updates to allow linking).

    From what I can tell, all updates needed were done by
    @HenryWinterbottom-NOAA which were updates for CICE

    Fixes #2490

commit c44d0ac86cfdf78eb87492431bf6d825e8bae637
Author: GwenChen-NOAA <[email protected]>
Date:   Tue Jun 4 10:29:49 2024 -0400

    Update wmo parm files to fix WMO header (#2652)

    This PR updates wmo parm files to switch WMO header of precipitation
    type products (CRAIN, CFRZR, CICEP, and CSNOW) from time averaged to
    instantaneous.

    Resolves #2566

commit 237d6dd213e8b1455d2f45dc5978fb2d3de93e60
Author: Cory Martin <[email protected]>
Date:   Tue Jun 4 13:55:33 2024 +0000

    Add IAU to snow DA (and its test) (#2610)

    This PR enables IAU for the snow DA which is necessary for GFSv17.

    A snow analysis is created for the center of the window regardless, and
    an additional at the beginning of the window is added if IAU is on. The
    former is needed for UPP and the latter, to initialize the model.

    The increment is valid throughout the window for 3DVar, so the same
    increment is added to both forecasts.

    Additionally, the input file that goes into global_cycle has been
    updated to be the output of the JEDI snow analysis instead of the
    forecast (@jiaruidong2017 I recall discussing this, can you confirm this
    is right or am I mistaken)

    This PR also makes the CI test for snow DA (and aerosol DA) include IAU
    rather than without IAU,.

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit c92bf415060750127c9c05a62a1d2851c489551a
Author: David Huber <[email protected]>
Date:   Sat Jun 1 05:11:07 2024 +0000

    Archiving cleanup (#2621)

    1) Adds a lot of comments to the jinja templates for archiving
    2) Rearranges the gdas and enkf templates to a more logical order
    3) Fixes a couple of bugs in the enkf archiving of increments and
    analyses
    4) Disables archiving for the half cycle
    5) Removes the `FITSARC` key from `config.base` and `arcdir.yaml.j2`,
    instead relying on `DO_FIT2OBS`
    6) Updates wxflow to add the option to not allow undefined variables
    when parsing jinja templates and invokes this feature when running
    archives

    Resolves #2612

commit 12aa1e9cd2d159e2b303d2b33d6c79c365688eec
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri May 31 04:57:08 2024 -0400

    Switch to Rocky 9 built external packages on Hercules (#2608)

    The workflow was updated to use modules built on Rocky 9, but the
    external packages (like prepobs) were still pointing to the versions
    built on CentOS (Orion). This transitions to packages built on Rocky 9.

    Updating of the tracker package has been deferred until later. As such,
    the tracker jobs have been disabled by returning immediately if they are
    on Hercules. Since these jobs are small, resource-wise, it should not
    meaningfully impact turnover time.

commit 4422550c01c9214a2b3b8890bdcc898123ee216a
Author: Guoqing Ge <[email protected]>
Date:   Thu May 30 08:05:23 2024 -0600

    Add the capability to use slurm reservation nodes (#2627)

    Add the capability to use slurm reservation nodes
    Add "ACCOUNT_SERVICE" for jobs to run in PARTITION_SERVICE

    Resolves #2626

commit a54153fd9d26126206bc07a1da4e80f50c0c5910
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed May 29 23:24:07 2024 -0400

    Update forecast job to use COMIN/COMOUT (#2622)

    NCO has requested that each COM variable specify whether it is an input
    or an output. This completes that process for the forecast job.

    Refs #2451

    ---------

    Co-authored-by: David Huber <[email protected]>

commit d69a8af95d492982b918670322ed5c41ab074335
Author: Jessica Meixner <[email protected]>
Date:   Wed May 29 21:29:03 2024 -0400

    Update to add 1-deg global wave grid (#2619)

    This PR adds options to use a global 1 deg grid, intended for testing
    with the SFS application.

    Requires new fix file changes NOAA-EMC/global-workflow#2618

commit 0b4670ecf83b99b72835c8380573b2bca7cf5324
Author: Jessica Meixner <[email protected]>
Date:   Wed May 29 17:17:21 2024 -0400

    Add C384mx025_3DVarAOWCDA yamls (#2625)

    Adds the C384mx025_3DVarAOWCDA yaml files for one experiment into a new GFSv17 folder.

commit 2e885d05c64b947f00a3cf055a1277fbfac195c9
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed May 29 13:00:51 2024 -0400

    Script to keep Jenkins Agent persistent from cron (#2634)

    This "persistent" Java Agent launch script can be ran from a cron job:

    - Uses Jenkins Remote API to check the status of the Node connection
    using curl for a given machine.
    - If it is not connected a new agent is launched for that node.

    Resolves #2633

commit bb58e064d8e82ce51802bd6064cfa84cae2cc4d5
Author: GwenChen-NOAA <[email protected]>
Date:   Tue May 28 17:17:11 2024 -0400

    Change GRIB2 parameter names and vertical levels for ocean/ice post (#2611)

    Based on users' feedback, this PR do the following:
    1. Change GRIB2 parameter names DLWRF -> NLWRF and DSWRF -> NSWRF
    2. Change the vertical level of ocean 3D variables (WTMP, SALIN, UOGRD,
      and VOGRD) from "%g m below water surface" to "%g m below sea level"
    3. Round up depth numbers to integer (e.g. 4481.0625 -> 4481 m)

    Co-authored-by: Rahul Mahajan <[email protected]>

commit e53c5e8e0abbc0edf95970a71df0e6e8a2be9f31
Author: DavidNew-NOAA <[email protected]>
Date:   Tue May 28 17:16:23 2024 -0400

    Add atmensanlfv3inc job (#2592)

    This PR creates the atmensanlfv3inc job, the ensemble version of
    atmanlfv3inc, created in GW PR #2420. Its GDASApp companion PR is
    #[1104](https://github.com/NOAA-EMC/GDASApp/pull/1104), and its JCB-GDAS
    companion PR is #[3](https://github.com/NOAA-EMC/jcb-gdas/pull/3).

commit 50c2b8951b29a3c883a778becbf8582f9519eb48
Author: Anil Kumar <[email protected]>
Date:   Tue May 28 13:23:53 2024 -0400

    Global-workflow (AR) Generic updates for Gaea C5 (#2515)

    - Port global-workflow’s build and run capability to Gaea-C5
    - Building global-workflow on Gaea-C5
    - Setting up experiments with global-workflow on Gaea-C5

    ---------

    Co-authored-by: AnilKumar-NOAA <[email protected]>
    Co-authored-by: DavidBurrows-NCO <[email protected]>

commit b6ca771a0c584cbfcbbf9be739765d5f3815df97
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri May 24 10:52:45 2024 -0400

    Update STMP and PTMP settings in host file for Orion and Hercules  (#2614)

    - Updating STMP and PTMP settings in host file for Orion and Hercules
    because they are cross mounted.
    - Also took the opportunity to finally update **SLURM_ACCOUNT** to
    **HPC_ACCOUT** in CI over rides.
    - Added a refactor of the `rocotostat.py` tool that is more pythonic and
    as a execute retry feature because the `rocotostat` utility on Orion has
    been failing sometimes.

commit 7d2c539f45194cd4e5b21bfd4b83a9480189cd0f
Author: Guillaume Vernieres <[email protected]>
Date:   Tue May 21 23:50:50 2024 -0400

    Sea-ice analysis insertion (#2584)

    Allows cycling and restarting CICE with the sea-ice analysis if the
    marine DA is switched on.

    Resolves #2568
    Resolves NOAA-EMC/GDASApp#1103

commit 5369a1ff3a3969149fcf32810fad0e50216752b7
Author: David Huber <[email protected]>
Date:   Tue May 21 22:12:29 2024 +0000

    Refactored archiving (#2491)

    This provides a new pygfs task, archive.py, that provides all of the
    tools necessary to archive data to the local (`ARCDIR`) and backup
    (`ATARDIR`) archive directories. YAML-Jinja2 templates are provided to
    define the file to be archived or tarred to replace the
    `hpssarch_gen.sh`, `exglobal_earc`, and `exglobal_archive.sh` scripts
    and make it easier to add new data and explicitly handle optional and
    required files.

    For `ATARDIR` archiving, a master jinja template is provided for each
    `RUN` (i.e. master_gdas.yaml.j2, master_gfs.yaml.j2,
    master_enkf.yaml.j2). The master_enkf.yaml.j2 template is used for both
    `enkfgdas` and `enkfgfs` `RUN`s. These templates then include the
    appropriate `RUN`-specific jinja templates (e.g. gdas.yaml.j2) based on
    experiment, cycle, and coupled parameters. Each of these templates
    corresponds to a single tarball to populate and are tabbed 4 spaces so
    they are defined within the master `datasets` dictionary.

    Future developers should not have to make modifications to archive.py
    unless archiving is being enabled for a new `RUN` (e.g. `gefs`) and then
    only a single `elif` needs to be added to the configure method to
    specify the master `ATARDIR` template to archive (e.g.
    `master_gefs.yaml.j2`). If a new component is coming online that needs
    to be archived to `ATARDIR` (e.g. SNOW), then create a new template for
    each `RUN` that it needs to be archived for (e.g. `gdassnow.yaml.j2`)
    and reference the template in the appropriate master templates, e.g.

    `master_gdas.yaml:`
    ```jinja
    {% if DO_SNOW %}
    {% include "gdassnow.yaml.j2" %}
    {% endif %}
    ```

    A few other issues were addressed along the way:
    1. Aerosols have been reenabled. Aerosol forecasts should only be
    performed during gdas cycles, but analyses can be performed for both gfs
    and gdas cycles. This was accomplished by setting separate
    `AERO_<job>_CDUMP` variables to parse on for both `ANL` and `FCST` jobs.
    2. Fixed the name of the `cice6_rst_ok` variable in `forecast_det.sh`.
    This prevented restarts from being used for cice-enable experiments.
    This feature was not tested.
    3. Create a temporary fix for the `wgrib` utility. For spack-stack
    1.6.0, the `grib-util` module file does not declare `WGRIB`. An issue is
    open (https://github.com/JCSDA/spack-stack/issues/1097) to fix this in
    existing installations. Once complete, this temporary fix should be
    removed.
    4. The number of `earc` jobs has been reduced for lower resolution
    experiments. Both C48 and C96 experiments will now only have two earc
    jobs (one for the non-member files to archive and another for the member
    files). C192 will have up to 3 earc jobs (one non-member, one for
    members 1-40 and another for members 41-80, if needed).

    Resolves #2345
    Resolves #2318

    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 9aad86f27d37d19165b9a0b64cf70c7a4dd6362c
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri May 17 12:57:59 2024 -0400

     Add remove RUNDIRS step in CI before creating experements (#2607)

    As had been done in Bash CI we need to remove the RUNDIR in Jenkins
    before a creating an experiment in the event that case had beem
    previously ran.

commit 09333c01dbafddb2d2fe7e181b479af3cc6d3621
Merge: f7e9f4489 bb930050b
Author: Janet Derrico <[email protected]>
Date:   Thu May 16 14:33:19 2024 -0600

    Merge branch 'NOAA-EMC:develop' into develop

commit bb930050b3cd51d28ecba6b231c8675f6d11856c
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Thu May 16 12:28:30 2024 -0400

    Adds jjob and other necessities for marine LETKF task (#2564)

    Adds jjob, rocoto script, config file, and other necessities for new
    marine LETKF task.

    Partially addresses NOAA-EMC/GDASApp#1091

commit 2c50fbde4d6cc3e53c55dca56925353a02fd1730
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu May 16 12:12:06 2024 -0400

    Updating CI Machine configs with redundant PTMP (#2605)

    Quick fix adding PTMP as STMP in Machine configs for CI for completeness

commit ef340ff33a6f89adf70838206ba3fd56a953fa7a
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu May 16 11:37:30 2024 -0400

    Fix race condition in CI between Orion and Hercules (#2604)

    Hotfix to solve race conditions in the CI system due to cross-mounted
    file systems between Orion and Hercules

commit e8b17e27f719df280170dc3f5bd9f19917cefaf2
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed May 15 17:16:30 2024 -0400

    Remove existing EXPDIRs and COMROTs when CI is re-run (#2601)

    Quick hotfix for having default for re-runing jobs to start clean with
    new EXPDIRs and COMROTs

commit b5d113efb1970ede5cd1d3d4dff8d96320519c41
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed May 15 16:52:49 2024 -0400

    Moving logic for skipping hosts in pr cases (#2573)

    This PR removes the logic of skipping hosts for pr cases from
    `create_experiment.py` and moves it to a test in the cron bash driver
    using a `parse_yaml.py` python tool.

    The Jenkins pipeline was not effected as it uses the
    `get_host_case_list.py` utility to form the cases on a per host bases.

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 3cd0c68c0de9900bc7b73e1ed7621573dff5e916
Author: RussTreadon-NOAA <[email protected]>
Date:   Wed May 15 13:13:30 2024 -0400

    Update gsi_utils.fd hash (#2598)

    This PR updates the `gsi_utils.fd` hash to bring in updates which add
    safeguards to
    -
    `src/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90`
    - `src/EnKF/gfs/src/recentersigp.fd/recentersigp.f90`

    The safeguards are described in GSI-utils PR
    [#41](https://github.com/NOAA-EMC/GSI-utils/pull/41) and the associated
    issue.

    Resolves #2597

commit d5366c66bd67f89d118b18956fe230207cbf0aea
Author: Kate Friedman <[email protected]>
Date:   Wed May 15 13:12:56 2024 -0400

    Update CICE and MOM6 fix versions (#2600)

    This PR updates the CICE (`cice_ver`) and MOM6 (`mom6_ver`) fix versions
    to the newer `20240416` timestamps, which includes updates and fixes to
    the `100` (1-deg) resolution files.

    Resolves #2480
    Resolves #2483
    Resolves #2595

commit 6ca106e6c0466d7165fc37b147e0e2735a1d6a0b
Author: David Huber <[email protected]>
Date:   Mon May 13 22:57:38 2024 +0000

    Limit gfswavepostpnt to 40 PEs/node (#2588)

    This fixes the slow runtime of the gfswavepostpnt job on Hercules. The
    job is very I/O intensive and does not scale well to large nodes, so
    limit the number of jobs/node to 40.

    Resolves #2587

commit 4fb7c12c325702a47f27c802a5067efd33d0327c
Author: Fanglin Yang <[email protected]>
Date:   Mon May 13 16:37:51 2024 -0400

    Update damping and time-step (#2575)

    Updates the model to use explicit Rayleigh damping for u/v and implicit
    damping to w. This improves model stability and allows for longer
    timesteps. Also unifies the GDAS and GFS to use the same damping.

    Results from a test at the C1152 resolution (coupled model) can be found
    at https://www.emc.ncep.noaa.gov/gmb/wx24fy/C1152/newdamp/

    Resolves #2574

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
    Co-authored-by: Lisa Bengtsson <[email protected]>
    Co-authored-by: Rahul Mahajan <[email protected]>

commit 6a9c1372ecce9e50e4f6e10e56f6e504cde1afe6
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri May 10 14:17:13 2024 -0400

    Do not use BUILT_semphore to force rebuilds when re-run (#2593)

    Remove the placement of the `BUILT_semaphore` file after the build in
    the Jenkins Pipeline and force it to rebuild any changes after a PR is
    re-ran.

commit 2346c6161f75ae02369cbf30f30c6150d3e12b66
Author: Innocent Souopgui <[email protected]>
Date:   Thu May 9 21:17:06 2024 -0500

    Migration to Rocky8 spack-stack installations on Jet (#2458)

    # Description
    Migrates Global Workflow to Rocky8 spack-stack installations on Jet.
    Jet has moved from CentOS7 to Rocky8.

    Resolves #2377
    Refs NOAA-EMC/UPP#919
    Refs NOAA-EMC/gfs-utils#60
    Refs NOAA-EMC/GSI#732
    Refs NOAA-EMC/GSI-Monitor#130
    Refs NOAA-EMC/GSI-utils#33

commit c7b3973014480a20dd8e24edaeb83a9e9e68159f
Author: Jessica Meixner <[email protected]>
Date:   Thu May 9 11:36:58 2024 -0400

    Updates for cold start half cycle, then continuing with IAU for WCDA (#2560)

    This PR allows us to run C384 S2S with IAU, but starting with the first
    half-cycle as a cold-start. This will be necessary for cycled testing as
    we build towards the full system for GFSv17. This updates the copying of
    the restarts for RUN=gdas for both ocean and ice copying what the atm
    model is doing. It also reduced the amount of restart files from 4 to 3.

    Other updates:
    * Add DOJEDI ocean triggers for archiving certain files update from:
    @CatherineThomas-NOAA
    * Adds COPY_FINAL_RESTARTS option to turn on/off copying the last
    restart file to COM. Defaults to off...
    * Defines model_start_date_current_cycle & model_start_date_next_cycle
    to help with knowing which IC to grab.

    Refs #2546

    Co-authored-by: Rahul Mahajan <[email protected]>

commit b405b7d3d11d384ce9fe3b9cd2180f315f7b38f2
Author: Dan Holdaway <[email protected]>
Date:   Wed May 8 20:52:48 2024 -0400

    Use JCB for assembling JEDI YAML files for atmospheric GDAS (#2477)

    Change the JEDI YAML assembly for the atmospheric GDAS to use the JEDI
    Configuration Builder (JCB) tool so that YAMLs can be made more portable
    and invoke the observation chronicle mechanism.

    Resolves #2476

    Co-authored-by: danholdaway <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 0cf0349c1f88048806e68ab58e93a3261b7a0e95
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed May 8 02:04:16 2024 -0400

    Add CI test for products (#2567)

    Adds a new version of the atm3DVar test that runs the full forecast
    length and produces most of the secondary products. For now, this test
    will only run on WCOSS due to gempak failures on other machines as well
    as computational needs. On other machines, the original version will run
    (the original version will not run on WCOSS). AWIPS remains off for now
    in this extended test due to a bug involving tocgrib2 and the convective
    precip fields (see #2566).

    The new test runs for 4½ cycles and the full 384-hr forecast length to
    ensure all gempak scripts are exercised. Since the cycle throttle is 3
    and the bulk of the time is in the free forecast, the cycles run mostly
    concurrently so it doesn't extend the total test time too much beyond
    that of a single 384-hr forecast.

    Fixes a bug in NPOESS that was introduced when the post filenames were
    reverted to the previous format for the GOES products until the final
    filenames are determined (#2499).

    Also removes the AWIPS g2 job from the rocoto mesh to complete the
    retirement of grib1 products.

    Resolves #2132
    Resolves #2445

commit 9b6f8404ac4507d14adc404b77cfdf002b55e832
Author: Rahul Mahajan <[email protected]>
Date:   Tue May 7 00:14:36 2024 -0400

    Add task to prepare emissions for GEFS (#2562)

    This PR:
    - introduces a task to prepare emissions for a forecast into the GEFS
    application.
    - adds configuration, j-job, rocoto job, ex-script and the python class
    for this job
    - updates GEFS workflow to be able to generate the XML to call this job.
    - updates the `fcst` and `efcs` job dependencies in the GEFS application
    to depend on `prep_emissions` if aerosols are turned ON.
    - provides a placeholder for @bbakernoaa to work on the details for
    preparing emissions.

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 233c18815d2e8e6b344f161fd0c102a4fbdfb66d
Author: Dan Holdaway <[email protected]>
Date:   Mon May 6 18:11:35 2024 -0400

    Single Executable for main GDAS JEDI applications (#2565)

    Changes that accompany GDAS PR (NOAA-EMC/GDASApp/pull/1075) that allows
    building of a single gdas executable, which should be more compliant
    with NCO requirements.

    Addresses https://github.com/NOAA-EMC/GDASApp/issues/1085

commit a005244bbfb2f1c525bca60d966f8095aa1acb8e
Author: Guoqing Ge <[email protected]>
Date:   Thu May 2 20:32:53 2024 -0600

    Add nest capability (#2545)

    This PR adds the global nesting capability to the global workflow so
    that one can run a regional domain nested in a global run.

    Resolves #2544

    Co-authored-by: Rahul Mahajan <[email protected]>

commit cb87daaced9fddd17f8370a1842d7e4ddab24e8f
Author: DavidBurrows-NCO <[email protected]>
Date:   Thu May 2 15:30:53 2024 -0400

    Update gfs_utils for Gaea (#2556)

    What: add build capability to the gfs_utils submod within the global
    workflow on Gaea

    Refs #2535

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 707a1cc5124bcd8e006839a17f76ceb88f45f902
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed May 1 18:13:02 2024 -0600

    Updated GEMPAK version and APRUN launcher. (#2555)

    This PR addresses issue #2248 and #2513. The following is accomplished:

    - Updates the parallel executable for GEMPAK applications;
    - Updates the GEMPAK version for RDHPCS Hera.

    Describe your changes. Focus on the *what* and *why*. The *how* will be
    evident from the changes. In particular, be sure to note any interface
    changes, such as command line syntax, that will need to be communicated
    to users.

    At the end of your description, please be sure to add the issue this PR
    solves using the word "Resolves". If there are any issues that are
    related but not yet resolved (including in other repos), you may use
    "Refs".

    Resolves #2248
    Resolves #2513

    Co-authored-by: David Huber <[email protected]>
    Co-authored-by: henrywinterbottom-wxdev <[email protected]>

commit f151cbf394e998ca0fdae893ca174499468d0c85
Author: Travis Elless <[email protected]>
Date:   Wed May 1 11:01:18 2024 -0400

    Utilize scale-dependent localization for atmospheric analysis (#2542)

    The plan for GFSv17 is to use a scale-dependent localization for the
    atmospheric analysis. This PR adds the necessary parameters to allow
    this feature to be used by default.

commit 53b6764392cb4c0f3b4506ccd3f8cba5c5d2c56e
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Tue Apr 30 16:37:54 2024 -0400

    Remove implicit symlink names (#2527)

    Lustre has a defect under Rocky 9 that results in symlink sometimes
    failing when the link name is not explicit. This updates all link
    creation to use explicit names.

    `config.base` is updated to turn off two monitor jobs on Hercules
    because the executables are not yet built there. This, combined with the
    previous change, should make workflow available for use on Hercules.

    Also removes the redundant utility names for NCP, NLN, etc. in the gdas
    scripts that are already defined in `config.base`.

    Resolves #2131
    Resolves #2522

commit f7e9f4489fc0b10830f621fdf149e8e3149d6a51
Merge: 67a4810c4 762f040a2
Author: Janet Derrico <[email protected]>
Date:   Tue Apr 30 12:24:48 2024 -0600

    Merge branch 'NOAA-EMC:develop' into develop

commit 762f040a2045db17cdacd9026df9c4b8fd520156
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Mon Apr 29 22:26:28 2024 -0400

    Fixes sea ice archiving (#2541)

    Removes/changes sea ice output files that are failing to be added to
    list for archiving, causing `gdasarch` to fail in WCDA cycling.

    Resolves https://github.com/NOAA-EMC/GDASApp/issues/1044

commit 2ecf4f86e0cbe59407ba2c4e105ee7292f1eda01
Author: RussTreadon-NOAA <[email protected]>
Date:   Mon Apr 29 22:25:57 2024 -0400

    Link ensemble analysis increment files to COMROOT for warm_start (#2553)

    Scripting is added to `setup_expt.py` to link ensemble analysis
    increment files to COMROOT for warm_start experiments.

    Resolves #2552

commit 3a7abe1d63c573006e0e656237f1220002c3f579
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Tue Apr 30 02:25:28 2024 +0000

    Launch Multiple Platforms to Jenkins with polling (#2548)

    When launching Jenkins CI Tests all requested RDHPCS machines can now be
    selected via the Ready label at once.
    This is all that is required sense polling also works now on the
    controller end.

    Killing the jobs still needs to be done directly on the Jenkins
    Controller.
    Do not try to update the CI process using Labels. It is for launching
    only.
    Jenkins will update the labels as the states change.

    NOTE: When a case fails the label will be update to a **Fail** for that
    system but will continue to report failures of subsequent cases until
    otherwise stopped in the Jenkins Controller directly.

    Do not update any labels to …
WalterKolczynski-NOAA added a commit to WalterKolczynski-NOAA/global-workflow that referenced this issue Sep 17, 2024
To facilitate longer and more flexible GFS cadences, the `gfs_cyc`
variable is replaced with a specified interval. Up front, this is
reflected in a change in the arguments for setup_exp to:

```
--interval <n_hours>
```

Where `n_hours` is the interval (in hours) between gfs forecasts.
`n_hours` must be a multiple of 6. If 0, no gfs will be run (only
gdas; only valid for cycled mode). The default value is 6 (every
cycle).

In cycled mode, there is an additional argument to control which
cycle will be the first gfs cycle:

```
---sdate_gfs <YYYYMMDDHH>
```

The default if not provided is `--idate` + 6h (first full cycle).

As part of this change, some of the validation of the dates has
been added. `--edate` has also been made optional and defaults to
`--idate` if not provided.

During `config.base` template-filling, `INTERVAL_GFS` (renamed from
`STEP_GFS`) is defined as `--interval` and `SDATE_GFS as
`--sdate_gfs`.

Some changes were necessary to the gfs verification (metp) job, as
`gfs_cyc` was being used downstream by verif-global. That has been
removed, and instead workflow will be responsible for only running
metp on the correct cycles. This also removes "do nothing" metp
tasks that exit immediately, because only the last GFS cycle in a
day would actually process verification.

Now, metp has its own cycledef and always runs at 18z, regardless
of whether gfs is running at 18z or not. This is simplier than
trying to determine the last gfs cycle of a day when it could
change from day to day. To facilitate this change, support for the
undocumented rocoto dependency tag `taskvalid` is added, as the
metp task needs to know whether the cycle has a gfsarch task or not.
metp will trigger on gfsarch completing (as before), or gdasarch
completing if there is no gfsarch.

metp tasks are no longer generated for forecast-only, as the pgbanl
files (copied of the 1p00 pgbanl files) are not generated for f-o
anyway. If metp is needed for f-o, additional work will be needed.

Additionally, a couple EE2 issues with the metp job are resolved
(even though it is not run in ops):
- verif-global update replaced `$CDUMP` with `$RUN`
- `$DATAROOT` is no longer redefined in the metp job

Depends on NOAA-EMC/EMC_verif-global#137
Resolves NOAA-EMC#260
Refs NOAA-EMC#1299
kayeekayee added a commit to kayeekayee/global-workflow that referenced this issue Sep 18, 2024
 - based on gsl_ufs_dev from KaYee's fork
   global-workflow: 07Aug24,37c53ac [develop_07Aug2024_37c53ac]
   UFS: 19Jul24, c127601
   FV3: 19Jul24, 2527c11
   UPP: 23Apr24, be0410e
   CCPP-PHYSICS: 19Jul24, 46df080
   UFS_UTILS: 26Jun24, 3ef2e6b

Squashed commit of the following:

commit 70b557836379bb7e545fcc6642e28d66cfc17735
Merge: 5edbd123e 37c53ac69
Author: Janet Derrico <[email protected]>
Date:   Wed Aug 7 11:02:24 2024 -0600

    Merge branch 'NOAA-EMC:develop' into develop

commit 37c53ac692274eb5e9f9a3220033406e8c4b4a04
Author: Kate Friedman <[email protected]>
Date:   Wed Aug 7 08:11:21 2024 -0400

    Revert MSU FIX_DIRs back to glopara (#2811)

commit 876dfee26ad67e1f729bbf52b3167d48ea5a7517
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Tue Aug 6 14:47:36 2024 -0400

    Bugfix for updating label states in Jenkins (#2808)

    Quick bug fix for updating state labels in CI during finalize.
    (did not reference GitHub CLI executable correctly in the pipeline
    script)

commit 8fee36f0307b0c08080e3a8fa8fa6703e7da5fce
Author: Rahul Mahajan <[email protected]>
Date:   Tue Aug 6 11:02:45 2024 -0400

    Clean-up temporary rundirs - take 2. (#2753)

    This PR:
    - is a follow-up to a previous PR that aggressively pruned run
    directories.
    - removes run directories for the current cycle in the clean-up if the
    cycle is successful. If the cycle is not successful, cleanup is not
    called and all run directories for the cycle are safe from being purged.
    - also updates the PR template to list/query for any updates to
    submodules.

    ---------

    Co-authored-by: David Huber <[email protected]>
    Co-authored-by: David Huber <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit d599fff4aedd41ae587dbe02226acb12ff48efc1
Author: HelinWei-NOAA <[email protected]>
Date:   Mon Aug 5 05:31:31 2024 -0400

    Change land surface for HR4 (#2787)

    Resets the default value of opt_diag to 2 corresponding to the land
    surface upgrades in ufs-weather-model for HR4.

    Resolves #2786

commit 6d7f7e860a0c7062f90bf09fdf9a5d19dc77cfdb
Author: David Huber <[email protected]>
Date:   Fri Aug 2 15:41:29 2024 -0400

    Run METplus serially and correct the name of prod tasks (#2804)

    Adds 2 hot fixes:

    - METplus v9.1.3 has a bug in it that sometimes attempts to create
    multiple copies of the same directory when running in parallel, causing
    a Python error and downstream problems. This PR makes METplus run in
    serial mode, preventing such issues.
    - Corrects the name of the atmos_prod, ocean_prod, and ice_prod tasks in
    workflow/rocoto/tasks.py (was accidentally changed to e.g. atmosprod)

commit 0706c59ac53cc3bbfbaa56cbd7fa75ab51117830
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri Aug 2 15:03:45 2024 -0400

    Update Java Agent launching script for Jenkins connections (#2762)

    Made updates to the Jenkins Launching Script for robustness and less
    ambiguous documentation:
    - Clearer distinction between required user token for the remote api and
    the systems token for launching
    - Added pre-checks: `gh` is authenticating, named compliant token and
    secret file exists
    - More robust Jason based parser of the remote api response for checking
    the state of the Node connection
    - For `cron` use a 5 minute pause and recheck was added before
    re-launching of the java agent
    - Added concise header documentation of requirements and purpose
    ---------

    Co-authored-by: David Huber <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit b73b1fd203496db97f8067652659573a632bcc67
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri Aug 2 07:59:06 2024 -0400

    Fix erroneous cdump addition (#2803)

commit 49877046ac3306f6b78ca0ab5d5089ba1aa3e3e3
Author: Rahul Mahajan <[email protected]>
Date:   Thu Aug 1 20:26:13 2024 -0400

    Update ocean post-processing triggers (#2784)

    This PR:
    - replaces `check_netcdf.sh` checker for ocean post-processing with with
    ocean output at the next forecast hour or finishing of the forecast job
    for ocean prod
    - removes no longer needed `ush/check_netcdf.sh`

commit aa2af1ca8d59424a60a1730722bf528775d9e606
Author: GeorgeGayno-NOAA <[email protected]>
Date:   Thu Aug 1 16:46:10 2024 -0400

    Update the gfs_utils repository hash (#2801)

    # Description
    Point to the latest hash of the gfs-utils repository, which contains the
    bug fix to gaussian_sfcanl.

    Resolves #2669.
    Refs: https://github.com/NOAA-EMC/gfs-utils/pull/73

commit d3d85f0e0d573f16a71ca44778021dfc0ccf50c8
Author: David Huber <[email protected]>
Date:   Thu Aug 1 08:12:14 2024 -0400

    Add fixes for metplus jobs when gfs_cyc=2 or 4 (#2791)

    Changes how METplus jobs run so that they run on the last GFS cycle for
    a given `PDY`.

    This is a departure from operations where the METplus jobs run on the
    00Z cycle for the previous 3 cycles and 00Z (i.e. `${PDYm1}06` through
    `${PDY}00`). With this PR, for gfs_cyc=4, METplus jobs will run on
    `${PDY}18` for cycles 00-18. See
    https://github.com/NOAA-EMC/EMC_verif-global/pull/131 for more details.

commit 1cf8b448af562dbb7af198399c78c585977e81da
Author: David Huber <[email protected]>
Date:   Tue Jul 30 10:38:49 2024 -0400

    Simplify resource-related variables, remove CDUMP where unneeded (#2727)

    This overhauls resource-related variables to use a common set of
    variables for each job. In the process, this also removed the use of
    CDUMP in most cases.

    Resolves #1299 #2693

commit 61875f25c9e971f82ae499b5b612d7f095deebd4
Author: Eric Sinsky - NOAA <[email protected]>
Date:   Mon Jul 29 14:40:03 2024 -0400

    Remove f000 from atmos rocoto tasks for replay cases (#2778)

    The main purpose of this PR is to remove the f000 from
    atmosphere-related rocoto tasks when `REPLAY_ICS` is set to `YES`. In
    cases where `REPLAY_ICS` is `YES` and `OFFSET_START_HOUR `is greater
    than `0`, it becomes necessary to have the first lead hour set to
    `OFFSET_START_HOUR ` for the atmosphere-related rocoto tasks. For
    example, when `OFFSET_START_HOUR ` is set to `3`, then the minimum lead
    time for the atmos_prod and atmos_ensstat rocoto tasks needs to be 3 and
    the minimum lead time for the ocean_prod rocoto task needs to be 6
    (assuming `FHOUT_OCN` is 6). This PR makes this rocoto workflow set up
    possible by removing 0 from fhrs for atmosphere-related tasks in
    `gefs_tasks.py` when replaying.

    This PR also moves where f000 is being removed for the ocean_prod and
    ice_prod tasks. The if-block that performs this f000 removal has been
    moved from `tasks.py` to `gefs_tasks.py` and `gfs_tasks.py`.

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>

commit f156a7894d639f177e3e2588f98eec1f6f59aa68
Author: Jessica Meixner <[email protected]>
Date:   Fri Jul 26 14:18:32 2024 -0500

    HR4 GWD update (#2732)

    This update is a combination of the gravity wave drag (GWD) versions
    from the NOAA/GSL and NOAA/PSL

commit a7f6b32ed63efa0de21bfb0ce63364a5b22b9891
Author: David Huber <[email protected]>
Date:   Thu Jul 25 14:26:52 2024 -0400

    Temporarily disable METplus jobs (#2796)

commit 848659691fdbf47e7ccdbbb2ebf22a6e470633a2
Author: Guillaume Vernieres <[email protected]>
Date:   Wed Jul 24 15:00:35 2024 -0400

    Refactoring of the marine B-matrix job (#2749)

    Refactor the functionality of B-matrix generation from the GDASApp

    Resolves #2743

commit 65a7ab75dc0e4baba06a02e11ed0455787056a68
Author: David Huber <[email protected]>
Date:   Tue Jul 23 08:35:48 2024 -0400

    Replace Jinja namespaces with replace_tmpl filter and disable ACCOUNT_SERVICE option (#2775)

    Removes the namespace-based construction of EnKF member COM directories
    in the enkf archive template.

commit c45b9611f3e701b819bd33dc5af29033f060bb91
Author: Eric Sinsky - NOAA <[email protected]>
Date:   Tue Jul 23 00:33:16 2024 -0400

    Add task to process reforecast variables to save on WCOSS2 (#2680)

    # Description
    This PR adds an optional task to the global-workflow to process a subset
    of ocean, ice, wave and atmosphere products to be saved on WCOSS2 for
    the GEFSv13 reforecast. This task is designed to process GEFS variables
    so that specific reforecast product requirements are met. A new variable
    in `config.base` called `DO_EXTRACTVARS` enables this task, which is
    currently called `extractvars`. `DO_EXTRACTVARS` is set to `NO` by
    default and is specifically a task designed to be executed for the
    GEFSv13 reforecast.

    Refs #1878

    # Type of change
    - New feature (adds functionality)

    # Change characteristics
    - Is this a breaking change (a change in existing functionality)? NO
    - Does this change require a documentation update? NO

    # How has this been tested?
    This has been cloned and tested on WCOSS2. This will need to be tested
    on Hera and other platforms on which the reforecast may be running.

    # Checklist
    - [ ] 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
    - [ ] I have commented my code, particularly in hard-to-understand areas
    - [x] My changes generate no new warnings
    - [x] New and existing tests pass with my changes
    - [ ] I have made corresponding changes to the documentation if
    necessary

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 71dc33c6ca991c16ce743760d99feaaf60f2218a
Author: David Huber <[email protected]>
Date:   Mon Jul 22 14:51:53 2024 -0400

    Set METplus process count in config.metp; add verif-global support for Rocky 9 (#2774)

    Fix metp* resources and check that they completed properly; add support for Orion Rocky 9

commit 56df67a90fe090c425199f1285e5aac722c398b1
Author: David Huber <[email protected]>
Date:   Mon Jul 22 09:28:18 2024 -0400

    Hotfix: Update jcb to avoid git-lfs files (#2782)

    Removes git-lfs files from the `GDASApp` `jcb` submodule, allowing it to
    be cloned on Hera.

    This hotfix points to a non-authoritative branch of the GDASApp
    (https://github.com/DavidHuber-NOAA/GDASApp/tree/hotfix/update_jcb) and
    should be updated ASAP back to the authoritative repository.

commit fc668aa422ebbad76ceda1b3bbf8dc0ea432defd
Author: Rahul Mahajan <[email protected]>
Date:   Tue Jul 16 09:44:00 2024 -0400

    Address issues in creating XML for GFS forecast-only with app S2SWA (#2757)

    This bugfix PR:
    - fixes an issue where a user is unable to generate the XML for a GFS
    forecast-only experiment with APP=S2SWA

    Specifically, the changes are related to defining `aero_fcst_cdumps`.
    Following `setup_expt.py`, the user will have to set
    `AERO_FCST_CDUMPS="gdas|gfs|both" depending on their use case in
    `config.base`.

commit e0878dba0e53706a7f53429b61aee2936e2c21bf
Author: Kate Friedman <[email protected]>
Date:   Mon Jul 15 10:25:11 2024 -0400

    Updated prepobs and fit2obs versions for Orion Rocky9 (#2758)

    Update prepobs to v1.0.2 and fit2obs to v1.1.2

    These versions now support Orion Rocky9. Updates are included
    for new install locations on WCOSS2, Hera, Orion/Hercules, and Jet.

commit 4968f3a8de9a5f90651cacd74e38f97bc80b7bbb
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Jul 11 17:48:47 2024 +0000

    CI maintenance updates and adding CI Unit Tests (#2740)

    This PR has a few maintenance updates to the CI pipeline and adds a test
    directory with Unit Tests
    **Major Maintenance updates:**
    - Added try blocks with appropriate messaging to GitHub PR of failure
    for:
    - - **scm** checkout
    - - build fail (with error logs sent as gists)
    - - create experiment fails with `stderr` sent to GitHub PR messaging
    - Pre-stage FAILS from the above are now captured these fails allow
    FINALIZE to update the label to FAIL (i.e. no more "hanging" CI state
    labels in GitHub - see image below)
    **Minor Maintenance updates:**
    - Fix for STALLED cases reviled from PR 2700 (just needed a lambda
    specifier)
    - Fixed path to experiment directory in PR message (had dropped EXPDIR
    in path)
    - Needed `latin-1` decoder in reading log files for publishing
    **Added python Unit Tests for CI functionality:**
    - Installed **Rocoto** and **wxfow** in GitHub Runner for testing key CI
    utility codes
    - Cashed the install of Rocoto in the GitHub Runners to greatly reduce
    stetup time for running the unit tests
    - Unit Tests Python scripts added
    - `test_rocostat.py`: rocoto_statcount() rocoto_summary()
    rocoto_stalled()
      - `test_setup.py`: setup_expt() test_setup_xml()
      - `test_create_experment`: test_create_experiment()
      - - Runs all PR cases that do not have ICs in the GItHub Runner
    - Reporting mechanism in the Actions tab for Python Unit Testing results
    - Test case data for STALLED and RUNNING stored on S3 and pulled using
    wget during runtime of tests

commit 5ef4db74649b8be03402c17aa29c024e71699a7b
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Thu Jul 11 08:59:24 2024 -0400

    Adds contents of constructor and initialize methods to marine LETKF class (#2635)

    Adds contents of constructor and initialize methods to marine LETKF class

    Partially addresses https://github.com/NOAA-EMC/GDASApp/issues/1091
    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: Cory Martin <[email protected]>

commit 8998ec7b74123e953b97a93fa14cc78d471a1aee
Author: David Huber <[email protected]>
Date:   Tue Jul 9 08:31:57 2024 -0400

    Fix GDAS group B restart archiving (#2735)

    Archives the GDAS restartb dataset at a 6-hour offset from restarta

    This allows cycled experiments to restart from the archives.
    The tabbing for the master archive templates was also added to
    improve readability.

    Resolves #2722

commit 3ca74771255727033b9dc043c652ac585178629c
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Tue Jul 9 08:28:54 2024 -0400

    Add fcst dependency to ocnanalprep (#2728)

    Add previous cycle's `fcst` as a dependency to `ocnanalprep`

    This ensures that the availability of restart files to the latter. This addresses a
    seldomly-encountered race condition where `ocnanalprep` fails due to the
    lack of the files.

commit 58fca1668aecd6fb1afd12a441256ad35900e075
Author: Rahul Mahajan <[email protected]>
Date:   Fri Jul 5 15:02:23 2024 -0400

    Update (partially) global-workflow for orion+rocky9 (#2741)

    This PR:
    - updates a few submodules (GSI, GSI-utils, GSI-monitor, UFS_utils,
    GFS-utils) to include recent update to their modulefiles for
    Orion+Rocky9 upgrade
    - updates the modulefiles in global-workflow to load modules from
    Orion+Rocky9 paths
    - updates modulefiles for `gwsetup` and `gwci` as well.
    - removes NCL and GEMPAK from Orion. NCL is not used and GEMPAK is not
    installed.
    - adds `parm/config.gfs/config.resources.ORION` to address GSI
    performance degradation after Rocky 9 upgrade.

    This PR:
    - does not update the build for UPP. Standalone UPP is not available via
    ufs-weather-model as of #2729
    - will need a follow-up update for `prepobs` and `fit2obs` updated
    locations when they are installed in `glopara` space on Orion.

    # Type of change
    - 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

    # How has this been tested?
    This PR is not sufficient for Orion.
    This PR must be tested on other platforms (Hera, WCOSS2) as this PR
    updates submodules.

    # 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
    - [ ] My changes generate no new warnings
    - [ ] New and existing tests pass with my changes
    - [ ] I have made corresponding changes to the documentation if
    necessary

    ---------

    Co-authored-by: Kate Friedman <[email protected]>

commit d65d3d257b38225fac74e86b770f43e1f8ae2d5a
Author: Jessica Meixner <[email protected]>
Date:   Wed Jul 3 21:07:49 2024 -0400

    Update ufs model hash to 20240625 (#2729)

    Updates UFS weather model hash to hash from 2024-06-24 which has orion
    porting updates + a few namelist updates.

commit 2bd106a013805ba4e16dbdc456d6731f8f36ec85
Author: David Huber <[email protected]>
Date:   Wed Jul 3 11:32:40 2024 -0400

    Hotfix for undefined CLUSTERS (#2748)

    Defines `CLUSTERS` as an empty string for all hosts except Gaea and uses
    the native `dict` `get` method to prevent grabbing an unset entry.

commit 7dc6651a3b92194d963675bdc0a9ec3c28499abf
Author: GwenChen-NOAA <[email protected]>
Date:   Wed Jul 3 09:56:08 2024 -0400

    Update gempak job to run one fcst hour per task (#2671)

    This PR updates gempak jobs (gfs, gdas, and goes) from processing all
    forecast hours at once to one forecast hour at a time. This will reduce
    the job runtime to less than 5 min, so restart capability is not needed.

    Resolves #1250
    Ref #2666 #2667
    ---------

    Co-authored-by: Walter.Kolczynski <[email protected]>

commit 8215ae654202186a4f753c3abe937b7b9b91a9c7
Author: Rahul Mahajan <[email protected]>
Date:   Tue Jul 2 16:22:11 2024 -0400

    Hotfix for clusters from #2701 (#2747)

    Fixes an issue created from #2701 that added `CLUSTERS` to the
    `gaea.yaml`.

commit 11943e36ba12b3df49c51942da780698fab02d38
Author: DavidBurrows-NCO <[email protected]>
Date:   Tue Jul 2 12:58:10 2024 -0400

    Fix xml file setup and complete C48 ATM and S2SW runs for CI on Gaea (#2701)

    This PR sets up the ability on Gaea for auto generation of a clean xml
    file, i.e., an xml file that does not need any alterations before
    running rocoto.
    Refs #2572
    Refs #2664

commit de8706702ead0630beb54d868f83aa2cb23f8f79
Author: RussTreadon-NOAA <[email protected]>
Date:   Mon Jul 1 09:29:14 2024 -0400

    Update for JCB policies and stage DA job files with Jinja2-templates (#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](https://github.com/NOAA-EMC/wxflow/pull/30) is a
    companion to this PR.

    Co-authored-by: danholdaway <[email protected]>
    Co-authored-by: DavidNew-NOAA <[email protected]>
    Co-authored-by: DavidNew-NOAA <[email protected]>
    Co-authored-by: Dan Holdaway <[email protected]>

commit c49e4eee1a2ca818b3ecdcb9ea41c3f3e91d585b
Author: Rahul Mahajan <[email protected]>
Date:   Fri Jun 28 14:56:19 2024 -0400

    Revert PR 2681 (#2739)

    This PR:
    - reverts #2681 in part
    - keeps some changes for `RUN`.
    - is a hotfix
    - should be merged ASAP after consensus w/ @guillaumevernieres
    @CatherineThomas-NOAA @WalterKolczynski-NOAA

commit 9476c1237af4adbc95f90bd1bdd34b6b99f2f8a3
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed Jun 26 15:46:08 2024 -0400

    updated Finalize in Jenkinsfile and added try block around scm checkout (#2692)

    We are updating the Jenkins Pipeline with a try block around checkout to
    capture errors for the user.
    Also cleaned up Finalize and added section to clean out workspace on
    success.

commit 968568f682bac7564095440bdb7813abefd76821
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Jun 26 13:27:19 2024 -0400

    Activate snow DA test on WCOSS (#2720)

    Activate the snow DA test on WCOSS.

commit 7706760bb8adbdf78cb640b02739023c886e7699
Author: Rahul Mahajan <[email protected]>
Date:   Wed Jun 26 10:02:22 2024 -0400

    Cleanup of stale RUNDIRS from an experiment (#2719)

    This PR:
    - removes stale temporary scratch run directories from `$DATAROOT/`
    every 3 days.
    - should help to scrub failed attempts.
    - removes an unused variable `RUNDIR` defined in `config.base`

commit 8962991691b5f0857b813bddfd28aa1034d4bd2b
Author: Jessica Meixner <[email protected]>
Date:   Wed Jun 26 09:43:48 2024 -0400

    Update logic for MOM6 number of layers/exception values (#2681)

    Updates the logic to be by run instead of for DO_JEDIOCNVAR to determine
    how many layers and sets the exception value for MOM6 to be 1e-34 for
    all scenarios. Note, we will no longer have zeros in the ocean grib
    output and the DA will also run without issues.

    Fixes https://github.com/NOAA-EMC/global-workflow/issues/2615

commit 12431f76bdce807067929415007592cffc8a2457
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed Jun 26 07:42:35 2024 -0600

    Update wave jobs to use COMIN/COMOUT (#2643)

    NCO has requested that each COM variable specify whether it is an input
    or an output.
    This completes that process for the global-workflow wave
    model and products tasks.
    Refs #2451

commit b902c0bac126c323a07186ad8881384b032b6fda
Author: David Huber <[email protected]>
Date:   Tue Jun 25 07:48:46 2024 -0400

    Assign machine- and RUN-specific resources (#2672)

    Redefine resource variables based explicitly on RUN or CDUMP

    Additionally, machine-specific resources are moved out of
    config.resources and placed in respective config.resources.{machine}
    files.

    Resolves #177 #2672

commit 5edbd123e2878a07f5cce8e3c7ea6147f286633a
Merge: 09333c01d 4e1b937b6
Author: Janet Derrico <[email protected]>
Date:   Mon Jun 24 12:44:05 2024 -0600

    Merge branch 'NOAA-EMC:develop' into develop

commit 4e1b937b67ed220120e81925c4507f03b9b8965f
Author: David Huber <[email protected]>
Date:   Mon Jun 24 10:50:52 2024 -0400

    Add minimum software requirements (#2712)

    Adds a table to HPC documentation stating the minimum support versions

commit f43a86276aaef91efa28faadc71a3cf50e749efe
Author: David Huber <[email protected]>
Date:   Fri Jun 21 13:44:29 2024 -0400

    Fix and simplify online archiving and reenable METplus jobs (#2687)

    This fixes the online archiving portion of the `*arch` and `*earc00`
    jobs, a prerequisite for running METplus.  This also reenables
    METplus by default.

    The approach previously taken created `FileHandler` dictionaries at
    varying levels within the resulting yaml, which was not properly parsed
    by `exglobal_archive.py`. This approach creates a single `FileHandler`
    dictionary and is much less complicated overall.

    Resolves #2673 #2647

commit 8993b42cb91144c0ab0501dc7841ea8d675c4701
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Jun 19 21:51:22 2024 -0400

    Eliminate post groups (#2667)

    Eliminates the post groups used for upp and products jobs so that each
    task only processes one forecast hour. This is more efficient and
    greatly simplifies downstream dependencies that depend on a specific
    forecast hour.

    Resolves #2666
    Refs #2642

commit 0b810c888239853fedd0e4584fe62536c6aaacdf
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 18 20:32:48 2024 -0600

    Removes misleading "No such file or directory" syntax errors from output files (#2688)

    This PR addresses issue #1252. The following is accomplished:

    - Prior to removing files, the existence of a file is checked prior to
    attempting to remove; this is performed as noted
    [here](https://github.com/NOAA-EMC/global-workflow/issues/1252#issue-1538627369);
    this PR only addresses the the `chgrp` issue.

    Refs #1252

    ---------

    Co-authored-by: David Huber <[email protected]>

commit 3270ac3bf00c3ebc8166c70d84647ec44431fbae
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 18 12:17:59 2024 -0600

    Hotfix for bug in template names. (#2697)

    This PR is a hotfix for an incorrectly named (e.g., non-existent) `COM/`
    template.
    Resolves #2696
    Refs #2451

commit 35d4d99eaac669721add9ddcc793153e5ab3b30a
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 18 08:06:53 2024 -0600

    Update archive job to use COMIN/COMOUT (#2668)

    NCO has requested that each COM variable specify whether it is an input
    or an output. This completes that process for the global-workflow
    archive task.

    Refs #2451
    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: David Huber <[email protected]>

commit 47b3a581c8257fa24411fb400df8bb0e1e04972a
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Jun 17 22:55:38 2024 -0400

    Turn on high-frequency output in extended test (#2679)

    Turns on high-frequency (hourly) output in the extended products test to
    exercise that aspect of the code. This test only runs on WCOSS.

    Also adds the hooks to optionally turn on the metplus jobs, but that is
    deferred as they are not currently working correctly.

commit 38f2df9fb0c074b1f80d3c637080be79be693161
Author: David Huber <[email protected]>
Date:   Mon Jun 17 17:12:55 2024 +0000

    Optimize wavepostpnt (#2657)

    Optimize the gfswavepostpnt, gfswavepostbndpntbll, and gfswavepostbndpnt jobs

    This is done by
    1) reducing the number of calls to `sed`, `awk`, `grep`, and `cat` by
    - performing operations on all files at once instead of looping over
    each file
        - removing piped `cat` calls (e.g. `cat <file> | sed 'something'`)
        - combining `sed` and `grep` calls when possible
        - adding logic to `awk` calls instead of handling that logic in bash
    2) minimizing as much as possible the amount of data on disk that has to
    be read in (e.g. limiting sed to read only the line numbers it needs)
    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 5af325a6a4e0a14d180514a418603ca79fada487
Author: Dan Holdaway <[email protected]>
Date:   Fri Jun 14 18:05:23 2024 -0400

    Update GDASapp hash to move JCB into GDASapp (#2665)

    This PR moves JCB into GDASapp. The PR
    also bumps up the hash of GDASapp to what is in `feature/move_jcb`,
    which at time of writing is develop plus the absorption of JCB into
    GDASapp.
    Note that I also took the changes from
    https://github.com/NOAA-EMC/global-workflow/pull/2641 to follow the
    testing @RussTreadon-NOAA has done.

commit 6c93b4554e235fcb4d0004e99a4c4498d55d461b
Author: Yaping Wang <[email protected]>
Date:   Fri Jun 14 10:18:17 2024 -0500

    Add observation preparation job for aerosols DA to workflow (#2624)

    Add a prepaeroobs job to prepare aerosol obs files for DA.

    This job does quality control of the VIIRS aerosol raw observations and
    convert them to ioda format.

    Resolves #2623
    ---------

    Co-authored-by: ypwang19 <[email protected]>
    Co-authored-by: TerrenceMcGuinness-NOAA <[email protected]>
    Co-authored-by: Cory Martin <[email protected]>
    Co-authored-by: David Huber <[email protected]>

commit 5a5fc2be7555f094a0f90fd3a3df22d071ccdfd4
Author: Jessica Meixner <[email protected]>
Date:   Fri Jun 14 11:04:41 2024 -0400

    Remove ocean daily files (#2689)

    This PR removes the ocn_daily files that are produced by the ocean
    component. These files can be recreated by averaging data that exists in
    the 6 hour aveaged files if needed.

    Fixes https://github.com/NOAA-EMC/global-workflow/issues/2675
    Fixes https://github.com/NOAA-EMC/global-workflow/issues/2659 (by
    removing them and making this obsolete)

commit 603a4a8052a5c43ce5986f028c3fcfd5fd248ad4
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Jun 13 12:22:03 2024 -0400

    Update Jenkinsfile

    needed a comma

commit dc21eac6c3941d7f30803891d91d82f4cc1f8183
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Jun 13 11:41:14 2024 -0400

    Add Hercules-EMC to the Jenkins configurable parameter list (#2685)

    This quick-fix PR is to update the Jenkins Pipeline's configurable
    parameter list to include the **Hercules-EMC** node.
    This allows Jenkins users to restart Jobs in the controller when no
    updates have been made.

commit ebacebfbe458634b8c80af6a735d6b6d01e4e406
Author: RussTreadon-NOAA <[email protected]>
Date:   Thu Jun 13 11:20:24 2024 -0400

    Update gdas.cd and gsi_utils hashes (#2641)

    This PR updates the `sorc/gdas.cd` and `sorc/gsi_utils` hashes. The
    updated hashes bring in bug fixes, new UFS DA functionality, and a Gaea
    build for gsi_utils.

    Resolves #2640

commit 34155fb4767769600a1ff95f0a65e37081addc2a
Author: Neil Barton <[email protected]>
Date:   Thu Jun 13 11:18:22 2024 -0400

    Add ability to use GEFS replay ICs (#2559)

    The PR allows the use of ICs from PSL's replay analysis. These replay
    ICs will be used for GEFS reforecasting and SFS. Two main changes are
    associated with these updates: (1) replay ICs being valid at 3Z, and (2)
    the use of warm starts.

    Resolves #1838

    ---------

    Co-authored-by: Jessica Meixner <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
    Co-authored-by: Rahul Mahajan <[email protected]>

commit 6c19a0e3fc4400e1d39288be4ee4fc244b74f699
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed Jun 12 19:25:42 2024 -0600

    Replace `sleep` with `wait_for_file` (#2586)

    This PR addresses issue #2444. The following is accomplished:

    - All `sleep` statements are replaced with `wait_for_file` for the
    relevant scripts beneath `scripts` and `ush`;
    - Indentation and shell-norms are updated where applicable.

    Note: The WAFS scripts are not updated as per @aerorahul direction.

    Resolves #2444

    ---------

    Co-authored-by: henrywinterbottom-wxdev <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 5b2a3d449a0835cec2663aabb06f1c47a3faf84e
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Jun 12 13:31:55 2024 -0400

    Add COM template for JEDI obs (#2678)

    Adds a COM template to define a path to store obs processed for JEDI.
    This will allow UFSDA to stop writing to COM_OBS, which should be
    read-only as it belongs to obsproc in operations.

    No functional change yet.

commit 2e6f1fcde9935619352b1b26cba42ec0f4d845ed
Author: Guoqing Ge <[email protected]>
Date:   Wed Jun 12 09:06:23 2024 -0600

    Link both global-nest fix files and non-nest ones at the same time (#2632)

    This PR enables linking both global-nest fix files and non-nest ones at
    the same time and users can run both nesting and non-nesting experiments
    at the same time without worries about what fix files to be linked.

    Resolves #2631

commit 61de004d4f9e9edf8a31bb173f2719b46451a36a
Author: Jessica Meixner <[email protected]>
Date:   Wed Jun 12 11:03:13 2024 -0400

    Update ufs-weather-model  (#2663)

    Updates ufs-weather-model, this updates RDHPCS to the newer spack-stack
    allowing some temporary fixes to be reverted.
    * removes upp submodule
    * uses upp from the ufs-weather-model
    * restores the build and link that were hacked during the Hera Rocky 8
    transition to allow for UPP submodule
    * Removes forecast directories in clean-up

    Resolves #2617
    Resolves #2437

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 15eaf35fb13f361be400be38a5f7ca7b5461ab1d
Author: Eric Sinsky - NOAA <[email protected]>
Date:   Wed Jun 12 01:15:37 2024 -0400

    Add ability to process ocean/ice products specific to GEFS (#2561)

    This PR begins to add the capability to produce GEFSv13 ocean and ice
    products in the global-workflow according to stakeholder requirements.
    The following features are added.

    - An oceanice prod yaml file has been added to address the ocean and ice
    products specific to GEFSv13.
    - The rocoto dependencies and config.base for GEFS have also been
    modified to allow for 24-hour averaged ocean and ice output.
    - Various scripts have been modified to allow for ocean and ice output
    frequencies of 24 hours.
    - `FHOUT_OCNICE` has been split into two variables called `FHOUT_OCN`
    and `FHOUT_ICE`. The same has been done for `FHOUT_OCNICE_GFS`.

    Refs #1878

commit 6691e7489650e0b738c176fbd096109288dc09b6
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Jun 11 21:15:07 2024 -0600

    Update cleanup job to use COMIN/COMOUT (#2649)

    NCO has requested that each COM variable specify whether it is an input
    or an output. This completes that process for the global-workflow
    clean-up task.

    Refs #2451

    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 23a8d8835dd4c5d69ca20f5ff23705f30f17b4b0
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Tue Jun 11 16:17:25 2024 -0400

    Add overwrite to creat experiment in BASH CI (#2676)

    This is a quick hotfix to the CI BASH driver script adding `--overwrite`
    to create experiment script to avoid errors from restarting an
    experiment.

commit e7909af8d9e1f34140388a3f8556d8e582c58fe5
Author: emilyhcliu <[email protected]>
Date:   Mon Jun 10 15:11:27 2024 -0400

    Add handling to select CRTM cloud optical table based on cloud scheme and update calcanal_gfs.py  (#2645)

    This PR proposes updates for the following two scripts:

    1. In **scripts/exglobal_atmos_analysis.sh** --- Add handling to select
    CRTM cloud optical table based on cloud microphysical scheme indicated
    by `imp_physics'
    The default scheme in the GFS forecast model is Thompson scheme
    (imp_physics = 8).

    2. In **/ush/calcanl_gfs.py** --- Increase the MPI number declared in
    the script due to increased variables to interplate increments and
    calculate analysis in the netcdf_io routines in GSI-utils.
    Here is the related [PR #46 for
    GSI-utils](https://github.com/NOAA-EMC/GSI-utils/pull/46).

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 9caa51de8fb7be07d2e61775da01937d576964f6
Author: Henry R. Winterbottom <[email protected]>
Date:   Thu Jun 6 22:15:23 2024 -0600

    Update RDHPCS Hera resource for `eupd` task (#2636)

    As per @wx20jjung, the resource for the `eupd` task have been updated
    for RDHPCS Hera to account for memory issues for C384 `gdaseupd` job
    fails.

    Resolves #2454

    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit acf3aaa2b1d3e3024b0b5d2fe23eee8c317a980b
Author: DavidNew-NOAA <[email protected]>
Date:   Thu Jun 6 11:49:03 2024 -0400

    Parameterize some things in config.atmanl and config.atmensanl (#2661)

    This PR adds some parameters in config.atmanl and config.atmensanl that
    can be altered with the defaults.yaml. The motivation is to make these
    files match those in the GDASApp JJOB tests (example:
    https://github.com/NOAA-EMC/GDASApp/blob/develop/test/atm/global-workflow/config.atmanl),
    so we can just use the Global Workflow config.atmanl and
    config.atmensanl in the tests rather than custom ones in GDASApp that
    have to be separately updated every time the ones in the Global Workflow
    are updated.

commit 54ea0b73a07921be5fbb07fe41e976888bd3e549
Author: Guillaume Vernieres <[email protected]>
Date:   Thu Jun 6 01:36:02 2024 -0400

    Add links to the ocean insitu obs processing tools (#2644)

    Add links to the marine bufr to ioda converters for the marine insitu
    observations.

    - fixes https://github.com/NOAA-EMC/GDASApp/issues/1106
    - waiting for https://github.com/NOAA-EMC/GDASApp/pull/1135

commit 205d0c2b13e2d7755cec75bf8c978ab20d453862
Author: David Huber <[email protected]>
Date:   Wed Jun 5 17:31:30 2024 +0000

    Update S4 point of contact in docs (#2660)

    Update the point of contact for global workflow issues on S4.

commit aa23ccf1d0d229f9ff1398d84af1fa7ee5bed262
Author: RussTreadon-NOAA <[email protected]>
Date:   Wed Jun 5 12:50:14 2024 -0400

    Enable wcoss2 ufsda build and module load (#2620)

    This PR enables ufsda (`sorc/gdas.cd`) to be built and run on WCOSS2.

    Resolves #2602
    Resolves #2579

commit 67b833e0c7bc390865d453588b4609a1a7ede981
Author: Jessica Meixner <[email protected]>
Date:   Tue Jun 4 13:33:43 2024 -0400

    Update ufs-weather-model  (#2646)

    Updates UFS model to the commit https://github.com/ufs-community/ufs-weather-model/commit/5bec704243286421fc613838fc67a2129e96acd6
    This should resolve the issue and allow C768 runs on Hera and allow for CICE
    to run on WCOSS2 (due to library updates to allow linking).

    From what I can tell, all updates needed were done by
    @HenryWinterbottom-NOAA which were updates for CICE

    Fixes #2490

commit c44d0ac86cfdf78eb87492431bf6d825e8bae637
Author: GwenChen-NOAA <[email protected]>
Date:   Tue Jun 4 10:29:49 2024 -0400

    Update wmo parm files to fix WMO header (#2652)

    This PR updates wmo parm files to switch WMO header of precipitation
    type products (CRAIN, CFRZR, CICEP, and CSNOW) from time averaged to
    instantaneous.

    Resolves #2566

commit 237d6dd213e8b1455d2f45dc5978fb2d3de93e60
Author: Cory Martin <[email protected]>
Date:   Tue Jun 4 13:55:33 2024 +0000

    Add IAU to snow DA (and its test) (#2610)

    This PR enables IAU for the snow DA which is necessary for GFSv17.

    A snow analysis is created for the center of the window regardless, and
    an additional at the beginning of the window is added if IAU is on. The
    former is needed for UPP and the latter, to initialize the model.

    The increment is valid throughout the window for 3DVar, so the same
    increment is added to both forecasts.

    Additionally, the input file that goes into global_cycle has been
    updated to be the output of the JEDI snow analysis instead of the
    forecast (@jiaruidong2017 I recall discussing this, can you confirm this
    is right or am I mistaken)

    This PR also makes the CI test for snow DA (and aerosol DA) include IAU
    rather than without IAU,.

    ---------

    Co-authored-by: Rahul Mahajan <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit c92bf415060750127c9c05a62a1d2851c489551a
Author: David Huber <[email protected]>
Date:   Sat Jun 1 05:11:07 2024 +0000

    Archiving cleanup (#2621)

    1) Adds a lot of comments to the jinja templates for archiving
    2) Rearranges the gdas and enkf templates to a more logical order
    3) Fixes a couple of bugs in the enkf archiving of increments and
    analyses
    4) Disables archiving for the half cycle
    5) Removes the `FITSARC` key from `config.base` and `arcdir.yaml.j2`,
    instead relying on `DO_FIT2OBS`
    6) Updates wxflow to add the option to not allow undefined variables
    when parsing jinja templates and invokes this feature when running
    archives

    Resolves #2612

commit 12aa1e9cd2d159e2b303d2b33d6c79c365688eec
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Fri May 31 04:57:08 2024 -0400

    Switch to Rocky 9 built external packages on Hercules (#2608)

    The workflow was updated to use modules built on Rocky 9, but the
    external packages (like prepobs) were still pointing to the versions
    built on CentOS (Orion). This transitions to packages built on Rocky 9.

    Updating of the tracker package has been deferred until later. As such,
    the tracker jobs have been disabled by returning immediately if they are
    on Hercules. Since these jobs are small, resource-wise, it should not
    meaningfully impact turnover time.

commit 4422550c01c9214a2b3b8890bdcc898123ee216a
Author: Guoqing Ge <[email protected]>
Date:   Thu May 30 08:05:23 2024 -0600

    Add the capability to use slurm reservation nodes (#2627)

    Add the capability to use slurm reservation nodes
    Add "ACCOUNT_SERVICE" for jobs to run in PARTITION_SERVICE

    Resolves #2626

commit a54153fd9d26126206bc07a1da4e80f50c0c5910
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed May 29 23:24:07 2024 -0400

    Update forecast job to use COMIN/COMOUT (#2622)

    NCO has requested that each COM variable specify whether it is an input
    or an output. This completes that process for the forecast job.

    Refs #2451

    ---------

    Co-authored-by: David Huber <[email protected]>

commit d69a8af95d492982b918670322ed5c41ab074335
Author: Jessica Meixner <[email protected]>
Date:   Wed May 29 21:29:03 2024 -0400

    Update to add 1-deg global wave grid (#2619)

    This PR adds options to use a global 1 deg grid, intended for testing
    with the SFS application.

    Requires new fix file changes NOAA-EMC/global-workflow#2618

commit 0b4670ecf83b99b72835c8380573b2bca7cf5324
Author: Jessica Meixner <[email protected]>
Date:   Wed May 29 17:17:21 2024 -0400

    Add C384mx025_3DVarAOWCDA yamls (#2625)

    Adds the C384mx025_3DVarAOWCDA yaml files for one experiment into a new GFSv17 folder.

commit 2e885d05c64b947f00a3cf055a1277fbfac195c9
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed May 29 13:00:51 2024 -0400

    Script to keep Jenkins Agent persistent from cron (#2634)

    This "persistent" Java Agent launch script can be ran from a cron job:

    - Uses Jenkins Remote API to check the status of the Node connection
    using curl for a given machine.
    - If it is not connected a new agent is launched for that node.

    Resolves #2633

commit bb58e064d8e82ce51802bd6064cfa84cae2cc4d5
Author: GwenChen-NOAA <[email protected]>
Date:   Tue May 28 17:17:11 2024 -0400

    Change GRIB2 parameter names and vertical levels for ocean/ice post (#2611)

    Based on users' feedback, this PR do the following:
    1. Change GRIB2 parameter names DLWRF -> NLWRF and DSWRF -> NSWRF
    2. Change the vertical level of ocean 3D variables (WTMP, SALIN, UOGRD,
      and VOGRD) from "%g m below water surface" to "%g m below sea level"
    3. Round up depth numbers to integer (e.g. 4481.0625 -> 4481 m)

    Co-authored-by: Rahul Mahajan <[email protected]>

commit e53c5e8e0abbc0edf95970a71df0e6e8a2be9f31
Author: DavidNew-NOAA <[email protected]>
Date:   Tue May 28 17:16:23 2024 -0400

    Add atmensanlfv3inc job (#2592)

    This PR creates the atmensanlfv3inc job, the ensemble version of
    atmanlfv3inc, created in GW PR #2420. Its GDASApp companion PR is
    #[1104](https://github.com/NOAA-EMC/GDASApp/pull/1104), and its JCB-GDAS
    companion PR is #[3](https://github.com/NOAA-EMC/jcb-gdas/pull/3).

commit 50c2b8951b29a3c883a778becbf8582f9519eb48
Author: Anil Kumar <[email protected]>
Date:   Tue May 28 13:23:53 2024 -0400

    Global-workflow (AR) Generic updates for Gaea C5 (#2515)

    - Port global-workflow’s build and run capability to Gaea-C5
    - Building global-workflow on Gaea-C5
    - Setting up experiments with global-workflow on Gaea-C5

    ---------

    Co-authored-by: AnilKumar-NOAA <[email protected]>
    Co-authored-by: DavidBurrows-NCO <[email protected]>

commit b6ca771a0c584cbfcbbf9be739765d5f3815df97
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri May 24 10:52:45 2024 -0400

    Update STMP and PTMP settings in host file for Orion and Hercules  (#2614)

    - Updating STMP and PTMP settings in host file for Orion and Hercules
    because they are cross mounted.
    - Also took the opportunity to finally update **SLURM_ACCOUNT** to
    **HPC_ACCOUT** in CI over rides.
    - Added a refactor of the `rocotostat.py` tool that is more pythonic and
    as a execute retry feature because the `rocotostat` utility on Orion has
    been failing sometimes.

commit 7d2c539f45194cd4e5b21bfd4b83a9480189cd0f
Author: Guillaume Vernieres <[email protected]>
Date:   Tue May 21 23:50:50 2024 -0400

    Sea-ice analysis insertion (#2584)

    Allows cycling and restarting CICE with the sea-ice analysis if the
    marine DA is switched on.

    Resolves #2568
    Resolves NOAA-EMC/GDASApp#1103

commit 5369a1ff3a3969149fcf32810fad0e50216752b7
Author: David Huber <[email protected]>
Date:   Tue May 21 22:12:29 2024 +0000

    Refactored archiving (#2491)

    This provides a new pygfs task, archive.py, that provides all of the
    tools necessary to archive data to the local (`ARCDIR`) and backup
    (`ATARDIR`) archive directories. YAML-Jinja2 templates are provided to
    define the file to be archived or tarred to replace the
    `hpssarch_gen.sh`, `exglobal_earc`, and `exglobal_archive.sh` scripts
    and make it easier to add new data and explicitly handle optional and
    required files.

    For `ATARDIR` archiving, a master jinja template is provided for each
    `RUN` (i.e. master_gdas.yaml.j2, master_gfs.yaml.j2,
    master_enkf.yaml.j2). The master_enkf.yaml.j2 template is used for both
    `enkfgdas` and `enkfgfs` `RUN`s. These templates then include the
    appropriate `RUN`-specific jinja templates (e.g. gdas.yaml.j2) based on
    experiment, cycle, and coupled parameters. Each of these templates
    corresponds to a single tarball to populate and are tabbed 4 spaces so
    they are defined within the master `datasets` dictionary.

    Future developers should not have to make modifications to archive.py
    unless archiving is being enabled for a new `RUN` (e.g. `gefs`) and then
    only a single `elif` needs to be added to the configure method to
    specify the master `ATARDIR` template to archive (e.g.
    `master_gefs.yaml.j2`). If a new component is coming online that needs
    to be archived to `ATARDIR` (e.g. SNOW), then create a new template for
    each `RUN` that it needs to be archived for (e.g. `gdassnow.yaml.j2`)
    and reference the template in the appropriate master templates, e.g.

    `master_gdas.yaml:`
    ```jinja
    {% if DO_SNOW %}
    {% include "gdassnow.yaml.j2" %}
    {% endif %}
    ```

    A few other issues were addressed along the way:
    1. Aerosols have been reenabled. Aerosol forecasts should only be
    performed during gdas cycles, but analyses can be performed for both gfs
    and gdas cycles. This was accomplished by setting separate
    `AERO_<job>_CDUMP` variables to parse on for both `ANL` and `FCST` jobs.
    2. Fixed the name of the `cice6_rst_ok` variable in `forecast_det.sh`.
    This prevented restarts from being used for cice-enable experiments.
    This feature was not tested.
    3. Create a temporary fix for the `wgrib` utility. For spack-stack
    1.6.0, the `grib-util` module file does not declare `WGRIB`. An issue is
    open (https://github.com/JCSDA/spack-stack/issues/1097) to fix this in
    existing installations. Once complete, this temporary fix should be
    removed.
    4. The number of `earc` jobs has been reduced for lower resolution
    experiments. Both C48 and C96 experiments will now only have two earc
    jobs (one for the non-member files to archive and another for the member
    files). C192 will have up to 3 earc jobs (one non-member, one for
    members 1-40 and another for members 41-80, if needed).

    Resolves #2345
    Resolves #2318

    ---------

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 9aad86f27d37d19165b9a0b64cf70c7a4dd6362c
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri May 17 12:57:59 2024 -0400

     Add remove RUNDIRS step in CI before creating experements (#2607)

    As had been done in Bash CI we need to remove the RUNDIR in Jenkins
    before a creating an experiment in the event that case had beem
    previously ran.

commit 09333c01dbafddb2d2fe7e181b479af3cc6d3621
Merge: f7e9f4489 bb930050b
Author: Janet Derrico <[email protected]>
Date:   Thu May 16 14:33:19 2024 -0600

    Merge branch 'NOAA-EMC:develop' into develop

commit bb930050b3cd51d28ecba6b231c8675f6d11856c
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Thu May 16 12:28:30 2024 -0400

    Adds jjob and other necessities for marine LETKF task (#2564)

    Adds jjob, rocoto script, config file, and other necessities for new
    marine LETKF task.

    Partially addresses NOAA-EMC/GDASApp#1091

commit 2c50fbde4d6cc3e53c55dca56925353a02fd1730
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu May 16 12:12:06 2024 -0400

    Updating CI Machine configs with redundant PTMP (#2605)

    Quick fix adding PTMP as STMP in Machine configs for CI for completeness

commit ef340ff33a6f89adf70838206ba3fd56a953fa7a
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu May 16 11:37:30 2024 -0400

    Fix race condition in CI between Orion and Hercules (#2604)

    Hotfix to solve race conditions in the CI system due to cross-mounted
    file systems between Orion and Hercules

commit e8b17e27f719df280170dc3f5bd9f19917cefaf2
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed May 15 17:16:30 2024 -0400

    Remove existing EXPDIRs and COMROTs when CI is re-run (#2601)

    Quick hotfix for having default for re-runing jobs to start clean with
    new EXPDIRs and COMROTs

commit b5d113efb1970ede5cd1d3d4dff8d96320519c41
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Wed May 15 16:52:49 2024 -0400

    Moving logic for skipping hosts in pr cases (#2573)

    This PR removes the logic of skipping hosts for pr cases from
    `create_experiment.py` and moves it to a test in the cron bash driver
    using a `parse_yaml.py` python tool.

    The Jenkins pipeline was not effected as it uses the
    `get_host_case_list.py` utility to form the cases on a per host bases.

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 3cd0c68c0de9900bc7b73e1ed7621573dff5e916
Author: RussTreadon-NOAA <[email protected]>
Date:   Wed May 15 13:13:30 2024 -0400

    Update gsi_utils.fd hash (#2598)

    This PR updates the `gsi_utils.fd` hash to bring in updates which add
    safeguards to
    -
    `src/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90`
    - `src/EnKF/gfs/src/recentersigp.fd/recentersigp.f90`

    The safeguards are described in GSI-utils PR
    [#41](https://github.com/NOAA-EMC/GSI-utils/pull/41) and the associated
    issue.

    Resolves #2597

commit d5366c66bd67f89d118b18956fe230207cbf0aea
Author: Kate Friedman <[email protected]>
Date:   Wed May 15 13:12:56 2024 -0400

    Update CICE and MOM6 fix versions (#2600)

    This PR updates the CICE (`cice_ver`) and MOM6 (`mom6_ver`) fix versions
    to the newer `20240416` timestamps, which includes updates and fixes to
    the `100` (1-deg) resolution files.

    Resolves #2480
    Resolves #2483
    Resolves #2595

commit 6ca106e6c0466d7165fc37b147e0e2735a1d6a0b
Author: David Huber <[email protected]>
Date:   Mon May 13 22:57:38 2024 +0000

    Limit gfswavepostpnt to 40 PEs/node (#2588)

    This fixes the slow runtime of the gfswavepostpnt job on Hercules. The
    job is very I/O intensive and does not scale well to large nodes, so
    limit the number of jobs/node to 40.

    Resolves #2587

commit 4fb7c12c325702a47f27c802a5067efd33d0327c
Author: Fanglin Yang <[email protected]>
Date:   Mon May 13 16:37:51 2024 -0400

    Update damping and time-step (#2575)

    Updates the model to use explicit Rayleigh damping for u/v and implicit
    damping to w. This improves model stability and allows for longer
    timesteps. Also unifies the GDAS and GFS to use the same damping.

    Results from a test at the C1152 resolution (coupled model) can be found
    at https://www.emc.ncep.noaa.gov/gmb/wx24fy/C1152/newdamp/

    Resolves #2574

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
    Co-authored-by: Lisa Bengtsson <[email protected]>
    Co-authored-by: Rahul Mahajan <[email protected]>

commit 6a9c1372ecce9e50e4f6e10e56f6e504cde1afe6
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri May 10 14:17:13 2024 -0400

    Do not use BUILT_semphore to force rebuilds when re-run (#2593)

    Remove the placement of the `BUILT_semaphore` file after the build in
    the Jenkins Pipeline and force it to rebuild any changes after a PR is
    re-ran.

commit 2346c6161f75ae02369cbf30f30c6150d3e12b66
Author: Innocent Souopgui <[email protected]>
Date:   Thu May 9 21:17:06 2024 -0500

    Migration to Rocky8 spack-stack installations on Jet (#2458)

    # Description
    Migrates Global Workflow to Rocky8 spack-stack installations on Jet.
    Jet has moved from CentOS7 to Rocky8.

    Resolves #2377
    Refs NOAA-EMC/UPP#919
    Refs NOAA-EMC/gfs-utils#60
    Refs NOAA-EMC/GSI#732
    Refs NOAA-EMC/GSI-Monitor#130
    Refs NOAA-EMC/GSI-utils#33

commit c7b3973014480a20dd8e24edaeb83a9e9e68159f
Author: Jessica Meixner <[email protected]>
Date:   Thu May 9 11:36:58 2024 -0400

    Updates for cold start half cycle, then continuing with IAU for WCDA (#2560)

    This PR allows us to run C384 S2S with IAU, but starting with the first
    half-cycle as a cold-start. This will be necessary for cycled testing as
    we build towards the full system for GFSv17. This updates the copying of
    the restarts for RUN=gdas for both ocean and ice copying what the atm
    model is doing. It also reduced the amount of restart files from 4 to 3.

    Other updates:
    * Add DOJEDI ocean triggers for archiving certain files update from:
    @CatherineThomas-NOAA
    * Adds COPY_FINAL_RESTARTS option to turn on/off copying the last
    restart file to COM. Defaults to off...
    * Defines model_start_date_current_cycle & model_start_date_next_cycle
    to help with knowing which IC to grab.

    Refs #2546

    Co-authored-by: Rahul Mahajan <[email protected]>

commit b405b7d3d11d384ce9fe3b9cd2180f315f7b38f2
Author: Dan Holdaway <[email protected]>
Date:   Wed May 8 20:52:48 2024 -0400

    Use JCB for assembling JEDI YAML files for atmospheric GDAS (#2477)

    Change the JEDI YAML assembly for the atmospheric GDAS to use the JEDI
    Configuration Builder (JCB) tool so that YAMLs can be made more portable
    and invoke the observation chronicle mechanism.

    Resolves #2476

    Co-authored-by: danholdaway <[email protected]>
    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 0cf0349c1f88048806e68ab58e93a3261b7a0e95
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed May 8 02:04:16 2024 -0400

    Add CI test for products (#2567)

    Adds a new version of the atm3DVar test that runs the full forecast
    length and produces most of the secondary products. For now, this test
    will only run on WCOSS due to gempak failures on other machines as well
    as computational needs. On other machines, the original version will run
    (the original version will not run on WCOSS). AWIPS remains off for now
    in this extended test due to a bug involving tocgrib2 and the convective
    precip fields (see #2566).

    The new test runs for 4½ cycles and the full 384-hr forecast length to
    ensure all gempak scripts are exercised. Since the cycle throttle is 3
    and the bulk of the time is in the free forecast, the cycles run mostly
    concurrently so it doesn't extend the total test time too much beyond
    that of a single 384-hr forecast.

    Fixes a bug in NPOESS that was introduced when the post filenames were
    reverted to the previous format for the GOES products until the final
    filenames are determined (#2499).

    Also removes the AWIPS g2 job from the rocoto mesh to complete the
    retirement of grib1 products.

    Resolves #2132
    Resolves #2445

commit 9b6f8404ac4507d14adc404b77cfdf002b55e832
Author: Rahul Mahajan <[email protected]>
Date:   Tue May 7 00:14:36 2024 -0400

    Add task to prepare emissions for GEFS (#2562)

    This PR:
    - introduces a task to prepare emissions for a forecast into the GEFS
    application.
    - adds configuration, j-job, rocoto job, ex-script and the python class
    for this job
    - updates GEFS workflow to be able to generate the XML to call this job.
    - updates the `fcst` and `efcs` job dependencies in the GEFS application
    to depend on `prep_emissions` if aerosols are turned ON.
    - provides a placeholder for @bbakernoaa to work on the details for
    preparing emissions.

    Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

commit 233c18815d2e8e6b344f161fd0c102a4fbdfb66d
Author: Dan Holdaway <[email protected]>
Date:   Mon May 6 18:11:35 2024 -0400

    Single Executable for main GDAS JEDI applications (#2565)

    Changes that accompany GDAS PR (NOAA-EMC/GDASApp/pull/1075) that allows
    building of a single gdas executable, which should be more compliant
    with NCO requirements.

    Addresses https://github.com/NOAA-EMC/GDASApp/issues/1085

commit a005244bbfb2f1c525bca60d966f8095aa1acb8e
Author: Guoqing Ge <[email protected]>
Date:   Thu May 2 20:32:53 2024 -0600

    Add nest capability (#2545)

    This PR adds the global nesting capability to the global workflow so
    that one can run a regional domain nested in a global run.

    Resolves #2544

    Co-authored-by: Rahul Mahajan <[email protected]>

commit cb87daaced9fddd17f8370a1842d7e4ddab24e8f
Author: DavidBurrows-NCO <[email protected]>
Date:   Thu May 2 15:30:53 2024 -0400

    Update gfs_utils for Gaea (#2556)

    What: add build capability to the gfs_utils submod within the global
    workflow on Gaea

    Refs #2535

    Co-authored-by: Rahul Mahajan <[email protected]>

commit 707a1cc5124bcd8e006839a17f76ceb88f45f902
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed May 1 18:13:02 2024 -0600

    Updated GEMPAK version and APRUN launcher. (#2555)

    This PR addresses issue #2248 and #2513. The following is accomplished:

    - Updates the parallel executable for GEMPAK applications;
    - Updates the GEMPAK version for RDHPCS Hera.

    Describe your changes. Focus on the *what* and *why*. The *how* will be
    evident from the changes. In particular, be sure to note any interface
    changes, such as command line syntax, that will need to be communicated
    to users.

    At the end of your description, please be sure to add the issue this PR
    solves using the word "Resolves". If there are any issues that are
    related but not yet resolved (including in other repos), you may use
    "Refs".

    Resolves #2248
    Resolves #2513

    Co-authored-by: David Huber <[email protected]>
    Co-authored-by: henrywinterbottom-wxdev <[email protected]>

commit f151cbf394e998ca0fdae893ca174499468d0c85
Author: Travis Elless <[email protected]>
Date:   Wed May 1 11:01:18 2024 -0400

    Utilize scale-dependent localization for atmospheric analysis (#2542)

    The plan for GFSv17 is to use a scale-dependent localization for the
    atmospheric analysis. This PR adds the necessary parameters to allow
    this feature to be used by default.

commit 53b6764392cb4c0f3b4506ccd3f8cba5c5d2c56e
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Tue Apr 30 16:37:54 2024 -0400

    Remove implicit symlink names (#2527)

    Lustre has a defect under Rocky 9 that results in symlink sometimes
    failing when the link name is not explicit. This updates all link
    creation to use explicit names.

    `config.base` is updated to turn off two monitor jobs on Hercules
    because the executables are not yet built there. This, combined with the
    previous change, should make workflow available for use on Hercules.

    Also removes the redundant utility names for NCP, NLN, etc. in the gdas
    scripts that are already defined in `config.base`.

    Resolves #2131
    Resolves #2522

commit f7e9f4489fc0b10830f621fdf149e8e3149d6a51
Merge: 67a4810c4 762f040a2
Author: Janet Derrico <[email protected]>
Date:   Tue Apr 30 12:24:48 2024 -0600

    Merge branch 'NOAA-EMC:develop' into develop

commit 762f040a2045db17cdacd9026df9c4b8fd520156
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Mon Apr 29 22:26:28 2024 -0400

    Fixes sea ice archiving (#2541)

    Removes/changes sea ice output files that are failing to be added to
    list for archiving, causing `gdasarch` to fail in WCDA cycling.

    Resolves https://github.com/NOAA-EMC/GDASApp/issues/1044

commit 2ecf4f86e0cbe59407ba2c4e105ee7292f1eda01
Author: RussTreadon-NOAA <[email protected]>
Date:   Mon Apr 29 22:25:57 2024 -0400

    Link ensemble analysis increment files to COMROOT for warm_start (#2553)

    Scripting is added to `setup_expt.py` to link ensemble analysis
    increment files to COMROOT for warm_start experiments.

    Resolves #2552

commit 3a7abe1d63c573006e0e656237f1220002c3f579
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Tue Apr 30 02:25:28 2024 +0000

    Launch Multiple Platforms to Jenkins with polling (#2548)

    When launching Jenkins CI Tests all requested RDHPCS machines can now be
    selected via the Ready label at once.
    This is all that is required sense polling also works now on the
    controller end.

    Killing the jobs still needs to be done directly on the Jenkins
    Controller.
    Do not try to update the CI process using Labels. It is for launching
    only.
    Jenkins will update the labels as the states change.

    NOTE: When a case fails the label will be update to a **Fail** for that
    system but will continue to report failures of subsequent cases until
    otherwise stopped in the Jenkins Controller directly.

    Do not update any labels…
kayeekayee added a commit to kayeekayee/global-workflow that referenced this issue Sep 18, 2024
Squashed commit of the following:

commit 4e0a81f7acf5ccba5de8d3bdf7ab19cae80812cb
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 18:37:50 2024 +0000

    Fix typos/links/dependancy.

commit d5fdcbf8d6e987dbdfcd6b4da34d0934c8d82c3b
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 07:37:52 2024 +0000

    Fixed missing config.base files.

commit c6239f925369b20fd8488e8537969e2f4f9e7725
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:53:47 2024 +0000

    Update submodule hashs.

commit 32bf790f67b818ff50a7f6b74388fb81ed175b3a
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:09:41 2024 +0000

    Update develop branch, gsl_ufs_dev
     - based on gsl_ufs_dev from KaYee's fork
       global-workflow: 07Aug24,37c53ac [develop_07Aug2024_37c53ac]
       UFS: 19Jul24, c127601
       FV3: 19Jul24, 2527c11
       UPP: 23Apr24, be0410e
       CCPP-PHYSICS: 19Jul24, 46df080
       UFS_UTILS: 26Jun24, 3ef2e6b

    Squashed commit of the following:

    commit 70b557836379bb7e545fcc6642e28d66cfc17735
    Merge: 5edbd123e 37c53ac69
    Author: Janet Derrico <[email protected]>
    Date:   Wed Aug 7 11:02:24 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 37c53ac692274eb5e9f9a3220033406e8c4b4a04
    Author: Kate Friedman <[email protected]>
    Date:   Wed Aug 7 08:11:21 2024 -0400

        Revert MSU FIX_DIRs back to glopara (#2811)

    commit 876dfee26ad67e1f729bbf52b3167d48ea5a7517
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Aug 6 14:47:36 2024 -0400

        Bugfix for updating label states in Jenkins (#2808)

        Quick bug fix for updating state labels in CI during finalize.
        (did not reference GitHub CLI executable correctly in the pipeline
        script)

    commit 8fee36f0307b0c08080e3a8fa8fa6703e7da5fce
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Aug 6 11:02:45 2024 -0400

        Clean-up temporary rundirs - take 2. (#2753)

        This PR:
        - is a follow-up to a previous PR that aggressively pruned run
        directories.
        - removes run directories for the current cycle in the clean-up if the
        cycle is successful. If the cycle is not successful, cleanup is not
        called and all run directories for the cycle are safe from being purged.
        - also updates the PR template to list/query for any updates to
        submodules.

        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit d599fff4aedd41ae587dbe02226acb12ff48efc1
    Author: HelinWei-NOAA <[email protected]>
    Date:   Mon Aug 5 05:31:31 2024 -0400

        Change land surface for HR4 (#2787)

        Resets the default value of opt_diag to 2 corresponding to the land
        surface upgrades in ufs-weather-model for HR4.

        Resolves #2786

    commit 6d7f7e860a0c7062f90bf09fdf9a5d19dc77cfdb
    Author: David Huber <[email protected]>
    Date:   Fri Aug 2 15:41:29 2024 -0400

        Run METplus serially and correct the name of prod tasks (#2804)

        Adds 2 hot fixes:

        - METplus v9.1.3 has a bug in it that sometimes attempts to create
        multiple copies of the same directory when running in parallel, causing
        a Python error and downstream problems. This PR makes METplus run in
        serial mode, preventing such issues.
        - Corrects the name of the atmos_prod, ocean_prod, and ice_prod tasks in
        workflow/rocoto/tasks.py (was accidentally changed to e.g. atmosprod)

    commit 0706c59ac53cc3bbfbaa56cbd7fa75ab51117830
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri Aug 2 15:03:45 2024 -0400

        Update Java Agent launching script for Jenkins connections (#2762)

        Made updates to the Jenkins Launching Script for robustness and less
        ambiguous documentation:
        - Clearer distinction between required user token for the remote api and
        the systems token for launching
        - Added pre-checks: `gh` is authenticating, named compliant token and
        secret file exists
        - More robust Jason based parser of the remote api response for checking
        the state of the Node connection
        - For `cron` use a 5 minute pause and recheck was added before
        re-launching of the java agent
        - Added concise header documentation of requirements and purpose
        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit b73b1fd203496db97f8067652659573a632bcc67
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri Aug 2 07:59:06 2024 -0400

        Fix erroneous cdump addition (#2803)

    commit 49877046ac3306f6b78ca0ab5d5089ba1aa3e3e3
    Author: Rahul Mahajan <[email protected]>
    Date:   Thu Aug 1 20:26:13 2024 -0400

        Update ocean post-processing triggers (#2784)

        This PR:
        - replaces `check_netcdf.sh` checker for ocean post-processing with with
        ocean output at the next forecast hour or finishing of the forecast job
        for ocean prod
        - removes no longer needed `ush/check_netcdf.sh`

    commit aa2af1ca8d59424a60a1730722bf528775d9e606
    Author: GeorgeGayno-NOAA <[email protected]>
    Date:   Thu Aug 1 16:46:10 2024 -0400

        Update the gfs_utils repository hash (#2801)

        # Description
        Point to the latest hash of the gfs-utils repository, which contains the
        bug fix to gaussian_sfcanl.

        Resolves #2669.
        Refs: https://github.com/NOAA-EMC/gfs-utils/pull/73

    commit d3d85f0e0d573f16a71ca44778021dfc0ccf50c8
    Author: David Huber <[email protected]>
    Date:   Thu Aug 1 08:12:14 2024 -0400

        Add fixes for metplus jobs when gfs_cyc=2 or 4 (#2791)

        Changes how METplus jobs run so that they run on the last GFS cycle for
        a given `PDY`.

        This is a departure from operations where the METplus jobs run on the
        00Z cycle for the previous 3 cycles and 00Z (i.e. `${PDYm1}06` through
        `${PDY}00`). With this PR, for gfs_cyc=4, METplus jobs will run on
        `${PDY}18` for cycles 00-18. See
        https://github.com/NOAA-EMC/EMC_verif-global/pull/131 for more details.

    commit 1cf8b448af562dbb7af198399c78c585977e81da
    Author: David Huber <[email protected]>
    Date:   Tue Jul 30 10:38:49 2024 -0400

        Simplify resource-related variables, remove CDUMP where unneeded (#2727)

        This overhauls resource-related variables to use a common set of
        variables for each job. In the process, this also removed the use of
        CDUMP in most cases.

        Resolves #1299 #2693

    commit 61875f25c9e971f82ae499b5b612d7f095deebd4
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Mon Jul 29 14:40:03 2024 -0400

        Remove f000 from atmos rocoto tasks for replay cases (#2778)

        The main purpose of this PR is to remove the f000 from
        atmosphere-related rocoto tasks when `REPLAY_ICS` is set to `YES`. In
        cases where `REPLAY_ICS` is `YES` and `OFFSET_START_HOUR `is greater
        than `0`, it becomes necessary to have the first lead hour set to
        `OFFSET_START_HOUR ` for the atmosphere-related rocoto tasks. For
        example, when `OFFSET_START_HOUR ` is set to `3`, then the minimum lead
        time for the atmos_prod and atmos_ensstat rocoto tasks needs to be 3 and
        the minimum lead time for the ocean_prod rocoto task needs to be 6
        (assuming `FHOUT_OCN` is 6). This PR makes this rocoto workflow set up
        possible by removing 0 from fhrs for atmosphere-related tasks in
        `gefs_tasks.py` when replaying.

        This PR also moves where f000 is being removed for the ocean_prod and
        ice_prod tasks. The if-block that performs this f000 removal has been
        moved from `tasks.py` to `gefs_tasks.py` and `gfs_tasks.py`.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit f156a7894d639f177e3e2588f98eec1f6f59aa68
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jul 26 14:18:32 2024 -0500

        HR4 GWD update (#2732)

        This update is a combination of the gravity wave drag (GWD) versions
        from the NOAA/GSL and NOAA/PSL

    commit a7f6b32ed63efa0de21bfb0ce63364a5b22b9891
    Author: David Huber <[email protected]>
    Date:   Thu Jul 25 14:26:52 2024 -0400

        Temporarily disable METplus jobs (#2796)

    commit 848659691fdbf47e7ccdbbb2ebf22a6e470633a2
    Author: Guillaume Vernieres <[email protected]>
    Date:   Wed Jul 24 15:00:35 2024 -0400

        Refactoring of the marine B-matrix job (#2749)

        Refactor the functionality of B-matrix generation from the GDASApp

        Resolves #2743

    commit 65a7ab75dc0e4baba06a02e11ed0455787056a68
    Author: David Huber <[email protected]>
    Date:   Tue Jul 23 08:35:48 2024 -0400

        Replace Jinja namespaces with replace_tmpl filter and disable ACCOUNT_SERVICE option (#2775)

        Removes the namespace-based construction of EnKF member COM directories
        in the enkf archive template.

    commit c45b9611f3e701b819bd33dc5af29033f060bb91
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Tue Jul 23 00:33:16 2024 -0400

        Add task to process reforecast variables to save on WCOSS2 (#2680)

        # Description
        This PR adds an optional task to the global-workflow to process a subset
        of ocean, ice, wave and atmosphere products to be saved on WCOSS2 for
        the GEFSv13 reforecast. This task is designed to process GEFS variables
        so that specific reforecast product requirements are met. A new variable
        in `config.base` called `DO_EXTRACTVARS` enables this task, which is
        currently called `extractvars`. `DO_EXTRACTVARS` is set to `NO` by
        default and is specifically a task designed to be executed for the
        GEFSv13 reforecast.

        Refs #1878

        # Type of change
        - New feature (adds functionality)

        # Change characteristics
        - Is this a breaking change (a change in existing functionality)? NO
        - Does this change require a documentation update? NO

        # How has this been tested?
        This has been cloned and tested on WCOSS2. This will need to be tested
        on Hera and other platforms on which the reforecast may be running.

        # Checklist
        - [ ] 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
        - [ ] I have commented my code, particularly in hard-to-understand areas
        - [x] My changes generate no new warnings
        - [x] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 71dc33c6ca991c16ce743760d99feaaf60f2218a
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 14:51:53 2024 -0400

        Set METplus process count in config.metp; add verif-global support for Rocky 9 (#2774)

        Fix metp* resources and check that they completed properly; add support for Orion Rocky 9

    commit 56df67a90fe090c425199f1285e5aac722c398b1
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 09:28:18 2024 -0400

        Hotfix: Update jcb to avoid git-lfs files (#2782)

        Removes git-lfs files from the `GDASApp` `jcb` submodule, allowing it to
        be cloned on Hera.

        This hotfix points to a non-authoritative branch of the GDASApp
        (https://github.com/DavidHuber-NOAA/GDASApp/tree/hotfix/update_jcb) and
        should be updated ASAP back to the authoritative repository.

    commit fc668aa422ebbad76ceda1b3bbf8dc0ea432defd
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 16 09:44:00 2024 -0400

        Address issues in creating XML for GFS forecast-only with app S2SWA (#2757)

        This bugfix PR:
        - fixes an issue where a user is unable to generate the XML for a GFS
        forecast-only experiment with APP=S2SWA

        Specifically, the changes are related to defining `aero_fcst_cdumps`.
        Following `setup_expt.py`, the user will have to set
        `AERO_FCST_CDUMPS="gdas|gfs|both" depending on their use case in
        `config.base`.

    commit e0878dba0e53706a7f53429b61aee2936e2c21bf
    Author: Kate Friedman <[email protected]>
    Date:   Mon Jul 15 10:25:11 2024 -0400

        Updated prepobs and fit2obs versions for Orion Rocky9 (#2758)

        Update prepobs to v1.0.2 and fit2obs to v1.1.2

        These versions now support Orion Rocky9. Updates are included
        for new install locations on WCOSS2, Hera, Orion/Hercules, and Jet.

    commit 4968f3a8de9a5f90651cacd74e38f97bc80b7bbb
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jul 11 17:48:47 2024 +0000

        CI maintenance updates and adding CI Unit Tests (#2740)

        This PR has a few maintenance updates to the CI pipeline and adds a test
        directory with Unit Tests
        **Major Maintenance updates:**
        - Added try blocks with appropriate messaging to GitHub PR of failure
        for:
        - - **scm** checkout
        - - build fail (with error logs sent as gists)
        - - create experiment fails with `stderr` sent to GitHub PR messaging
        - Pre-stage FAILS from the above are now captured these fails allow
        FINALIZE to update the label to FAIL (i.e. no more "hanging" CI state
        labels in GitHub - see image below)
        **Minor Maintenance updates:**
        - Fix for STALLED cases reviled from PR 2700 (just needed a lambda
        specifier)
        - Fixed path to experiment directory in PR message (had dropped EXPDIR
        in path)
        - Needed `latin-1` decoder in reading log files for publishing
        **Added python Unit Tests for CI functionality:**
        - Installed **Rocoto** and **wxfow** in GitHub Runner for testing key CI
        utility codes
        - Cashed the install of Rocoto in the GitHub Runners to greatly reduce
        stetup time for running the unit tests
        - Unit Tests Python scripts added
        - `test_rocostat.py`: rocoto_statcount() rocoto_summary()
        rocoto_stalled()
          - `test_setup.py`: setup_expt() test_setup_xml()
          - `test_create_experment`: test_create_experiment()
          - - Runs all PR cases that do not have ICs in the GItHub Runner
        - Reporting mechanism in the Actions tab for Python Unit Testing results
        - Test case data for STALLED and RUNNING stored on S3 and pulled using
        wget during runtime of tests

    commit 5ef4db74649b8be03402c17aa29c024e71699a7b
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu Jul 11 08:59:24 2024 -0400

        Adds contents of constructor and initialize methods to marine LETKF class (#2635)

        Adds contents of constructor and initialize methods to marine LETKF class

        Partially addresses https://github.com/NOAA-EMC/GDASApp/issues/1091
        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>

    commit 8998ec7b74123e953b97a93fa14cc78d471a1aee
    Author: David Huber <[email protected]>
    Date:   Tue Jul 9 08:31:57 2024 -0400

        Fix GDAS group B restart archiving (#2735)

        Archives the GDAS restartb dataset at a 6-hour offset from restarta

        This allows cycled experiments to restart from the archives.
        The tabbing for the master archive templates was also added to
        improve readability.

        Resolves #2722

    commit 3ca74771255727033b9dc043c652ac585178629c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Tue Jul 9 08:28:54 2024 -0400

        Add fcst dependency to ocnanalprep (#2728)

        Add previous cycle's `fcst` as a dependency to `ocnanalprep`

        This ensures that the availability of restart files to the latter. This addresses a
        seldomly-encountered race condition where `ocnanalprep` fails due to the
        lack of the files.

    commit 58fca1668aecd6fb1afd12a441256ad35900e075
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jul 5 15:02:23 2024 -0400

        Update (partially) global-workflow for orion+rocky9 (#2741)

        This PR:
        - updates a few submodules (GSI, GSI-utils, GSI-monitor, UFS_utils,
        GFS-utils) to include recent update to their modulefiles for
        Orion+Rocky9 upgrade
        - updates the modulefiles in global-workflow to load modules from
        Orion+Rocky9 paths
        - updates modulefiles for `gwsetup` and `gwci` as well.
        - removes NCL and GEMPAK from Orion. NCL is not used and GEMPAK is not
        installed.
        - adds `parm/config.gfs/config.resources.ORION` to address GSI
        performance degradation after Rocky 9 upgrade.

        This PR:
        - does not update the build for UPP. Standalone UPP is not available via
        ufs-weather-model as of #2729
        - will need a follow-up update for `prepobs` and `fit2obs` updated
        locations when they are installed in `glopara` space on Orion.

        # Type of change
        - 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

        # How has this been tested?
        This PR is not sufficient for Orion.
        This PR must be tested on other platforms (Hera, WCOSS2) as this PR
        updates submodules.

        # 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
        - [ ] My changes generate no new warnings
        - [ ] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Kate Friedman <[email protected]>

    commit d65d3d257b38225fac74e86b770f43e1f8ae2d5a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jul 3 21:07:49 2024 -0400

        Update ufs model hash to 20240625 (#2729)

        Updates UFS weather model hash to hash from 2024-06-24 which has orion
        porting updates + a few namelist updates.

    commit 2bd106a013805ba4e16dbdc456d6731f8f36ec85
    Author: David Huber <[email protected]>
    Date:   Wed Jul 3 11:32:40 2024 -0400

        Hotfix for undefined CLUSTERS (#2748)

        Defines `CLUSTERS` as an empty string for all hosts except Gaea and uses
        the native `dict` `get` method to prevent grabbing an unset entry.

    commit 7dc6651a3b92194d963675bdc0a9ec3c28499abf
    Author: GwenChen-NOAA <[email protected]>
    Date:   Wed Jul 3 09:56:08 2024 -0400

        Update gempak job to run one fcst hour per task (#2671)

        This PR updates gempak jobs (gfs, gdas, and goes) from processing all
        forecast hours at once to one forecast hour at a time. This will reduce
        the job runtime to less than 5 min, so restart capability is not needed.

        Resolves #1250
        Ref #2666 #2667
        ---------

        Co-authored-by: Walter.Kolczynski <[email protected]>

    commit 8215ae654202186a4f753c3abe937b7b9b91a9c7
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 2 16:22:11 2024 -0400

        Hotfix for clusters from #2701 (#2747)

        Fixes an issue created from #2701 that added `CLUSTERS` to the
        `gaea.yaml`.

    commit 11943e36ba12b3df49c51942da780698fab02d38
    Author: DavidBurrows-NCO <[email protected]>
    Date:   Tue Jul 2 12:58:10 2024 -0400

        Fix xml file setup and complete C48 ATM and S2SW runs for CI on Gaea (#2701)

        This PR sets up the ability on Gaea for auto generation of a clean xml
        file, i.e., an xml file that does not need any alterations before
        running rocoto.
        Refs #2572
        Refs #2664

    commit de8706702ead0630beb54d868f83aa2cb23f8f79
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Mon Jul 1 09:29:14 2024 -0400

        Update for JCB policies and stage DA job files with Jinja2-templates (#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](https://github.com/NOAA-EMC/wxflow/pull/30) is a
        companion to this PR.

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: Dan Holdaway <[email protected]>

    commit c49e4eee1a2ca818b3ecdcb9ea41c3f3e91d585b
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jun 28 14:56:19 2024 -0400

        Revert PR 2681 (#2739)

        This PR:
        - reverts #2681 in part
        - keeps some changes for `RUN`.
        - is a hotfix
        - should be merged ASAP after consensus w/ @guillaumevernieres
        @CatherineThomas-NOAA @WalterKolczynski-NOAA

    commit 9476c1237af4adbc95f90bd1bdd34b6b99f2f8a3
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed Jun 26 15:46:08 2024 -0400

        updated Finalize in Jenkinsfile and added try block around scm checkout (#2692)

        We are updating the Jenkins Pipeline with a try block around checkout to
        capture errors for the user.
        Also cleaned up Finalize and added section to clean out workspace on
        success.

    commit 968568f682bac7564095440bdb7813abefd76821
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 26 13:27:19 2024 -0400

        Activate snow DA test on WCOSS (#2720)

        Activate the snow DA test on WCOSS.

    commit 7706760bb8adbdf78cb640b02739023c886e7699
    Author: Rahul Mahajan <[email protected]>
    Date:   Wed Jun 26 10:02:22 2024 -0400

        Cleanup of stale RUNDIRS from an experiment (#2719)

        This PR:
        - removes stale temporary scratch run directories from `$DATAROOT/`
        every 3 days.
        - should help to scrub failed attempts.
        - removes an unused variable `RUNDIR` defined in `config.base`

    commit 8962991691b5f0857b813bddfd28aa1034d4bd2b
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 26 09:43:48 2024 -0400

        Update logic for MOM6 number of layers/exception values (#2681)

        Updates the logic to be by run instead of for DO_JEDIOCNVAR to determine
        how many layers and sets the exception value for MOM6 to be 1e-34 for
        all scenarios. Note, we will no longer have zeros in the ocean grib
        output and the DA will also run without issues.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2615

    commit 12431f76bdce807067929415007592cffc8a2457
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 26 07:42:35 2024 -0600

        Update wave jobs to use COMIN/COMOUT (#2643)

        NCO has requested that each COM variable specify whether it is an input
        or an output.
        This completes that process for the global-workflow wave
        model and products tasks.
        Refs #2451

    commit b902c0bac126c323a07186ad8881384b032b6fda
    Author: David Huber <[email protected]>
    Date:   Tue Jun 25 07:48:46 2024 -0400

        Assign machine- and RUN-specific resources (#2672)

        Redefine resource variables based explicitly on RUN or CDUMP

        Additionally, machine-specific resources are moved out of
        config.resources and placed in respective config.resources.{machine}
        files.

        Resolves #177 #2672

    commit 5edbd123e2878a07f5cce8e3c7ea6147f286633a
    Merge: 09333c01d 4e1b937b6
    Author: Janet Derrico <[email protected]>
    Date:   Mon Jun 24 12:44:05 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 4e1b937b67ed220120e81925c4507f03b9b8965f
    Author: David Huber <[email protected]>
    Date:   Mon Jun 24 10:50:52 2024 -0400

        Add minimum software requirements (#2712)

        Adds a table to HPC documentation stating the minimum support versions

    commit f43a86276aaef91efa28faadc71a3cf50e749efe
    Author: David Huber <[email protected]>
    Date:   Fri Jun 21 13:44:29 2024 -0400

        Fix and simplify online archiving and reenable METplus jobs (#2687)

        This fixes the online archiving portion of the `*arch` and `*earc00`
        jobs, a prerequisite for running METplus.  This also reenables
        METplus by default.

        The approach previously taken created `FileHandler` dictionaries at
        varying levels within the resulting yaml, which was not properly parsed
        by `exglobal_archive.py`. This approach creates a single `FileHandler`
        dictionary and is much less complicated overall.

        Resolves #2673 #2647

    commit 8993b42cb91144c0ab0501dc7841ea8d675c4701
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 19 21:51:22 2024 -0400

        Eliminate post groups (#2667)

        Eliminates the post groups used for upp and products jobs so that each
        task only processes one forecast hour. This is more efficient and
        greatly simplifies downstream dependencies that depend on a specific
        forecast hour.

        Resolves #2666
        Refs #2642

    commit 0b810c888239853fedd0e4584fe62536c6aaacdf
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 20:32:48 2024 -0600

        Removes misleading "No such file or directory" syntax errors from output files (#2688)

        This PR addresses issue #1252. The following is accomplished:

        - Prior to removing files, the existence of a file is checked prior to
        attempting to remove; this is performed as noted
        [here](https://github.com/NOAA-EMC/global-workflow/issues/1252#issue-1538627369);
        this PR only addresses the the `chgrp` issue.

        Refs #1252

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit 3270ac3bf00c3ebc8166c70d84647ec44431fbae
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 12:17:59 2024 -0600

        Hotfix for bug in template names. (#2697)

        This PR is a hotfix for an incorrectly named (e.g., non-existent) `COM/`
        template.
        Resolves #2696
        Refs #2451

    commit 35d4d99eaac669721add9ddcc793153e5ab3b30a
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 08:06:53 2024 -0600

        Update archive job to use COMIN/COMOUT (#2668)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        archive task.

        Refs #2451
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 47b3a581c8257fa24411fb400df8bb0e1e04972a
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Mon Jun 17 22:55:38 2024 -0400

        Turn on high-frequency output in extended test (#2679)

        Turns on high-frequency (hourly) output in the extended products test to
        exercise that aspect of the code. This test only runs on WCOSS.

        Also adds the hooks to optionally turn on the metplus jobs, but that is
        deferred as they are not currently working correctly.

    commit 38f2df9fb0c074b1f80d3c637080be79be693161
    Author: David Huber <[email protected]>
    Date:   Mon Jun 17 17:12:55 2024 +0000

        Optimize wavepostpnt (#2657)

        Optimize the gfswavepostpnt, gfswavepostbndpntbll, and gfswavepostbndpnt jobs

        This is done by
        1) reducing the number of calls to `sed`, `awk`, `grep`, and `cat` by
        - performing operations on all files at once instead of looping over
        each file
            - removing piped `cat` calls (e.g. `cat <file> | sed 'something'`)
            - combining `sed` and `grep` calls when possible
            - adding logic to `awk` calls instead of handling that logic in bash
        2) minimizing as much as possible the amount of data on disk that has to
        be read in (e.g. limiting sed to read only the line numbers it needs)
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5af325a6a4e0a14d180514a418603ca79fada487
    Author: Dan Holdaway <[email protected]>
    Date:   Fri Jun 14 18:05:23 2024 -0400

        Update GDASapp hash to move JCB into GDASapp (#2665)

        This PR moves JCB into GDASapp. The PR
        also bumps up the hash of GDASapp to what is in `feature/move_jcb`,
        which at time of writing is develop plus the absorption of JCB into
        GDASapp.
        Note that I also took the changes from
        https://github.com/NOAA-EMC/global-workflow/pull/2641 to follow the
        testing @RussTreadon-NOAA has done.

    commit 6c93b4554e235fcb4d0004e99a4c4498d55d461b
    Author: Yaping Wang <[email protected]>
    Date:   Fri Jun 14 10:18:17 2024 -0500

        Add observation preparation job for aerosols DA to workflow (#2624)

        Add a prepaeroobs job to prepare aerosol obs files for DA.

        This job does quality control of the VIIRS aerosol raw observations and
        convert them to ioda format.

        Resolves #2623
        ---------

        Co-authored-by: ypwang19 <[email protected]>
        Co-authored-by: TerrenceMcGuinness-NOAA <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 5a5fc2be7555f094a0f90fd3a3df22d071ccdfd4
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jun 14 11:04:41 2024 -0400

        Remove ocean daily files (#2689)

        This PR removes the ocn_daily files that are produced by the ocean
        component. These files can be recreated by averaging data that exists in
        the 6 hour aveaged files if needed.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2675
        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2659 (by
        removing them and making this obsolete)

    commit 603a4a8052a5c43ce5986f028c3fcfd5fd248ad4
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 12:22:03 2024 -0400

        Update Jenkinsfile

        needed a comma

    commit dc21eac6c3941d7f30803891d91d82f4cc1f8183
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 11:41:14 2024 -0400

        Add Hercules-EMC to the Jenkins configurable parameter list (#2685)

        This quick-fix PR is to update the Jenkins Pipeline's configurable
        parameter list to include the **Hercules-EMC** node.
        This allows Jenkins users to restart Jobs in the controller when no
        updates have been made.

    commit ebacebfbe458634b8c80af6a735d6b6d01e4e406
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Thu Jun 13 11:20:24 2024 -0400

        Update gdas.cd and gsi_utils hashes (#2641)

        This PR updates the `sorc/gdas.cd` and `sorc/gsi_utils` hashes. The
        updated hashes bring in bug fixes, new UFS DA functionality, and a Gaea
        build for gsi_utils.

        Resolves #2640

    commit 34155fb4767769600a1ff95f0a65e37081addc2a
    Author: Neil Barton <[email protected]>
    Date:   Thu Jun 13 11:18:22 2024 -0400

        Add ability to use GEFS replay ICs (#2559)

        The PR allows the use of ICs from PSL's replay analysis. These replay
        ICs will be used for GEFS reforecasting and SFS. Two main changes are
        associated with these updates: (1) replay ICs being valid at 3Z, and (2)
        the use of warm starts.

        Resolves #1838

        ---------

        Co-authored-by: Jessica Meixner <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6c19a0e3fc4400e1d39288be4ee4fc244b74f699
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 12 19:25:42 2024 -0600

        Replace `sleep` with `wait_for_file` (#2586)

        This PR addresses issue #2444. The following is accomplished:

        - All `sleep` statements are replaced with `wait_for_file` for the
        relevant scripts beneath `scripts` and `ush`;
        - Indentation and shell-norms are updated where applicable.

        Note: The WAFS scripts are not updated as per @aerorahul direction.

        Resolves #2444

        ---------

        Co-authored-by: henrywinterbottom-wxdev <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5b2a3d449a0835cec2663aabb06f1c47a3faf84e
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 12 13:31:55 2024 -0400

        Add COM template for JEDI obs (#2678)

        Adds a COM template to define a path to store obs processed for JEDI.
        This will allow UFSDA to stop writing to COM_OBS, which should be
        read-only as it belongs to obsproc in operations.

        No functional change yet.

    commit 2e6f1fcde9935619352b1b26cba42ec0f4d845ed
    Author: Guoqing Ge <[email protected]>
    Date:   Wed Jun 12 09:06:23 2024 -0600

        Link both global-nest fix files and non-nest ones at the same time (#2632)

        This PR enables linking both global-nest fix files and non-nest ones at
        the same time and users can run both nesting and non-nesting experiments
        at the same time without worries about what fix files to be linked.

        Resolves #2631

    commit 61de004d4f9e9edf8a31bb173f2719b46451a36a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 12 11:03:13 2024 -0400

        Update ufs-weather-model  (#2663)

        Updates ufs-weather-model, this updates RDHPCS to the newer spack-stack
        allowing some temporary fixes to be reverted.
        * removes upp submodule
        * uses upp from the ufs-weather-model
        * restores the build and link that were hacked during the Hera Rocky 8
        transition to allow for UPP submodule
        * Removes forecast directories in clean-up

        Resolves #2617
        Resolves #2437

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 15eaf35fb13f361be400be38a5f7ca7b5461ab1d
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Wed Jun 12 01:15:37 2024 -0400

        Add ability to process ocean/ice products specific to GEFS (#2561)

        This PR begins to add the capability to produce GEFSv13 ocean and ice
        products in the global-workflow according to stakeholder requirements.
        The following features are added.

        - An oceanice prod yaml file has been added to address the ocean and ice
        products specific to GEFSv13.
        - The rocoto dependencies and config.base for GEFS have also been
        modified to allow for 24-hour averaged ocean and ice output.
        - Various scripts have been modified to allow for ocean and ice output
        frequencies of 24 hours.
        - `FHOUT_OCNICE` has been split into two variables called `FHOUT_OCN`
        and `FHOUT_ICE`. The same has been done for `FHOUT_OCNICE_GFS`.

        Refs #1878

    commit 6691e7489650e0b738c176fbd096109288dc09b6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 11 21:15:07 2024 -0600

        Update cleanup job to use COMIN/COMOUT (#2649)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        clean-up task.

        Refs #2451

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 23a8d8835dd4c5d69ca20f5ff23705f30f17b4b0
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Jun 11 16:17:25 2024 -0400

        Add overwrite to creat experiment in BASH CI (#2676)

        This is a quick hotfix to the CI BASH driver script adding `--overwrite`
        to create experiment script to avoid errors from restarting an
        experiment.

    commit e7909af8d9e1f34140388a3f8556d8e582c58fe5
    Author: emilyhcliu <[email protected]>
    Date:   Mon Jun 10 15:11:27 2024 -0400

        Add handling to select CRTM cloud optical table based on cloud scheme and update calcanal_gfs.py  (#2645)

        This PR proposes updates for the following two scripts:

        1. In **scripts/exglobal_atmos_analysis.sh** --- Add handling to select
        CRTM cloud optical table based on cloud microphysical scheme indicated
        by `imp_physics'
        The default scheme in the GFS forecast model is Thompson scheme
        (imp_physics = 8).

        2. In **/ush/calcanl_gfs.py** --- Increase the MPI number declared in
        the script due to increased variables to interplate increments and
        calculate analysis in the netcdf_io routines in GSI-utils.
        Here is the related [PR #46 for
        GSI-utils](https://github.com/NOAA-EMC/GSI-utils/pull/46).

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9caa51de8fb7be07d2e61775da01937d576964f6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Thu Jun 6 22:15:23 2024 -0600

        Update RDHPCS Hera resource for `eupd` task (#2636)

        As per @wx20jjung, the resource for the `eupd` task have been updated
        for RDHPCS Hera to account for memory issues for C384 `gdaseupd` job
        fails.

        Resolves #2454

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit acf3aaa2b1d3e3024b0b5d2fe23eee8c317a980b
    Author: DavidNew-NOAA <[email protected]>
    Date:   Thu Jun 6 11:49:03 2024 -0400

        Parameterize some things in config.atmanl and config.atmensanl (#2661)

        This PR adds some parameters in config.atmanl and config.atmensanl that
        can be altered with the defaults.yaml. The motivation is to make these
        files match those in the GDASApp JJOB tests (example:
        https://github.com/NOAA-EMC/GDASApp/blob/develop/test/atm/global-workflow/config.atmanl),
        so we can just use the Global Workflow config.atmanl and
        config.atmensanl in the tests rather than custom ones in GDASApp that
        have to be separately updated every time the ones in the Global Workflow
        are updated.

    commit 54ea0b73a07921be5fbb07fe41e976888bd3e549
    Author: Guillaume Vernieres <[email protected]>
    Date:   Thu Jun 6 01:36:02 2024 -0400

        Add links to the ocean insitu obs processing tools (#2644)

        Add links to the marine bufr to ioda converters for the marine insitu
        observations.

        - fixes https://github.com/NOAA-EMC/GDASApp/issues/1106
        - waiting for https://github.com/NOAA-EMC/GDASApp/pull/1135

    commit 205d0c2b13e2d7755cec75bf8c978ab20d453862
    Author: David Huber <[email protected]>
    Date:   Wed Jun 5 17:31:30 2024 +0000

        Update S4 point of contact in docs (#2660)

        Update the point of contact for global workflow issues on S4.

    commit aa23ccf1d0d229f9ff1398d84af1fa7ee5bed262
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed Jun 5 12:50:14 2024 -0400

        Enable wcoss2 ufsda build and module load (#2620)

        This PR enables ufsda (`sorc/gdas.cd`) to be built and run on WCOSS2.

        Resolves #2602
        Resolves #2579

    commit 67b833e0c7bc390865d453588b4609a1a7ede981
    Author: Jessica Meixner <[email protected]>
    Date:   Tue Jun 4 13:33:43 2024 -0400

        Update ufs-weather-model  (#2646)

        Updates UFS model to the commit https://github.com/ufs-community/ufs-weather-model/commit/5bec704243286421fc613838fc67a2129e96acd6
        This should resolve the issue and allow C768 runs on Hera and allow for CICE
        to run on WCOSS2 (due to library updates to allow linking).

        From what I can tell, all updates needed were done by
        @HenryWinterbottom-NOAA which were updates for CICE

        Fixes #2490

    commit c44d0ac86cfdf78eb87492431bf6d825e8bae637
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue Jun 4 10:29:49 2024 -0400

        Update wmo parm files to fix WMO header (#2652)

        This PR updates wmo parm files to switch WMO header of precipitation
        type products (CRAIN, CFRZR, CICEP, and CSNOW) from time averaged to
        instantaneous.

        Resolves #2566

    commit 237d6dd213e8b1455d2f45dc5978fb2d3de93e60
    Author: Cory Martin <[email protected]>
    Date:   Tue Jun 4 13:55:33 2024 +0000

        Add IAU to snow DA (and its test) (#2610)

        This PR enables IAU for the snow DA which is necessary for GFSv17.

        A snow analysis is created for the center of the window regardless, and
        an additional at the beginning of the window is added if IAU is on. The
        former is needed for UPP and the latter, to initialize the model.

        The increment is valid throughout the window for 3DVar, so the same
        increment is added to both forecasts.

        Additionally, the input file that goes into global_cycle has been
        updated to be the output of the JEDI snow analysis instead of the
        forecast (@jiaruidong2017 I recall discussing this, can you confirm this
        is right or am I mistaken)

        This PR also makes the CI test for snow DA (and aerosol DA) include IAU
        rather than without IAU,.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit c92bf415060750127c9c05a62a1d2851c489551a
    Author: David Huber <[email protected]>
    Date:   Sat Jun 1 05:11:07 2024 +0000

        Archiving cleanup (#2621)

        1) Adds a lot of comments to the jinja templates for archiving
        2) Rearranges the gdas and enkf templates to a more logical order
        3) Fixes a couple of bugs in the enkf archiving of increments and
        analyses
        4) Disables archiving for the half cycle
        5) Removes the `FITSARC` key from `config.base` and `arcdir.yaml.j2`,
        instead relying on `DO_FIT2OBS`
        6) Updates wxflow to add the option to not allow undefined variables
        when parsing jinja templates and invokes this feature when running
        archives

        Resolves #2612

    commit 12aa1e9cd2d159e2b303d2b33d6c79c365688eec
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri May 31 04:57:08 2024 -0400

        Switch to Rocky 9 built external packages on Hercules (#2608)

        The workflow was updated to use modules built on Rocky 9, but the
        external packages (like prepobs) were still pointing to the versions
        built on CentOS (Orion). This transitions to packages built on Rocky 9.

        Updating of the tracker package has been deferred until later. As such,
        the tracker jobs have been disabled by returning immediately if they are
        on Hercules. Since these jobs are small, resource-wise, it should not
        meaningfully impact turnover time.

    commit 4422550c01c9214a2b3b8890bdcc898123ee216a
    Author: Guoqing Ge <[email protected]>
    Date:   Thu May 30 08:05:23 2024 -0600

        Add the capability to use slurm reservation nodes (#2627)

        Add the capability to use slurm reservation nodes
        Add "ACCOUNT_SERVICE" for jobs to run in PARTITION_SERVICE

        Resolves #2626

    commit a54153fd9d26126206bc07a1da4e80f50c0c5910
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 29 23:24:07 2024 -0400

        Update forecast job to use COMIN/COMOUT (#2622)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the forecast job.

        Refs #2451

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit d69a8af95d492982b918670322ed5c41ab074335
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 21:29:03 2024 -0400

        Update to add 1-deg global wave grid (#2619)

        This PR adds options to use a global 1 deg grid, intended for testing
        with the SFS application.

        Requires new fix file changes NOAA-EMC/global-workflow#2618

    commit 0b4670ecf83b99b72835c8380573b2bca7cf5324
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 17:17:21 2024 -0400

        Add C384mx025_3DVarAOWCDA yamls (#2625)

        Adds the C384mx025_3DVarAOWCDA yaml files for one experiment into a new GFSv17 folder.

    commit 2e885d05c64b947f00a3cf055a1277fbfac195c9
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 29 13:00:51 2024 -0400

        Script to keep Jenkins Agent persistent from cron (#2634)

        This "persistent" Java Agent launch script can be ran from a cron job:

        - Uses Jenkins Remote API to check the status of the Node connection
        using curl for a given machine.
        - If it is not connected a new agent is launched for that node.

        Resolves #2633

    commit bb58e064d8e82ce51802bd6064cfa84cae2cc4d5
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue May 28 17:17:11 2024 -0400

        Change GRIB2 parameter names and vertical levels for ocean/ice post (#2611)

        Based on users' feedback, this PR do the following:
        1. Change GRIB2 parameter names DLWRF -> NLWRF and DSWRF -> NSWRF
        2. Change the vertical level of ocean 3D variables (WTMP, SALIN, UOGRD,
          and VOGRD) from "%g m below water surface" to "%g m below sea level"
        3. Round up depth numbers to integer (e.g. 4481.0625 -> 4481 m)

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit e53c5e8e0abbc0edf95970a71df0e6e8a2be9f31
    Author: DavidNew-NOAA <[email protected]>
    Date:   Tue May 28 17:16:23 2024 -0400

        Add atmensanlfv3inc job (#2592)

        This PR creates the atmensanlfv3inc job, the ensemble version of
        atmanlfv3inc, created in GW PR #2420. Its GDASApp companion PR is
        #[1104](https://github.com/NOAA-EMC/GDASApp/pull/1104), and its JCB-GDAS
        companion PR is #[3](https://github.com/NOAA-EMC/jcb-gdas/pull/3).

    commit 50c2b8951b29a3c883a778becbf8582f9519eb48
    Author: Anil Kumar <[email protected]>
    Date:   Tue May 28 13:23:53 2024 -0400

        Global-workflow (AR) Generic updates for Gaea C5 (#2515)

        - Port global-workflow’s build and run capability to Gaea-C5
        - Building global-workflow on Gaea-C5
        - Setting up experiments with global-workflow on Gaea-C5

        ---------

        Co-authored-by: AnilKumar-NOAA <[email protected]>
        Co-authored-by: DavidBurrows-NCO <[email protected]>

    commit b6ca771a0c584cbfcbbf9be739765d5f3815df97
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 24 10:52:45 2024 -0400

        Update STMP and PTMP settings in host file for Orion and Hercules  (#2614)

        - Updating STMP and PTMP settings in host file for Orion and Hercules
        because they are cross mounted.
        - Also took the opportunity to finally update **SLURM_ACCOUNT** to
        **HPC_ACCOUT** in CI over rides.
        - Added a refactor of the `rocotostat.py` tool that is more pythonic and
        as a execute retry feature because the `rocotostat` utility on Orion has
        been failing sometimes.

    commit 7d2c539f45194cd4e5b21bfd4b83a9480189cd0f
    Author: Guillaume Vernieres <[email protected]>
    Date:   Tue May 21 23:50:50 2024 -0400

        Sea-ice analysis insertion (#2584)

        Allows cycling and restarting CICE with the sea-ice analysis if the
        marine DA is switched on.

        Resolves #2568
        Resolves NOAA-EMC/GDASApp#1103

    commit 5369a1ff3a3969149fcf32810fad0e50216752b7
    Author: David Huber <[email protected]>
    Date:   Tue May 21 22:12:29 2024 +0000

        Refactored archiving (#2491)

        This provides a new pygfs task, archive.py, that provides all of the
        tools necessary to archive data to the local (`ARCDIR`) and backup
        (`ATARDIR`) archive directories. YAML-Jinja2 templates are provided to
        define the file to be archived or tarred to replace the
        `hpssarch_gen.sh`, `exglobal_earc`, and `exglobal_archive.sh` scripts
        and make it easier to add new data and explicitly handle optional and
        required files.

        For `ATARDIR` archiving, a master jinja template is provided for each
        `RUN` (i.e. master_gdas.yaml.j2, master_gfs.yaml.j2,
        master_enkf.yaml.j2). The master_enkf.yaml.j2 template is used for both
        `enkfgdas` and `enkfgfs` `RUN`s. These templates then include the
        appropriate `RUN`-specific jinja templates (e.g. gdas.yaml.j2) based on
        experiment, cycle, and coupled parameters. Each of these templates
        corresponds to a single tarball to populate and are tabbed 4 spaces so
        they are defined within the master `datasets` dictionary.

        Future developers should not have to make modifications to archive.py
        unless archiving is being enabled for a new `RUN` (e.g. `gefs`) and then
        only a single `elif` needs to be added to the configure method to
        specify the master `ATARDIR` template to archive (e.g.
        `master_gefs.yaml.j2`). If a new component is coming online that needs
        to be archived to `ATARDIR` (e.g. SNOW), then create a new template for
        each `RUN` that it needs to be archived for (e.g. `gdassnow.yaml.j2`)
        and reference the template in the appropriate master templates, e.g.

        `master_gdas.yaml:`
        ```jinja
        {% if DO_SNOW %}
        {% include "gdassnow.yaml.j2" %}
        {% endif %}
        ```

        A few other issues were addressed along the way:
        1. Aerosols have been reenabled. Aerosol forecasts should only be
        performed during gdas cycles, but analyses can be performed for both gfs
        and gdas cycles. This was accomplished by setting separate
        `AERO_<job>_CDUMP` variables to parse on for both `ANL` and `FCST` jobs.
        2. Fixed the name of the `cice6_rst_ok` variable in `forecast_det.sh`.
        This prevented restarts from being used for cice-enable experiments.
        This feature was not tested.
        3. Create a temporary fix for the `wgrib` utility. For spack-stack
        1.6.0, the `grib-util` module file does not declare `WGRIB`. An issue is
        open (https://github.com/JCSDA/spack-stack/issues/1097) to fix this in
        existing installations. Once complete, this temporary fix should be
        removed.
        4. The number of `earc` jobs has been reduced for lower resolution
        experiments. Both C48 and C96 experiments will now only have two earc
        jobs (one for the non-member files to archive and another for the member
        files). C192 will have up to 3 earc jobs (one non-member, one for
        members 1-40 and another for members 41-80, if needed).

        Resolves #2345
        Resolves #2318

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9aad86f27d37d19165b9a0b64cf70c7a4dd6362c
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 17 12:57:59 2024 -0400

         Add remove RUNDIRS step in CI before creating experements (#2607)

        As had been done in Bash CI we need to remove the RUNDIR in Jenkins
        before a creating an experiment in the event that case had beem
        previously ran.

    commit 09333c01dbafddb2d2fe7e181b479af3cc6d3621
    Merge: f7e9f4489 bb930050b
    Author: Janet Derrico <[email protected]>
    Date:   Thu May 16 14:33:19 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit bb930050b3cd51d28ecba6b231c8675f6d11856c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu May 16 12:28:30 2024 -0400

        Adds jjob and other necessities for marine LETKF task (#2564)

        Adds jjob, rocoto script, config file, and other necessities for new
        marine LETKF task.

        Partially addresses NOAA-EMC/GDASApp#1091

    commit 2c50fbde4d6cc3e53c55dca56925353a02fd1730
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 12:12:06 2024 -0400

        Updating CI Machine configs with redundant PTMP (#2605)

        Quick fix adding PTMP as STMP in Machine configs for CI for completeness

    commit ef340ff33a6f89adf70838206ba3fd56a953fa7a
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 11:37:30 2024 -0400

        Fix race condition in CI between Orion and Hercules (#2604)

        Hotfix to solve race conditions in the CI system due to cross-mounted
        file systems between Orion and Hercules

    commit e8b17e27f719df280170dc3f5bd9f19917cefaf2
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 17:16:30 2024 -0400

        Remove existing EXPDIRs and COMROTs when CI is re-run (#2601)

        Quick hotfix for having default for re-runing jobs to start clean with
        new EXPDIRs and COMROTs

    commit b5d113efb1970ede5cd1d3d4dff8d96320519c41
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 16:52:49 2024 -0400

        Moving logic for skipping hosts in pr cases (#2573)

        This PR removes the logic of skipping hosts for pr cases from
        `create_experiment.py` and moves it to a test in the cron bash driver
        using a `parse_yaml.py` python tool.

        The Jenkins pipeline was not effected as it uses the
        `get_host_case_list.py` utility to form the cases on a per host bases.

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 3cd0c68c0de9900bc7b73e1ed7621573dff5e916
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed May 15 13:13:30 2024 -0400

        Update gsi_utils.fd hash (#2598)

        This PR updates the `gsi_utils.fd` hash to bring in updates which add
        safeguards to
        -
        `src/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90`
        - `src/EnKF/gfs/src/recentersigp.fd/recentersigp.f90`

        The safeguards are described in GSI-utils PR
        [#41](https://github.com/NOAA-EMC/GSI-utils/pull/41) and the associated
        issue.

        Resolves #2597

    commit d5366c66bd67f89d118b18956fe230207cbf0aea
    Author: Kate Friedman <[email protected]>
    Date:   Wed May 15 13:12:56 2024 -0400

        Update CICE and MOM6 fix versions (#2600)

        This PR updates the CICE (`cice_ver`) and MOM6 (`mom6_ver`) fix versions
        to the newer `20240416` timestamps, which includes updates and fixes to
        the `100` (1-deg) resolution files.

        Resolves #2480
        Resolves #2483
        Resolves #2595

    commit 6ca106e6c0466d7165fc37b147e0e2735a1d6a0b
    Author: David Huber <[email protected]>
    Date:   Mon May 13 22:57:38 2024 +0000

        Limit gfswavepostpnt to 40 PEs/node (#2588)

        This fixes the slow runtime of the gfswavepostpnt job on Hercules. The
        job is very I/O intensive and does not scale well to large nodes, so
        limit the number of jobs/node to 40.

        Resolves #2587

    commit 4fb7c12c325702a47f27c802a5067efd33d0327c
    Author: Fanglin Yang <[email protected]>
    Date:   Mon May 13 16:37:51 2024 -0400

        Update damping and time-step (#2575)

        Updates the model to use explicit Rayleigh damping for u/v and implicit
        damping to w. This improves model stability and allows for longer
        timesteps. Also unifies the GDAS and GFS to use the same damping.

        Results from a test at the C1152 resolution (coupled model) can be found
        at https://www.emc.ncep.noaa.gov/gmb/wx24fy/C1152/newdamp/

        Resolves #2574

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Lisa Bengtsson <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6a9c1372ecce9e50e4f6e10e56f6e504cde1afe6
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 10 14:17:13 2024 -0400

        Do not use BUILT_semphore to force rebuilds when re-run (#2593)

        Remove the placement of the `BUILT_semaphore` file after the build in
        the Jenkins Pipeline and force it to rebuild any changes after a PR is
        re-ran.

    commit 2346c6161f75ae02369cbf30f30c6150d3e12b66
    Author: Innocent Souopgui <[email protected]>
    Date:   Thu May 9 21:17:06 2024 -0500

        Migration to Rocky8 spack-stack installations on Jet (#2458)

        # Description
        Migrates Global Workflow to Rocky8 spack-stack installations on Jet.
        Jet has moved from CentOS7 to Rocky8.

        Resolves #2377
        Refs NOAA-EMC/UPP#919
        Refs NOAA-EMC/gfs-utils#60
        Refs NOAA-EMC/GSI#732
        Refs NOAA-EMC/GSI-Monitor#130
        Refs NOAA-EMC/GSI-utils#33

    commit c7b3973014480a20dd8e24edaeb83a9e9e68159f
    Author: Jessica Meixner <[email protected]>
    Date:   Thu May 9 11:36:58 2024 -0400

        Updates for cold start half cycle, then continuing with IAU for WCDA (#2560)

        This PR allows us to run C384 S2S with IAU, but starting with the first
        half-cycle as a cold-start. This will be necessary for cycled testing as
        we build towards the full system for GFSv17. This updates the copying of
        the restarts for RUN=gdas for both ocean and ice copying what the atm
        model is doing. It also reduced the amount of restart files from 4 to 3.

        Other updates:
        * Add DOJEDI ocean triggers for archiving certain files update from:
        @CatherineThomas-NOAA
        * Adds COPY_FINAL_RESTARTS option to turn on/off copying the last
        restart file to COM. Defaults to off...
        * Defines model_start_date_current_cycle & model_start_date_next_cycle
        to help with knowing which IC to grab.

        Refs #2546

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit b405b7d3d11d384ce9fe3b9cd2180f315f7b38f2
    Author: Dan Holdaway <[email protected]>
    Date:   Wed May 8 20:52:48 2024 -0400

        Use JCB for assembling JEDI YAML files for atmospheric GDAS (#2477)

        Change the JEDI YAML assembly for the atmospheric GDAS to use the JEDI
        Configuration Builder (JCB) tool so that YAMLs can be made more portable
        and invoke the observation chronicle mechanism.

        Resolves #2476

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 0cf0349c1f88048806e68ab58e93a3261b7a0e95
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 8 02:04:16 2024 -0400

        Add CI test for products (#2567)

        Adds a new version of the atm3DVar test that runs the full forecast
        length and produces most of the secondary products. For now, this test
        will only run on WCOSS due to gempak failures on other machines as well
        as computational needs. On other machines, the original version will run
        (the original version will not run on WCOSS). AWIPS remains off for now
        in this extended test due to a bug involving tocgrib2 and the convective
        precip fields (see #2566).

        The new test runs for 4½ cycles and the full 384-hr forecast length to
        ensure all gempak scripts are exercised. Since the cycle throttle is 3
        and the bulk of the time is in the free forecast, the cycles run mostly
        concurrently so it doesn't extend the total test time too much beyond
        that of a single 384-hr forecast.

        Fixes a bug in NPOESS that was introduced when the post filenames were
        reverted to the previous format for the GOES products until the final
        filenames are determined (#2499).

        Also removes the AWIPS g2 job from the rocoto mesh to complete the
        retirement of grib1 products.

        Resolves #2132
        Resolves #2445

    commit 9b6f8404ac4507d14adc404b77cfdf002b55e832
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue May 7 00:14:36 2024 -0400

        Add task to prepare emissions for GEFS (#2562)

        This PR:
        - introduces a task to prepare emissions for a forecast into the GEFS
        application.
        - adds configuration, j-job, rocoto job, ex-script and the python class
        for this job
        - updates GEFS workflow to be able to generate the XML to call this job.
        - updates the `fcst` and `efcs` job dependencies in the GEFS application
        to depend on `prep_emissions` if aerosols are turned ON.
        - provides a placeholder for @bbakernoaa to work on the details for
        preparing emissions.

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 233c18815d2e8e6b344f161fd0c102a4fbdfb66d
    Author: Dan Holdaway <[email protected]>
    Date:   Mon May 6 18:11:35 2024 -0400

        Single Executable for main GDAS JEDI applications (#2565)

        Changes that accompany GDAS PR (NOAA-EMC/GDASApp/pull/1075) that allow…
kayeekayee added a commit to kayeekayee/global-workflow that referenced this issue Sep 19, 2024
Squashed commit of the following:

commit 4e0a81f7acf5ccba5de8d3bdf7ab19cae80812cb
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 18:37:50 2024 +0000

    Fix typos/links/dependancy.

commit d5fdcbf8d6e987dbdfcd6b4da34d0934c8d82c3b
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 07:37:52 2024 +0000

    Fixed missing config.base files.

commit c6239f925369b20fd8488e8537969e2f4f9e7725
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:53:47 2024 +0000

    Update submodule hashs.

commit 32bf790f67b818ff50a7f6b74388fb81ed175b3a
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:09:41 2024 +0000

    Update develop branch, gsl_ufs_dev
     - based on gsl_ufs_dev from KaYee's fork
       global-workflow: 07Aug24,37c53ac [develop_07Aug2024_37c53ac]
       UFS: 19Jul24, c127601
       FV3: 19Jul24, 2527c11
       UPP: 23Apr24, be0410e
       CCPP-PHYSICS: 19Jul24, 46df080
       UFS_UTILS: 26Jun24, 3ef2e6b

    Squashed commit of the following:

    commit 70b557836379bb7e545fcc6642e28d66cfc17735
    Merge: 5edbd123e 37c53ac69
    Author: Janet Derrico <[email protected]>
    Date:   Wed Aug 7 11:02:24 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 37c53ac692274eb5e9f9a3220033406e8c4b4a04
    Author: Kate Friedman <[email protected]>
    Date:   Wed Aug 7 08:11:21 2024 -0400

        Revert MSU FIX_DIRs back to glopara (#2811)

    commit 876dfee26ad67e1f729bbf52b3167d48ea5a7517
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Aug 6 14:47:36 2024 -0400

        Bugfix for updating label states in Jenkins (#2808)

        Quick bug fix for updating state labels in CI during finalize.
        (did not reference GitHub CLI executable correctly in the pipeline
        script)

    commit 8fee36f0307b0c08080e3a8fa8fa6703e7da5fce
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Aug 6 11:02:45 2024 -0400

        Clean-up temporary rundirs - take 2. (#2753)

        This PR:
        - is a follow-up to a previous PR that aggressively pruned run
        directories.
        - removes run directories for the current cycle in the clean-up if the
        cycle is successful. If the cycle is not successful, cleanup is not
        called and all run directories for the cycle are safe from being purged.
        - also updates the PR template to list/query for any updates to
        submodules.

        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit d599fff4aedd41ae587dbe02226acb12ff48efc1
    Author: HelinWei-NOAA <[email protected]>
    Date:   Mon Aug 5 05:31:31 2024 -0400

        Change land surface for HR4 (#2787)

        Resets the default value of opt_diag to 2 corresponding to the land
        surface upgrades in ufs-weather-model for HR4.

        Resolves #2786

    commit 6d7f7e860a0c7062f90bf09fdf9a5d19dc77cfdb
    Author: David Huber <[email protected]>
    Date:   Fri Aug 2 15:41:29 2024 -0400

        Run METplus serially and correct the name of prod tasks (#2804)

        Adds 2 hot fixes:

        - METplus v9.1.3 has a bug in it that sometimes attempts to create
        multiple copies of the same directory when running in parallel, causing
        a Python error and downstream problems. This PR makes METplus run in
        serial mode, preventing such issues.
        - Corrects the name of the atmos_prod, ocean_prod, and ice_prod tasks in
        workflow/rocoto/tasks.py (was accidentally changed to e.g. atmosprod)

    commit 0706c59ac53cc3bbfbaa56cbd7fa75ab51117830
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri Aug 2 15:03:45 2024 -0400

        Update Java Agent launching script for Jenkins connections (#2762)

        Made updates to the Jenkins Launching Script for robustness and less
        ambiguous documentation:
        - Clearer distinction between required user token for the remote api and
        the systems token for launching
        - Added pre-checks: `gh` is authenticating, named compliant token and
        secret file exists
        - More robust Jason based parser of the remote api response for checking
        the state of the Node connection
        - For `cron` use a 5 minute pause and recheck was added before
        re-launching of the java agent
        - Added concise header documentation of requirements and purpose
        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit b73b1fd203496db97f8067652659573a632bcc67
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri Aug 2 07:59:06 2024 -0400

        Fix erroneous cdump addition (#2803)

    commit 49877046ac3306f6b78ca0ab5d5089ba1aa3e3e3
    Author: Rahul Mahajan <[email protected]>
    Date:   Thu Aug 1 20:26:13 2024 -0400

        Update ocean post-processing triggers (#2784)

        This PR:
        - replaces `check_netcdf.sh` checker for ocean post-processing with with
        ocean output at the next forecast hour or finishing of the forecast job
        for ocean prod
        - removes no longer needed `ush/check_netcdf.sh`

    commit aa2af1ca8d59424a60a1730722bf528775d9e606
    Author: GeorgeGayno-NOAA <[email protected]>
    Date:   Thu Aug 1 16:46:10 2024 -0400

        Update the gfs_utils repository hash (#2801)

        # Description
        Point to the latest hash of the gfs-utils repository, which contains the
        bug fix to gaussian_sfcanl.

        Resolves #2669.
        Refs: https://github.com/NOAA-EMC/gfs-utils/pull/73

    commit d3d85f0e0d573f16a71ca44778021dfc0ccf50c8
    Author: David Huber <[email protected]>
    Date:   Thu Aug 1 08:12:14 2024 -0400

        Add fixes for metplus jobs when gfs_cyc=2 or 4 (#2791)

        Changes how METplus jobs run so that they run on the last GFS cycle for
        a given `PDY`.

        This is a departure from operations where the METplus jobs run on the
        00Z cycle for the previous 3 cycles and 00Z (i.e. `${PDYm1}06` through
        `${PDY}00`). With this PR, for gfs_cyc=4, METplus jobs will run on
        `${PDY}18` for cycles 00-18. See
        https://github.com/NOAA-EMC/EMC_verif-global/pull/131 for more details.

    commit 1cf8b448af562dbb7af198399c78c585977e81da
    Author: David Huber <[email protected]>
    Date:   Tue Jul 30 10:38:49 2024 -0400

        Simplify resource-related variables, remove CDUMP where unneeded (#2727)

        This overhauls resource-related variables to use a common set of
        variables for each job. In the process, this also removed the use of
        CDUMP in most cases.

        Resolves #1299 #2693

    commit 61875f25c9e971f82ae499b5b612d7f095deebd4
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Mon Jul 29 14:40:03 2024 -0400

        Remove f000 from atmos rocoto tasks for replay cases (#2778)

        The main purpose of this PR is to remove the f000 from
        atmosphere-related rocoto tasks when `REPLAY_ICS` is set to `YES`. In
        cases where `REPLAY_ICS` is `YES` and `OFFSET_START_HOUR `is greater
        than `0`, it becomes necessary to have the first lead hour set to
        `OFFSET_START_HOUR ` for the atmosphere-related rocoto tasks. For
        example, when `OFFSET_START_HOUR ` is set to `3`, then the minimum lead
        time for the atmos_prod and atmos_ensstat rocoto tasks needs to be 3 and
        the minimum lead time for the ocean_prod rocoto task needs to be 6
        (assuming `FHOUT_OCN` is 6). This PR makes this rocoto workflow set up
        possible by removing 0 from fhrs for atmosphere-related tasks in
        `gefs_tasks.py` when replaying.

        This PR also moves where f000 is being removed for the ocean_prod and
        ice_prod tasks. The if-block that performs this f000 removal has been
        moved from `tasks.py` to `gefs_tasks.py` and `gfs_tasks.py`.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit f156a7894d639f177e3e2588f98eec1f6f59aa68
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jul 26 14:18:32 2024 -0500

        HR4 GWD update (#2732)

        This update is a combination of the gravity wave drag (GWD) versions
        from the NOAA/GSL and NOAA/PSL

    commit a7f6b32ed63efa0de21bfb0ce63364a5b22b9891
    Author: David Huber <[email protected]>
    Date:   Thu Jul 25 14:26:52 2024 -0400

        Temporarily disable METplus jobs (#2796)

    commit 848659691fdbf47e7ccdbbb2ebf22a6e470633a2
    Author: Guillaume Vernieres <[email protected]>
    Date:   Wed Jul 24 15:00:35 2024 -0400

        Refactoring of the marine B-matrix job (#2749)

        Refactor the functionality of B-matrix generation from the GDASApp

        Resolves #2743

    commit 65a7ab75dc0e4baba06a02e11ed0455787056a68
    Author: David Huber <[email protected]>
    Date:   Tue Jul 23 08:35:48 2024 -0400

        Replace Jinja namespaces with replace_tmpl filter and disable ACCOUNT_SERVICE option (#2775)

        Removes the namespace-based construction of EnKF member COM directories
        in the enkf archive template.

    commit c45b9611f3e701b819bd33dc5af29033f060bb91
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Tue Jul 23 00:33:16 2024 -0400

        Add task to process reforecast variables to save on WCOSS2 (#2680)

        # Description
        This PR adds an optional task to the global-workflow to process a subset
        of ocean, ice, wave and atmosphere products to be saved on WCOSS2 for
        the GEFSv13 reforecast. This task is designed to process GEFS variables
        so that specific reforecast product requirements are met. A new variable
        in `config.base` called `DO_EXTRACTVARS` enables this task, which is
        currently called `extractvars`. `DO_EXTRACTVARS` is set to `NO` by
        default and is specifically a task designed to be executed for the
        GEFSv13 reforecast.

        Refs #1878

        # Type of change
        - New feature (adds functionality)

        # Change characteristics
        - Is this a breaking change (a change in existing functionality)? NO
        - Does this change require a documentation update? NO

        # How has this been tested?
        This has been cloned and tested on WCOSS2. This will need to be tested
        on Hera and other platforms on which the reforecast may be running.

        # Checklist
        - [ ] 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
        - [ ] I have commented my code, particularly in hard-to-understand areas
        - [x] My changes generate no new warnings
        - [x] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 71dc33c6ca991c16ce743760d99feaaf60f2218a
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 14:51:53 2024 -0400

        Set METplus process count in config.metp; add verif-global support for Rocky 9 (#2774)

        Fix metp* resources and check that they completed properly; add support for Orion Rocky 9

    commit 56df67a90fe090c425199f1285e5aac722c398b1
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 09:28:18 2024 -0400

        Hotfix: Update jcb to avoid git-lfs files (#2782)

        Removes git-lfs files from the `GDASApp` `jcb` submodule, allowing it to
        be cloned on Hera.

        This hotfix points to a non-authoritative branch of the GDASApp
        (https://github.com/DavidHuber-NOAA/GDASApp/tree/hotfix/update_jcb) and
        should be updated ASAP back to the authoritative repository.

    commit fc668aa422ebbad76ceda1b3bbf8dc0ea432defd
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 16 09:44:00 2024 -0400

        Address issues in creating XML for GFS forecast-only with app S2SWA (#2757)

        This bugfix PR:
        - fixes an issue where a user is unable to generate the XML for a GFS
        forecast-only experiment with APP=S2SWA

        Specifically, the changes are related to defining `aero_fcst_cdumps`.
        Following `setup_expt.py`, the user will have to set
        `AERO_FCST_CDUMPS="gdas|gfs|both" depending on their use case in
        `config.base`.

    commit e0878dba0e53706a7f53429b61aee2936e2c21bf
    Author: Kate Friedman <[email protected]>
    Date:   Mon Jul 15 10:25:11 2024 -0400

        Updated prepobs and fit2obs versions for Orion Rocky9 (#2758)

        Update prepobs to v1.0.2 and fit2obs to v1.1.2

        These versions now support Orion Rocky9. Updates are included
        for new install locations on WCOSS2, Hera, Orion/Hercules, and Jet.

    commit 4968f3a8de9a5f90651cacd74e38f97bc80b7bbb
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jul 11 17:48:47 2024 +0000

        CI maintenance updates and adding CI Unit Tests (#2740)

        This PR has a few maintenance updates to the CI pipeline and adds a test
        directory with Unit Tests
        **Major Maintenance updates:**
        - Added try blocks with appropriate messaging to GitHub PR of failure
        for:
        - - **scm** checkout
        - - build fail (with error logs sent as gists)
        - - create experiment fails with `stderr` sent to GitHub PR messaging
        - Pre-stage FAILS from the above are now captured these fails allow
        FINALIZE to update the label to FAIL (i.e. no more "hanging" CI state
        labels in GitHub - see image below)
        **Minor Maintenance updates:**
        - Fix for STALLED cases reviled from PR 2700 (just needed a lambda
        specifier)
        - Fixed path to experiment directory in PR message (had dropped EXPDIR
        in path)
        - Needed `latin-1` decoder in reading log files for publishing
        **Added python Unit Tests for CI functionality:**
        - Installed **Rocoto** and **wxfow** in GitHub Runner for testing key CI
        utility codes
        - Cashed the install of Rocoto in the GitHub Runners to greatly reduce
        stetup time for running the unit tests
        - Unit Tests Python scripts added
        - `test_rocostat.py`: rocoto_statcount() rocoto_summary()
        rocoto_stalled()
          - `test_setup.py`: setup_expt() test_setup_xml()
          - `test_create_experment`: test_create_experiment()
          - - Runs all PR cases that do not have ICs in the GItHub Runner
        - Reporting mechanism in the Actions tab for Python Unit Testing results
        - Test case data for STALLED and RUNNING stored on S3 and pulled using
        wget during runtime of tests

    commit 5ef4db74649b8be03402c17aa29c024e71699a7b
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu Jul 11 08:59:24 2024 -0400

        Adds contents of constructor and initialize methods to marine LETKF class (#2635)

        Adds contents of constructor and initialize methods to marine LETKF class

        Partially addresses https://github.com/NOAA-EMC/GDASApp/issues/1091
        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>

    commit 8998ec7b74123e953b97a93fa14cc78d471a1aee
    Author: David Huber <[email protected]>
    Date:   Tue Jul 9 08:31:57 2024 -0400

        Fix GDAS group B restart archiving (#2735)

        Archives the GDAS restartb dataset at a 6-hour offset from restarta

        This allows cycled experiments to restart from the archives.
        The tabbing for the master archive templates was also added to
        improve readability.

        Resolves #2722

    commit 3ca74771255727033b9dc043c652ac585178629c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Tue Jul 9 08:28:54 2024 -0400

        Add fcst dependency to ocnanalprep (#2728)

        Add previous cycle's `fcst` as a dependency to `ocnanalprep`

        This ensures that the availability of restart files to the latter. This addresses a
        seldomly-encountered race condition where `ocnanalprep` fails due to the
        lack of the files.

    commit 58fca1668aecd6fb1afd12a441256ad35900e075
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jul 5 15:02:23 2024 -0400

        Update (partially) global-workflow for orion+rocky9 (#2741)

        This PR:
        - updates a few submodules (GSI, GSI-utils, GSI-monitor, UFS_utils,
        GFS-utils) to include recent update to their modulefiles for
        Orion+Rocky9 upgrade
        - updates the modulefiles in global-workflow to load modules from
        Orion+Rocky9 paths
        - updates modulefiles for `gwsetup` and `gwci` as well.
        - removes NCL and GEMPAK from Orion. NCL is not used and GEMPAK is not
        installed.
        - adds `parm/config.gfs/config.resources.ORION` to address GSI
        performance degradation after Rocky 9 upgrade.

        This PR:
        - does not update the build for UPP. Standalone UPP is not available via
        ufs-weather-model as of #2729
        - will need a follow-up update for `prepobs` and `fit2obs` updated
        locations when they are installed in `glopara` space on Orion.

        # Type of change
        - 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

        # How has this been tested?
        This PR is not sufficient for Orion.
        This PR must be tested on other platforms (Hera, WCOSS2) as this PR
        updates submodules.

        # 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
        - [ ] My changes generate no new warnings
        - [ ] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Kate Friedman <[email protected]>

    commit d65d3d257b38225fac74e86b770f43e1f8ae2d5a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jul 3 21:07:49 2024 -0400

        Update ufs model hash to 20240625 (#2729)

        Updates UFS weather model hash to hash from 2024-06-24 which has orion
        porting updates + a few namelist updates.

    commit 2bd106a013805ba4e16dbdc456d6731f8f36ec85
    Author: David Huber <[email protected]>
    Date:   Wed Jul 3 11:32:40 2024 -0400

        Hotfix for undefined CLUSTERS (#2748)

        Defines `CLUSTERS` as an empty string for all hosts except Gaea and uses
        the native `dict` `get` method to prevent grabbing an unset entry.

    commit 7dc6651a3b92194d963675bdc0a9ec3c28499abf
    Author: GwenChen-NOAA <[email protected]>
    Date:   Wed Jul 3 09:56:08 2024 -0400

        Update gempak job to run one fcst hour per task (#2671)

        This PR updates gempak jobs (gfs, gdas, and goes) from processing all
        forecast hours at once to one forecast hour at a time. This will reduce
        the job runtime to less than 5 min, so restart capability is not needed.

        Resolves #1250
        Ref #2666 #2667
        ---------

        Co-authored-by: Walter.Kolczynski <[email protected]>

    commit 8215ae654202186a4f753c3abe937b7b9b91a9c7
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 2 16:22:11 2024 -0400

        Hotfix for clusters from #2701 (#2747)

        Fixes an issue created from #2701 that added `CLUSTERS` to the
        `gaea.yaml`.

    commit 11943e36ba12b3df49c51942da780698fab02d38
    Author: DavidBurrows-NCO <[email protected]>
    Date:   Tue Jul 2 12:58:10 2024 -0400

        Fix xml file setup and complete C48 ATM and S2SW runs for CI on Gaea (#2701)

        This PR sets up the ability on Gaea for auto generation of a clean xml
        file, i.e., an xml file that does not need any alterations before
        running rocoto.
        Refs #2572
        Refs #2664

    commit de8706702ead0630beb54d868f83aa2cb23f8f79
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Mon Jul 1 09:29:14 2024 -0400

        Update for JCB policies and stage DA job files with Jinja2-templates (#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](https://github.com/NOAA-EMC/wxflow/pull/30) is a
        companion to this PR.

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: Dan Holdaway <[email protected]>

    commit c49e4eee1a2ca818b3ecdcb9ea41c3f3e91d585b
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jun 28 14:56:19 2024 -0400

        Revert PR 2681 (#2739)

        This PR:
        - reverts #2681 in part
        - keeps some changes for `RUN`.
        - is a hotfix
        - should be merged ASAP after consensus w/ @guillaumevernieres
        @CatherineThomas-NOAA @WalterKolczynski-NOAA

    commit 9476c1237af4adbc95f90bd1bdd34b6b99f2f8a3
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed Jun 26 15:46:08 2024 -0400

        updated Finalize in Jenkinsfile and added try block around scm checkout (#2692)

        We are updating the Jenkins Pipeline with a try block around checkout to
        capture errors for the user.
        Also cleaned up Finalize and added section to clean out workspace on
        success.

    commit 968568f682bac7564095440bdb7813abefd76821
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 26 13:27:19 2024 -0400

        Activate snow DA test on WCOSS (#2720)

        Activate the snow DA test on WCOSS.

    commit 7706760bb8adbdf78cb640b02739023c886e7699
    Author: Rahul Mahajan <[email protected]>
    Date:   Wed Jun 26 10:02:22 2024 -0400

        Cleanup of stale RUNDIRS from an experiment (#2719)

        This PR:
        - removes stale temporary scratch run directories from `$DATAROOT/`
        every 3 days.
        - should help to scrub failed attempts.
        - removes an unused variable `RUNDIR` defined in `config.base`

    commit 8962991691b5f0857b813bddfd28aa1034d4bd2b
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 26 09:43:48 2024 -0400

        Update logic for MOM6 number of layers/exception values (#2681)

        Updates the logic to be by run instead of for DO_JEDIOCNVAR to determine
        how many layers and sets the exception value for MOM6 to be 1e-34 for
        all scenarios. Note, we will no longer have zeros in the ocean grib
        output and the DA will also run without issues.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2615

    commit 12431f76bdce807067929415007592cffc8a2457
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 26 07:42:35 2024 -0600

        Update wave jobs to use COMIN/COMOUT (#2643)

        NCO has requested that each COM variable specify whether it is an input
        or an output.
        This completes that process for the global-workflow wave
        model and products tasks.
        Refs #2451

    commit b902c0bac126c323a07186ad8881384b032b6fda
    Author: David Huber <[email protected]>
    Date:   Tue Jun 25 07:48:46 2024 -0400

        Assign machine- and RUN-specific resources (#2672)

        Redefine resource variables based explicitly on RUN or CDUMP

        Additionally, machine-specific resources are moved out of
        config.resources and placed in respective config.resources.{machine}
        files.

        Resolves #177 #2672

    commit 5edbd123e2878a07f5cce8e3c7ea6147f286633a
    Merge: 09333c01d 4e1b937b6
    Author: Janet Derrico <[email protected]>
    Date:   Mon Jun 24 12:44:05 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 4e1b937b67ed220120e81925c4507f03b9b8965f
    Author: David Huber <[email protected]>
    Date:   Mon Jun 24 10:50:52 2024 -0400

        Add minimum software requirements (#2712)

        Adds a table to HPC documentation stating the minimum support versions

    commit f43a86276aaef91efa28faadc71a3cf50e749efe
    Author: David Huber <[email protected]>
    Date:   Fri Jun 21 13:44:29 2024 -0400

        Fix and simplify online archiving and reenable METplus jobs (#2687)

        This fixes the online archiving portion of the `*arch` and `*earc00`
        jobs, a prerequisite for running METplus.  This also reenables
        METplus by default.

        The approach previously taken created `FileHandler` dictionaries at
        varying levels within the resulting yaml, which was not properly parsed
        by `exglobal_archive.py`. This approach creates a single `FileHandler`
        dictionary and is much less complicated overall.

        Resolves #2673 #2647

    commit 8993b42cb91144c0ab0501dc7841ea8d675c4701
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 19 21:51:22 2024 -0400

        Eliminate post groups (#2667)

        Eliminates the post groups used for upp and products jobs so that each
        task only processes one forecast hour. This is more efficient and
        greatly simplifies downstream dependencies that depend on a specific
        forecast hour.

        Resolves #2666
        Refs #2642

    commit 0b810c888239853fedd0e4584fe62536c6aaacdf
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 20:32:48 2024 -0600

        Removes misleading "No such file or directory" syntax errors from output files (#2688)

        This PR addresses issue #1252. The following is accomplished:

        - Prior to removing files, the existence of a file is checked prior to
        attempting to remove; this is performed as noted
        [here](https://github.com/NOAA-EMC/global-workflow/issues/1252#issue-1538627369);
        this PR only addresses the the `chgrp` issue.

        Refs #1252

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit 3270ac3bf00c3ebc8166c70d84647ec44431fbae
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 12:17:59 2024 -0600

        Hotfix for bug in template names. (#2697)

        This PR is a hotfix for an incorrectly named (e.g., non-existent) `COM/`
        template.
        Resolves #2696
        Refs #2451

    commit 35d4d99eaac669721add9ddcc793153e5ab3b30a
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 08:06:53 2024 -0600

        Update archive job to use COMIN/COMOUT (#2668)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        archive task.

        Refs #2451
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 47b3a581c8257fa24411fb400df8bb0e1e04972a
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Mon Jun 17 22:55:38 2024 -0400

        Turn on high-frequency output in extended test (#2679)

        Turns on high-frequency (hourly) output in the extended products test to
        exercise that aspect of the code. This test only runs on WCOSS.

        Also adds the hooks to optionally turn on the metplus jobs, but that is
        deferred as they are not currently working correctly.

    commit 38f2df9fb0c074b1f80d3c637080be79be693161
    Author: David Huber <[email protected]>
    Date:   Mon Jun 17 17:12:55 2024 +0000

        Optimize wavepostpnt (#2657)

        Optimize the gfswavepostpnt, gfswavepostbndpntbll, and gfswavepostbndpnt jobs

        This is done by
        1) reducing the number of calls to `sed`, `awk`, `grep`, and `cat` by
        - performing operations on all files at once instead of looping over
        each file
            - removing piped `cat` calls (e.g. `cat <file> | sed 'something'`)
            - combining `sed` and `grep` calls when possible
            - adding logic to `awk` calls instead of handling that logic in bash
        2) minimizing as much as possible the amount of data on disk that has to
        be read in (e.g. limiting sed to read only the line numbers it needs)
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5af325a6a4e0a14d180514a418603ca79fada487
    Author: Dan Holdaway <[email protected]>
    Date:   Fri Jun 14 18:05:23 2024 -0400

        Update GDASapp hash to move JCB into GDASapp (#2665)

        This PR moves JCB into GDASapp. The PR
        also bumps up the hash of GDASapp to what is in `feature/move_jcb`,
        which at time of writing is develop plus the absorption of JCB into
        GDASapp.
        Note that I also took the changes from
        https://github.com/NOAA-EMC/global-workflow/pull/2641 to follow the
        testing @RussTreadon-NOAA has done.

    commit 6c93b4554e235fcb4d0004e99a4c4498d55d461b
    Author: Yaping Wang <[email protected]>
    Date:   Fri Jun 14 10:18:17 2024 -0500

        Add observation preparation job for aerosols DA to workflow (#2624)

        Add a prepaeroobs job to prepare aerosol obs files for DA.

        This job does quality control of the VIIRS aerosol raw observations and
        convert them to ioda format.

        Resolves #2623
        ---------

        Co-authored-by: ypwang19 <[email protected]>
        Co-authored-by: TerrenceMcGuinness-NOAA <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 5a5fc2be7555f094a0f90fd3a3df22d071ccdfd4
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jun 14 11:04:41 2024 -0400

        Remove ocean daily files (#2689)

        This PR removes the ocn_daily files that are produced by the ocean
        component. These files can be recreated by averaging data that exists in
        the 6 hour aveaged files if needed.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2675
        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2659 (by
        removing them and making this obsolete)

    commit 603a4a8052a5c43ce5986f028c3fcfd5fd248ad4
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 12:22:03 2024 -0400

        Update Jenkinsfile

        needed a comma

    commit dc21eac6c3941d7f30803891d91d82f4cc1f8183
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 11:41:14 2024 -0400

        Add Hercules-EMC to the Jenkins configurable parameter list (#2685)

        This quick-fix PR is to update the Jenkins Pipeline's configurable
        parameter list to include the **Hercules-EMC** node.
        This allows Jenkins users to restart Jobs in the controller when no
        updates have been made.

    commit ebacebfbe458634b8c80af6a735d6b6d01e4e406
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Thu Jun 13 11:20:24 2024 -0400

        Update gdas.cd and gsi_utils hashes (#2641)

        This PR updates the `sorc/gdas.cd` and `sorc/gsi_utils` hashes. The
        updated hashes bring in bug fixes, new UFS DA functionality, and a Gaea
        build for gsi_utils.

        Resolves #2640

    commit 34155fb4767769600a1ff95f0a65e37081addc2a
    Author: Neil Barton <[email protected]>
    Date:   Thu Jun 13 11:18:22 2024 -0400

        Add ability to use GEFS replay ICs (#2559)

        The PR allows the use of ICs from PSL's replay analysis. These replay
        ICs will be used for GEFS reforecasting and SFS. Two main changes are
        associated with these updates: (1) replay ICs being valid at 3Z, and (2)
        the use of warm starts.

        Resolves #1838

        ---------

        Co-authored-by: Jessica Meixner <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6c19a0e3fc4400e1d39288be4ee4fc244b74f699
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 12 19:25:42 2024 -0600

        Replace `sleep` with `wait_for_file` (#2586)

        This PR addresses issue #2444. The following is accomplished:

        - All `sleep` statements are replaced with `wait_for_file` for the
        relevant scripts beneath `scripts` and `ush`;
        - Indentation and shell-norms are updated where applicable.

        Note: The WAFS scripts are not updated as per @aerorahul direction.

        Resolves #2444

        ---------

        Co-authored-by: henrywinterbottom-wxdev <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5b2a3d449a0835cec2663aabb06f1c47a3faf84e
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 12 13:31:55 2024 -0400

        Add COM template for JEDI obs (#2678)

        Adds a COM template to define a path to store obs processed for JEDI.
        This will allow UFSDA to stop writing to COM_OBS, which should be
        read-only as it belongs to obsproc in operations.

        No functional change yet.

    commit 2e6f1fcde9935619352b1b26cba42ec0f4d845ed
    Author: Guoqing Ge <[email protected]>
    Date:   Wed Jun 12 09:06:23 2024 -0600

        Link both global-nest fix files and non-nest ones at the same time (#2632)

        This PR enables linking both global-nest fix files and non-nest ones at
        the same time and users can run both nesting and non-nesting experiments
        at the same time without worries about what fix files to be linked.

        Resolves #2631

    commit 61de004d4f9e9edf8a31bb173f2719b46451a36a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 12 11:03:13 2024 -0400

        Update ufs-weather-model  (#2663)

        Updates ufs-weather-model, this updates RDHPCS to the newer spack-stack
        allowing some temporary fixes to be reverted.
        * removes upp submodule
        * uses upp from the ufs-weather-model
        * restores the build and link that were hacked during the Hera Rocky 8
        transition to allow for UPP submodule
        * Removes forecast directories in clean-up

        Resolves #2617
        Resolves #2437

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 15eaf35fb13f361be400be38a5f7ca7b5461ab1d
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Wed Jun 12 01:15:37 2024 -0400

        Add ability to process ocean/ice products specific to GEFS (#2561)

        This PR begins to add the capability to produce GEFSv13 ocean and ice
        products in the global-workflow according to stakeholder requirements.
        The following features are added.

        - An oceanice prod yaml file has been added to address the ocean and ice
        products specific to GEFSv13.
        - The rocoto dependencies and config.base for GEFS have also been
        modified to allow for 24-hour averaged ocean and ice output.
        - Various scripts have been modified to allow for ocean and ice output
        frequencies of 24 hours.
        - `FHOUT_OCNICE` has been split into two variables called `FHOUT_OCN`
        and `FHOUT_ICE`. The same has been done for `FHOUT_OCNICE_GFS`.

        Refs #1878

    commit 6691e7489650e0b738c176fbd096109288dc09b6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 11 21:15:07 2024 -0600

        Update cleanup job to use COMIN/COMOUT (#2649)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        clean-up task.

        Refs #2451

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 23a8d8835dd4c5d69ca20f5ff23705f30f17b4b0
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Jun 11 16:17:25 2024 -0400

        Add overwrite to creat experiment in BASH CI (#2676)

        This is a quick hotfix to the CI BASH driver script adding `--overwrite`
        to create experiment script to avoid errors from restarting an
        experiment.

    commit e7909af8d9e1f34140388a3f8556d8e582c58fe5
    Author: emilyhcliu <[email protected]>
    Date:   Mon Jun 10 15:11:27 2024 -0400

        Add handling to select CRTM cloud optical table based on cloud scheme and update calcanal_gfs.py  (#2645)

        This PR proposes updates for the following two scripts:

        1. In **scripts/exglobal_atmos_analysis.sh** --- Add handling to select
        CRTM cloud optical table based on cloud microphysical scheme indicated
        by `imp_physics'
        The default scheme in the GFS forecast model is Thompson scheme
        (imp_physics = 8).

        2. In **/ush/calcanl_gfs.py** --- Increase the MPI number declared in
        the script due to increased variables to interplate increments and
        calculate analysis in the netcdf_io routines in GSI-utils.
        Here is the related [PR #46 for
        GSI-utils](https://github.com/NOAA-EMC/GSI-utils/pull/46).

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9caa51de8fb7be07d2e61775da01937d576964f6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Thu Jun 6 22:15:23 2024 -0600

        Update RDHPCS Hera resource for `eupd` task (#2636)

        As per @wx20jjung, the resource for the `eupd` task have been updated
        for RDHPCS Hera to account for memory issues for C384 `gdaseupd` job
        fails.

        Resolves #2454

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit acf3aaa2b1d3e3024b0b5d2fe23eee8c317a980b
    Author: DavidNew-NOAA <[email protected]>
    Date:   Thu Jun 6 11:49:03 2024 -0400

        Parameterize some things in config.atmanl and config.atmensanl (#2661)

        This PR adds some parameters in config.atmanl and config.atmensanl that
        can be altered with the defaults.yaml. The motivation is to make these
        files match those in the GDASApp JJOB tests (example:
        https://github.com/NOAA-EMC/GDASApp/blob/develop/test/atm/global-workflow/config.atmanl),
        so we can just use the Global Workflow config.atmanl and
        config.atmensanl in the tests rather than custom ones in GDASApp that
        have to be separately updated every time the ones in the Global Workflow
        are updated.

    commit 54ea0b73a07921be5fbb07fe41e976888bd3e549
    Author: Guillaume Vernieres <[email protected]>
    Date:   Thu Jun 6 01:36:02 2024 -0400

        Add links to the ocean insitu obs processing tools (#2644)

        Add links to the marine bufr to ioda converters for the marine insitu
        observations.

        - fixes https://github.com/NOAA-EMC/GDASApp/issues/1106
        - waiting for https://github.com/NOAA-EMC/GDASApp/pull/1135

    commit 205d0c2b13e2d7755cec75bf8c978ab20d453862
    Author: David Huber <[email protected]>
    Date:   Wed Jun 5 17:31:30 2024 +0000

        Update S4 point of contact in docs (#2660)

        Update the point of contact for global workflow issues on S4.

    commit aa23ccf1d0d229f9ff1398d84af1fa7ee5bed262
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed Jun 5 12:50:14 2024 -0400

        Enable wcoss2 ufsda build and module load (#2620)

        This PR enables ufsda (`sorc/gdas.cd`) to be built and run on WCOSS2.

        Resolves #2602
        Resolves #2579

    commit 67b833e0c7bc390865d453588b4609a1a7ede981
    Author: Jessica Meixner <[email protected]>
    Date:   Tue Jun 4 13:33:43 2024 -0400

        Update ufs-weather-model  (#2646)

        Updates UFS model to the commit https://github.com/ufs-community/ufs-weather-model/commit/5bec704243286421fc613838fc67a2129e96acd6
        This should resolve the issue and allow C768 runs on Hera and allow for CICE
        to run on WCOSS2 (due to library updates to allow linking).

        From what I can tell, all updates needed were done by
        @HenryWinterbottom-NOAA which were updates for CICE

        Fixes #2490

    commit c44d0ac86cfdf78eb87492431bf6d825e8bae637
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue Jun 4 10:29:49 2024 -0400

        Update wmo parm files to fix WMO header (#2652)

        This PR updates wmo parm files to switch WMO header of precipitation
        type products (CRAIN, CFRZR, CICEP, and CSNOW) from time averaged to
        instantaneous.

        Resolves #2566

    commit 237d6dd213e8b1455d2f45dc5978fb2d3de93e60
    Author: Cory Martin <[email protected]>
    Date:   Tue Jun 4 13:55:33 2024 +0000

        Add IAU to snow DA (and its test) (#2610)

        This PR enables IAU for the snow DA which is necessary for GFSv17.

        A snow analysis is created for the center of the window regardless, and
        an additional at the beginning of the window is added if IAU is on. The
        former is needed for UPP and the latter, to initialize the model.

        The increment is valid throughout the window for 3DVar, so the same
        increment is added to both forecasts.

        Additionally, the input file that goes into global_cycle has been
        updated to be the output of the JEDI snow analysis instead of the
        forecast (@jiaruidong2017 I recall discussing this, can you confirm this
        is right or am I mistaken)

        This PR also makes the CI test for snow DA (and aerosol DA) include IAU
        rather than without IAU,.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit c92bf415060750127c9c05a62a1d2851c489551a
    Author: David Huber <[email protected]>
    Date:   Sat Jun 1 05:11:07 2024 +0000

        Archiving cleanup (#2621)

        1) Adds a lot of comments to the jinja templates for archiving
        2) Rearranges the gdas and enkf templates to a more logical order
        3) Fixes a couple of bugs in the enkf archiving of increments and
        analyses
        4) Disables archiving for the half cycle
        5) Removes the `FITSARC` key from `config.base` and `arcdir.yaml.j2`,
        instead relying on `DO_FIT2OBS`
        6) Updates wxflow to add the option to not allow undefined variables
        when parsing jinja templates and invokes this feature when running
        archives

        Resolves #2612

    commit 12aa1e9cd2d159e2b303d2b33d6c79c365688eec
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri May 31 04:57:08 2024 -0400

        Switch to Rocky 9 built external packages on Hercules (#2608)

        The workflow was updated to use modules built on Rocky 9, but the
        external packages (like prepobs) were still pointing to the versions
        built on CentOS (Orion). This transitions to packages built on Rocky 9.

        Updating of the tracker package has been deferred until later. As such,
        the tracker jobs have been disabled by returning immediately if they are
        on Hercules. Since these jobs are small, resource-wise, it should not
        meaningfully impact turnover time.

    commit 4422550c01c9214a2b3b8890bdcc898123ee216a
    Author: Guoqing Ge <[email protected]>
    Date:   Thu May 30 08:05:23 2024 -0600

        Add the capability to use slurm reservation nodes (#2627)

        Add the capability to use slurm reservation nodes
        Add "ACCOUNT_SERVICE" for jobs to run in PARTITION_SERVICE

        Resolves #2626

    commit a54153fd9d26126206bc07a1da4e80f50c0c5910
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 29 23:24:07 2024 -0400

        Update forecast job to use COMIN/COMOUT (#2622)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the forecast job.

        Refs #2451

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit d69a8af95d492982b918670322ed5c41ab074335
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 21:29:03 2024 -0400

        Update to add 1-deg global wave grid (#2619)

        This PR adds options to use a global 1 deg grid, intended for testing
        with the SFS application.

        Requires new fix file changes NOAA-EMC/global-workflow#2618

    commit 0b4670ecf83b99b72835c8380573b2bca7cf5324
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 17:17:21 2024 -0400

        Add C384mx025_3DVarAOWCDA yamls (#2625)

        Adds the C384mx025_3DVarAOWCDA yaml files for one experiment into a new GFSv17 folder.

    commit 2e885d05c64b947f00a3cf055a1277fbfac195c9
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 29 13:00:51 2024 -0400

        Script to keep Jenkins Agent persistent from cron (#2634)

        This "persistent" Java Agent launch script can be ran from a cron job:

        - Uses Jenkins Remote API to check the status of the Node connection
        using curl for a given machine.
        - If it is not connected a new agent is launched for that node.

        Resolves #2633

    commit bb58e064d8e82ce51802bd6064cfa84cae2cc4d5
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue May 28 17:17:11 2024 -0400

        Change GRIB2 parameter names and vertical levels for ocean/ice post (#2611)

        Based on users' feedback, this PR do the following:
        1. Change GRIB2 parameter names DLWRF -> NLWRF and DSWRF -> NSWRF
        2. Change the vertical level of ocean 3D variables (WTMP, SALIN, UOGRD,
          and VOGRD) from "%g m below water surface" to "%g m below sea level"
        3. Round up depth numbers to integer (e.g. 4481.0625 -> 4481 m)

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit e53c5e8e0abbc0edf95970a71df0e6e8a2be9f31
    Author: DavidNew-NOAA <[email protected]>
    Date:   Tue May 28 17:16:23 2024 -0400

        Add atmensanlfv3inc job (#2592)

        This PR creates the atmensanlfv3inc job, the ensemble version of
        atmanlfv3inc, created in GW PR #2420. Its GDASApp companion PR is
        #[1104](https://github.com/NOAA-EMC/GDASApp/pull/1104), and its JCB-GDAS
        companion PR is #[3](https://github.com/NOAA-EMC/jcb-gdas/pull/3).

    commit 50c2b8951b29a3c883a778becbf8582f9519eb48
    Author: Anil Kumar <[email protected]>
    Date:   Tue May 28 13:23:53 2024 -0400

        Global-workflow (AR) Generic updates for Gaea C5 (#2515)

        - Port global-workflow’s build and run capability to Gaea-C5
        - Building global-workflow on Gaea-C5
        - Setting up experiments with global-workflow on Gaea-C5

        ---------

        Co-authored-by: AnilKumar-NOAA <[email protected]>
        Co-authored-by: DavidBurrows-NCO <[email protected]>

    commit b6ca771a0c584cbfcbbf9be739765d5f3815df97
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 24 10:52:45 2024 -0400

        Update STMP and PTMP settings in host file for Orion and Hercules  (#2614)

        - Updating STMP and PTMP settings in host file for Orion and Hercules
        because they are cross mounted.
        - Also took the opportunity to finally update **SLURM_ACCOUNT** to
        **HPC_ACCOUT** in CI over rides.
        - Added a refactor of the `rocotostat.py` tool that is more pythonic and
        as a execute retry feature because the `rocotostat` utility on Orion has
        been failing sometimes.

    commit 7d2c539f45194cd4e5b21bfd4b83a9480189cd0f
    Author: Guillaume Vernieres <[email protected]>
    Date:   Tue May 21 23:50:50 2024 -0400

        Sea-ice analysis insertion (#2584)

        Allows cycling and restarting CICE with the sea-ice analysis if the
        marine DA is switched on.

        Resolves #2568
        Resolves NOAA-EMC/GDASApp#1103

    commit 5369a1ff3a3969149fcf32810fad0e50216752b7
    Author: David Huber <[email protected]>
    Date:   Tue May 21 22:12:29 2024 +0000

        Refactored archiving (#2491)

        This provides a new pygfs task, archive.py, that provides all of the
        tools necessary to archive data to the local (`ARCDIR`) and backup
        (`ATARDIR`) archive directories. YAML-Jinja2 templates are provided to
        define the file to be archived or tarred to replace the
        `hpssarch_gen.sh`, `exglobal_earc`, and `exglobal_archive.sh` scripts
        and make it easier to add new data and explicitly handle optional and
        required files.

        For `ATARDIR` archiving, a master jinja template is provided for each
        `RUN` (i.e. master_gdas.yaml.j2, master_gfs.yaml.j2,
        master_enkf.yaml.j2). The master_enkf.yaml.j2 template is used for both
        `enkfgdas` and `enkfgfs` `RUN`s. These templates then include the
        appropriate `RUN`-specific jinja templates (e.g. gdas.yaml.j2) based on
        experiment, cycle, and coupled parameters. Each of these templates
        corresponds to a single tarball to populate and are tabbed 4 spaces so
        they are defined within the master `datasets` dictionary.

        Future developers should not have to make modifications to archive.py
        unless archiving is being enabled for a new `RUN` (e.g. `gefs`) and then
        only a single `elif` needs to be added to the configure method to
        specify the master `ATARDIR` template to archive (e.g.
        `master_gefs.yaml.j2`). If a new component is coming online that needs
        to be archived to `ATARDIR` (e.g. SNOW), then create a new template for
        each `RUN` that it needs to be archived for (e.g. `gdassnow.yaml.j2`)
        and reference the template in the appropriate master templates, e.g.

        `master_gdas.yaml:`
        ```jinja
        {% if DO_SNOW %}
        {% include "gdassnow.yaml.j2" %}
        {% endif %}
        ```

        A few other issues were addressed along the way:
        1. Aerosols have been reenabled. Aerosol forecasts should only be
        performed during gdas cycles, but analyses can be performed for both gfs
        and gdas cycles. This was accomplished by setting separate
        `AERO_<job>_CDUMP` variables to parse on for both `ANL` and `FCST` jobs.
        2. Fixed the name of the `cice6_rst_ok` variable in `forecast_det.sh`.
        This prevented restarts from being used for cice-enable experiments.
        This feature was not tested.
        3. Create a temporary fix for the `wgrib` utility. For spack-stack
        1.6.0, the `grib-util` module file does not declare `WGRIB`. An issue is
        open (https://github.com/JCSDA/spack-stack/issues/1097) to fix this in
        existing installations. Once complete, this temporary fix should be
        removed.
        4. The number of `earc` jobs has been reduced for lower resolution
        experiments. Both C48 and C96 experiments will now only have two earc
        jobs (one for the non-member files to archive and another for the member
        files). C192 will have up to 3 earc jobs (one non-member, one for
        members 1-40 and another for members 41-80, if needed).

        Resolves #2345
        Resolves #2318

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9aad86f27d37d19165b9a0b64cf70c7a4dd6362c
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 17 12:57:59 2024 -0400

         Add remove RUNDIRS step in CI before creating experements (#2607)

        As had been done in Bash CI we need to remove the RUNDIR in Jenkins
        before a creating an experiment in the event that case had beem
        previously ran.

    commit 09333c01dbafddb2d2fe7e181b479af3cc6d3621
    Merge: f7e9f4489 bb930050b
    Author: Janet Derrico <[email protected]>
    Date:   Thu May 16 14:33:19 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit bb930050b3cd51d28ecba6b231c8675f6d11856c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu May 16 12:28:30 2024 -0400

        Adds jjob and other necessities for marine LETKF task (#2564)

        Adds jjob, rocoto script, config file, and other necessities for new
        marine LETKF task.

        Partially addresses NOAA-EMC/GDASApp#1091

    commit 2c50fbde4d6cc3e53c55dca56925353a02fd1730
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 12:12:06 2024 -0400

        Updating CI Machine configs with redundant PTMP (#2605)

        Quick fix adding PTMP as STMP in Machine configs for CI for completeness

    commit ef340ff33a6f89adf70838206ba3fd56a953fa7a
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 11:37:30 2024 -0400

        Fix race condition in CI between Orion and Hercules (#2604)

        Hotfix to solve race conditions in the CI system due to cross-mounted
        file systems between Orion and Hercules

    commit e8b17e27f719df280170dc3f5bd9f19917cefaf2
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 17:16:30 2024 -0400

        Remove existing EXPDIRs and COMROTs when CI is re-run (#2601)

        Quick hotfix for having default for re-runing jobs to start clean with
        new EXPDIRs and COMROTs

    commit b5d113efb1970ede5cd1d3d4dff8d96320519c41
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 16:52:49 2024 -0400

        Moving logic for skipping hosts in pr cases (#2573)

        This PR removes the logic of skipping hosts for pr cases from
        `create_experiment.py` and moves it to a test in the cron bash driver
        using a `parse_yaml.py` python tool.

        The Jenkins pipeline was not effected as it uses the
        `get_host_case_list.py` utility to form the cases on a per host bases.

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 3cd0c68c0de9900bc7b73e1ed7621573dff5e916
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed May 15 13:13:30 2024 -0400

        Update gsi_utils.fd hash (#2598)

        This PR updates the `gsi_utils.fd` hash to bring in updates which add
        safeguards to
        -
        `src/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90`
        - `src/EnKF/gfs/src/recentersigp.fd/recentersigp.f90`

        The safeguards are described in GSI-utils PR
        [#41](https://github.com/NOAA-EMC/GSI-utils/pull/41) and the associated
        issue.

        Resolves #2597

    commit d5366c66bd67f89d118b18956fe230207cbf0aea
    Author: Kate Friedman <[email protected]>
    Date:   Wed May 15 13:12:56 2024 -0400

        Update CICE and MOM6 fix versions (#2600)

        This PR updates the CICE (`cice_ver`) and MOM6 (`mom6_ver`) fix versions
        to the newer `20240416` timestamps, which includes updates and fixes to
        the `100` (1-deg) resolution files.

        Resolves #2480
        Resolves #2483
        Resolves #2595

    commit 6ca106e6c0466d7165fc37b147e0e2735a1d6a0b
    Author: David Huber <[email protected]>
    Date:   Mon May 13 22:57:38 2024 +0000

        Limit gfswavepostpnt to 40 PEs/node (#2588)

        This fixes the slow runtime of the gfswavepostpnt job on Hercules. The
        job is very I/O intensive and does not scale well to large nodes, so
        limit the number of jobs/node to 40.

        Resolves #2587

    commit 4fb7c12c325702a47f27c802a5067efd33d0327c
    Author: Fanglin Yang <[email protected]>
    Date:   Mon May 13 16:37:51 2024 -0400

        Update damping and time-step (#2575)

        Updates the model to use explicit Rayleigh damping for u/v and implicit
        damping to w. This improves model stability and allows for longer
        timesteps. Also unifies the GDAS and GFS to use the same damping.

        Results from a test at the C1152 resolution (coupled model) can be found
        at https://www.emc.ncep.noaa.gov/gmb/wx24fy/C1152/newdamp/

        Resolves #2574

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Lisa Bengtsson <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6a9c1372ecce9e50e4f6e10e56f6e504cde1afe6
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 10 14:17:13 2024 -0400

        Do not use BUILT_semphore to force rebuilds when re-run (#2593)

        Remove the placement of the `BUILT_semaphore` file after the build in
        the Jenkins Pipeline and force it to rebuild any changes after a PR is
        re-ran.

    commit 2346c6161f75ae02369cbf30f30c6150d3e12b66
    Author: Innocent Souopgui <[email protected]>
    Date:   Thu May 9 21:17:06 2024 -0500

        Migration to Rocky8 spack-stack installations on Jet (#2458)

        # Description
        Migrates Global Workflow to Rocky8 spack-stack installations on Jet.
        Jet has moved from CentOS7 to Rocky8.

        Resolves #2377
        Refs NOAA-EMC/UPP#919
        Refs NOAA-EMC/gfs-utils#60
        Refs NOAA-EMC/GSI#732
        Refs NOAA-EMC/GSI-Monitor#130
        Refs NOAA-EMC/GSI-utils#33

    commit c7b3973014480a20dd8e24edaeb83a9e9e68159f
    Author: Jessica Meixner <[email protected]>
    Date:   Thu May 9 11:36:58 2024 -0400

        Updates for cold start half cycle, then continuing with IAU for WCDA (#2560)

        This PR allows us to run C384 S2S with IAU, but starting with the first
        half-cycle as a cold-start. This will be necessary for cycled testing as
        we build towards the full system for GFSv17. This updates the copying of
        the restarts for RUN=gdas for both ocean and ice copying what the atm
        model is doing. It also reduced the amount of restart files from 4 to 3.

        Other updates:
        * Add DOJEDI ocean triggers for archiving certain files update from:
        @CatherineThomas-NOAA
        * Adds COPY_FINAL_RESTARTS option to turn on/off copying the last
        restart file to COM. Defaults to off...
        * Defines model_start_date_current_cycle & model_start_date_next_cycle
        to help with knowing which IC to grab.

        Refs #2546

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit b405b7d3d11d384ce9fe3b9cd2180f315f7b38f2
    Author: Dan Holdaway <[email protected]>
    Date:   Wed May 8 20:52:48 2024 -0400

        Use JCB for assembling JEDI YAML files for atmospheric GDAS (#2477)

        Change the JEDI YAML assembly for the atmospheric GDAS to use the JEDI
        Configuration Builder (JCB) tool so that YAMLs can be made more portable
        and invoke the observation chronicle mechanism.

        Resolves #2476

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 0cf0349c1f88048806e68ab58e93a3261b7a0e95
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 8 02:04:16 2024 -0400

        Add CI test for products (#2567)

        Adds a new version of the atm3DVar test that runs the full forecast
        length and produces most of the secondary products. For now, this test
        will only run on WCOSS due to gempak failures on other machines as well
        as computational needs. On other machines, the original version will run
        (the original version will not run on WCOSS). AWIPS remains off for now
        in this extended test due to a bug involving tocgrib2 and the convective
        precip fields (see #2566).

        The new test runs for 4½ cycles and the full 384-hr forecast length to
        ensure all gempak scripts are exercised. Since the cycle throttle is 3
        and the bulk of the time is in the free forecast, the cycles run mostly
        concurrently so it doesn't extend the total test time too much beyond
        that of a single 384-hr forecast.

        Fixes a bug in NPOESS that was introduced when the post filenames were
        reverted to the previous format for the GOES products until the final
        filenames are determined (#2499).

        Also removes the AWIPS g2 job from the rocoto mesh to complete the
        retirement of grib1 products.

        Resolves #2132
        Resolves #2445

    commit 9b6f8404ac4507d14adc404b77cfdf002b55e832
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue May 7 00:14:36 2024 -0400

        Add task to prepare emissions for GEFS (#2562)

        This PR:
        - introduces a task to prepare emissions for a forecast into the GEFS
        application.
        - adds configuration, j-job, rocoto job, ex-script and the python class
        for this job
        - updates GEFS workflow to be able to generate the XML to call this job.
        - updates the `fcst` and `efcs` job dependencies in the GEFS application
        to depend on `prep_emissions` if aerosols are turned ON.
        - provides a placeholder for @bbakernoaa to work on the details for
        preparing emissions.

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 233c18815d2e8e6b344f161fd0c102a4fbdfb66d
    Author: Dan Holdaway <[email protected]>
    Date:   Mon May 6 18:11:35 2024 -0400

        Single Executable for main GDAS JEDI applications (#2565)

        Changes that accompany GDAS PR (NOAA-EMC/GDASApp/pull/1075) that a…
kayeekayee added a commit to kayeekayee/global-workflow that referenced this issue Sep 26, 2024
Squashed commit of the following:

commit 4ad0d52a6fbb581a9804bd0bb627b7c52f338bad
Author: kayee.wong <[email protected]>
Date:   Thu Sep 19 19:20:06 2024 +0000

    For pygraf plotting.

commit 1bfba70ed6aaa3eb47974006ed0c5cae653b8ce8
Author: kayee.wong <[email protected]>
Date:   Thu Sep 19 04:27:55 2024 +0000

    Fixed gfsatmprod file name and gfsarch data type.

commit 4e0a81f7acf5ccba5de8d3bdf7ab19cae80812cb
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 18:37:50 2024 +0000

    Fix typos/links/dependancy.

commit d5fdcbf8d6e987dbdfcd6b4da34d0934c8d82c3b
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 07:37:52 2024 +0000

    Fixed missing config.base files.

commit c6239f925369b20fd8488e8537969e2f4f9e7725
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:53:47 2024 +0000

    Update submodule hashs.

commit 32bf790f67b818ff50a7f6b74388fb81ed175b3a
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:09:41 2024 +0000

    Update develop branch, gsl_ufs_dev
     - based on gsl_ufs_dev from KaYee's fork
       global-workflow: 07Aug24,37c53ac [develop_07Aug2024_37c53ac]
       UFS: 19Jul24, c127601
       FV3: 19Jul24, 2527c11
       UPP: 23Apr24, be0410e
       CCPP-PHYSICS: 19Jul24, 46df080
       UFS_UTILS: 26Jun24, 3ef2e6b

    Squashed commit of the following:

    commit 70b557836379bb7e545fcc6642e28d66cfc17735
    Merge: 5edbd123e 37c53ac69
    Author: Janet Derrico <[email protected]>
    Date:   Wed Aug 7 11:02:24 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 37c53ac692274eb5e9f9a3220033406e8c4b4a04
    Author: Kate Friedman <[email protected]>
    Date:   Wed Aug 7 08:11:21 2024 -0400

        Revert MSU FIX_DIRs back to glopara (#2811)

    commit 876dfee26ad67e1f729bbf52b3167d48ea5a7517
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Aug 6 14:47:36 2024 -0400

        Bugfix for updating label states in Jenkins (#2808)

        Quick bug fix for updating state labels in CI during finalize.
        (did not reference GitHub CLI executable correctly in the pipeline
        script)

    commit 8fee36f0307b0c08080e3a8fa8fa6703e7da5fce
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Aug 6 11:02:45 2024 -0400

        Clean-up temporary rundirs - take 2. (#2753)

        This PR:
        - is a follow-up to a previous PR that aggressively pruned run
        directories.
        - removes run directories for the current cycle in the clean-up if the
        cycle is successful. If the cycle is not successful, cleanup is not
        called and all run directories for the cycle are safe from being purged.
        - also updates the PR template to list/query for any updates to
        submodules.

        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit d599fff4aedd41ae587dbe02226acb12ff48efc1
    Author: HelinWei-NOAA <[email protected]>
    Date:   Mon Aug 5 05:31:31 2024 -0400

        Change land surface for HR4 (#2787)

        Resets the default value of opt_diag to 2 corresponding to the land
        surface upgrades in ufs-weather-model for HR4.

        Resolves #2786

    commit 6d7f7e860a0c7062f90bf09fdf9a5d19dc77cfdb
    Author: David Huber <[email protected]>
    Date:   Fri Aug 2 15:41:29 2024 -0400

        Run METplus serially and correct the name of prod tasks (#2804)

        Adds 2 hot fixes:

        - METplus v9.1.3 has a bug in it that sometimes attempts to create
        multiple copies of the same directory when running in parallel, causing
        a Python error and downstream problems. This PR makes METplus run in
        serial mode, preventing such issues.
        - Corrects the name of the atmos_prod, ocean_prod, and ice_prod tasks in
        workflow/rocoto/tasks.py (was accidentally changed to e.g. atmosprod)

    commit 0706c59ac53cc3bbfbaa56cbd7fa75ab51117830
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri Aug 2 15:03:45 2024 -0400

        Update Java Agent launching script for Jenkins connections (#2762)

        Made updates to the Jenkins Launching Script for robustness and less
        ambiguous documentation:
        - Clearer distinction between required user token for the remote api and
        the systems token for launching
        - Added pre-checks: `gh` is authenticating, named compliant token and
        secret file exists
        - More robust Jason based parser of the remote api response for checking
        the state of the Node connection
        - For `cron` use a 5 minute pause and recheck was added before
        re-launching of the java agent
        - Added concise header documentation of requirements and purpose
        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit b73b1fd203496db97f8067652659573a632bcc67
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri Aug 2 07:59:06 2024 -0400

        Fix erroneous cdump addition (#2803)

    commit 49877046ac3306f6b78ca0ab5d5089ba1aa3e3e3
    Author: Rahul Mahajan <[email protected]>
    Date:   Thu Aug 1 20:26:13 2024 -0400

        Update ocean post-processing triggers (#2784)

        This PR:
        - replaces `check_netcdf.sh` checker for ocean post-processing with with
        ocean output at the next forecast hour or finishing of the forecast job
        for ocean prod
        - removes no longer needed `ush/check_netcdf.sh`

    commit aa2af1ca8d59424a60a1730722bf528775d9e606
    Author: GeorgeGayno-NOAA <[email protected]>
    Date:   Thu Aug 1 16:46:10 2024 -0400

        Update the gfs_utils repository hash (#2801)

        # Description
        Point to the latest hash of the gfs-utils repository, which contains the
        bug fix to gaussian_sfcanl.

        Resolves #2669.
        Refs: https://github.com/NOAA-EMC/gfs-utils/pull/73

    commit d3d85f0e0d573f16a71ca44778021dfc0ccf50c8
    Author: David Huber <[email protected]>
    Date:   Thu Aug 1 08:12:14 2024 -0400

        Add fixes for metplus jobs when gfs_cyc=2 or 4 (#2791)

        Changes how METplus jobs run so that they run on the last GFS cycle for
        a given `PDY`.

        This is a departure from operations where the METplus jobs run on the
        00Z cycle for the previous 3 cycles and 00Z (i.e. `${PDYm1}06` through
        `${PDY}00`). With this PR, for gfs_cyc=4, METplus jobs will run on
        `${PDY}18` for cycles 00-18. See
        https://github.com/NOAA-EMC/EMC_verif-global/pull/131 for more details.

    commit 1cf8b448af562dbb7af198399c78c585977e81da
    Author: David Huber <[email protected]>
    Date:   Tue Jul 30 10:38:49 2024 -0400

        Simplify resource-related variables, remove CDUMP where unneeded (#2727)

        This overhauls resource-related variables to use a common set of
        variables for each job. In the process, this also removed the use of
        CDUMP in most cases.

        Resolves #1299 #2693

    commit 61875f25c9e971f82ae499b5b612d7f095deebd4
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Mon Jul 29 14:40:03 2024 -0400

        Remove f000 from atmos rocoto tasks for replay cases (#2778)

        The main purpose of this PR is to remove the f000 from
        atmosphere-related rocoto tasks when `REPLAY_ICS` is set to `YES`. In
        cases where `REPLAY_ICS` is `YES` and `OFFSET_START_HOUR `is greater
        than `0`, it becomes necessary to have the first lead hour set to
        `OFFSET_START_HOUR ` for the atmosphere-related rocoto tasks. For
        example, when `OFFSET_START_HOUR ` is set to `3`, then the minimum lead
        time for the atmos_prod and atmos_ensstat rocoto tasks needs to be 3 and
        the minimum lead time for the ocean_prod rocoto task needs to be 6
        (assuming `FHOUT_OCN` is 6). This PR makes this rocoto workflow set up
        possible by removing 0 from fhrs for atmosphere-related tasks in
        `gefs_tasks.py` when replaying.

        This PR also moves where f000 is being removed for the ocean_prod and
        ice_prod tasks. The if-block that performs this f000 removal has been
        moved from `tasks.py` to `gefs_tasks.py` and `gfs_tasks.py`.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit f156a7894d639f177e3e2588f98eec1f6f59aa68
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jul 26 14:18:32 2024 -0500

        HR4 GWD update (#2732)

        This update is a combination of the gravity wave drag (GWD) versions
        from the NOAA/GSL and NOAA/PSL

    commit a7f6b32ed63efa0de21bfb0ce63364a5b22b9891
    Author: David Huber <[email protected]>
    Date:   Thu Jul 25 14:26:52 2024 -0400

        Temporarily disable METplus jobs (#2796)

    commit 848659691fdbf47e7ccdbbb2ebf22a6e470633a2
    Author: Guillaume Vernieres <[email protected]>
    Date:   Wed Jul 24 15:00:35 2024 -0400

        Refactoring of the marine B-matrix job (#2749)

        Refactor the functionality of B-matrix generation from the GDASApp

        Resolves #2743

    commit 65a7ab75dc0e4baba06a02e11ed0455787056a68
    Author: David Huber <[email protected]>
    Date:   Tue Jul 23 08:35:48 2024 -0400

        Replace Jinja namespaces with replace_tmpl filter and disable ACCOUNT_SERVICE option (#2775)

        Removes the namespace-based construction of EnKF member COM directories
        in the enkf archive template.

    commit c45b9611f3e701b819bd33dc5af29033f060bb91
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Tue Jul 23 00:33:16 2024 -0400

        Add task to process reforecast variables to save on WCOSS2 (#2680)

        # Description
        This PR adds an optional task to the global-workflow to process a subset
        of ocean, ice, wave and atmosphere products to be saved on WCOSS2 for
        the GEFSv13 reforecast. This task is designed to process GEFS variables
        so that specific reforecast product requirements are met. A new variable
        in `config.base` called `DO_EXTRACTVARS` enables this task, which is
        currently called `extractvars`. `DO_EXTRACTVARS` is set to `NO` by
        default and is specifically a task designed to be executed for the
        GEFSv13 reforecast.

        Refs #1878

        # Type of change
        - New feature (adds functionality)

        # Change characteristics
        - Is this a breaking change (a change in existing functionality)? NO
        - Does this change require a documentation update? NO

        # How has this been tested?
        This has been cloned and tested on WCOSS2. This will need to be tested
        on Hera and other platforms on which the reforecast may be running.

        # Checklist
        - [ ] 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
        - [ ] I have commented my code, particularly in hard-to-understand areas
        - [x] My changes generate no new warnings
        - [x] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 71dc33c6ca991c16ce743760d99feaaf60f2218a
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 14:51:53 2024 -0400

        Set METplus process count in config.metp; add verif-global support for Rocky 9 (#2774)

        Fix metp* resources and check that they completed properly; add support for Orion Rocky 9

    commit 56df67a90fe090c425199f1285e5aac722c398b1
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 09:28:18 2024 -0400

        Hotfix: Update jcb to avoid git-lfs files (#2782)

        Removes git-lfs files from the `GDASApp` `jcb` submodule, allowing it to
        be cloned on Hera.

        This hotfix points to a non-authoritative branch of the GDASApp
        (https://github.com/DavidHuber-NOAA/GDASApp/tree/hotfix/update_jcb) and
        should be updated ASAP back to the authoritative repository.

    commit fc668aa422ebbad76ceda1b3bbf8dc0ea432defd
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 16 09:44:00 2024 -0400

        Address issues in creating XML for GFS forecast-only with app S2SWA (#2757)

        This bugfix PR:
        - fixes an issue where a user is unable to generate the XML for a GFS
        forecast-only experiment with APP=S2SWA

        Specifically, the changes are related to defining `aero_fcst_cdumps`.
        Following `setup_expt.py`, the user will have to set
        `AERO_FCST_CDUMPS="gdas|gfs|both" depending on their use case in
        `config.base`.

    commit e0878dba0e53706a7f53429b61aee2936e2c21bf
    Author: Kate Friedman <[email protected]>
    Date:   Mon Jul 15 10:25:11 2024 -0400

        Updated prepobs and fit2obs versions for Orion Rocky9 (#2758)

        Update prepobs to v1.0.2 and fit2obs to v1.1.2

        These versions now support Orion Rocky9. Updates are included
        for new install locations on WCOSS2, Hera, Orion/Hercules, and Jet.

    commit 4968f3a8de9a5f90651cacd74e38f97bc80b7bbb
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jul 11 17:48:47 2024 +0000

        CI maintenance updates and adding CI Unit Tests (#2740)

        This PR has a few maintenance updates to the CI pipeline and adds a test
        directory with Unit Tests
        **Major Maintenance updates:**
        - Added try blocks with appropriate messaging to GitHub PR of failure
        for:
        - - **scm** checkout
        - - build fail (with error logs sent as gists)
        - - create experiment fails with `stderr` sent to GitHub PR messaging
        - Pre-stage FAILS from the above are now captured these fails allow
        FINALIZE to update the label to FAIL (i.e. no more "hanging" CI state
        labels in GitHub - see image below)
        **Minor Maintenance updates:**
        - Fix for STALLED cases reviled from PR 2700 (just needed a lambda
        specifier)
        - Fixed path to experiment directory in PR message (had dropped EXPDIR
        in path)
        - Needed `latin-1` decoder in reading log files for publishing
        **Added python Unit Tests for CI functionality:**
        - Installed **Rocoto** and **wxfow** in GitHub Runner for testing key CI
        utility codes
        - Cashed the install of Rocoto in the GitHub Runners to greatly reduce
        stetup time for running the unit tests
        - Unit Tests Python scripts added
        - `test_rocostat.py`: rocoto_statcount() rocoto_summary()
        rocoto_stalled()
          - `test_setup.py`: setup_expt() test_setup_xml()
          - `test_create_experment`: test_create_experiment()
          - - Runs all PR cases that do not have ICs in the GItHub Runner
        - Reporting mechanism in the Actions tab for Python Unit Testing results
        - Test case data for STALLED and RUNNING stored on S3 and pulled using
        wget during runtime of tests

    commit 5ef4db74649b8be03402c17aa29c024e71699a7b
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu Jul 11 08:59:24 2024 -0400

        Adds contents of constructor and initialize methods to marine LETKF class (#2635)

        Adds contents of constructor and initialize methods to marine LETKF class

        Partially addresses https://github.com/NOAA-EMC/GDASApp/issues/1091
        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>

    commit 8998ec7b74123e953b97a93fa14cc78d471a1aee
    Author: David Huber <[email protected]>
    Date:   Tue Jul 9 08:31:57 2024 -0400

        Fix GDAS group B restart archiving (#2735)

        Archives the GDAS restartb dataset at a 6-hour offset from restarta

        This allows cycled experiments to restart from the archives.
        The tabbing for the master archive templates was also added to
        improve readability.

        Resolves #2722

    commit 3ca74771255727033b9dc043c652ac585178629c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Tue Jul 9 08:28:54 2024 -0400

        Add fcst dependency to ocnanalprep (#2728)

        Add previous cycle's `fcst` as a dependency to `ocnanalprep`

        This ensures that the availability of restart files to the latter. This addresses a
        seldomly-encountered race condition where `ocnanalprep` fails due to the
        lack of the files.

    commit 58fca1668aecd6fb1afd12a441256ad35900e075
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jul 5 15:02:23 2024 -0400

        Update (partially) global-workflow for orion+rocky9 (#2741)

        This PR:
        - updates a few submodules (GSI, GSI-utils, GSI-monitor, UFS_utils,
        GFS-utils) to include recent update to their modulefiles for
        Orion+Rocky9 upgrade
        - updates the modulefiles in global-workflow to load modules from
        Orion+Rocky9 paths
        - updates modulefiles for `gwsetup` and `gwci` as well.
        - removes NCL and GEMPAK from Orion. NCL is not used and GEMPAK is not
        installed.
        - adds `parm/config.gfs/config.resources.ORION` to address GSI
        performance degradation after Rocky 9 upgrade.

        This PR:
        - does not update the build for UPP. Standalone UPP is not available via
        ufs-weather-model as of #2729
        - will need a follow-up update for `prepobs` and `fit2obs` updated
        locations when they are installed in `glopara` space on Orion.

        # Type of change
        - 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

        # How has this been tested?
        This PR is not sufficient for Orion.
        This PR must be tested on other platforms (Hera, WCOSS2) as this PR
        updates submodules.

        # 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
        - [ ] My changes generate no new warnings
        - [ ] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Kate Friedman <[email protected]>

    commit d65d3d257b38225fac74e86b770f43e1f8ae2d5a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jul 3 21:07:49 2024 -0400

        Update ufs model hash to 20240625 (#2729)

        Updates UFS weather model hash to hash from 2024-06-24 which has orion
        porting updates + a few namelist updates.

    commit 2bd106a013805ba4e16dbdc456d6731f8f36ec85
    Author: David Huber <[email protected]>
    Date:   Wed Jul 3 11:32:40 2024 -0400

        Hotfix for undefined CLUSTERS (#2748)

        Defines `CLUSTERS` as an empty string for all hosts except Gaea and uses
        the native `dict` `get` method to prevent grabbing an unset entry.

    commit 7dc6651a3b92194d963675bdc0a9ec3c28499abf
    Author: GwenChen-NOAA <[email protected]>
    Date:   Wed Jul 3 09:56:08 2024 -0400

        Update gempak job to run one fcst hour per task (#2671)

        This PR updates gempak jobs (gfs, gdas, and goes) from processing all
        forecast hours at once to one forecast hour at a time. This will reduce
        the job runtime to less than 5 min, so restart capability is not needed.

        Resolves #1250
        Ref #2666 #2667
        ---------

        Co-authored-by: Walter.Kolczynski <[email protected]>

    commit 8215ae654202186a4f753c3abe937b7b9b91a9c7
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 2 16:22:11 2024 -0400

        Hotfix for clusters from #2701 (#2747)

        Fixes an issue created from #2701 that added `CLUSTERS` to the
        `gaea.yaml`.

    commit 11943e36ba12b3df49c51942da780698fab02d38
    Author: DavidBurrows-NCO <[email protected]>
    Date:   Tue Jul 2 12:58:10 2024 -0400

        Fix xml file setup and complete C48 ATM and S2SW runs for CI on Gaea (#2701)

        This PR sets up the ability on Gaea for auto generation of a clean xml
        file, i.e., an xml file that does not need any alterations before
        running rocoto.
        Refs #2572
        Refs #2664

    commit de8706702ead0630beb54d868f83aa2cb23f8f79
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Mon Jul 1 09:29:14 2024 -0400

        Update for JCB policies and stage DA job files with Jinja2-templates (#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](https://github.com/NOAA-EMC/wxflow/pull/30) is a
        companion to this PR.

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: Dan Holdaway <[email protected]>

    commit c49e4eee1a2ca818b3ecdcb9ea41c3f3e91d585b
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jun 28 14:56:19 2024 -0400

        Revert PR 2681 (#2739)

        This PR:
        - reverts #2681 in part
        - keeps some changes for `RUN`.
        - is a hotfix
        - should be merged ASAP after consensus w/ @guillaumevernieres
        @CatherineThomas-NOAA @WalterKolczynski-NOAA

    commit 9476c1237af4adbc95f90bd1bdd34b6b99f2f8a3
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed Jun 26 15:46:08 2024 -0400

        updated Finalize in Jenkinsfile and added try block around scm checkout (#2692)

        We are updating the Jenkins Pipeline with a try block around checkout to
        capture errors for the user.
        Also cleaned up Finalize and added section to clean out workspace on
        success.

    commit 968568f682bac7564095440bdb7813abefd76821
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 26 13:27:19 2024 -0400

        Activate snow DA test on WCOSS (#2720)

        Activate the snow DA test on WCOSS.

    commit 7706760bb8adbdf78cb640b02739023c886e7699
    Author: Rahul Mahajan <[email protected]>
    Date:   Wed Jun 26 10:02:22 2024 -0400

        Cleanup of stale RUNDIRS from an experiment (#2719)

        This PR:
        - removes stale temporary scratch run directories from `$DATAROOT/`
        every 3 days.
        - should help to scrub failed attempts.
        - removes an unused variable `RUNDIR` defined in `config.base`

    commit 8962991691b5f0857b813bddfd28aa1034d4bd2b
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 26 09:43:48 2024 -0400

        Update logic for MOM6 number of layers/exception values (#2681)

        Updates the logic to be by run instead of for DO_JEDIOCNVAR to determine
        how many layers and sets the exception value for MOM6 to be 1e-34 for
        all scenarios. Note, we will no longer have zeros in the ocean grib
        output and the DA will also run without issues.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2615

    commit 12431f76bdce807067929415007592cffc8a2457
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 26 07:42:35 2024 -0600

        Update wave jobs to use COMIN/COMOUT (#2643)

        NCO has requested that each COM variable specify whether it is an input
        or an output.
        This completes that process for the global-workflow wave
        model and products tasks.
        Refs #2451

    commit b902c0bac126c323a07186ad8881384b032b6fda
    Author: David Huber <[email protected]>
    Date:   Tue Jun 25 07:48:46 2024 -0400

        Assign machine- and RUN-specific resources (#2672)

        Redefine resource variables based explicitly on RUN or CDUMP

        Additionally, machine-specific resources are moved out of
        config.resources and placed in respective config.resources.{machine}
        files.

        Resolves #177 #2672

    commit 5edbd123e2878a07f5cce8e3c7ea6147f286633a
    Merge: 09333c01d 4e1b937b6
    Author: Janet Derrico <[email protected]>
    Date:   Mon Jun 24 12:44:05 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 4e1b937b67ed220120e81925c4507f03b9b8965f
    Author: David Huber <[email protected]>
    Date:   Mon Jun 24 10:50:52 2024 -0400

        Add minimum software requirements (#2712)

        Adds a table to HPC documentation stating the minimum support versions

    commit f43a86276aaef91efa28faadc71a3cf50e749efe
    Author: David Huber <[email protected]>
    Date:   Fri Jun 21 13:44:29 2024 -0400

        Fix and simplify online archiving and reenable METplus jobs (#2687)

        This fixes the online archiving portion of the `*arch` and `*earc00`
        jobs, a prerequisite for running METplus.  This also reenables
        METplus by default.

        The approach previously taken created `FileHandler` dictionaries at
        varying levels within the resulting yaml, which was not properly parsed
        by `exglobal_archive.py`. This approach creates a single `FileHandler`
        dictionary and is much less complicated overall.

        Resolves #2673 #2647

    commit 8993b42cb91144c0ab0501dc7841ea8d675c4701
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 19 21:51:22 2024 -0400

        Eliminate post groups (#2667)

        Eliminates the post groups used for upp and products jobs so that each
        task only processes one forecast hour. This is more efficient and
        greatly simplifies downstream dependencies that depend on a specific
        forecast hour.

        Resolves #2666
        Refs #2642

    commit 0b810c888239853fedd0e4584fe62536c6aaacdf
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 20:32:48 2024 -0600

        Removes misleading "No such file or directory" syntax errors from output files (#2688)

        This PR addresses issue #1252. The following is accomplished:

        - Prior to removing files, the existence of a file is checked prior to
        attempting to remove; this is performed as noted
        [here](https://github.com/NOAA-EMC/global-workflow/issues/1252#issue-1538627369);
        this PR only addresses the the `chgrp` issue.

        Refs #1252

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit 3270ac3bf00c3ebc8166c70d84647ec44431fbae
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 12:17:59 2024 -0600

        Hotfix for bug in template names. (#2697)

        This PR is a hotfix for an incorrectly named (e.g., non-existent) `COM/`
        template.
        Resolves #2696
        Refs #2451

    commit 35d4d99eaac669721add9ddcc793153e5ab3b30a
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 08:06:53 2024 -0600

        Update archive job to use COMIN/COMOUT (#2668)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        archive task.

        Refs #2451
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 47b3a581c8257fa24411fb400df8bb0e1e04972a
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Mon Jun 17 22:55:38 2024 -0400

        Turn on high-frequency output in extended test (#2679)

        Turns on high-frequency (hourly) output in the extended products test to
        exercise that aspect of the code. This test only runs on WCOSS.

        Also adds the hooks to optionally turn on the metplus jobs, but that is
        deferred as they are not currently working correctly.

    commit 38f2df9fb0c074b1f80d3c637080be79be693161
    Author: David Huber <[email protected]>
    Date:   Mon Jun 17 17:12:55 2024 +0000

        Optimize wavepostpnt (#2657)

        Optimize the gfswavepostpnt, gfswavepostbndpntbll, and gfswavepostbndpnt jobs

        This is done by
        1) reducing the number of calls to `sed`, `awk`, `grep`, and `cat` by
        - performing operations on all files at once instead of looping over
        each file
            - removing piped `cat` calls (e.g. `cat <file> | sed 'something'`)
            - combining `sed` and `grep` calls when possible
            - adding logic to `awk` calls instead of handling that logic in bash
        2) minimizing as much as possible the amount of data on disk that has to
        be read in (e.g. limiting sed to read only the line numbers it needs)
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5af325a6a4e0a14d180514a418603ca79fada487
    Author: Dan Holdaway <[email protected]>
    Date:   Fri Jun 14 18:05:23 2024 -0400

        Update GDASapp hash to move JCB into GDASapp (#2665)

        This PR moves JCB into GDASapp. The PR
        also bumps up the hash of GDASapp to what is in `feature/move_jcb`,
        which at time of writing is develop plus the absorption of JCB into
        GDASapp.
        Note that I also took the changes from
        https://github.com/NOAA-EMC/global-workflow/pull/2641 to follow the
        testing @RussTreadon-NOAA has done.

    commit 6c93b4554e235fcb4d0004e99a4c4498d55d461b
    Author: Yaping Wang <[email protected]>
    Date:   Fri Jun 14 10:18:17 2024 -0500

        Add observation preparation job for aerosols DA to workflow (#2624)

        Add a prepaeroobs job to prepare aerosol obs files for DA.

        This job does quality control of the VIIRS aerosol raw observations and
        convert them to ioda format.

        Resolves #2623
        ---------

        Co-authored-by: ypwang19 <[email protected]>
        Co-authored-by: TerrenceMcGuinness-NOAA <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 5a5fc2be7555f094a0f90fd3a3df22d071ccdfd4
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jun 14 11:04:41 2024 -0400

        Remove ocean daily files (#2689)

        This PR removes the ocn_daily files that are produced by the ocean
        component. These files can be recreated by averaging data that exists in
        the 6 hour aveaged files if needed.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2675
        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2659 (by
        removing them and making this obsolete)

    commit 603a4a8052a5c43ce5986f028c3fcfd5fd248ad4
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 12:22:03 2024 -0400

        Update Jenkinsfile

        needed a comma

    commit dc21eac6c3941d7f30803891d91d82f4cc1f8183
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 11:41:14 2024 -0400

        Add Hercules-EMC to the Jenkins configurable parameter list (#2685)

        This quick-fix PR is to update the Jenkins Pipeline's configurable
        parameter list to include the **Hercules-EMC** node.
        This allows Jenkins users to restart Jobs in the controller when no
        updates have been made.

    commit ebacebfbe458634b8c80af6a735d6b6d01e4e406
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Thu Jun 13 11:20:24 2024 -0400

        Update gdas.cd and gsi_utils hashes (#2641)

        This PR updates the `sorc/gdas.cd` and `sorc/gsi_utils` hashes. The
        updated hashes bring in bug fixes, new UFS DA functionality, and a Gaea
        build for gsi_utils.

        Resolves #2640

    commit 34155fb4767769600a1ff95f0a65e37081addc2a
    Author: Neil Barton <[email protected]>
    Date:   Thu Jun 13 11:18:22 2024 -0400

        Add ability to use GEFS replay ICs (#2559)

        The PR allows the use of ICs from PSL's replay analysis. These replay
        ICs will be used for GEFS reforecasting and SFS. Two main changes are
        associated with these updates: (1) replay ICs being valid at 3Z, and (2)
        the use of warm starts.

        Resolves #1838

        ---------

        Co-authored-by: Jessica Meixner <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6c19a0e3fc4400e1d39288be4ee4fc244b74f699
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 12 19:25:42 2024 -0600

        Replace `sleep` with `wait_for_file` (#2586)

        This PR addresses issue #2444. The following is accomplished:

        - All `sleep` statements are replaced with `wait_for_file` for the
        relevant scripts beneath `scripts` and `ush`;
        - Indentation and shell-norms are updated where applicable.

        Note: The WAFS scripts are not updated as per @aerorahul direction.

        Resolves #2444

        ---------

        Co-authored-by: henrywinterbottom-wxdev <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5b2a3d449a0835cec2663aabb06f1c47a3faf84e
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 12 13:31:55 2024 -0400

        Add COM template for JEDI obs (#2678)

        Adds a COM template to define a path to store obs processed for JEDI.
        This will allow UFSDA to stop writing to COM_OBS, which should be
        read-only as it belongs to obsproc in operations.

        No functional change yet.

    commit 2e6f1fcde9935619352b1b26cba42ec0f4d845ed
    Author: Guoqing Ge <[email protected]>
    Date:   Wed Jun 12 09:06:23 2024 -0600

        Link both global-nest fix files and non-nest ones at the same time (#2632)

        This PR enables linking both global-nest fix files and non-nest ones at
        the same time and users can run both nesting and non-nesting experiments
        at the same time without worries about what fix files to be linked.

        Resolves #2631

    commit 61de004d4f9e9edf8a31bb173f2719b46451a36a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 12 11:03:13 2024 -0400

        Update ufs-weather-model  (#2663)

        Updates ufs-weather-model, this updates RDHPCS to the newer spack-stack
        allowing some temporary fixes to be reverted.
        * removes upp submodule
        * uses upp from the ufs-weather-model
        * restores the build and link that were hacked during the Hera Rocky 8
        transition to allow for UPP submodule
        * Removes forecast directories in clean-up

        Resolves #2617
        Resolves #2437

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 15eaf35fb13f361be400be38a5f7ca7b5461ab1d
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Wed Jun 12 01:15:37 2024 -0400

        Add ability to process ocean/ice products specific to GEFS (#2561)

        This PR begins to add the capability to produce GEFSv13 ocean and ice
        products in the global-workflow according to stakeholder requirements.
        The following features are added.

        - An oceanice prod yaml file has been added to address the ocean and ice
        products specific to GEFSv13.
        - The rocoto dependencies and config.base for GEFS have also been
        modified to allow for 24-hour averaged ocean and ice output.
        - Various scripts have been modified to allow for ocean and ice output
        frequencies of 24 hours.
        - `FHOUT_OCNICE` has been split into two variables called `FHOUT_OCN`
        and `FHOUT_ICE`. The same has been done for `FHOUT_OCNICE_GFS`.

        Refs #1878

    commit 6691e7489650e0b738c176fbd096109288dc09b6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 11 21:15:07 2024 -0600

        Update cleanup job to use COMIN/COMOUT (#2649)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        clean-up task.

        Refs #2451

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 23a8d8835dd4c5d69ca20f5ff23705f30f17b4b0
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Jun 11 16:17:25 2024 -0400

        Add overwrite to creat experiment in BASH CI (#2676)

        This is a quick hotfix to the CI BASH driver script adding `--overwrite`
        to create experiment script to avoid errors from restarting an
        experiment.

    commit e7909af8d9e1f34140388a3f8556d8e582c58fe5
    Author: emilyhcliu <[email protected]>
    Date:   Mon Jun 10 15:11:27 2024 -0400

        Add handling to select CRTM cloud optical table based on cloud scheme and update calcanal_gfs.py  (#2645)

        This PR proposes updates for the following two scripts:

        1. In **scripts/exglobal_atmos_analysis.sh** --- Add handling to select
        CRTM cloud optical table based on cloud microphysical scheme indicated
        by `imp_physics'
        The default scheme in the GFS forecast model is Thompson scheme
        (imp_physics = 8).

        2. In **/ush/calcanl_gfs.py** --- Increase the MPI number declared in
        the script due to increased variables to interplate increments and
        calculate analysis in the netcdf_io routines in GSI-utils.
        Here is the related [PR #46 for
        GSI-utils](https://github.com/NOAA-EMC/GSI-utils/pull/46).

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9caa51de8fb7be07d2e61775da01937d576964f6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Thu Jun 6 22:15:23 2024 -0600

        Update RDHPCS Hera resource for `eupd` task (#2636)

        As per @wx20jjung, the resource for the `eupd` task have been updated
        for RDHPCS Hera to account for memory issues for C384 `gdaseupd` job
        fails.

        Resolves #2454

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit acf3aaa2b1d3e3024b0b5d2fe23eee8c317a980b
    Author: DavidNew-NOAA <[email protected]>
    Date:   Thu Jun 6 11:49:03 2024 -0400

        Parameterize some things in config.atmanl and config.atmensanl (#2661)

        This PR adds some parameters in config.atmanl and config.atmensanl that
        can be altered with the defaults.yaml. The motivation is to make these
        files match those in the GDASApp JJOB tests (example:
        https://github.com/NOAA-EMC/GDASApp/blob/develop/test/atm/global-workflow/config.atmanl),
        so we can just use the Global Workflow config.atmanl and
        config.atmensanl in the tests rather than custom ones in GDASApp that
        have to be separately updated every time the ones in the Global Workflow
        are updated.

    commit 54ea0b73a07921be5fbb07fe41e976888bd3e549
    Author: Guillaume Vernieres <[email protected]>
    Date:   Thu Jun 6 01:36:02 2024 -0400

        Add links to the ocean insitu obs processing tools (#2644)

        Add links to the marine bufr to ioda converters for the marine insitu
        observations.

        - fixes https://github.com/NOAA-EMC/GDASApp/issues/1106
        - waiting for https://github.com/NOAA-EMC/GDASApp/pull/1135

    commit 205d0c2b13e2d7755cec75bf8c978ab20d453862
    Author: David Huber <[email protected]>
    Date:   Wed Jun 5 17:31:30 2024 +0000

        Update S4 point of contact in docs (#2660)

        Update the point of contact for global workflow issues on S4.

    commit aa23ccf1d0d229f9ff1398d84af1fa7ee5bed262
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed Jun 5 12:50:14 2024 -0400

        Enable wcoss2 ufsda build and module load (#2620)

        This PR enables ufsda (`sorc/gdas.cd`) to be built and run on WCOSS2.

        Resolves #2602
        Resolves #2579

    commit 67b833e0c7bc390865d453588b4609a1a7ede981
    Author: Jessica Meixner <[email protected]>
    Date:   Tue Jun 4 13:33:43 2024 -0400

        Update ufs-weather-model  (#2646)

        Updates UFS model to the commit https://github.com/ufs-community/ufs-weather-model/commit/5bec704243286421fc613838fc67a2129e96acd6
        This should resolve the issue and allow C768 runs on Hera and allow for CICE
        to run on WCOSS2 (due to library updates to allow linking).

        From what I can tell, all updates needed were done by
        @HenryWinterbottom-NOAA which were updates for CICE

        Fixes #2490

    commit c44d0ac86cfdf78eb87492431bf6d825e8bae637
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue Jun 4 10:29:49 2024 -0400

        Update wmo parm files to fix WMO header (#2652)

        This PR updates wmo parm files to switch WMO header of precipitation
        type products (CRAIN, CFRZR, CICEP, and CSNOW) from time averaged to
        instantaneous.

        Resolves #2566

    commit 237d6dd213e8b1455d2f45dc5978fb2d3de93e60
    Author: Cory Martin <[email protected]>
    Date:   Tue Jun 4 13:55:33 2024 +0000

        Add IAU to snow DA (and its test) (#2610)

        This PR enables IAU for the snow DA which is necessary for GFSv17.

        A snow analysis is created for the center of the window regardless, and
        an additional at the beginning of the window is added if IAU is on. The
        former is needed for UPP and the latter, to initialize the model.

        The increment is valid throughout the window for 3DVar, so the same
        increment is added to both forecasts.

        Additionally, the input file that goes into global_cycle has been
        updated to be the output of the JEDI snow analysis instead of the
        forecast (@jiaruidong2017 I recall discussing this, can you confirm this
        is right or am I mistaken)

        This PR also makes the CI test for snow DA (and aerosol DA) include IAU
        rather than without IAU,.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit c92bf415060750127c9c05a62a1d2851c489551a
    Author: David Huber <[email protected]>
    Date:   Sat Jun 1 05:11:07 2024 +0000

        Archiving cleanup (#2621)

        1) Adds a lot of comments to the jinja templates for archiving
        2) Rearranges the gdas and enkf templates to a more logical order
        3) Fixes a couple of bugs in the enkf archiving of increments and
        analyses
        4) Disables archiving for the half cycle
        5) Removes the `FITSARC` key from `config.base` and `arcdir.yaml.j2`,
        instead relying on `DO_FIT2OBS`
        6) Updates wxflow to add the option to not allow undefined variables
        when parsing jinja templates and invokes this feature when running
        archives

        Resolves #2612

    commit 12aa1e9cd2d159e2b303d2b33d6c79c365688eec
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri May 31 04:57:08 2024 -0400

        Switch to Rocky 9 built external packages on Hercules (#2608)

        The workflow was updated to use modules built on Rocky 9, but the
        external packages (like prepobs) were still pointing to the versions
        built on CentOS (Orion). This transitions to packages built on Rocky 9.

        Updating of the tracker package has been deferred until later. As such,
        the tracker jobs have been disabled by returning immediately if they are
        on Hercules. Since these jobs are small, resource-wise, it should not
        meaningfully impact turnover time.

    commit 4422550c01c9214a2b3b8890bdcc898123ee216a
    Author: Guoqing Ge <[email protected]>
    Date:   Thu May 30 08:05:23 2024 -0600

        Add the capability to use slurm reservation nodes (#2627)

        Add the capability to use slurm reservation nodes
        Add "ACCOUNT_SERVICE" for jobs to run in PARTITION_SERVICE

        Resolves #2626

    commit a54153fd9d26126206bc07a1da4e80f50c0c5910
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 29 23:24:07 2024 -0400

        Update forecast job to use COMIN/COMOUT (#2622)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the forecast job.

        Refs #2451

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit d69a8af95d492982b918670322ed5c41ab074335
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 21:29:03 2024 -0400

        Update to add 1-deg global wave grid (#2619)

        This PR adds options to use a global 1 deg grid, intended for testing
        with the SFS application.

        Requires new fix file changes NOAA-EMC/global-workflow#2618

    commit 0b4670ecf83b99b72835c8380573b2bca7cf5324
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 17:17:21 2024 -0400

        Add C384mx025_3DVarAOWCDA yamls (#2625)

        Adds the C384mx025_3DVarAOWCDA yaml files for one experiment into a new GFSv17 folder.

    commit 2e885d05c64b947f00a3cf055a1277fbfac195c9
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 29 13:00:51 2024 -0400

        Script to keep Jenkins Agent persistent from cron (#2634)

        This "persistent" Java Agent launch script can be ran from a cron job:

        - Uses Jenkins Remote API to check the status of the Node connection
        using curl for a given machine.
        - If it is not connected a new agent is launched for that node.

        Resolves #2633

    commit bb58e064d8e82ce51802bd6064cfa84cae2cc4d5
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue May 28 17:17:11 2024 -0400

        Change GRIB2 parameter names and vertical levels for ocean/ice post (#2611)

        Based on users' feedback, this PR do the following:
        1. Change GRIB2 parameter names DLWRF -> NLWRF and DSWRF -> NSWRF
        2. Change the vertical level of ocean 3D variables (WTMP, SALIN, UOGRD,
          and VOGRD) from "%g m below water surface" to "%g m below sea level"
        3. Round up depth numbers to integer (e.g. 4481.0625 -> 4481 m)

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit e53c5e8e0abbc0edf95970a71df0e6e8a2be9f31
    Author: DavidNew-NOAA <[email protected]>
    Date:   Tue May 28 17:16:23 2024 -0400

        Add atmensanlfv3inc job (#2592)

        This PR creates the atmensanlfv3inc job, the ensemble version of
        atmanlfv3inc, created in GW PR #2420. Its GDASApp companion PR is
        #[1104](https://github.com/NOAA-EMC/GDASApp/pull/1104), and its JCB-GDAS
        companion PR is #[3](https://github.com/NOAA-EMC/jcb-gdas/pull/3).

    commit 50c2b8951b29a3c883a778becbf8582f9519eb48
    Author: Anil Kumar <[email protected]>
    Date:   Tue May 28 13:23:53 2024 -0400

        Global-workflow (AR) Generic updates for Gaea C5 (#2515)

        - Port global-workflow’s build and run capability to Gaea-C5
        - Building global-workflow on Gaea-C5
        - Setting up experiments with global-workflow on Gaea-C5

        ---------

        Co-authored-by: AnilKumar-NOAA <[email protected]>
        Co-authored-by: DavidBurrows-NCO <[email protected]>

    commit b6ca771a0c584cbfcbbf9be739765d5f3815df97
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 24 10:52:45 2024 -0400

        Update STMP and PTMP settings in host file for Orion and Hercules  (#2614)

        - Updating STMP and PTMP settings in host file for Orion and Hercules
        because they are cross mounted.
        - Also took the opportunity to finally update **SLURM_ACCOUNT** to
        **HPC_ACCOUT** in CI over rides.
        - Added a refactor of the `rocotostat.py` tool that is more pythonic and
        as a execute retry feature because the `rocotostat` utility on Orion has
        been failing sometimes.

    commit 7d2c539f45194cd4e5b21bfd4b83a9480189cd0f
    Author: Guillaume Vernieres <[email protected]>
    Date:   Tue May 21 23:50:50 2024 -0400

        Sea-ice analysis insertion (#2584)

        Allows cycling and restarting CICE with the sea-ice analysis if the
        marine DA is switched on.

        Resolves #2568
        Resolves NOAA-EMC/GDASApp#1103

    commit 5369a1ff3a3969149fcf32810fad0e50216752b7
    Author: David Huber <[email protected]>
    Date:   Tue May 21 22:12:29 2024 +0000

        Refactored archiving (#2491)

        This provides a new pygfs task, archive.py, that provides all of the
        tools necessary to archive data to the local (`ARCDIR`) and backup
        (`ATARDIR`) archive directories. YAML-Jinja2 templates are provided to
        define the file to be archived or tarred to replace the
        `hpssarch_gen.sh`, `exglobal_earc`, and `exglobal_archive.sh` scripts
        and make it easier to add new data and explicitly handle optional and
        required files.

        For `ATARDIR` archiving, a master jinja template is provided for each
        `RUN` (i.e. master_gdas.yaml.j2, master_gfs.yaml.j2,
        master_enkf.yaml.j2). The master_enkf.yaml.j2 template is used for both
        `enkfgdas` and `enkfgfs` `RUN`s. These templates then include the
        appropriate `RUN`-specific jinja templates (e.g. gdas.yaml.j2) based on
        experiment, cycle, and coupled parameters. Each of these templates
        corresponds to a single tarball to populate and are tabbed 4 spaces so
        they are defined within the master `datasets` dictionary.

        Future developers should not have to make modifications to archive.py
        unless archiving is being enabled for a new `RUN` (e.g. `gefs`) and then
        only a single `elif` needs to be added to the configure method to
        specify the master `ATARDIR` template to archive (e.g.
        `master_gefs.yaml.j2`). If a new component is coming online that needs
        to be archived to `ATARDIR` (e.g. SNOW), then create a new template for
        each `RUN` that it needs to be archived for (e.g. `gdassnow.yaml.j2`)
        and reference the template in the appropriate master templates, e.g.

        `master_gdas.yaml:`
        ```jinja
        {% if DO_SNOW %}
        {% include "gdassnow.yaml.j2" %}
        {% endif %}
        ```

        A few other issues were addressed along the way:
        1. Aerosols have been reenabled. Aerosol forecasts should only be
        performed during gdas cycles, but analyses can be performed for both gfs
        and gdas cycles. This was accomplished by setting separate
        `AERO_<job>_CDUMP` variables to parse on for both `ANL` and `FCST` jobs.
        2. Fixed the name of the `cice6_rst_ok` variable in `forecast_det.sh`.
        This prevented restarts from being used for cice-enable experiments.
        This feature was not tested.
        3. Create a temporary fix for the `wgrib` utility. For spack-stack
        1.6.0, the `grib-util` module file does not declare `WGRIB`. An issue is
        open (https://github.com/JCSDA/spack-stack/issues/1097) to fix this in
        existing installations. Once complete, this temporary fix should be
        removed.
        4. The number of `earc` jobs has been reduced for lower resolution
        experiments. Both C48 and C96 experiments will now only have two earc
        jobs (one for the non-member files to archive and another for the member
        files). C192 will have up to 3 earc jobs (one non-member, one for
        members 1-40 and another for members 41-80, if needed).

        Resolves #2345
        Resolves #2318

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9aad86f27d37d19165b9a0b64cf70c7a4dd6362c
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 17 12:57:59 2024 -0400

         Add remove RUNDIRS step in CI before creating experements (#2607)

        As had been done in Bash CI we need to remove the RUNDIR in Jenkins
        before a creating an experiment in the event that case had beem
        previously ran.

    commit 09333c01dbafddb2d2fe7e181b479af3cc6d3621
    Merge: f7e9f4489 bb930050b
    Author: Janet Derrico <[email protected]>
    Date:   Thu May 16 14:33:19 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit bb930050b3cd51d28ecba6b231c8675f6d11856c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu May 16 12:28:30 2024 -0400

        Adds jjob and other necessities for marine LETKF task (#2564)

        Adds jjob, rocoto script, config file, and other necessities for new
        marine LETKF task.

        Partially addresses NOAA-EMC/GDASApp#1091

    commit 2c50fbde4d6cc3e53c55dca56925353a02fd1730
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 12:12:06 2024 -0400

        Updating CI Machine configs with redundant PTMP (#2605)

        Quick fix adding PTMP as STMP in Machine configs for CI for completeness

    commit ef340ff33a6f89adf70838206ba3fd56a953fa7a
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 11:37:30 2024 -0400

        Fix race condition in CI between Orion and Hercules (#2604)

        Hotfix to solve race conditions in the CI system due to cross-mounted
        file systems between Orion and Hercules

    commit e8b17e27f719df280170dc3f5bd9f19917cefaf2
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 17:16:30 2024 -0400

        Remove existing EXPDIRs and COMROTs when CI is re-run (#2601)

        Quick hotfix for having default for re-runing jobs to start clean with
        new EXPDIRs and COMROTs

    commit b5d113efb1970ede5cd1d3d4dff8d96320519c41
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 16:52:49 2024 -0400

        Moving logic for skipping hosts in pr cases (#2573)

        This PR removes the logic of skipping hosts for pr cases from
        `create_experiment.py` and moves it to a test in the cron bash driver
        using a `parse_yaml.py` python tool.

        The Jenkins pipeline was not effected as it uses the
        `get_host_case_list.py` utility to form the cases on a per host bases.

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 3cd0c68c0de9900bc7b73e1ed7621573dff5e916
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed May 15 13:13:30 2024 -0400

        Update gsi_utils.fd hash (#2598)

        This PR updates the `gsi_utils.fd` hash to bring in updates which add
        safeguards to
        -
        `src/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90`
        - `src/EnKF/gfs/src/recentersigp.fd/recentersigp.f90`

        The safeguards are described in GSI-utils PR
        [#41](https://github.com/NOAA-EMC/GSI-utils/pull/41) and the associated
        issue.

        Resolves #2597

    commit d5366c66bd67f89d118b18956fe230207cbf0aea
    Author: Kate Friedman <[email protected]>
    Date:   Wed May 15 13:12:56 2024 -0400

        Update CICE and MOM6 fix versions (#2600)

        This PR updates the CICE (`cice_ver`) and MOM6 (`mom6_ver`) fix versions
        to the newer `20240416` timestamps, which includes updates and fixes to
        the `100` (1-deg) resolution files.

        Resolves #2480
        Resolves #2483
        Resolves #2595

    commit 6ca106e6c0466d7165fc37b147e0e2735a1d6a0b
    Author: David Huber <[email protected]>
    Date:   Mon May 13 22:57:38 2024 +0000

        Limit gfswavepostpnt to 40 PEs/node (#2588)

        This fixes the slow runtime of the gfswavepostpnt job on Hercules. The
        job is very I/O intensive and does not scale well to large nodes, so
        limit the number of jobs/node to 40.

        Resolves #2587

    commit 4fb7c12c325702a47f27c802a5067efd33d0327c
    Author: Fanglin Yang <[email protected]>
    Date:   Mon May 13 16:37:51 2024 -0400

        Update damping and time-step (#2575)

        Updates the model to use explicit Rayleigh damping for u/v and implicit
        damping to w. This improves model stability and allows for longer
        timesteps. Also unifies the GDAS and GFS to use the same damping.

        Results from a test at the C1152 resolution (coupled model) can be found
        at https://www.emc.ncep.noaa.gov/gmb/wx24fy/C1152/newdamp/

        Resolves #2574

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Lisa Bengtsson <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6a9c1372ecce9e50e4f6e10e56f6e504cde1afe6
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 10 14:17:13 2024 -0400

        Do not use BUILT_semphore to force rebuilds when re-run (#2593)

        Remove the placement of the `BUILT_semaphore` file after the build in
        the Jenkins Pipeline and force it to rebuild any changes after a PR is
        re-ran.

    commit 2346c6161f75ae02369cbf30f30c6150d3e12b66
    Author: Innocent Souopgui <[email protected]>
    Date:   Thu May 9 21:17:06 2024 -0500

        Migration to Rocky8 spack-stack installations on Jet (#2458)

        # Description
        Migrates Global Workflow to Rocky8 spack-stack installations on Jet.
        Jet has moved from CentOS7 to Rocky8.

        Resolves #2377
        Refs NOAA-EMC/UPP#919
        Refs NOAA-EMC/gfs-utils#60
        Refs NOAA-EMC/GSI#732
        Refs NOAA-EMC/GSI-Monitor#130
        Refs NOAA-EMC/GSI-utils#33

    commit c7b3973014480a20dd8e24edaeb83a9e9e68159f
    Author: Jessica Meixner <[email protected]>
    Date:   Thu May 9 11:36:58 2024 -0400

        Updates for cold start half cycle, then continuing with IAU for WCDA (#2560)

        This PR allows us to run C384 S2S with IAU, but starting with the first
        half-cycle as a cold-start. This will be necessary for cycled testing as
        we build towards the full system for GFSv17. This updates the copying of
        the restarts for RUN=gdas for both ocean and ice copying what the atm
        model is doing. It also reduced the amount of restart files from 4 to 3.

        Other updates:
        * Add DOJEDI ocean triggers for archiving certain files update from:
        @CatherineThomas-NOAA
        * Adds COPY_FINAL_RESTARTS option to turn on/off copying the last
        restart file to COM. Defaults to off...
        * Defines model_start_date_current_cycle & model_start_date_next_cycle
        to help with knowing which IC to grab.

        Refs #2546

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit b405b7d3d11d384ce9fe3b9cd2180f315f7b38f2
    Author: Dan Holdaway <[email protected]>
    Date:   Wed May 8 20:52:48 2024 -0400

        Use JCB for assembling JEDI YAML files for atmospheric GDAS (#2477)

        Change the JEDI YAML assembly for the atmospheric GDAS to use the JEDI
        Configuration Builder (JCB) tool so that YAMLs can be made more portable
        and invoke the observation chronicle mechanism.

        Resolves #2476

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 0cf0349c1f88048806e68ab58e93a3261b7a0e95
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 8 02:04:16 2024 -0400

        Add CI test for products (#2567)

        Adds a new version of the atm3DVar test that runs the full forecast
        length and produces most of the secondary products. For now, this test
        will only run on WCOSS due to gempak failures on other machines as well
        as computational needs. On other machines, the original version will run
        (the original version will not run on WCOSS). AWIPS remains off for now
        in this extended test due to a bug involving tocgrib2 and the convective
        precip fields (see #2566).

        The new test runs for 4½ cycles and the full 384-hr forecast length to
        ensure all gempak scripts are exercised. Since the cycle throttle is 3
        and the bulk of the time is in the free forecast, the cycles run mostly
        concurrently so it doesn't extend the total test time too much beyond
        that of a single 384-hr forecast.

        Fixes a bug in NPOESS that was introduced when the post filenames were
        reverted to the previous format for the GOES products until the final
        filenames are determined (#2499).

        Also removes the AWIPS g2 job from the rocoto mesh to complete the
        retirement of grib1 products.

        Resolves #2132
        Resolves #2445

    commit 9b6f8404ac4507d14adc404b77cfdf002b55e832
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue May 7 00:14:36 2024 -0400

        Add task to prepare emissions for GEFS (#2562)

        This PR:
        - introduces a task to prepare emissions for a forecast into the GEFS
        application.
        - adds configuration, j-job, rocoto job, ex-script and the python class
        for this job
        - updates GEFS workflow to be able to generate the XML to call this job.
        - updates the `fcst` and `efcs` job dependencies in the GEFS application
        to depend on `prep_emissions` if aerosols are turned ON.
        - provides a placeholder for @bbakernoaa to work on the details for
        preparing emissions.

        Co-authored-by: Walter Kolczynski - NOAA <Walt…
jderrico-noaa pushed a commit to NOAA-GSL/global-workflow that referenced this issue Sep 27, 2024
* Added alpha_fd coefficient for Beljaars TOFD in GSL drag
bug fix
Update INFO

* Update develop branch, gsl_ufs_dev

Squashed commit of the following:

commit 4ad0d52a6fbb581a9804bd0bb627b7c52f338bad
Author: kayee.wong <[email protected]>
Date:   Thu Sep 19 19:20:06 2024 +0000

    For pygraf plotting.

commit 1bfba70ed6aaa3eb47974006ed0c5cae653b8ce8
Author: kayee.wong <[email protected]>
Date:   Thu Sep 19 04:27:55 2024 +0000

    Fixed gfsatmprod file name and gfsarch data type.

commit 4e0a81f7acf5ccba5de8d3bdf7ab19cae80812cb
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 18:37:50 2024 +0000

    Fix typos/links/dependancy.

commit d5fdcbf8d6e987dbdfcd6b4da34d0934c8d82c3b
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 07:37:52 2024 +0000

    Fixed missing config.base files.

commit c6239f925369b20fd8488e8537969e2f4f9e7725
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:53:47 2024 +0000

    Update submodule hashs.

commit 32bf790f67b818ff50a7f6b74388fb81ed175b3a
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:09:41 2024 +0000

    Update develop branch, gsl_ufs_dev
     - based on gsl_ufs_dev from KaYee's fork
       global-workflow: 07Aug24,37c53ac [develop_07Aug2024_37c53ac]
       UFS: 19Jul24, c127601
       FV3: 19Jul24, 2527c11
       UPP: 23Apr24, be0410e
       CCPP-PHYSICS: 19Jul24, 46df080
       UFS_UTILS: 26Jun24, 3ef2e6b

    Squashed commit of the following:

    commit 70b557836379bb7e545fcc6642e28d66cfc17735
    Merge: 5edbd123e 37c53ac69
    Author: Janet Derrico <[email protected]>
    Date:   Wed Aug 7 11:02:24 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 37c53ac692274eb5e9f9a3220033406e8c4b4a04
    Author: Kate Friedman <[email protected]>
    Date:   Wed Aug 7 08:11:21 2024 -0400

        Revert MSU FIX_DIRs back to glopara (#2811)

    commit 876dfee26ad67e1f729bbf52b3167d48ea5a7517
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Aug 6 14:47:36 2024 -0400

        Bugfix for updating label states in Jenkins (#2808)

        Quick bug fix for updating state labels in CI during finalize.
        (did not reference GitHub CLI executable correctly in the pipeline
        script)

    commit 8fee36f0307b0c08080e3a8fa8fa6703e7da5fce
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Aug 6 11:02:45 2024 -0400

        Clean-up temporary rundirs - take 2. (#2753)

        This PR:
        - is a follow-up to a previous PR that aggressively pruned run
        directories.
        - removes run directories for the current cycle in the clean-up if the
        cycle is successful. If the cycle is not successful, cleanup is not
        called and all run directories for the cycle are safe from being purged.
        - also updates the PR template to list/query for any updates to
        submodules.

        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit d599fff4aedd41ae587dbe02226acb12ff48efc1
    Author: HelinWei-NOAA <[email protected]>
    Date:   Mon Aug 5 05:31:31 2024 -0400

        Change land surface for HR4 (#2787)

        Resets the default value of opt_diag to 2 corresponding to the land
        surface upgrades in ufs-weather-model for HR4.

        Resolves #2786

    commit 6d7f7e860a0c7062f90bf09fdf9a5d19dc77cfdb
    Author: David Huber <[email protected]>
    Date:   Fri Aug 2 15:41:29 2024 -0400

        Run METplus serially and correct the name of prod tasks (#2804)

        Adds 2 hot fixes:

        - METplus v9.1.3 has a bug in it that sometimes attempts to create
        multiple copies of the same directory when running in parallel, causing
        a Python error and downstream problems. This PR makes METplus run in
        serial mode, preventing such issues.
        - Corrects the name of the atmos_prod, ocean_prod, and ice_prod tasks in
        workflow/rocoto/tasks.py (was accidentally changed to e.g. atmosprod)

    commit 0706c59ac53cc3bbfbaa56cbd7fa75ab51117830
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri Aug 2 15:03:45 2024 -0400

        Update Java Agent launching script for Jenkins connections (#2762)

        Made updates to the Jenkins Launching Script for robustness and less
        ambiguous documentation:
        - Clearer distinction between required user token for the remote api and
        the systems token for launching
        - Added pre-checks: `gh` is authenticating, named compliant token and
        secret file exists
        - More robust Jason based parser of the remote api response for checking
        the state of the Node connection
        - For `cron` use a 5 minute pause and recheck was added before
        re-launching of the java agent
        - Added concise header documentation of requirements and purpose
        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit b73b1fd203496db97f8067652659573a632bcc67
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri Aug 2 07:59:06 2024 -0400

        Fix erroneous cdump addition (#2803)

    commit 49877046ac3306f6b78ca0ab5d5089ba1aa3e3e3
    Author: Rahul Mahajan <[email protected]>
    Date:   Thu Aug 1 20:26:13 2024 -0400

        Update ocean post-processing triggers (#2784)

        This PR:
        - replaces `check_netcdf.sh` checker for ocean post-processing with with
        ocean output at the next forecast hour or finishing of the forecast job
        for ocean prod
        - removes no longer needed `ush/check_netcdf.sh`

    commit aa2af1ca8d59424a60a1730722bf528775d9e606
    Author: GeorgeGayno-NOAA <[email protected]>
    Date:   Thu Aug 1 16:46:10 2024 -0400

        Update the gfs_utils repository hash (#2801)

        # Description
        Point to the latest hash of the gfs-utils repository, which contains the
        bug fix to gaussian_sfcanl.

        Resolves #2669.
        Refs: https://github.com/NOAA-EMC/gfs-utils/pull/73

    commit d3d85f0e0d573f16a71ca44778021dfc0ccf50c8
    Author: David Huber <[email protected]>
    Date:   Thu Aug 1 08:12:14 2024 -0400

        Add fixes for metplus jobs when gfs_cyc=2 or 4 (#2791)

        Changes how METplus jobs run so that they run on the last GFS cycle for
        a given `PDY`.

        This is a departure from operations where the METplus jobs run on the
        00Z cycle for the previous 3 cycles and 00Z (i.e. `${PDYm1}06` through
        `${PDY}00`). With this PR, for gfs_cyc=4, METplus jobs will run on
        `${PDY}18` for cycles 00-18. See
        https://github.com/NOAA-EMC/EMC_verif-global/pull/131 for more details.

    commit 1cf8b448af562dbb7af198399c78c585977e81da
    Author: David Huber <[email protected]>
    Date:   Tue Jul 30 10:38:49 2024 -0400

        Simplify resource-related variables, remove CDUMP where unneeded (#2727)

        This overhauls resource-related variables to use a common set of
        variables for each job. In the process, this also removed the use of
        CDUMP in most cases.

        Resolves #1299 #2693

    commit 61875f25c9e971f82ae499b5b612d7f095deebd4
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Mon Jul 29 14:40:03 2024 -0400

        Remove f000 from atmos rocoto tasks for replay cases (#2778)

        The main purpose of this PR is to remove the f000 from
        atmosphere-related rocoto tasks when `REPLAY_ICS` is set to `YES`. In
        cases where `REPLAY_ICS` is `YES` and `OFFSET_START_HOUR `is greater
        than `0`, it becomes necessary to have the first lead hour set to
        `OFFSET_START_HOUR ` for the atmosphere-related rocoto tasks. For
        example, when `OFFSET_START_HOUR ` is set to `3`, then the minimum lead
        time for the atmos_prod and atmos_ensstat rocoto tasks needs to be 3 and
        the minimum lead time for the ocean_prod rocoto task needs to be 6
        (assuming `FHOUT_OCN` is 6). This PR makes this rocoto workflow set up
        possible by removing 0 from fhrs for atmosphere-related tasks in
        `gefs_tasks.py` when replaying.

        This PR also moves where f000 is being removed for the ocean_prod and
        ice_prod tasks. The if-block that performs this f000 removal has been
        moved from `tasks.py` to `gefs_tasks.py` and `gfs_tasks.py`.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit f156a7894d639f177e3e2588f98eec1f6f59aa68
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jul 26 14:18:32 2024 -0500

        HR4 GWD update (#2732)

        This update is a combination of the gravity wave drag (GWD) versions
        from the NOAA/GSL and NOAA/PSL

    commit a7f6b32ed63efa0de21bfb0ce63364a5b22b9891
    Author: David Huber <[email protected]>
    Date:   Thu Jul 25 14:26:52 2024 -0400

        Temporarily disable METplus jobs (#2796)

    commit 848659691fdbf47e7ccdbbb2ebf22a6e470633a2
    Author: Guillaume Vernieres <[email protected]>
    Date:   Wed Jul 24 15:00:35 2024 -0400

        Refactoring of the marine B-matrix job (#2749)

        Refactor the functionality of B-matrix generation from the GDASApp

        Resolves #2743

    commit 65a7ab75dc0e4baba06a02e11ed0455787056a68
    Author: David Huber <[email protected]>
    Date:   Tue Jul 23 08:35:48 2024 -0400

        Replace Jinja namespaces with replace_tmpl filter and disable ACCOUNT_SERVICE option (#2775)

        Removes the namespace-based construction of EnKF member COM directories
        in the enkf archive template.

    commit c45b9611f3e701b819bd33dc5af29033f060bb91
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Tue Jul 23 00:33:16 2024 -0400

        Add task to process reforecast variables to save on WCOSS2 (#2680)

        # Description
        This PR adds an optional task to the global-workflow to process a subset
        of ocean, ice, wave and atmosphere products to be saved on WCOSS2 for
        the GEFSv13 reforecast. This task is designed to process GEFS variables
        so that specific reforecast product requirements are met. A new variable
        in `config.base` called `DO_EXTRACTVARS` enables this task, which is
        currently called `extractvars`. `DO_EXTRACTVARS` is set to `NO` by
        default and is specifically a task designed to be executed for the
        GEFSv13 reforecast.

        Refs #1878

        # Type of change
        - New feature (adds functionality)

        # Change characteristics
        - Is this a breaking change (a change in existing functionality)? NO
        - Does this change require a documentation update? NO

        # How has this been tested?
        This has been cloned and tested on WCOSS2. This will need to be tested
        on Hera and other platforms on which the reforecast may be running.

        # Checklist
        - [ ] 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
        - [ ] I have commented my code, particularly in hard-to-understand areas
        - [x] My changes generate no new warnings
        - [x] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 71dc33c6ca991c16ce743760d99feaaf60f2218a
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 14:51:53 2024 -0400

        Set METplus process count in config.metp; add verif-global support for Rocky 9 (#2774)

        Fix metp* resources and check that they completed properly; add support for Orion Rocky 9

    commit 56df67a90fe090c425199f1285e5aac722c398b1
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 09:28:18 2024 -0400

        Hotfix: Update jcb to avoid git-lfs files (#2782)

        Removes git-lfs files from the `GDASApp` `jcb` submodule, allowing it to
        be cloned on Hera.

        This hotfix points to a non-authoritative branch of the GDASApp
        (https://github.com/DavidHuber-NOAA/GDASApp/tree/hotfix/update_jcb) and
        should be updated ASAP back to the authoritative repository.

    commit fc668aa422ebbad76ceda1b3bbf8dc0ea432defd
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 16 09:44:00 2024 -0400

        Address issues in creating XML for GFS forecast-only with app S2SWA (#2757)

        This bugfix PR:
        - fixes an issue where a user is unable to generate the XML for a GFS
        forecast-only experiment with APP=S2SWA

        Specifically, the changes are related to defining `aero_fcst_cdumps`.
        Following `setup_expt.py`, the user will have to set
        `AERO_FCST_CDUMPS="gdas|gfs|both" depending on their use case in
        `config.base`.

    commit e0878dba0e53706a7f53429b61aee2936e2c21bf
    Author: Kate Friedman <[email protected]>
    Date:   Mon Jul 15 10:25:11 2024 -0400

        Updated prepobs and fit2obs versions for Orion Rocky9 (#2758)

        Update prepobs to v1.0.2 and fit2obs to v1.1.2

        These versions now support Orion Rocky9. Updates are included
        for new install locations on WCOSS2, Hera, Orion/Hercules, and Jet.

    commit 4968f3a8de9a5f90651cacd74e38f97bc80b7bbb
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jul 11 17:48:47 2024 +0000

        CI maintenance updates and adding CI Unit Tests (#2740)

        This PR has a few maintenance updates to the CI pipeline and adds a test
        directory with Unit Tests
        **Major Maintenance updates:**
        - Added try blocks with appropriate messaging to GitHub PR of failure
        for:
        - - **scm** checkout
        - - build fail (with error logs sent as gists)
        - - create experiment fails with `stderr` sent to GitHub PR messaging
        - Pre-stage FAILS from the above are now captured these fails allow
        FINALIZE to update the label to FAIL (i.e. no more "hanging" CI state
        labels in GitHub - see image below)
        **Minor Maintenance updates:**
        - Fix for STALLED cases reviled from PR 2700 (just needed a lambda
        specifier)
        - Fixed path to experiment directory in PR message (had dropped EXPDIR
        in path)
        - Needed `latin-1` decoder in reading log files for publishing
        **Added python Unit Tests for CI functionality:**
        - Installed **Rocoto** and **wxfow** in GitHub Runner for testing key CI
        utility codes
        - Cashed the install of Rocoto in the GitHub Runners to greatly reduce
        stetup time for running the unit tests
        - Unit Tests Python scripts added
        - `test_rocostat.py`: rocoto_statcount() rocoto_summary()
        rocoto_stalled()
          - `test_setup.py`: setup_expt() test_setup_xml()
          - `test_create_experment`: test_create_experiment()
          - - Runs all PR cases that do not have ICs in the GItHub Runner
        - Reporting mechanism in the Actions tab for Python Unit Testing results
        - Test case data for STALLED and RUNNING stored on S3 and pulled using
        wget during runtime of tests

    commit 5ef4db74649b8be03402c17aa29c024e71699a7b
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu Jul 11 08:59:24 2024 -0400

        Adds contents of constructor and initialize methods to marine LETKF class (#2635)

        Adds contents of constructor and initialize methods to marine LETKF class

        Partially addresses https://github.com/NOAA-EMC/GDASApp/issues/1091
        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>

    commit 8998ec7b74123e953b97a93fa14cc78d471a1aee
    Author: David Huber <[email protected]>
    Date:   Tue Jul 9 08:31:57 2024 -0400

        Fix GDAS group B restart archiving (#2735)

        Archives the GDAS restartb dataset at a 6-hour offset from restarta

        This allows cycled experiments to restart from the archives.
        The tabbing for the master archive templates was also added to
        improve readability.

        Resolves #2722

    commit 3ca74771255727033b9dc043c652ac585178629c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Tue Jul 9 08:28:54 2024 -0400

        Add fcst dependency to ocnanalprep (#2728)

        Add previous cycle's `fcst` as a dependency to `ocnanalprep`

        This ensures that the availability of restart files to the latter. This addresses a
        seldomly-encountered race condition where `ocnanalprep` fails due to the
        lack of the files.

    commit 58fca1668aecd6fb1afd12a441256ad35900e075
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jul 5 15:02:23 2024 -0400

        Update (partially) global-workflow for orion+rocky9 (#2741)

        This PR:
        - updates a few submodules (GSI, GSI-utils, GSI-monitor, UFS_utils,
        GFS-utils) to include recent update to their modulefiles for
        Orion+Rocky9 upgrade
        - updates the modulefiles in global-workflow to load modules from
        Orion+Rocky9 paths
        - updates modulefiles for `gwsetup` and `gwci` as well.
        - removes NCL and GEMPAK from Orion. NCL is not used and GEMPAK is not
        installed.
        - adds `parm/config.gfs/config.resources.ORION` to address GSI
        performance degradation after Rocky 9 upgrade.

        This PR:
        - does not update the build for UPP. Standalone UPP is not available via
        ufs-weather-model as of #2729
        - will need a follow-up update for `prepobs` and `fit2obs` updated
        locations when they are installed in `glopara` space on Orion.

        # Type of change
        - 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

        # How has this been tested?
        This PR is not sufficient for Orion.
        This PR must be tested on other platforms (Hera, WCOSS2) as this PR
        updates submodules.

        # 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
        - [ ] My changes generate no new warnings
        - [ ] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Kate Friedman <[email protected]>

    commit d65d3d257b38225fac74e86b770f43e1f8ae2d5a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jul 3 21:07:49 2024 -0400

        Update ufs model hash to 20240625 (#2729)

        Updates UFS weather model hash to hash from 2024-06-24 which has orion
        porting updates + a few namelist updates.

    commit 2bd106a013805ba4e16dbdc456d6731f8f36ec85
    Author: David Huber <[email protected]>
    Date:   Wed Jul 3 11:32:40 2024 -0400

        Hotfix for undefined CLUSTERS (#2748)

        Defines `CLUSTERS` as an empty string for all hosts except Gaea and uses
        the native `dict` `get` method to prevent grabbing an unset entry.

    commit 7dc6651a3b92194d963675bdc0a9ec3c28499abf
    Author: GwenChen-NOAA <[email protected]>
    Date:   Wed Jul 3 09:56:08 2024 -0400

        Update gempak job to run one fcst hour per task (#2671)

        This PR updates gempak jobs (gfs, gdas, and goes) from processing all
        forecast hours at once to one forecast hour at a time. This will reduce
        the job runtime to less than 5 min, so restart capability is not needed.

        Resolves #1250
        Ref #2666 #2667
        ---------

        Co-authored-by: Walter.Kolczynski <[email protected]>

    commit 8215ae654202186a4f753c3abe937b7b9b91a9c7
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 2 16:22:11 2024 -0400

        Hotfix for clusters from #2701 (#2747)

        Fixes an issue created from #2701 that added `CLUSTERS` to the
        `gaea.yaml`.

    commit 11943e36ba12b3df49c51942da780698fab02d38
    Author: DavidBurrows-NCO <[email protected]>
    Date:   Tue Jul 2 12:58:10 2024 -0400

        Fix xml file setup and complete C48 ATM and S2SW runs for CI on Gaea (#2701)

        This PR sets up the ability on Gaea for auto generation of a clean xml
        file, i.e., an xml file that does not need any alterations before
        running rocoto.
        Refs #2572
        Refs #2664

    commit de8706702ead0630beb54d868f83aa2cb23f8f79
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Mon Jul 1 09:29:14 2024 -0400

        Update for JCB policies and stage DA job files with Jinja2-templates (#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](https://github.com/NOAA-EMC/wxflow/pull/30) is a
        companion to this PR.

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: Dan Holdaway <[email protected]>

    commit c49e4eee1a2ca818b3ecdcb9ea41c3f3e91d585b
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jun 28 14:56:19 2024 -0400

        Revert PR 2681 (#2739)

        This PR:
        - reverts #2681 in part
        - keeps some changes for `RUN`.
        - is a hotfix
        - should be merged ASAP after consensus w/ @guillaumevernieres
        @CatherineThomas-NOAA @WalterKolczynski-NOAA

    commit 9476c1237af4adbc95f90bd1bdd34b6b99f2f8a3
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed Jun 26 15:46:08 2024 -0400

        updated Finalize in Jenkinsfile and added try block around scm checkout (#2692)

        We are updating the Jenkins Pipeline with a try block around checkout to
        capture errors for the user.
        Also cleaned up Finalize and added section to clean out workspace on
        success.

    commit 968568f682bac7564095440bdb7813abefd76821
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 26 13:27:19 2024 -0400

        Activate snow DA test on WCOSS (#2720)

        Activate the snow DA test on WCOSS.

    commit 7706760bb8adbdf78cb640b02739023c886e7699
    Author: Rahul Mahajan <[email protected]>
    Date:   Wed Jun 26 10:02:22 2024 -0400

        Cleanup of stale RUNDIRS from an experiment (#2719)

        This PR:
        - removes stale temporary scratch run directories from `$DATAROOT/`
        every 3 days.
        - should help to scrub failed attempts.
        - removes an unused variable `RUNDIR` defined in `config.base`

    commit 8962991691b5f0857b813bddfd28aa1034d4bd2b
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 26 09:43:48 2024 -0400

        Update logic for MOM6 number of layers/exception values (#2681)

        Updates the logic to be by run instead of for DO_JEDIOCNVAR to determine
        how many layers and sets the exception value for MOM6 to be 1e-34 for
        all scenarios. Note, we will no longer have zeros in the ocean grib
        output and the DA will also run without issues.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2615

    commit 12431f76bdce807067929415007592cffc8a2457
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 26 07:42:35 2024 -0600

        Update wave jobs to use COMIN/COMOUT (#2643)

        NCO has requested that each COM variable specify whether it is an input
        or an output.
        This completes that process for the global-workflow wave
        model and products tasks.
        Refs #2451

    commit b902c0bac126c323a07186ad8881384b032b6fda
    Author: David Huber <[email protected]>
    Date:   Tue Jun 25 07:48:46 2024 -0400

        Assign machine- and RUN-specific resources (#2672)

        Redefine resource variables based explicitly on RUN or CDUMP

        Additionally, machine-specific resources are moved out of
        config.resources and placed in respective config.resources.{machine}
        files.

        Resolves #177 #2672

    commit 5edbd123e2878a07f5cce8e3c7ea6147f286633a
    Merge: 09333c01d 4e1b937b6
    Author: Janet Derrico <[email protected]>
    Date:   Mon Jun 24 12:44:05 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 4e1b937b67ed220120e81925c4507f03b9b8965f
    Author: David Huber <[email protected]>
    Date:   Mon Jun 24 10:50:52 2024 -0400

        Add minimum software requirements (#2712)

        Adds a table to HPC documentation stating the minimum support versions

    commit f43a86276aaef91efa28faadc71a3cf50e749efe
    Author: David Huber <[email protected]>
    Date:   Fri Jun 21 13:44:29 2024 -0400

        Fix and simplify online archiving and reenable METplus jobs (#2687)

        This fixes the online archiving portion of the `*arch` and `*earc00`
        jobs, a prerequisite for running METplus.  This also reenables
        METplus by default.

        The approach previously taken created `FileHandler` dictionaries at
        varying levels within the resulting yaml, which was not properly parsed
        by `exglobal_archive.py`. This approach creates a single `FileHandler`
        dictionary and is much less complicated overall.

        Resolves #2673 #2647

    commit 8993b42cb91144c0ab0501dc7841ea8d675c4701
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 19 21:51:22 2024 -0400

        Eliminate post groups (#2667)

        Eliminates the post groups used for upp and products jobs so that each
        task only processes one forecast hour. This is more efficient and
        greatly simplifies downstream dependencies that depend on a specific
        forecast hour.

        Resolves #2666
        Refs #2642

    commit 0b810c888239853fedd0e4584fe62536c6aaacdf
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 20:32:48 2024 -0600

        Removes misleading "No such file or directory" syntax errors from output files (#2688)

        This PR addresses issue #1252. The following is accomplished:

        - Prior to removing files, the existence of a file is checked prior to
        attempting to remove; this is performed as noted
        [here](https://github.com/NOAA-EMC/global-workflow/issues/1252#issue-1538627369);
        this PR only addresses the the `chgrp` issue.

        Refs #1252

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit 3270ac3bf00c3ebc8166c70d84647ec44431fbae
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 12:17:59 2024 -0600

        Hotfix for bug in template names. (#2697)

        This PR is a hotfix for an incorrectly named (e.g., non-existent) `COM/`
        template.
        Resolves #2696
        Refs #2451

    commit 35d4d99eaac669721add9ddcc793153e5ab3b30a
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 08:06:53 2024 -0600

        Update archive job to use COMIN/COMOUT (#2668)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        archive task.

        Refs #2451
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 47b3a581c8257fa24411fb400df8bb0e1e04972a
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Mon Jun 17 22:55:38 2024 -0400

        Turn on high-frequency output in extended test (#2679)

        Turns on high-frequency (hourly) output in the extended products test to
        exercise that aspect of the code. This test only runs on WCOSS.

        Also adds the hooks to optionally turn on the metplus jobs, but that is
        deferred as they are not currently working correctly.

    commit 38f2df9fb0c074b1f80d3c637080be79be693161
    Author: David Huber <[email protected]>
    Date:   Mon Jun 17 17:12:55 2024 +0000

        Optimize wavepostpnt (#2657)

        Optimize the gfswavepostpnt, gfswavepostbndpntbll, and gfswavepostbndpnt jobs

        This is done by
        1) reducing the number of calls to `sed`, `awk`, `grep`, and `cat` by
        - performing operations on all files at once instead of looping over
        each file
            - removing piped `cat` calls (e.g. `cat <file> | sed 'something'`)
            - combining `sed` and `grep` calls when possible
            - adding logic to `awk` calls instead of handling that logic in bash
        2) minimizing as much as possible the amount of data on disk that has to
        be read in (e.g. limiting sed to read only the line numbers it needs)
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5af325a6a4e0a14d180514a418603ca79fada487
    Author: Dan Holdaway <[email protected]>
    Date:   Fri Jun 14 18:05:23 2024 -0400

        Update GDASapp hash to move JCB into GDASapp (#2665)

        This PR moves JCB into GDASapp. The PR
        also bumps up the hash of GDASapp to what is in `feature/move_jcb`,
        which at time of writing is develop plus the absorption of JCB into
        GDASapp.
        Note that I also took the changes from
        https://github.com/NOAA-EMC/global-workflow/pull/2641 to follow the
        testing @RussTreadon-NOAA has done.

    commit 6c93b4554e235fcb4d0004e99a4c4498d55d461b
    Author: Yaping Wang <[email protected]>
    Date:   Fri Jun 14 10:18:17 2024 -0500

        Add observation preparation job for aerosols DA to workflow (#2624)

        Add a prepaeroobs job to prepare aerosol obs files for DA.

        This job does quality control of the VIIRS aerosol raw observations and
        convert them to ioda format.

        Resolves #2623
        ---------

        Co-authored-by: ypwang19 <[email protected]>
        Co-authored-by: TerrenceMcGuinness-NOAA <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 5a5fc2be7555f094a0f90fd3a3df22d071ccdfd4
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jun 14 11:04:41 2024 -0400

        Remove ocean daily files (#2689)

        This PR removes the ocn_daily files that are produced by the ocean
        component. These files can be recreated by averaging data that exists in
        the 6 hour aveaged files if needed.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2675
        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2659 (by
        removing them and making this obsolete)

    commit 603a4a8052a5c43ce5986f028c3fcfd5fd248ad4
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 12:22:03 2024 -0400

        Update Jenkinsfile

        needed a comma

    commit dc21eac6c3941d7f30803891d91d82f4cc1f8183
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 11:41:14 2024 -0400

        Add Hercules-EMC to the Jenkins configurable parameter list (#2685)

        This quick-fix PR is to update the Jenkins Pipeline's configurable
        parameter list to include the **Hercules-EMC** node.
        This allows Jenkins users to restart Jobs in the controller when no
        updates have been made.

    commit ebacebfbe458634b8c80af6a735d6b6d01e4e406
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Thu Jun 13 11:20:24 2024 -0400

        Update gdas.cd and gsi_utils hashes (#2641)

        This PR updates the `sorc/gdas.cd` and `sorc/gsi_utils` hashes. The
        updated hashes bring in bug fixes, new UFS DA functionality, and a Gaea
        build for gsi_utils.

        Resolves #2640

    commit 34155fb4767769600a1ff95f0a65e37081addc2a
    Author: Neil Barton <[email protected]>
    Date:   Thu Jun 13 11:18:22 2024 -0400

        Add ability to use GEFS replay ICs (#2559)

        The PR allows the use of ICs from PSL's replay analysis. These replay
        ICs will be used for GEFS reforecasting and SFS. Two main changes are
        associated with these updates: (1) replay ICs being valid at 3Z, and (2)
        the use of warm starts.

        Resolves #1838

        ---------

        Co-authored-by: Jessica Meixner <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6c19a0e3fc4400e1d39288be4ee4fc244b74f699
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 12 19:25:42 2024 -0600

        Replace `sleep` with `wait_for_file` (#2586)

        This PR addresses issue #2444. The following is accomplished:

        - All `sleep` statements are replaced with `wait_for_file` for the
        relevant scripts beneath `scripts` and `ush`;
        - Indentation and shell-norms are updated where applicable.

        Note: The WAFS scripts are not updated as per @aerorahul direction.

        Resolves #2444

        ---------

        Co-authored-by: henrywinterbottom-wxdev <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5b2a3d449a0835cec2663aabb06f1c47a3faf84e
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 12 13:31:55 2024 -0400

        Add COM template for JEDI obs (#2678)

        Adds a COM template to define a path to store obs processed for JEDI.
        This will allow UFSDA to stop writing to COM_OBS, which should be
        read-only as it belongs to obsproc in operations.

        No functional change yet.

    commit 2e6f1fcde9935619352b1b26cba42ec0f4d845ed
    Author: Guoqing Ge <[email protected]>
    Date:   Wed Jun 12 09:06:23 2024 -0600

        Link both global-nest fix files and non-nest ones at the same time (#2632)

        This PR enables linking both global-nest fix files and non-nest ones at
        the same time and users can run both nesting and non-nesting experiments
        at the same time without worries about what fix files to be linked.

        Resolves #2631

    commit 61de004d4f9e9edf8a31bb173f2719b46451a36a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 12 11:03:13 2024 -0400

        Update ufs-weather-model  (#2663)

        Updates ufs-weather-model, this updates RDHPCS to the newer spack-stack
        allowing some temporary fixes to be reverted.
        * removes upp submodule
        * uses upp from the ufs-weather-model
        * restores the build and link that were hacked during the Hera Rocky 8
        transition to allow for UPP submodule
        * Removes forecast directories in clean-up

        Resolves #2617
        Resolves #2437

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 15eaf35fb13f361be400be38a5f7ca7b5461ab1d
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Wed Jun 12 01:15:37 2024 -0400

        Add ability to process ocean/ice products specific to GEFS (#2561)

        This PR begins to add the capability to produce GEFSv13 ocean and ice
        products in the global-workflow according to stakeholder requirements.
        The following features are added.

        - An oceanice prod yaml file has been added to address the ocean and ice
        products specific to GEFSv13.
        - The rocoto dependencies and config.base for GEFS have also been
        modified to allow for 24-hour averaged ocean and ice output.
        - Various scripts have been modified to allow for ocean and ice output
        frequencies of 24 hours.
        - `FHOUT_OCNICE` has been split into two variables called `FHOUT_OCN`
        and `FHOUT_ICE`. The same has been done for `FHOUT_OCNICE_GFS`.

        Refs #1878

    commit 6691e7489650e0b738c176fbd096109288dc09b6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 11 21:15:07 2024 -0600

        Update cleanup job to use COMIN/COMOUT (#2649)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        clean-up task.

        Refs #2451

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 23a8d8835dd4c5d69ca20f5ff23705f30f17b4b0
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Jun 11 16:17:25 2024 -0400

        Add overwrite to creat experiment in BASH CI (#2676)

        This is a quick hotfix to the CI BASH driver script adding `--overwrite`
        to create experiment script to avoid errors from restarting an
        experiment.

    commit e7909af8d9e1f34140388a3f8556d8e582c58fe5
    Author: emilyhcliu <[email protected]>
    Date:   Mon Jun 10 15:11:27 2024 -0400

        Add handling to select CRTM cloud optical table based on cloud scheme and update calcanal_gfs.py  (#2645)

        This PR proposes updates for the following two scripts:

        1. In **scripts/exglobal_atmos_analysis.sh** --- Add handling to select
        CRTM cloud optical table based on cloud microphysical scheme indicated
        by `imp_physics'
        The default scheme in the GFS forecast model is Thompson scheme
        (imp_physics = 8).

        2. In **/ush/calcanl_gfs.py** --- Increase the MPI number declared in
        the script due to increased variables to interplate increments and
        calculate analysis in the netcdf_io routines in GSI-utils.
        Here is the related [PR #46 for
        GSI-utils](https://github.com/NOAA-EMC/GSI-utils/pull/46).

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9caa51de8fb7be07d2e61775da01937d576964f6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Thu Jun 6 22:15:23 2024 -0600

        Update RDHPCS Hera resource for `eupd` task (#2636)

        As per @wx20jjung, the resource for the `eupd` task have been updated
        for RDHPCS Hera to account for memory issues for C384 `gdaseupd` job
        fails.

        Resolves #2454

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit acf3aaa2b1d3e3024b0b5d2fe23eee8c317a980b
    Author: DavidNew-NOAA <[email protected]>
    Date:   Thu Jun 6 11:49:03 2024 -0400

        Parameterize some things in config.atmanl and config.atmensanl (#2661)

        This PR adds some parameters in config.atmanl and config.atmensanl that
        can be altered with the defaults.yaml. The motivation is to make these
        files match those in the GDASApp JJOB tests (example:
        https://github.com/NOAA-EMC/GDASApp/blob/develop/test/atm/global-workflow/config.atmanl),
        so we can just use the Global Workflow config.atmanl and
        config.atmensanl in the tests rather than custom ones in GDASApp that
        have to be separately updated every time the ones in the Global Workflow
        are updated.

    commit 54ea0b73a07921be5fbb07fe41e976888bd3e549
    Author: Guillaume Vernieres <[email protected]>
    Date:   Thu Jun 6 01:36:02 2024 -0400

        Add links to the ocean insitu obs processing tools (#2644)

        Add links to the marine bufr to ioda converters for the marine insitu
        observations.

        - fixes https://github.com/NOAA-EMC/GDASApp/issues/1106
        - waiting for https://github.com/NOAA-EMC/GDASApp/pull/1135

    commit 205d0c2b13e2d7755cec75bf8c978ab20d453862
    Author: David Huber <[email protected]>
    Date:   Wed Jun 5 17:31:30 2024 +0000

        Update S4 point of contact in docs (#2660)

        Update the point of contact for global workflow issues on S4.

    commit aa23ccf1d0d229f9ff1398d84af1fa7ee5bed262
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed Jun 5 12:50:14 2024 -0400

        Enable wcoss2 ufsda build and module load (#2620)

        This PR enables ufsda (`sorc/gdas.cd`) to be built and run on WCOSS2.

        Resolves #2602
        Resolves #2579

    commit 67b833e0c7bc390865d453588b4609a1a7ede981
    Author: Jessica Meixner <[email protected]>
    Date:   Tue Jun 4 13:33:43 2024 -0400

        Update ufs-weather-model  (#2646)

        Updates UFS model to the commit https://github.com/ufs-community/ufs-weather-model/commit/5bec704243286421fc613838fc67a2129e96acd6
        This should resolve the issue and allow C768 runs on Hera and allow for CICE
        to run on WCOSS2 (due to library updates to allow linking).

        From what I can tell, all updates needed were done by
        @HenryWinterbottom-NOAA which were updates for CICE

        Fixes #2490

    commit c44d0ac86cfdf78eb87492431bf6d825e8bae637
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue Jun 4 10:29:49 2024 -0400

        Update wmo parm files to fix WMO header (#2652)

        This PR updates wmo parm files to switch WMO header of precipitation
        type products (CRAIN, CFRZR, CICEP, and CSNOW) from time averaged to
        instantaneous.

        Resolves #2566

    commit 237d6dd213e8b1455d2f45dc5978fb2d3de93e60
    Author: Cory Martin <[email protected]>
    Date:   Tue Jun 4 13:55:33 2024 +0000

        Add IAU to snow DA (and its test) (#2610)

        This PR enables IAU for the snow DA which is necessary for GFSv17.

        A snow analysis is created for the center of the window regardless, and
        an additional at the beginning of the window is added if IAU is on. The
        former is needed for UPP and the latter, to initialize the model.

        The increment is valid throughout the window for 3DVar, so the same
        increment is added to both forecasts.

        Additionally, the input file that goes into global_cycle has been
        updated to be the output of the JEDI snow analysis instead of the
        forecast (@jiaruidong2017 I recall discussing this, can you confirm this
        is right or am I mistaken)

        This PR also makes the CI test for snow DA (and aerosol DA) include IAU
        rather than without IAU,.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit c92bf415060750127c9c05a62a1d2851c489551a
    Author: David Huber <[email protected]>
    Date:   Sat Jun 1 05:11:07 2024 +0000

        Archiving cleanup (#2621)

        1) Adds a lot of comments to the jinja templates for archiving
        2) Rearranges the gdas and enkf templates to a more logical order
        3) Fixes a couple of bugs in the enkf archiving of increments and
        analyses
        4) Disables archiving for the half cycle
        5) Removes the `FITSARC` key from `config.base` and `arcdir.yaml.j2`,
        instead relying on `DO_FIT2OBS`
        6) Updates wxflow to add the option to not allow undefined variables
        when parsing jinja templates and invokes this feature when running
        archives

        Resolves #2612

    commit 12aa1e9cd2d159e2b303d2b33d6c79c365688eec
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri May 31 04:57:08 2024 -0400

        Switch to Rocky 9 built external packages on Hercules (#2608)

        The workflow was updated to use modules built on Rocky 9, but the
        external packages (like prepobs) were still pointing to the versions
        built on CentOS (Orion). This transitions to packages built on Rocky 9.

        Updating of the tracker package has been deferred until later. As such,
        the tracker jobs have been disabled by returning immediately if they are
        on Hercules. Since these jobs are small, resource-wise, it should not
        meaningfully impact turnover time.

    commit 4422550c01c9214a2b3b8890bdcc898123ee216a
    Author: Guoqing Ge <[email protected]>
    Date:   Thu May 30 08:05:23 2024 -0600

        Add the capability to use slurm reservation nodes (#2627)

        Add the capability to use slurm reservation nodes
        Add "ACCOUNT_SERVICE" for jobs to run in PARTITION_SERVICE

        Resolves #2626

    commit a54153fd9d26126206bc07a1da4e80f50c0c5910
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 29 23:24:07 2024 -0400

        Update forecast job to use COMIN/COMOUT (#2622)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the forecast job.

        Refs #2451

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit d69a8af95d492982b918670322ed5c41ab074335
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 21:29:03 2024 -0400

        Update to add 1-deg global wave grid (#2619)

        This PR adds options to use a global 1 deg grid, intended for testing
        with the SFS application.

        Requires new fix file changes NOAA-EMC/global-workflow#2618

    commit 0b4670ecf83b99b72835c8380573b2bca7cf5324
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 17:17:21 2024 -0400

        Add C384mx025_3DVarAOWCDA yamls (#2625)

        Adds the C384mx025_3DVarAOWCDA yaml files for one experiment into a new GFSv17 folder.

    commit 2e885d05c64b947f00a3cf055a1277fbfac195c9
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 29 13:00:51 2024 -0400

        Script to keep Jenkins Agent persistent from cron (#2634)

        This "persistent" Java Agent launch script can be ran from a cron job:

        - Uses Jenkins Remote API to check the status of the Node connection
        using curl for a given machine.
        - If it is not connected a new agent is launched for that node.

        Resolves #2633

    commit bb58e064d8e82ce51802bd6064cfa84cae2cc4d5
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue May 28 17:17:11 2024 -0400

        Change GRIB2 parameter names and vertical levels for ocean/ice post (#2611)

        Based on users' feedback, this PR do the following:
        1. Change GRIB2 parameter names DLWRF -> NLWRF and DSWRF -> NSWRF
        2. Change the vertical level of ocean 3D variables (WTMP, SALIN, UOGRD,
          and VOGRD) from "%g m below water surface" to "%g m below sea level"
        3. Round up depth numbers to integer (e.g. 4481.0625 -> 4481 m)

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit e53c5e8e0abbc0edf95970a71df0e6e8a2be9f31
    Author: DavidNew-NOAA <[email protected]>
    Date:   Tue May 28 17:16:23 2024 -0400

        Add atmensanlfv3inc job (#2592)

        This PR creates the atmensanlfv3inc job, the ensemble version of
        atmanlfv3inc, created in GW PR #2420. Its GDASApp companion PR is
        #[1104](https://github.com/NOAA-EMC/GDASApp/pull/1104), and its JCB-GDAS
        companion PR is #[3](https://github.com/NOAA-EMC/jcb-gdas/pull/3).

    commit 50c2b8951b29a3c883a778becbf8582f9519eb48
    Author: Anil Kumar <[email protected]>
    Date:   Tue May 28 13:23:53 2024 -0400

        Global-workflow (AR) Generic updates for Gaea C5 (#2515)

        - Port global-workflow’s build and run capability to Gaea-C5
        - Building global-workflow on Gaea-C5
        - Setting up experiments with global-workflow on Gaea-C5

        ---------

        Co-authored-by: AnilKumar-NOAA <[email protected]>
        Co-authored-by: DavidBurrows-NCO <[email protected]>

    commit b6ca771a0c584cbfcbbf9be739765d5f3815df97
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 24 10:52:45 2024 -0400

        Update STMP and PTMP settings in host file for Orion and Hercules  (#2614)

        - Updating STMP and PTMP settings in host file for Orion and Hercules
        because they are cross mounted.
        - Also took the opportunity to finally update **SLURM_ACCOUNT** to
        **HPC_ACCOUT** in CI over rides.
        - Added a refactor of the `rocotostat.py` tool that is more pythonic and
        as a execute retry feature because the `rocotostat` utility on Orion has
        been failing sometimes.

    commit 7d2c539f45194cd4e5b21bfd4b83a9480189cd0f
    Author: Guillaume Vernieres <[email protected]>
    Date:   Tue May 21 23:50:50 2024 -0400

        Sea-ice analysis insertion (#2584)

        Allows cycling and restarting CICE with the sea-ice analysis if the
        marine DA is switched on.

        Resolves #2568
        Resolves NOAA-EMC/GDASApp#1103

    commit 5369a1ff3a3969149fcf32810fad0e50216752b7
    Author: David Huber <[email protected]>
    Date:   Tue May 21 22:12:29 2024 +0000

        Refactored archiving (#2491)

        This provides a new pygfs task, archive.py, that provides all of the
        tools necessary to archive data to the local (`ARCDIR`) and backup
        (`ATARDIR`) archive directories. YAML-Jinja2 templates are provided to
        define the file to be archived or tarred to replace the
        `hpssarch_gen.sh`, `exglobal_earc`, and `exglobal_archive.sh` scripts
        and make it easier to add new data and explicitly handle optional and
        required files.

        For `ATARDIR` archiving, a master jinja template is provided for each
        `RUN` (i.e. master_gdas.yaml.j2, master_gfs.yaml.j2,
        master_enkf.yaml.j2). The master_enkf.yaml.j2 template is used for both
        `enkfgdas` and `enkfgfs` `RUN`s. These templates then include the
        appropriate `RUN`-specific jinja templates (e.g. gdas.yaml.j2) based on
        experiment, cycle, and coupled parameters. Each of these templates
        corresponds to a single tarball to populate and are tabbed 4 spaces so
        they are defined within the master `datasets` dictionary.

        Future developers should not have to make modifications to archive.py
        unless archiving is being enabled for a new `RUN` (e.g. `gefs`) and then
        only a single `elif` needs to be added to the configure method to
        specify the master `ATARDIR` template to archive (e.g.
        `master_gefs.yaml.j2`). If a new component is coming online that needs
        to be archived to `ATARDIR` (e.g. SNOW), then create a new template for
        each `RUN` that it needs to be archived for (e.g. `gdassnow.yaml.j2`)
        and reference the template in the appropriate master templates, e.g.

        `master_gdas.yaml:`
        ```jinja
        {% if DO_SNOW %}
        {% include "gdassnow.yaml.j2" %}
        {% endif %}
        ```

        A few other issues were addressed along the way:
        1. Aerosols have been reenabled. Aerosol forecasts should only be
        performed during gdas cycles, but analyses can be performed for both gfs
        and gdas cycles. This was accomplished by setting separate
        `AERO_<job>_CDUMP` variables to parse on for both `ANL` and `FCST` jobs.
        2. Fixed the name of the `cice6_rst_ok` variable in `forecast_det.sh`.
        This prevented restarts from being used for cice-enable experiments.
        This feature was not tested.
        3. Create a temporary fix for the `wgrib` utility. For spack-stack
        1.6.0, the `grib-util` module file does not declare `WGRIB`. An issue is
        open (https://github.com/JCSDA/spack-stack/issues/1097) to fix this in
        existing installations. Once complete, this temporary fix should be
        removed.
        4. The number of `earc` jobs has been reduced for lower resolution
        experiments. Both C48 and C96 experiments will now only have two earc
        jobs (one for the non-member files to archive and another for the member
        files). C192 will have up to 3 earc jobs (one non-member, one for
        members 1-40 and another for members 41-80, if needed).

        Resolves #2345
        Resolves #2318

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9aad86f27d37d19165b9a0b64cf70c7a4dd6362c
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 17 12:57:59 2024 -0400

         Add remove RUNDIRS step in CI before creating experements (#2607)

        As had been done in Bash CI we need to remove the RUNDIR in Jenkins
        before a creating an experiment in the event that case had beem
        previously ran.

    commit 09333c01dbafddb2d2fe7e181b479af3cc6d3621
    Merge: f7e9f4489 bb930050b
    Author: Janet Derrico <[email protected]>
    Date:   Thu May 16 14:33:19 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit bb930050b3cd51d28ecba6b231c8675f6d11856c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu May 16 12:28:30 2024 -0400

        Adds jjob and other necessities for marine LETKF task (#2564)

        Adds jjob, rocoto script, config file, and other necessities for new
        marine LETKF task.

        Partially addresses NOAA-EMC/GDASApp#1091

    commit 2c50fbde4d6cc3e53c55dca56925353a02fd1730
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 12:12:06 2024 -0400

        Updating CI Machine configs with redundant PTMP (#2605)

        Quick fix adding PTMP as STMP in Machine configs for CI for completeness

    commit ef340ff33a6f89adf70838206ba3fd56a953fa7a
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 11:37:30 2024 -0400

        Fix race condition in CI between Orion and Hercules (#2604)

        Hotfix to solve race conditions in the CI system due to cross-mounted
        file systems between Orion and Hercules

    commit e8b17e27f719df280170dc3f5bd9f19917cefaf2
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 17:16:30 2024 -0400

        Remove existing EXPDIRs and COMROTs when CI is re-run (#2601)

        Quick hotfix for having default for re-runing jobs to start clean with
        new EXPDIRs and COMROTs

    commit b5d113efb1970ede5cd1d3d4dff8d96320519c41
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 16:52:49 2024 -0400

        Moving logic for skipping hosts in pr cases (#2573)

        This PR removes the logic of skipping hosts for pr cases from
        `create_experiment.py` and moves it to a test in the cron bash driver
        using a `parse_yaml.py` python tool.

        The Jenkins pipeline was not effected as it uses the
        `get_host_case_list.py` utility to form the cases on a per host bases.

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 3cd0c68c0de9900bc7b73e1ed7621573dff5e916
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed May 15 13:13:30 2024 -0400

        Update gsi_utils.fd hash (#2598)

        This PR updates the `gsi_utils.fd` hash to bring in updates which add
        safeguards to
        -
        `src/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90`
        - `src/EnKF/gfs/src/recentersigp.fd/recentersigp.f90`

        The safeguards are described in GSI-utils PR
        [#41](https://github.com/NOAA-EMC/GSI-utils/pull/41) and the associated
        issue.

        Resolves #2597

    commit d5366c66bd67f89d118b18956fe230207cbf0aea
    Author: Kate Friedman <[email protected]>
    Date:   Wed May 15 13:12:56 2024 -0400

        Update CICE and MOM6 fix versions (#2600)

        This PR updates the CICE (`cice_ver`) and MOM6 (`mom6_ver`) fix versions
        to the newer `20240416` timestamps, which includes updates and fixes to
        the `100` (1-deg) resolution files.

        Resolves #2480
        Resolves #2483
        Resolves #2595

    commit 6ca106e6c0466d7165fc37b147e0e2735a1d6a0b
    Author: David Huber <[email protected]>
    Date:   Mon May 13 22:57:38 2024 +0000

        Limit gfswavepostpnt to 40 PEs/node (#2588)

        This fixes the slow runtime of the gfswavepostpnt job on Hercules. The
        job is very I/O intensive and does not scale well to large nodes, so
        limit the number of jobs/node to 40.

        Resolves #2587

    commit 4fb7c12c325702a47f27c802a5067efd33d0327c
    Author: Fanglin Yang <[email protected]>
    Date:   Mon May 13 16:37:51 2024 -0400

        Update damping and time-step (#2575)

        Updates the model to use explicit Rayleigh damping for u/v and implicit
        damping to w. This improves model stability and allows for longer
        timesteps. Also unifies the GDAS and GFS to use the same damping.

        Results from a test at the C1152 resolution (coupled model) can be found
        at https://www.emc.ncep.noaa.gov/gmb/wx24fy/C1152/newdamp/

        Resolves #2574

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Lisa Bengtsson <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6a9c1372ecce9e50e4f6e10e56f6e504cde1afe6
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 10 14:17:13 2024 -0400

        Do not use BUILT_semphore to force rebuilds when re-run (#2593)

        Remove the placement of the `BUILT_semaphore` file after the build in
        the Jenkins Pipeline and force it to rebuild any changes after a PR is
        re-ran.

    commit 2346c6161f75ae02369cbf30f30c6150d3e12b66
    Author: Innocent Souopgui <[email protected]>
    Date:   Thu May 9 21:17:06 2024 -0500

        Migration to Rocky8 spack-stack installations on Jet (#2458)

        # Description
        Migrates Global Workflow to Rocky8 spack-stack installations on Jet.
        Jet has moved from CentOS7 to Rocky8.

        Resolves #2377
        Refs NOAA-EMC/UPP#919
        Refs NOAA-EMC/gfs-utils#60
        Refs NOAA-EMC/GSI#732
        Refs NOAA-EMC/GSI-Monitor#130
        Refs NOAA-EMC/GSI-utils#33

    commit c7b3973014480a20dd8e24edaeb83a9e9e68159f
    Author: Jessica Meixner <[email protected]>
    Date:   Thu May 9 11:36:58 2024 -0400

        Updates for cold start half cycle, then continuing with IAU for WCDA (#2560)

        This PR allows us to run C384 S2S with IAU, but starting with the first
        half-cycle as a cold-start. This will be necessary for cycled testing as
        we build towards the full system for GFSv17. This updates the copying of
        the restarts for RUN=gdas for both ocean and ice copying what the atm
        model is doing. It also reduced the amount of restart files from 4 to 3.

        Other updates:
        * Add DOJEDI ocean triggers for archiving certain files update from:
        @CatherineThomas-NOAA
        * Adds COPY_FINAL_RESTARTS option to turn on/off copying the last
        restart file to COM. Defaults to off...
        * Defines model_start_date_current_cycle & model_start_date_next_cycle
        to help with knowing which IC to grab.

        Refs #2546

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit b405b7d3d11d384ce9fe3b9cd2180f315f7b38f2
    Author: Dan Holdaway <[email protected]>
    Date:   Wed May 8 20:52:48 2024 -0400

        Use JCB for assembling JEDI YAML files for atmospheric GDAS (#2477)

        Change the JEDI YAML assembly for the atmospheric GDAS to use the JEDI
        Configuration Builder (JCB) tool so that YAMLs can be made more portable
        and invoke the observation chronicle mechanism.

        Resolves #2476

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 0cf0349c1f88048806e68ab58e93a3261b7a0e95
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 8 02:04:16 2024 -0400

        Add CI test for products (#2567)

        Adds a new version of the atm3DVar test that runs the full forecast
        length and produces most of the secondary products. For now, this test
        will only run on WCOSS due to gempak failures on other machines as well
        as computational needs. On other machines, the original version will run
        (the original version will not run on WCOSS). A…
jderrico-noaa pushed a commit to NOAA-GSL/global-workflow that referenced this issue Sep 27, 2024
* Update realtime branch, gsl_ufs_rt.

Squashed commit of the following:

commit 4e0a81f7acf5ccba5de8d3bdf7ab19cae80812cb
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 18:37:50 2024 +0000

    Fix typos/links/dependancy.

commit d5fdcbf8d6e987dbdfcd6b4da34d0934c8d82c3b
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 07:37:52 2024 +0000

    Fixed missing config.base files.

commit c6239f925369b20fd8488e8537969e2f4f9e7725
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:53:47 2024 +0000

    Update submodule hashs.

commit 32bf790f67b818ff50a7f6b74388fb81ed175b3a
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:09:41 2024 +0000

    Update develop branch, gsl_ufs_dev
     - based on gsl_ufs_dev from KaYee's fork
       global-workflow: 07Aug24,37c53ac [develop_07Aug2024_37c53ac]
       UFS: 19Jul24, c127601
       FV3: 19Jul24, 2527c11
       UPP: 23Apr24, be0410e
       CCPP-PHYSICS: 19Jul24, 46df080
       UFS_UTILS: 26Jun24, 3ef2e6b

    Squashed commit of the following:

    commit 70b557836379bb7e545fcc6642e28d66cfc17735
    Merge: 5edbd123e 37c53ac69
    Author: Janet Derrico <[email protected]>
    Date:   Wed Aug 7 11:02:24 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 37c53ac692274eb5e9f9a3220033406e8c4b4a04
    Author: Kate Friedman <[email protected]>
    Date:   Wed Aug 7 08:11:21 2024 -0400

        Revert MSU FIX_DIRs back to glopara (#2811)

    commit 876dfee26ad67e1f729bbf52b3167d48ea5a7517
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Aug 6 14:47:36 2024 -0400

        Bugfix for updating label states in Jenkins (#2808)

        Quick bug fix for updating state labels in CI during finalize.
        (did not reference GitHub CLI executable correctly in the pipeline
        script)

    commit 8fee36f0307b0c08080e3a8fa8fa6703e7da5fce
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Aug 6 11:02:45 2024 -0400

        Clean-up temporary rundirs - take 2. (#2753)

        This PR:
        - is a follow-up to a previous PR that aggressively pruned run
        directories.
        - removes run directories for the current cycle in the clean-up if the
        cycle is successful. If the cycle is not successful, cleanup is not
        called and all run directories for the cycle are safe from being purged.
        - also updates the PR template to list/query for any updates to
        submodules.

        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit d599fff4aedd41ae587dbe02226acb12ff48efc1
    Author: HelinWei-NOAA <[email protected]>
    Date:   Mon Aug 5 05:31:31 2024 -0400

        Change land surface for HR4 (#2787)

        Resets the default value of opt_diag to 2 corresponding to the land
        surface upgrades in ufs-weather-model for HR4.

        Resolves #2786

    commit 6d7f7e860a0c7062f90bf09fdf9a5d19dc77cfdb
    Author: David Huber <[email protected]>
    Date:   Fri Aug 2 15:41:29 2024 -0400

        Run METplus serially and correct the name of prod tasks (#2804)

        Adds 2 hot fixes:

        - METplus v9.1.3 has a bug in it that sometimes attempts to create
        multiple copies of the same directory when running in parallel, causing
        a Python error and downstream problems. This PR makes METplus run in
        serial mode, preventing such issues.
        - Corrects the name of the atmos_prod, ocean_prod, and ice_prod tasks in
        workflow/rocoto/tasks.py (was accidentally changed to e.g. atmosprod)

    commit 0706c59ac53cc3bbfbaa56cbd7fa75ab51117830
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri Aug 2 15:03:45 2024 -0400

        Update Java Agent launching script for Jenkins connections (#2762)

        Made updates to the Jenkins Launching Script for robustness and less
        ambiguous documentation:
        - Clearer distinction between required user token for the remote api and
        the systems token for launching
        - Added pre-checks: `gh` is authenticating, named compliant token and
        secret file exists
        - More robust Jason based parser of the remote api response for checking
        the state of the Node connection
        - For `cron` use a 5 minute pause and recheck was added before
        re-launching of the java agent
        - Added concise header documentation of requirements and purpose
        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit b73b1fd203496db97f8067652659573a632bcc67
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri Aug 2 07:59:06 2024 -0400

        Fix erroneous cdump addition (#2803)

    commit 49877046ac3306f6b78ca0ab5d5089ba1aa3e3e3
    Author: Rahul Mahajan <[email protected]>
    Date:   Thu Aug 1 20:26:13 2024 -0400

        Update ocean post-processing triggers (#2784)

        This PR:
        - replaces `check_netcdf.sh` checker for ocean post-processing with with
        ocean output at the next forecast hour or finishing of the forecast job
        for ocean prod
        - removes no longer needed `ush/check_netcdf.sh`

    commit aa2af1ca8d59424a60a1730722bf528775d9e606
    Author: GeorgeGayno-NOAA <[email protected]>
    Date:   Thu Aug 1 16:46:10 2024 -0400

        Update the gfs_utils repository hash (#2801)

        # Description
        Point to the latest hash of the gfs-utils repository, which contains the
        bug fix to gaussian_sfcanl.

        Resolves #2669.
        Refs: https://github.com/NOAA-EMC/gfs-utils/pull/73

    commit d3d85f0e0d573f16a71ca44778021dfc0ccf50c8
    Author: David Huber <[email protected]>
    Date:   Thu Aug 1 08:12:14 2024 -0400

        Add fixes for metplus jobs when gfs_cyc=2 or 4 (#2791)

        Changes how METplus jobs run so that they run on the last GFS cycle for
        a given `PDY`.

        This is a departure from operations where the METplus jobs run on the
        00Z cycle for the previous 3 cycles and 00Z (i.e. `${PDYm1}06` through
        `${PDY}00`). With this PR, for gfs_cyc=4, METplus jobs will run on
        `${PDY}18` for cycles 00-18. See
        https://github.com/NOAA-EMC/EMC_verif-global/pull/131 for more details.

    commit 1cf8b448af562dbb7af198399c78c585977e81da
    Author: David Huber <[email protected]>
    Date:   Tue Jul 30 10:38:49 2024 -0400

        Simplify resource-related variables, remove CDUMP where unneeded (#2727)

        This overhauls resource-related variables to use a common set of
        variables for each job. In the process, this also removed the use of
        CDUMP in most cases.

        Resolves #1299 #2693

    commit 61875f25c9e971f82ae499b5b612d7f095deebd4
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Mon Jul 29 14:40:03 2024 -0400

        Remove f000 from atmos rocoto tasks for replay cases (#2778)

        The main purpose of this PR is to remove the f000 from
        atmosphere-related rocoto tasks when `REPLAY_ICS` is set to `YES`. In
        cases where `REPLAY_ICS` is `YES` and `OFFSET_START_HOUR `is greater
        than `0`, it becomes necessary to have the first lead hour set to
        `OFFSET_START_HOUR ` for the atmosphere-related rocoto tasks. For
        example, when `OFFSET_START_HOUR ` is set to `3`, then the minimum lead
        time for the atmos_prod and atmos_ensstat rocoto tasks needs to be 3 and
        the minimum lead time for the ocean_prod rocoto task needs to be 6
        (assuming `FHOUT_OCN` is 6). This PR makes this rocoto workflow set up
        possible by removing 0 from fhrs for atmosphere-related tasks in
        `gefs_tasks.py` when replaying.

        This PR also moves where f000 is being removed for the ocean_prod and
        ice_prod tasks. The if-block that performs this f000 removal has been
        moved from `tasks.py` to `gefs_tasks.py` and `gfs_tasks.py`.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit f156a7894d639f177e3e2588f98eec1f6f59aa68
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jul 26 14:18:32 2024 -0500

        HR4 GWD update (#2732)

        This update is a combination of the gravity wave drag (GWD) versions
        from the NOAA/GSL and NOAA/PSL

    commit a7f6b32ed63efa0de21bfb0ce63364a5b22b9891
    Author: David Huber <[email protected]>
    Date:   Thu Jul 25 14:26:52 2024 -0400

        Temporarily disable METplus jobs (#2796)

    commit 848659691fdbf47e7ccdbbb2ebf22a6e470633a2
    Author: Guillaume Vernieres <[email protected]>
    Date:   Wed Jul 24 15:00:35 2024 -0400

        Refactoring of the marine B-matrix job (#2749)

        Refactor the functionality of B-matrix generation from the GDASApp

        Resolves #2743

    commit 65a7ab75dc0e4baba06a02e11ed0455787056a68
    Author: David Huber <[email protected]>
    Date:   Tue Jul 23 08:35:48 2024 -0400

        Replace Jinja namespaces with replace_tmpl filter and disable ACCOUNT_SERVICE option (#2775)

        Removes the namespace-based construction of EnKF member COM directories
        in the enkf archive template.

    commit c45b9611f3e701b819bd33dc5af29033f060bb91
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Tue Jul 23 00:33:16 2024 -0400

        Add task to process reforecast variables to save on WCOSS2 (#2680)

        # Description
        This PR adds an optional task to the global-workflow to process a subset
        of ocean, ice, wave and atmosphere products to be saved on WCOSS2 for
        the GEFSv13 reforecast. This task is designed to process GEFS variables
        so that specific reforecast product requirements are met. A new variable
        in `config.base` called `DO_EXTRACTVARS` enables this task, which is
        currently called `extractvars`. `DO_EXTRACTVARS` is set to `NO` by
        default and is specifically a task designed to be executed for the
        GEFSv13 reforecast.

        Refs #1878

        # Type of change
        - New feature (adds functionality)

        # Change characteristics
        - Is this a breaking change (a change in existing functionality)? NO
        - Does this change require a documentation update? NO

        # How has this been tested?
        This has been cloned and tested on WCOSS2. This will need to be tested
        on Hera and other platforms on which the reforecast may be running.

        # Checklist
        - [ ] 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
        - [ ] I have commented my code, particularly in hard-to-understand areas
        - [x] My changes generate no new warnings
        - [x] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 71dc33c6ca991c16ce743760d99feaaf60f2218a
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 14:51:53 2024 -0400

        Set METplus process count in config.metp; add verif-global support for Rocky 9 (#2774)

        Fix metp* resources and check that they completed properly; add support for Orion Rocky 9

    commit 56df67a90fe090c425199f1285e5aac722c398b1
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 09:28:18 2024 -0400

        Hotfix: Update jcb to avoid git-lfs files (#2782)

        Removes git-lfs files from the `GDASApp` `jcb` submodule, allowing it to
        be cloned on Hera.

        This hotfix points to a non-authoritative branch of the GDASApp
        (https://github.com/DavidHuber-NOAA/GDASApp/tree/hotfix/update_jcb) and
        should be updated ASAP back to the authoritative repository.

    commit fc668aa422ebbad76ceda1b3bbf8dc0ea432defd
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 16 09:44:00 2024 -0400

        Address issues in creating XML for GFS forecast-only with app S2SWA (#2757)

        This bugfix PR:
        - fixes an issue where a user is unable to generate the XML for a GFS
        forecast-only experiment with APP=S2SWA

        Specifically, the changes are related to defining `aero_fcst_cdumps`.
        Following `setup_expt.py`, the user will have to set
        `AERO_FCST_CDUMPS="gdas|gfs|both" depending on their use case in
        `config.base`.

    commit e0878dba0e53706a7f53429b61aee2936e2c21bf
    Author: Kate Friedman <[email protected]>
    Date:   Mon Jul 15 10:25:11 2024 -0400

        Updated prepobs and fit2obs versions for Orion Rocky9 (#2758)

        Update prepobs to v1.0.2 and fit2obs to v1.1.2

        These versions now support Orion Rocky9. Updates are included
        for new install locations on WCOSS2, Hera, Orion/Hercules, and Jet.

    commit 4968f3a8de9a5f90651cacd74e38f97bc80b7bbb
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jul 11 17:48:47 2024 +0000

        CI maintenance updates and adding CI Unit Tests (#2740)

        This PR has a few maintenance updates to the CI pipeline and adds a test
        directory with Unit Tests
        **Major Maintenance updates:**
        - Added try blocks with appropriate messaging to GitHub PR of failure
        for:
        - - **scm** checkout
        - - build fail (with error logs sent as gists)
        - - create experiment fails with `stderr` sent to GitHub PR messaging
        - Pre-stage FAILS from the above are now captured these fails allow
        FINALIZE to update the label to FAIL (i.e. no more "hanging" CI state
        labels in GitHub - see image below)
        **Minor Maintenance updates:**
        - Fix for STALLED cases reviled from PR 2700 (just needed a lambda
        specifier)
        - Fixed path to experiment directory in PR message (had dropped EXPDIR
        in path)
        - Needed `latin-1` decoder in reading log files for publishing
        **Added python Unit Tests for CI functionality:**
        - Installed **Rocoto** and **wxfow** in GitHub Runner for testing key CI
        utility codes
        - Cashed the install of Rocoto in the GitHub Runners to greatly reduce
        stetup time for running the unit tests
        - Unit Tests Python scripts added
        - `test_rocostat.py`: rocoto_statcount() rocoto_summary()
        rocoto_stalled()
          - `test_setup.py`: setup_expt() test_setup_xml()
          - `test_create_experment`: test_create_experiment()
          - - Runs all PR cases that do not have ICs in the GItHub Runner
        - Reporting mechanism in the Actions tab for Python Unit Testing results
        - Test case data for STALLED and RUNNING stored on S3 and pulled using
        wget during runtime of tests

    commit 5ef4db74649b8be03402c17aa29c024e71699a7b
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu Jul 11 08:59:24 2024 -0400

        Adds contents of constructor and initialize methods to marine LETKF class (#2635)

        Adds contents of constructor and initialize methods to marine LETKF class

        Partially addresses https://github.com/NOAA-EMC/GDASApp/issues/1091
        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>

    commit 8998ec7b74123e953b97a93fa14cc78d471a1aee
    Author: David Huber <[email protected]>
    Date:   Tue Jul 9 08:31:57 2024 -0400

        Fix GDAS group B restart archiving (#2735)

        Archives the GDAS restartb dataset at a 6-hour offset from restarta

        This allows cycled experiments to restart from the archives.
        The tabbing for the master archive templates was also added to
        improve readability.

        Resolves #2722

    commit 3ca74771255727033b9dc043c652ac585178629c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Tue Jul 9 08:28:54 2024 -0400

        Add fcst dependency to ocnanalprep (#2728)

        Add previous cycle's `fcst` as a dependency to `ocnanalprep`

        This ensures that the availability of restart files to the latter. This addresses a
        seldomly-encountered race condition where `ocnanalprep` fails due to the
        lack of the files.

    commit 58fca1668aecd6fb1afd12a441256ad35900e075
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jul 5 15:02:23 2024 -0400

        Update (partially) global-workflow for orion+rocky9 (#2741)

        This PR:
        - updates a few submodules (GSI, GSI-utils, GSI-monitor, UFS_utils,
        GFS-utils) to include recent update to their modulefiles for
        Orion+Rocky9 upgrade
        - updates the modulefiles in global-workflow to load modules from
        Orion+Rocky9 paths
        - updates modulefiles for `gwsetup` and `gwci` as well.
        - removes NCL and GEMPAK from Orion. NCL is not used and GEMPAK is not
        installed.
        - adds `parm/config.gfs/config.resources.ORION` to address GSI
        performance degradation after Rocky 9 upgrade.

        This PR:
        - does not update the build for UPP. Standalone UPP is not available via
        ufs-weather-model as of #2729
        - will need a follow-up update for `prepobs` and `fit2obs` updated
        locations when they are installed in `glopara` space on Orion.

        # Type of change
        - 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

        # How has this been tested?
        This PR is not sufficient for Orion.
        This PR must be tested on other platforms (Hera, WCOSS2) as this PR
        updates submodules.

        # 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
        - [ ] My changes generate no new warnings
        - [ ] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Kate Friedman <[email protected]>

    commit d65d3d257b38225fac74e86b770f43e1f8ae2d5a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jul 3 21:07:49 2024 -0400

        Update ufs model hash to 20240625 (#2729)

        Updates UFS weather model hash to hash from 2024-06-24 which has orion
        porting updates + a few namelist updates.

    commit 2bd106a013805ba4e16dbdc456d6731f8f36ec85
    Author: David Huber <[email protected]>
    Date:   Wed Jul 3 11:32:40 2024 -0400

        Hotfix for undefined CLUSTERS (#2748)

        Defines `CLUSTERS` as an empty string for all hosts except Gaea and uses
        the native `dict` `get` method to prevent grabbing an unset entry.

    commit 7dc6651a3b92194d963675bdc0a9ec3c28499abf
    Author: GwenChen-NOAA <[email protected]>
    Date:   Wed Jul 3 09:56:08 2024 -0400

        Update gempak job to run one fcst hour per task (#2671)

        This PR updates gempak jobs (gfs, gdas, and goes) from processing all
        forecast hours at once to one forecast hour at a time. This will reduce
        the job runtime to less than 5 min, so restart capability is not needed.

        Resolves #1250
        Ref #2666 #2667
        ---------

        Co-authored-by: Walter.Kolczynski <[email protected]>

    commit 8215ae654202186a4f753c3abe937b7b9b91a9c7
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 2 16:22:11 2024 -0400

        Hotfix for clusters from #2701 (#2747)

        Fixes an issue created from #2701 that added `CLUSTERS` to the
        `gaea.yaml`.

    commit 11943e36ba12b3df49c51942da780698fab02d38
    Author: DavidBurrows-NCO <[email protected]>
    Date:   Tue Jul 2 12:58:10 2024 -0400

        Fix xml file setup and complete C48 ATM and S2SW runs for CI on Gaea (#2701)

        This PR sets up the ability on Gaea for auto generation of a clean xml
        file, i.e., an xml file that does not need any alterations before
        running rocoto.
        Refs #2572
        Refs #2664

    commit de8706702ead0630beb54d868f83aa2cb23f8f79
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Mon Jul 1 09:29:14 2024 -0400

        Update for JCB policies and stage DA job files with Jinja2-templates (#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](https://github.com/NOAA-EMC/wxflow/pull/30) is a
        companion to this PR.

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: Dan Holdaway <[email protected]>

    commit c49e4eee1a2ca818b3ecdcb9ea41c3f3e91d585b
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jun 28 14:56:19 2024 -0400

        Revert PR 2681 (#2739)

        This PR:
        - reverts #2681 in part
        - keeps some changes for `RUN`.
        - is a hotfix
        - should be merged ASAP after consensus w/ @guillaumevernieres
        @CatherineThomas-NOAA @WalterKolczynski-NOAA

    commit 9476c1237af4adbc95f90bd1bdd34b6b99f2f8a3
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed Jun 26 15:46:08 2024 -0400

        updated Finalize in Jenkinsfile and added try block around scm checkout (#2692)

        We are updating the Jenkins Pipeline with a try block around checkout to
        capture errors for the user.
        Also cleaned up Finalize and added section to clean out workspace on
        success.

    commit 968568f682bac7564095440bdb7813abefd76821
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 26 13:27:19 2024 -0400

        Activate snow DA test on WCOSS (#2720)

        Activate the snow DA test on WCOSS.

    commit 7706760bb8adbdf78cb640b02739023c886e7699
    Author: Rahul Mahajan <[email protected]>
    Date:   Wed Jun 26 10:02:22 2024 -0400

        Cleanup of stale RUNDIRS from an experiment (#2719)

        This PR:
        - removes stale temporary scratch run directories from `$DATAROOT/`
        every 3 days.
        - should help to scrub failed attempts.
        - removes an unused variable `RUNDIR` defined in `config.base`

    commit 8962991691b5f0857b813bddfd28aa1034d4bd2b
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 26 09:43:48 2024 -0400

        Update logic for MOM6 number of layers/exception values (#2681)

        Updates the logic to be by run instead of for DO_JEDIOCNVAR to determine
        how many layers and sets the exception value for MOM6 to be 1e-34 for
        all scenarios. Note, we will no longer have zeros in the ocean grib
        output and the DA will also run without issues.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2615

    commit 12431f76bdce807067929415007592cffc8a2457
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 26 07:42:35 2024 -0600

        Update wave jobs to use COMIN/COMOUT (#2643)

        NCO has requested that each COM variable specify whether it is an input
        or an output.
        This completes that process for the global-workflow wave
        model and products tasks.
        Refs #2451

    commit b902c0bac126c323a07186ad8881384b032b6fda
    Author: David Huber <[email protected]>
    Date:   Tue Jun 25 07:48:46 2024 -0400

        Assign machine- and RUN-specific resources (#2672)

        Redefine resource variables based explicitly on RUN or CDUMP

        Additionally, machine-specific resources are moved out of
        config.resources and placed in respective config.resources.{machine}
        files.

        Resolves #177 #2672

    commit 5edbd123e2878a07f5cce8e3c7ea6147f286633a
    Merge: 09333c01d 4e1b937b6
    Author: Janet Derrico <[email protected]>
    Date:   Mon Jun 24 12:44:05 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 4e1b937b67ed220120e81925c4507f03b9b8965f
    Author: David Huber <[email protected]>
    Date:   Mon Jun 24 10:50:52 2024 -0400

        Add minimum software requirements (#2712)

        Adds a table to HPC documentation stating the minimum support versions

    commit f43a86276aaef91efa28faadc71a3cf50e749efe
    Author: David Huber <[email protected]>
    Date:   Fri Jun 21 13:44:29 2024 -0400

        Fix and simplify online archiving and reenable METplus jobs (#2687)

        This fixes the online archiving portion of the `*arch` and `*earc00`
        jobs, a prerequisite for running METplus.  This also reenables
        METplus by default.

        The approach previously taken created `FileHandler` dictionaries at
        varying levels within the resulting yaml, which was not properly parsed
        by `exglobal_archive.py`. This approach creates a single `FileHandler`
        dictionary and is much less complicated overall.

        Resolves #2673 #2647

    commit 8993b42cb91144c0ab0501dc7841ea8d675c4701
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 19 21:51:22 2024 -0400

        Eliminate post groups (#2667)

        Eliminates the post groups used for upp and products jobs so that each
        task only processes one forecast hour. This is more efficient and
        greatly simplifies downstream dependencies that depend on a specific
        forecast hour.

        Resolves #2666
        Refs #2642

    commit 0b810c888239853fedd0e4584fe62536c6aaacdf
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 20:32:48 2024 -0600

        Removes misleading "No such file or directory" syntax errors from output files (#2688)

        This PR addresses issue #1252. The following is accomplished:

        - Prior to removing files, the existence of a file is checked prior to
        attempting to remove; this is performed as noted
        [here](https://github.com/NOAA-EMC/global-workflow/issues/1252#issue-1538627369);
        this PR only addresses the the `chgrp` issue.

        Refs #1252

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit 3270ac3bf00c3ebc8166c70d84647ec44431fbae
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 12:17:59 2024 -0600

        Hotfix for bug in template names. (#2697)

        This PR is a hotfix for an incorrectly named (e.g., non-existent) `COM/`
        template.
        Resolves #2696
        Refs #2451

    commit 35d4d99eaac669721add9ddcc793153e5ab3b30a
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 08:06:53 2024 -0600

        Update archive job to use COMIN/COMOUT (#2668)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        archive task.

        Refs #2451
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 47b3a581c8257fa24411fb400df8bb0e1e04972a
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Mon Jun 17 22:55:38 2024 -0400

        Turn on high-frequency output in extended test (#2679)

        Turns on high-frequency (hourly) output in the extended products test to
        exercise that aspect of the code. This test only runs on WCOSS.

        Also adds the hooks to optionally turn on the metplus jobs, but that is
        deferred as they are not currently working correctly.

    commit 38f2df9fb0c074b1f80d3c637080be79be693161
    Author: David Huber <[email protected]>
    Date:   Mon Jun 17 17:12:55 2024 +0000

        Optimize wavepostpnt (#2657)

        Optimize the gfswavepostpnt, gfswavepostbndpntbll, and gfswavepostbndpnt jobs

        This is done by
        1) reducing the number of calls to `sed`, `awk`, `grep`, and `cat` by
        - performing operations on all files at once instead of looping over
        each file
            - removing piped `cat` calls (e.g. `cat <file> | sed 'something'`)
            - combining `sed` and `grep` calls when possible
            - adding logic to `awk` calls instead of handling that logic in bash
        2) minimizing as much as possible the amount of data on disk that has to
        be read in (e.g. limiting sed to read only the line numbers it needs)
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5af325a6a4e0a14d180514a418603ca79fada487
    Author: Dan Holdaway <[email protected]>
    Date:   Fri Jun 14 18:05:23 2024 -0400

        Update GDASapp hash to move JCB into GDASapp (#2665)

        This PR moves JCB into GDASapp. The PR
        also bumps up the hash of GDASapp to what is in `feature/move_jcb`,
        which at time of writing is develop plus the absorption of JCB into
        GDASapp.
        Note that I also took the changes from
        https://github.com/NOAA-EMC/global-workflow/pull/2641 to follow the
        testing @RussTreadon-NOAA has done.

    commit 6c93b4554e235fcb4d0004e99a4c4498d55d461b
    Author: Yaping Wang <[email protected]>
    Date:   Fri Jun 14 10:18:17 2024 -0500

        Add observation preparation job for aerosols DA to workflow (#2624)

        Add a prepaeroobs job to prepare aerosol obs files for DA.

        This job does quality control of the VIIRS aerosol raw observations and
        convert them to ioda format.

        Resolves #2623
        ---------

        Co-authored-by: ypwang19 <[email protected]>
        Co-authored-by: TerrenceMcGuinness-NOAA <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 5a5fc2be7555f094a0f90fd3a3df22d071ccdfd4
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jun 14 11:04:41 2024 -0400

        Remove ocean daily files (#2689)

        This PR removes the ocn_daily files that are produced by the ocean
        component. These files can be recreated by averaging data that exists in
        the 6 hour aveaged files if needed.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2675
        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2659 (by
        removing them and making this obsolete)

    commit 603a4a8052a5c43ce5986f028c3fcfd5fd248ad4
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 12:22:03 2024 -0400

        Update Jenkinsfile

        needed a comma

    commit dc21eac6c3941d7f30803891d91d82f4cc1f8183
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 11:41:14 2024 -0400

        Add Hercules-EMC to the Jenkins configurable parameter list (#2685)

        This quick-fix PR is to update the Jenkins Pipeline's configurable
        parameter list to include the **Hercules-EMC** node.
        This allows Jenkins users to restart Jobs in the controller when no
        updates have been made.

    commit ebacebfbe458634b8c80af6a735d6b6d01e4e406
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Thu Jun 13 11:20:24 2024 -0400

        Update gdas.cd and gsi_utils hashes (#2641)

        This PR updates the `sorc/gdas.cd` and `sorc/gsi_utils` hashes. The
        updated hashes bring in bug fixes, new UFS DA functionality, and a Gaea
        build for gsi_utils.

        Resolves #2640

    commit 34155fb4767769600a1ff95f0a65e37081addc2a
    Author: Neil Barton <[email protected]>
    Date:   Thu Jun 13 11:18:22 2024 -0400

        Add ability to use GEFS replay ICs (#2559)

        The PR allows the use of ICs from PSL's replay analysis. These replay
        ICs will be used for GEFS reforecasting and SFS. Two main changes are
        associated with these updates: (1) replay ICs being valid at 3Z, and (2)
        the use of warm starts.

        Resolves #1838

        ---------

        Co-authored-by: Jessica Meixner <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6c19a0e3fc4400e1d39288be4ee4fc244b74f699
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 12 19:25:42 2024 -0600

        Replace `sleep` with `wait_for_file` (#2586)

        This PR addresses issue #2444. The following is accomplished:

        - All `sleep` statements are replaced with `wait_for_file` for the
        relevant scripts beneath `scripts` and `ush`;
        - Indentation and shell-norms are updated where applicable.

        Note: The WAFS scripts are not updated as per @aerorahul direction.

        Resolves #2444

        ---------

        Co-authored-by: henrywinterbottom-wxdev <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5b2a3d449a0835cec2663aabb06f1c47a3faf84e
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 12 13:31:55 2024 -0400

        Add COM template for JEDI obs (#2678)

        Adds a COM template to define a path to store obs processed for JEDI.
        This will allow UFSDA to stop writing to COM_OBS, which should be
        read-only as it belongs to obsproc in operations.

        No functional change yet.

    commit 2e6f1fcde9935619352b1b26cba42ec0f4d845ed
    Author: Guoqing Ge <[email protected]>
    Date:   Wed Jun 12 09:06:23 2024 -0600

        Link both global-nest fix files and non-nest ones at the same time (#2632)

        This PR enables linking both global-nest fix files and non-nest ones at
        the same time and users can run both nesting and non-nesting experiments
        at the same time without worries about what fix files to be linked.

        Resolves #2631

    commit 61de004d4f9e9edf8a31bb173f2719b46451a36a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 12 11:03:13 2024 -0400

        Update ufs-weather-model  (#2663)

        Updates ufs-weather-model, this updates RDHPCS to the newer spack-stack
        allowing some temporary fixes to be reverted.
        * removes upp submodule
        * uses upp from the ufs-weather-model
        * restores the build and link that were hacked during the Hera Rocky 8
        transition to allow for UPP submodule
        * Removes forecast directories in clean-up

        Resolves #2617
        Resolves #2437

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 15eaf35fb13f361be400be38a5f7ca7b5461ab1d
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Wed Jun 12 01:15:37 2024 -0400

        Add ability to process ocean/ice products specific to GEFS (#2561)

        This PR begins to add the capability to produce GEFSv13 ocean and ice
        products in the global-workflow according to stakeholder requirements.
        The following features are added.

        - An oceanice prod yaml file has been added to address the ocean and ice
        products specific to GEFSv13.
        - The rocoto dependencies and config.base for GEFS have also been
        modified to allow for 24-hour averaged ocean and ice output.
        - Various scripts have been modified to allow for ocean and ice output
        frequencies of 24 hours.
        - `FHOUT_OCNICE` has been split into two variables called `FHOUT_OCN`
        and `FHOUT_ICE`. The same has been done for `FHOUT_OCNICE_GFS`.

        Refs #1878

    commit 6691e7489650e0b738c176fbd096109288dc09b6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 11 21:15:07 2024 -0600

        Update cleanup job to use COMIN/COMOUT (#2649)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        clean-up task.

        Refs #2451

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 23a8d8835dd4c5d69ca20f5ff23705f30f17b4b0
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Jun 11 16:17:25 2024 -0400

        Add overwrite to creat experiment in BASH CI (#2676)

        This is a quick hotfix to the CI BASH driver script adding `--overwrite`
        to create experiment script to avoid errors from restarting an
        experiment.

    commit e7909af8d9e1f34140388a3f8556d8e582c58fe5
    Author: emilyhcliu <[email protected]>
    Date:   Mon Jun 10 15:11:27 2024 -0400

        Add handling to select CRTM cloud optical table based on cloud scheme and update calcanal_gfs.py  (#2645)

        This PR proposes updates for the following two scripts:

        1. In **scripts/exglobal_atmos_analysis.sh** --- Add handling to select
        CRTM cloud optical table based on cloud microphysical scheme indicated
        by `imp_physics'
        The default scheme in the GFS forecast model is Thompson scheme
        (imp_physics = 8).

        2. In **/ush/calcanl_gfs.py** --- Increase the MPI number declared in
        the script due to increased variables to interplate increments and
        calculate analysis in the netcdf_io routines in GSI-utils.
        Here is the related [PR #46 for
        GSI-utils](https://github.com/NOAA-EMC/GSI-utils/pull/46).

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9caa51de8fb7be07d2e61775da01937d576964f6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Thu Jun 6 22:15:23 2024 -0600

        Update RDHPCS Hera resource for `eupd` task (#2636)

        As per @wx20jjung, the resource for the `eupd` task have been updated
        for RDHPCS Hera to account for memory issues for C384 `gdaseupd` job
        fails.

        Resolves #2454

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit acf3aaa2b1d3e3024b0b5d2fe23eee8c317a980b
    Author: DavidNew-NOAA <[email protected]>
    Date:   Thu Jun 6 11:49:03 2024 -0400

        Parameterize some things in config.atmanl and config.atmensanl (#2661)

        This PR adds some parameters in config.atmanl and config.atmensanl that
        can be altered with the defaults.yaml. The motivation is to make these
        files match those in the GDASApp JJOB tests (example:
        https://github.com/NOAA-EMC/GDASApp/blob/develop/test/atm/global-workflow/config.atmanl),
        so we can just use the Global Workflow config.atmanl and
        config.atmensanl in the tests rather than custom ones in GDASApp that
        have to be separately updated every time the ones in the Global Workflow
        are updated.

    commit 54ea0b73a07921be5fbb07fe41e976888bd3e549
    Author: Guillaume Vernieres <[email protected]>
    Date:   Thu Jun 6 01:36:02 2024 -0400

        Add links to the ocean insitu obs processing tools (#2644)

        Add links to the marine bufr to ioda converters for the marine insitu
        observations.

        - fixes https://github.com/NOAA-EMC/GDASApp/issues/1106
        - waiting for https://github.com/NOAA-EMC/GDASApp/pull/1135

    commit 205d0c2b13e2d7755cec75bf8c978ab20d453862
    Author: David Huber <[email protected]>
    Date:   Wed Jun 5 17:31:30 2024 +0000

        Update S4 point of contact in docs (#2660)

        Update the point of contact for global workflow issues on S4.

    commit aa23ccf1d0d229f9ff1398d84af1fa7ee5bed262
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed Jun 5 12:50:14 2024 -0400

        Enable wcoss2 ufsda build and module load (#2620)

        This PR enables ufsda (`sorc/gdas.cd`) to be built and run on WCOSS2.

        Resolves #2602
        Resolves #2579

    commit 67b833e0c7bc390865d453588b4609a1a7ede981
    Author: Jessica Meixner <[email protected]>
    Date:   Tue Jun 4 13:33:43 2024 -0400

        Update ufs-weather-model  (#2646)

        Updates UFS model to the commit https://github.com/ufs-community/ufs-weather-model/commit/5bec704243286421fc613838fc67a2129e96acd6
        This should resolve the issue and allow C768 runs on Hera and allow for CICE
        to run on WCOSS2 (due to library updates to allow linking).

        From what I can tell, all updates needed were done by
        @HenryWinterbottom-NOAA which were updates for CICE

        Fixes #2490

    commit c44d0ac86cfdf78eb87492431bf6d825e8bae637
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue Jun 4 10:29:49 2024 -0400

        Update wmo parm files to fix WMO header (#2652)

        This PR updates wmo parm files to switch WMO header of precipitation
        type products (CRAIN, CFRZR, CICEP, and CSNOW) from time averaged to
        instantaneous.

        Resolves #2566

    commit 237d6dd213e8b1455d2f45dc5978fb2d3de93e60
    Author: Cory Martin <[email protected]>
    Date:   Tue Jun 4 13:55:33 2024 +0000

        Add IAU to snow DA (and its test) (#2610)

        This PR enables IAU for the snow DA which is necessary for GFSv17.

        A snow analysis is created for the center of the window regardless, and
        an additional at the beginning of the window is added if IAU is on. The
        former is needed for UPP and the latter, to initialize the model.

        The increment is valid throughout the window for 3DVar, so the same
        increment is added to both forecasts.

        Additionally, the input file that goes into global_cycle has been
        updated to be the output of the JEDI snow analysis instead of the
        forecast (@jiaruidong2017 I recall discussing this, can you confirm this
        is right or am I mistaken)

        This PR also makes the CI test for snow DA (and aerosol DA) include IAU
        rather than without IAU,.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit c92bf415060750127c9c05a62a1d2851c489551a
    Author: David Huber <[email protected]>
    Date:   Sat Jun 1 05:11:07 2024 +0000

        Archiving cleanup (#2621)

        1) Adds a lot of comments to the jinja templates for archiving
        2) Rearranges the gdas and enkf templates to a more logical order
        3) Fixes a couple of bugs in the enkf archiving of increments and
        analyses
        4) Disables archiving for the half cycle
        5) Removes the `FITSARC` key from `config.base` and `arcdir.yaml.j2`,
        instead relying on `DO_FIT2OBS`
        6) Updates wxflow to add the option to not allow undefined variables
        when parsing jinja templates and invokes this feature when running
        archives

        Resolves #2612

    commit 12aa1e9cd2d159e2b303d2b33d6c79c365688eec
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri May 31 04:57:08 2024 -0400

        Switch to Rocky 9 built external packages on Hercules (#2608)

        The workflow was updated to use modules built on Rocky 9, but the
        external packages (like prepobs) were still pointing to the versions
        built on CentOS (Orion). This transitions to packages built on Rocky 9.

        Updating of the tracker package has been deferred until later. As such,
        the tracker jobs have been disabled by returning immediately if they are
        on Hercules. Since these jobs are small, resource-wise, it should not
        meaningfully impact turnover time.

    commit 4422550c01c9214a2b3b8890bdcc898123ee216a
    Author: Guoqing Ge <[email protected]>
    Date:   Thu May 30 08:05:23 2024 -0600

        Add the capability to use slurm reservation nodes (#2627)

        Add the capability to use slurm reservation nodes
        Add "ACCOUNT_SERVICE" for jobs to run in PARTITION_SERVICE

        Resolves #2626

    commit a54153fd9d26126206bc07a1da4e80f50c0c5910
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 29 23:24:07 2024 -0400

        Update forecast job to use COMIN/COMOUT (#2622)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the forecast job.

        Refs #2451

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit d69a8af95d492982b918670322ed5c41ab074335
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 21:29:03 2024 -0400

        Update to add 1-deg global wave grid (#2619)

        This PR adds options to use a global 1 deg grid, intended for testing
        with the SFS application.

        Requires new fix file changes NOAA-EMC/global-workflow#2618

    commit 0b4670ecf83b99b72835c8380573b2bca7cf5324
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 17:17:21 2024 -0400

        Add C384mx025_3DVarAOWCDA yamls (#2625)

        Adds the C384mx025_3DVarAOWCDA yaml files for one experiment into a new GFSv17 folder.

    commit 2e885d05c64b947f00a3cf055a1277fbfac195c9
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 29 13:00:51 2024 -0400

        Script to keep Jenkins Agent persistent from cron (#2634)

        This "persistent" Java Agent launch script can be ran from a cron job:

        - Uses Jenkins Remote API to check the status of the Node connection
        using curl for a given machine.
        - If it is not connected a new agent is launched for that node.

        Resolves #2633

    commit bb58e064d8e82ce51802bd6064cfa84cae2cc4d5
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue May 28 17:17:11 2024 -0400

        Change GRIB2 parameter names and vertical levels for ocean/ice post (#2611)

        Based on users' feedback, this PR do the following:
        1. Change GRIB2 parameter names DLWRF -> NLWRF and DSWRF -> NSWRF
        2. Change the vertical level of ocean 3D variables (WTMP, SALIN, UOGRD,
          and VOGRD) from "%g m below water surface" to "%g m below sea level"
        3. Round up depth numbers to integer (e.g. 4481.0625 -> 4481 m)

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit e53c5e8e0abbc0edf95970a71df0e6e8a2be9f31
    Author: DavidNew-NOAA <[email protected]>
    Date:   Tue May 28 17:16:23 2024 -0400

        Add atmensanlfv3inc job (#2592)

        This PR creates the atmensanlfv3inc job, the ensemble version of
        atmanlfv3inc, created in GW PR #2420. Its GDASApp companion PR is
        #[1104](https://github.com/NOAA-EMC/GDASApp/pull/1104), and its JCB-GDAS
        companion PR is #[3](https://github.com/NOAA-EMC/jcb-gdas/pull/3).

    commit 50c2b8951b29a3c883a778becbf8582f9519eb48
    Author: Anil Kumar <[email protected]>
    Date:   Tue May 28 13:23:53 2024 -0400

        Global-workflow (AR) Generic updates for Gaea C5 (#2515)

        - Port global-workflow’s build and run capability to Gaea-C5
        - Building global-workflow on Gaea-C5
        - Setting up experiments with global-workflow on Gaea-C5

        ---------

        Co-authored-by: AnilKumar-NOAA <[email protected]>
        Co-authored-by: DavidBurrows-NCO <[email protected]>

    commit b6ca771a0c584cbfcbbf9be739765d5f3815df97
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 24 10:52:45 2024 -0400

        Update STMP and PTMP settings in host file for Orion and Hercules  (#2614)

        - Updating STMP and PTMP settings in host file for Orion and Hercules
        because they are cross mounted.
        - Also took the opportunity to finally update **SLURM_ACCOUNT** to
        **HPC_ACCOUT** in CI over rides.
        - Added a refactor of the `rocotostat.py` tool that is more pythonic and
        as a execute retry feature because the `rocotostat` utility on Orion has
        been failing sometimes.

    commit 7d2c539f45194cd4e5b21bfd4b83a9480189cd0f
    Author: Guillaume Vernieres <[email protected]>
    Date:   Tue May 21 23:50:50 2024 -0400

        Sea-ice analysis insertion (#2584)

        Allows cycling and restarting CICE with the sea-ice analysis if the
        marine DA is switched on.

        Resolves #2568
        Resolves NOAA-EMC/GDASApp#1103

    commit 5369a1ff3a3969149fcf32810fad0e50216752b7
    Author: David Huber <[email protected]>
    Date:   Tue May 21 22:12:29 2024 +0000

        Refactored archiving (#2491)

        This provides a new pygfs task, archive.py, that provides all of the
        tools necessary to archive data to the local (`ARCDIR`) and backup
        (`ATARDIR`) archive directories. YAML-Jinja2 templates are provided to
        define the file to be archived or tarred to replace the
        `hpssarch_gen.sh`, `exglobal_earc`, and `exglobal_archive.sh` scripts
        and make it easier to add new data and explicitly handle optional and
        required files.

        For `ATARDIR` archiving, a master jinja template is provided for each
        `RUN` (i.e. master_gdas.yaml.j2, master_gfs.yaml.j2,
        master_enkf.yaml.j2). The master_enkf.yaml.j2 template is used for both
        `enkfgdas` and `enkfgfs` `RUN`s. These templates then include the
        appropriate `RUN`-specific jinja templates (e.g. gdas.yaml.j2) based on
        experiment, cycle, and coupled parameters. Each of these templates
        corresponds to a single tarball to populate and are tabbed 4 spaces so
        they are defined within the master `datasets` dictionary.

        Future developers should not have to make modifications to archive.py
        unless archiving is being enabled for a new `RUN` (e.g. `gefs`) and then
        only a single `elif` needs to be added to the configure method to
        specify the master `ATARDIR` template to archive (e.g.
        `master_gefs.yaml.j2`). If a new component is coming online that needs
        to be archived to `ATARDIR` (e.g. SNOW), then create a new template for
        each `RUN` that it needs to be archived for (e.g. `gdassnow.yaml.j2`)
        and reference the template in the appropriate master templates, e.g.

        `master_gdas.yaml:`
        ```jinja
        {% if DO_SNOW %}
        {% include "gdassnow.yaml.j2" %}
        {% endif %}
        ```

        A few other issues were addressed along the way:
        1. Aerosols have been reenabled. Aerosol forecasts should only be
        performed during gdas cycles, but analyses can be performed for both gfs
        and gdas cycles. This was accomplished by setting separate
        `AERO_<job>_CDUMP` variables to parse on for both `ANL` and `FCST` jobs.
        2. Fixed the name of the `cice6_rst_ok` variable in `forecast_det.sh`.
        This prevented restarts from being used for cice-enable experiments.
        This feature was not tested.
        3. Create a temporary fix for the `wgrib` utility. For spack-stack
        1.6.0, the `grib-util` module file does not declare `WGRIB`. An issue is
        open (https://github.com/JCSDA/spack-stack/issues/1097) to fix this in
        existing installations. Once complete, this temporary fix should be
        removed.
        4. The number of `earc` jobs has been reduced for lower resolution
        experiments. Both C48 and C96 experiments will now only have two earc
        jobs (one for the non-member files to archive and another for the member
        files). C192 will have up to 3 earc jobs (one non-member, one for
        members 1-40 and another for members 41-80, if needed).

        Resolves #2345
        Resolves #2318

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9aad86f27d37d19165b9a0b64cf70c7a4dd6362c
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 17 12:57:59 2024 -0400

         Add remove RUNDIRS step in CI before creating experements (#2607)

        As had been done in Bash CI we need to remove the RUNDIR in Jenkins
        before a creating an experiment in the event that case had beem
        previously ran.

    commit 09333c01dbafddb2d2fe7e181b479af3cc6d3621
    Merge: f7e9f4489 bb930050b
    Author: Janet Derrico <[email protected]>
    Date:   Thu May 16 14:33:19 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit bb930050b3cd51d28ecba6b231c8675f6d11856c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu May 16 12:28:30 2024 -0400

        Adds jjob and other necessities for marine LETKF task (#2564)

        Adds jjob, rocoto script, config file, and other necessities for new
        marine LETKF task.

        Partially addresses NOAA-EMC/GDASApp#1091

    commit 2c50fbde4d6cc3e53c55dca56925353a02fd1730
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 12:12:06 2024 -0400

        Updating CI Machine configs with redundant PTMP (#2605)

        Quick fix adding PTMP as STMP in Machine configs for CI for completeness

    commit ef340ff33a6f89adf70838206ba3fd56a953fa7a
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 11:37:30 2024 -0400

        Fix race condition in CI between Orion and Hercules (#2604)

        Hotfix to solve race conditions in the CI system due to cross-mounted
        file systems between Orion and Hercules

    commit e8b17e27f719df280170dc3f5bd9f19917cefaf2
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 17:16:30 2024 -0400

        Remove existing EXPDIRs and COMROTs when CI is re-run (#2601)

        Quick hotfix for having default for re-runing jobs to start clean with
        new EXPDIRs and COMROTs

    commit b5d113efb1970ede5cd1d3d4dff8d96320519c41
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 16:52:49 2024 -0400

        Moving logic for skipping hosts in pr cases (#2573)

        This PR removes the logic of skipping hosts for pr cases from
        `create_experiment.py` and moves it to a test in the cron bash driver
        using a `parse_yaml.py` python tool.

        The Jenkins pipeline was not effected as it uses the
        `get_host_case_list.py` utility to form the cases on a per host bases.

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 3cd0c68c0de9900bc7b73e1ed7621573dff5e916
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed May 15 13:13:30 2024 -0400

        Update gsi_utils.fd hash (#2598)

        This PR updates the `gsi_utils.fd` hash to bring in updates which add
        safeguards to
        -
        `src/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90`
        - `src/EnKF/gfs/src/recentersigp.fd/recentersigp.f90`

        The safeguards are described in GSI-utils PR
        [#41](https://github.com/NOAA-EMC/GSI-utils/pull/41) and the associated
        issue.

        Resolves #2597

    commit d5366c66bd67f89d118b18956fe230207cbf0aea
    Author: Kate Friedman <[email protected]>
    Date:   Wed May 15 13:12:56 2024 -0400

        Update CICE and MOM6 fix versions (#2600)

        This PR updates the CICE (`cice_ver`) and MOM6 (`mom6_ver`) fix versions
        to the newer `20240416` timestamps, which includes updates and fixes to
        the `100` (1-deg) resolution files.

        Resolves #2480
        Resolves #2483
        Resolves #2595

    commit 6ca106e6c0466d7165fc37b147e0e2735a1d6a0b
    Author: David Huber <[email protected]>
    Date:   Mon May 13 22:57:38 2024 +0000

        Limit gfswavepostpnt to 40 PEs/node (#2588)

        This fixes the slow runtime of the gfswavepostpnt job on Hercules. The
        job is very I/O intensive and does not scale well to large nodes, so
        limit the number of jobs/node to 40.

        Resolves #2587

    commit 4fb7c12c325702a47f27c802a5067efd33d0327c
    Author: Fanglin Yang <[email protected]>
    Date:   Mon May 13 16:37:51 2024 -0400

        Update damping and time-step (#2575)

        Updates the model to use explicit Rayleigh damping for u/v and implicit
        damping to w. This improves model stability and allows for longer
        timesteps. Also unifies the GDAS and GFS to use the same damping.

        Results from a test at the C1152 resolution (coupled model) can be found
        at https://www.emc.ncep.noaa.gov/gmb/wx24fy/C1152/newdamp/

        Resolves #2574

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Lisa Bengtsson <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6a9c1372ecce9e50e4f6e10e56f6e504cde1afe6
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 10 14:17:13 2024 -0400

        Do not use BUILT_semphore to force rebuilds when re-run (#2593)

        Remove the placement of the `BUILT_semaphore` file after the build in
        the Jenkins Pipeline and force it to rebuild any changes after a PR is
        re-ran.

    commit 2346c6161f75ae02369cbf30f30c6150d3e12b66
    Author: Innocent Souopgui <[email protected]>
    Date:   Thu May 9 21:17:06 2024 -0500

        Migration to Rocky8 spack-stack installations on Jet (#2458)

        # Description
        Migrates Global Workflow to Rocky8 spack-stack installations on Jet.
        Jet has moved from CentOS7 to Rocky8.

        Resolves #2377
        Refs NOAA-EMC/UPP#919
        Refs NOAA-EMC/gfs-utils#60
        Refs NOAA-EMC/GSI#732
        Refs NOAA-EMC/GSI-Monitor#130
        Refs NOAA-EMC/GSI-utils#33

    commit c7b3973014480a20dd8e24edaeb83a9e9e68159f
    Author: Jessica Meixner <[email protected]>
    Date:   Thu May 9 11:36:58 2024 -0400

        Updates for cold start half cycle, then continuing with IAU for WCDA (#2560)

        This PR allows us to run C384 S2S with IAU, but starting with the first
        half-cycle as a cold-start. This will be necessary for cycled testing as
        we build towards the full system for GFSv17. This updates the copying of
        the restarts for RUN=gdas for both ocean and ice copying what the atm
        model is doing. It also reduced the amount of restart files from 4 to 3.

        Other updates:
        * Add DOJEDI ocean triggers for archiving certain files update from:
        @CatherineThomas-NOAA
        * Adds COPY_FINAL_RESTARTS option to turn on/off copying the last
        restart file to COM. Defaults to off...
        * Defines model_start_date_current_cycle & model_start_date_next_cycle
        to help with knowing which IC to grab.

        Refs #2546

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit b405b7d3d11d384ce9fe3b9cd2180f315f7b38f2
    Author: Dan Holdaway <[email protected]>
    Date:   Wed May 8 20:52:48 2024 -0400

        Use JCB for assembling JEDI YAML files for atmospheric GDAS (#2477)

        Change the JEDI YAML assembly for the atmospheric GDAS to use the JEDI
        Configuration Builder (JCB) tool so that YAMLs can be made more portable
        and invoke the observation chronicle mechanism.

        Resolves #2476

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 0cf0349c1f88048806e68ab58e93a3261b7a0e95
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 8 02:04:16 2024 -0400

        Add CI test for products (#2567)

        Adds a new version of the atm3DVar test that runs the full forecast
        length and produces most of the secondary products. For now, this test
        will only run on WCOSS due to gempak failures on other machines as well
        as computational needs. On other machines, the original version will run
        (the original version will not run on WCOSS). AWIPS remains off for now
        in this extended test due to a bug involving tocgrib2 and the convective
        precip fields (see #2566).

        The new test runs for 4½ cycles and the full 384-hr forecast length to
        ensure all gempak scripts are exercised. Since the cycle throttle is 3
        and the bulk of the time is in the free forecast, the cycles run mostly
        concurrently so it doesn't extend the t…
jderrico-noaa pushed a commit to NOAA-GSL/global-workflow that referenced this issue Sep 27, 2024
* Update realtime branch, gsl_ufs_rtdev1.

Squashed commit of the following:

commit 4e0a81f7acf5ccba5de8d3bdf7ab19cae80812cb
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 18:37:50 2024 +0000

    Fix typos/links/dependancy.

commit d5fdcbf8d6e987dbdfcd6b4da34d0934c8d82c3b
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 07:37:52 2024 +0000

    Fixed missing config.base files.

commit c6239f925369b20fd8488e8537969e2f4f9e7725
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:53:47 2024 +0000

    Update submodule hashs.

commit 32bf790f67b818ff50a7f6b74388fb81ed175b3a
Author: kayee.wong <[email protected]>
Date:   Wed Sep 18 06:09:41 2024 +0000

    Update develop branch, gsl_ufs_dev
     - based on gsl_ufs_dev from KaYee's fork
       global-workflow: 07Aug24,37c53ac [develop_07Aug2024_37c53ac]
       UFS: 19Jul24, c127601
       FV3: 19Jul24, 2527c11
       UPP: 23Apr24, be0410e
       CCPP-PHYSICS: 19Jul24, 46df080
       UFS_UTILS: 26Jun24, 3ef2e6b

    Squashed commit of the following:

    commit 70b557836379bb7e545fcc6642e28d66cfc17735
    Merge: 5edbd123e 37c53ac69
    Author: Janet Derrico <[email protected]>
    Date:   Wed Aug 7 11:02:24 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 37c53ac692274eb5e9f9a3220033406e8c4b4a04
    Author: Kate Friedman <[email protected]>
    Date:   Wed Aug 7 08:11:21 2024 -0400

        Revert MSU FIX_DIRs back to glopara (#2811)

    commit 876dfee26ad67e1f729bbf52b3167d48ea5a7517
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Aug 6 14:47:36 2024 -0400

        Bugfix for updating label states in Jenkins (#2808)

        Quick bug fix for updating state labels in CI during finalize.
        (did not reference GitHub CLI executable correctly in the pipeline
        script)

    commit 8fee36f0307b0c08080e3a8fa8fa6703e7da5fce
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Aug 6 11:02:45 2024 -0400

        Clean-up temporary rundirs - take 2. (#2753)

        This PR:
        - is a follow-up to a previous PR that aggressively pruned run
        directories.
        - removes run directories for the current cycle in the clean-up if the
        cycle is successful. If the cycle is not successful, cleanup is not
        called and all run directories for the cycle are safe from being purged.
        - also updates the PR template to list/query for any updates to
        submodules.

        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit d599fff4aedd41ae587dbe02226acb12ff48efc1
    Author: HelinWei-NOAA <[email protected]>
    Date:   Mon Aug 5 05:31:31 2024 -0400

        Change land surface for HR4 (#2787)

        Resets the default value of opt_diag to 2 corresponding to the land
        surface upgrades in ufs-weather-model for HR4.

        Resolves #2786

    commit 6d7f7e860a0c7062f90bf09fdf9a5d19dc77cfdb
    Author: David Huber <[email protected]>
    Date:   Fri Aug 2 15:41:29 2024 -0400

        Run METplus serially and correct the name of prod tasks (#2804)

        Adds 2 hot fixes:

        - METplus v9.1.3 has a bug in it that sometimes attempts to create
        multiple copies of the same directory when running in parallel, causing
        a Python error and downstream problems. This PR makes METplus run in
        serial mode, preventing such issues.
        - Corrects the name of the atmos_prod, ocean_prod, and ice_prod tasks in
        workflow/rocoto/tasks.py (was accidentally changed to e.g. atmosprod)

    commit 0706c59ac53cc3bbfbaa56cbd7fa75ab51117830
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri Aug 2 15:03:45 2024 -0400

        Update Java Agent launching script for Jenkins connections (#2762)

        Made updates to the Jenkins Launching Script for robustness and less
        ambiguous documentation:
        - Clearer distinction between required user token for the remote api and
        the systems token for launching
        - Added pre-checks: `gh` is authenticating, named compliant token and
        secret file exists
        - More robust Jason based parser of the remote api response for checking
        the state of the Node connection
        - For `cron` use a 5 minute pause and recheck was added before
        re-launching of the java agent
        - Added concise header documentation of requirements and purpose
        ---------

        Co-authored-by: David Huber <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit b73b1fd203496db97f8067652659573a632bcc67
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri Aug 2 07:59:06 2024 -0400

        Fix erroneous cdump addition (#2803)

    commit 49877046ac3306f6b78ca0ab5d5089ba1aa3e3e3
    Author: Rahul Mahajan <[email protected]>
    Date:   Thu Aug 1 20:26:13 2024 -0400

        Update ocean post-processing triggers (#2784)

        This PR:
        - replaces `check_netcdf.sh` checker for ocean post-processing with with
        ocean output at the next forecast hour or finishing of the forecast job
        for ocean prod
        - removes no longer needed `ush/check_netcdf.sh`

    commit aa2af1ca8d59424a60a1730722bf528775d9e606
    Author: GeorgeGayno-NOAA <[email protected]>
    Date:   Thu Aug 1 16:46:10 2024 -0400

        Update the gfs_utils repository hash (#2801)

        # Description
        Point to the latest hash of the gfs-utils repository, which contains the
        bug fix to gaussian_sfcanl.

        Resolves #2669.
        Refs: https://github.com/NOAA-EMC/gfs-utils/pull/73

    commit d3d85f0e0d573f16a71ca44778021dfc0ccf50c8
    Author: David Huber <[email protected]>
    Date:   Thu Aug 1 08:12:14 2024 -0400

        Add fixes for metplus jobs when gfs_cyc=2 or 4 (#2791)

        Changes how METplus jobs run so that they run on the last GFS cycle for
        a given `PDY`.

        This is a departure from operations where the METplus jobs run on the
        00Z cycle for the previous 3 cycles and 00Z (i.e. `${PDYm1}06` through
        `${PDY}00`). With this PR, for gfs_cyc=4, METplus jobs will run on
        `${PDY}18` for cycles 00-18. See
        https://github.com/NOAA-EMC/EMC_verif-global/pull/131 for more details.

    commit 1cf8b448af562dbb7af198399c78c585977e81da
    Author: David Huber <[email protected]>
    Date:   Tue Jul 30 10:38:49 2024 -0400

        Simplify resource-related variables, remove CDUMP where unneeded (#2727)

        This overhauls resource-related variables to use a common set of
        variables for each job. In the process, this also removed the use of
        CDUMP in most cases.

        Resolves #1299 #2693

    commit 61875f25c9e971f82ae499b5b612d7f095deebd4
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Mon Jul 29 14:40:03 2024 -0400

        Remove f000 from atmos rocoto tasks for replay cases (#2778)

        The main purpose of this PR is to remove the f000 from
        atmosphere-related rocoto tasks when `REPLAY_ICS` is set to `YES`. In
        cases where `REPLAY_ICS` is `YES` and `OFFSET_START_HOUR `is greater
        than `0`, it becomes necessary to have the first lead hour set to
        `OFFSET_START_HOUR ` for the atmosphere-related rocoto tasks. For
        example, when `OFFSET_START_HOUR ` is set to `3`, then the minimum lead
        time for the atmos_prod and atmos_ensstat rocoto tasks needs to be 3 and
        the minimum lead time for the ocean_prod rocoto task needs to be 6
        (assuming `FHOUT_OCN` is 6). This PR makes this rocoto workflow set up
        possible by removing 0 from fhrs for atmosphere-related tasks in
        `gefs_tasks.py` when replaying.

        This PR also moves where f000 is being removed for the ocean_prod and
        ice_prod tasks. The if-block that performs this f000 removal has been
        moved from `tasks.py` to `gefs_tasks.py` and `gfs_tasks.py`.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit f156a7894d639f177e3e2588f98eec1f6f59aa68
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jul 26 14:18:32 2024 -0500

        HR4 GWD update (#2732)

        This update is a combination of the gravity wave drag (GWD) versions
        from the NOAA/GSL and NOAA/PSL

    commit a7f6b32ed63efa0de21bfb0ce63364a5b22b9891
    Author: David Huber <[email protected]>
    Date:   Thu Jul 25 14:26:52 2024 -0400

        Temporarily disable METplus jobs (#2796)

    commit 848659691fdbf47e7ccdbbb2ebf22a6e470633a2
    Author: Guillaume Vernieres <[email protected]>
    Date:   Wed Jul 24 15:00:35 2024 -0400

        Refactoring of the marine B-matrix job (#2749)

        Refactor the functionality of B-matrix generation from the GDASApp

        Resolves #2743

    commit 65a7ab75dc0e4baba06a02e11ed0455787056a68
    Author: David Huber <[email protected]>
    Date:   Tue Jul 23 08:35:48 2024 -0400

        Replace Jinja namespaces with replace_tmpl filter and disable ACCOUNT_SERVICE option (#2775)

        Removes the namespace-based construction of EnKF member COM directories
        in the enkf archive template.

    commit c45b9611f3e701b819bd33dc5af29033f060bb91
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Tue Jul 23 00:33:16 2024 -0400

        Add task to process reforecast variables to save on WCOSS2 (#2680)

        # Description
        This PR adds an optional task to the global-workflow to process a subset
        of ocean, ice, wave and atmosphere products to be saved on WCOSS2 for
        the GEFSv13 reforecast. This task is designed to process GEFS variables
        so that specific reforecast product requirements are met. A new variable
        in `config.base` called `DO_EXTRACTVARS` enables this task, which is
        currently called `extractvars`. `DO_EXTRACTVARS` is set to `NO` by
        default and is specifically a task designed to be executed for the
        GEFSv13 reforecast.

        Refs #1878

        # Type of change
        - New feature (adds functionality)

        # Change characteristics
        - Is this a breaking change (a change in existing functionality)? NO
        - Does this change require a documentation update? NO

        # How has this been tested?
        This has been cloned and tested on WCOSS2. This will need to be tested
        on Hera and other platforms on which the reforecast may be running.

        # Checklist
        - [ ] 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
        - [ ] I have commented my code, particularly in hard-to-understand areas
        - [x] My changes generate no new warnings
        - [x] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 71dc33c6ca991c16ce743760d99feaaf60f2218a
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 14:51:53 2024 -0400

        Set METplus process count in config.metp; add verif-global support for Rocky 9 (#2774)

        Fix metp* resources and check that they completed properly; add support for Orion Rocky 9

    commit 56df67a90fe090c425199f1285e5aac722c398b1
    Author: David Huber <[email protected]>
    Date:   Mon Jul 22 09:28:18 2024 -0400

        Hotfix: Update jcb to avoid git-lfs files (#2782)

        Removes git-lfs files from the `GDASApp` `jcb` submodule, allowing it to
        be cloned on Hera.

        This hotfix points to a non-authoritative branch of the GDASApp
        (https://github.com/DavidHuber-NOAA/GDASApp/tree/hotfix/update_jcb) and
        should be updated ASAP back to the authoritative repository.

    commit fc668aa422ebbad76ceda1b3bbf8dc0ea432defd
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 16 09:44:00 2024 -0400

        Address issues in creating XML for GFS forecast-only with app S2SWA (#2757)

        This bugfix PR:
        - fixes an issue where a user is unable to generate the XML for a GFS
        forecast-only experiment with APP=S2SWA

        Specifically, the changes are related to defining `aero_fcst_cdumps`.
        Following `setup_expt.py`, the user will have to set
        `AERO_FCST_CDUMPS="gdas|gfs|both" depending on their use case in
        `config.base`.

    commit e0878dba0e53706a7f53429b61aee2936e2c21bf
    Author: Kate Friedman <[email protected]>
    Date:   Mon Jul 15 10:25:11 2024 -0400

        Updated prepobs and fit2obs versions for Orion Rocky9 (#2758)

        Update prepobs to v1.0.2 and fit2obs to v1.1.2

        These versions now support Orion Rocky9. Updates are included
        for new install locations on WCOSS2, Hera, Orion/Hercules, and Jet.

    commit 4968f3a8de9a5f90651cacd74e38f97bc80b7bbb
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jul 11 17:48:47 2024 +0000

        CI maintenance updates and adding CI Unit Tests (#2740)

        This PR has a few maintenance updates to the CI pipeline and adds a test
        directory with Unit Tests
        **Major Maintenance updates:**
        - Added try blocks with appropriate messaging to GitHub PR of failure
        for:
        - - **scm** checkout
        - - build fail (with error logs sent as gists)
        - - create experiment fails with `stderr` sent to GitHub PR messaging
        - Pre-stage FAILS from the above are now captured these fails allow
        FINALIZE to update the label to FAIL (i.e. no more "hanging" CI state
        labels in GitHub - see image below)
        **Minor Maintenance updates:**
        - Fix for STALLED cases reviled from PR 2700 (just needed a lambda
        specifier)
        - Fixed path to experiment directory in PR message (had dropped EXPDIR
        in path)
        - Needed `latin-1` decoder in reading log files for publishing
        **Added python Unit Tests for CI functionality:**
        - Installed **Rocoto** and **wxfow** in GitHub Runner for testing key CI
        utility codes
        - Cashed the install of Rocoto in the GitHub Runners to greatly reduce
        stetup time for running the unit tests
        - Unit Tests Python scripts added
        - `test_rocostat.py`: rocoto_statcount() rocoto_summary()
        rocoto_stalled()
          - `test_setup.py`: setup_expt() test_setup_xml()
          - `test_create_experment`: test_create_experiment()
          - - Runs all PR cases that do not have ICs in the GItHub Runner
        - Reporting mechanism in the Actions tab for Python Unit Testing results
        - Test case data for STALLED and RUNNING stored on S3 and pulled using
        wget during runtime of tests

    commit 5ef4db74649b8be03402c17aa29c024e71699a7b
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu Jul 11 08:59:24 2024 -0400

        Adds contents of constructor and initialize methods to marine LETKF class (#2635)

        Adds contents of constructor and initialize methods to marine LETKF class

        Partially addresses https://github.com/NOAA-EMC/GDASApp/issues/1091
        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>

    commit 8998ec7b74123e953b97a93fa14cc78d471a1aee
    Author: David Huber <[email protected]>
    Date:   Tue Jul 9 08:31:57 2024 -0400

        Fix GDAS group B restart archiving (#2735)

        Archives the GDAS restartb dataset at a 6-hour offset from restarta

        This allows cycled experiments to restart from the archives.
        The tabbing for the master archive templates was also added to
        improve readability.

        Resolves #2722

    commit 3ca74771255727033b9dc043c652ac585178629c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Tue Jul 9 08:28:54 2024 -0400

        Add fcst dependency to ocnanalprep (#2728)

        Add previous cycle's `fcst` as a dependency to `ocnanalprep`

        This ensures that the availability of restart files to the latter. This addresses a
        seldomly-encountered race condition where `ocnanalprep` fails due to the
        lack of the files.

    commit 58fca1668aecd6fb1afd12a441256ad35900e075
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jul 5 15:02:23 2024 -0400

        Update (partially) global-workflow for orion+rocky9 (#2741)

        This PR:
        - updates a few submodules (GSI, GSI-utils, GSI-monitor, UFS_utils,
        GFS-utils) to include recent update to their modulefiles for
        Orion+Rocky9 upgrade
        - updates the modulefiles in global-workflow to load modules from
        Orion+Rocky9 paths
        - updates modulefiles for `gwsetup` and `gwci` as well.
        - removes NCL and GEMPAK from Orion. NCL is not used and GEMPAK is not
        installed.
        - adds `parm/config.gfs/config.resources.ORION` to address GSI
        performance degradation after Rocky 9 upgrade.

        This PR:
        - does not update the build for UPP. Standalone UPP is not available via
        ufs-weather-model as of #2729
        - will need a follow-up update for `prepobs` and `fit2obs` updated
        locations when they are installed in `glopara` space on Orion.

        # Type of change
        - 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

        # How has this been tested?
        This PR is not sufficient for Orion.
        This PR must be tested on other platforms (Hera, WCOSS2) as this PR
        updates submodules.

        # 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
        - [ ] My changes generate no new warnings
        - [ ] New and existing tests pass with my changes
        - [ ] I have made corresponding changes to the documentation if
        necessary

        ---------

        Co-authored-by: Kate Friedman <[email protected]>

    commit d65d3d257b38225fac74e86b770f43e1f8ae2d5a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jul 3 21:07:49 2024 -0400

        Update ufs model hash to 20240625 (#2729)

        Updates UFS weather model hash to hash from 2024-06-24 which has orion
        porting updates + a few namelist updates.

    commit 2bd106a013805ba4e16dbdc456d6731f8f36ec85
    Author: David Huber <[email protected]>
    Date:   Wed Jul 3 11:32:40 2024 -0400

        Hotfix for undefined CLUSTERS (#2748)

        Defines `CLUSTERS` as an empty string for all hosts except Gaea and uses
        the native `dict` `get` method to prevent grabbing an unset entry.

    commit 7dc6651a3b92194d963675bdc0a9ec3c28499abf
    Author: GwenChen-NOAA <[email protected]>
    Date:   Wed Jul 3 09:56:08 2024 -0400

        Update gempak job to run one fcst hour per task (#2671)

        This PR updates gempak jobs (gfs, gdas, and goes) from processing all
        forecast hours at once to one forecast hour at a time. This will reduce
        the job runtime to less than 5 min, so restart capability is not needed.

        Resolves #1250
        Ref #2666 #2667
        ---------

        Co-authored-by: Walter.Kolczynski <[email protected]>

    commit 8215ae654202186a4f753c3abe937b7b9b91a9c7
    Author: Rahul Mahajan <[email protected]>
    Date:   Tue Jul 2 16:22:11 2024 -0400

        Hotfix for clusters from #2701 (#2747)

        Fixes an issue created from #2701 that added `CLUSTERS` to the
        `gaea.yaml`.

    commit 11943e36ba12b3df49c51942da780698fab02d38
    Author: DavidBurrows-NCO <[email protected]>
    Date:   Tue Jul 2 12:58:10 2024 -0400

        Fix xml file setup and complete C48 ATM and S2SW runs for CI on Gaea (#2701)

        This PR sets up the ability on Gaea for auto generation of a clean xml
        file, i.e., an xml file that does not need any alterations before
        running rocoto.
        Refs #2572
        Refs #2664

    commit de8706702ead0630beb54d868f83aa2cb23f8f79
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Mon Jul 1 09:29:14 2024 -0400

        Update for JCB policies and stage DA job files with Jinja2-templates (#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](https://github.com/NOAA-EMC/wxflow/pull/30) is a
        companion to this PR.

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: DavidNew-NOAA <[email protected]>
        Co-authored-by: Dan Holdaway <[email protected]>

    commit c49e4eee1a2ca818b3ecdcb9ea41c3f3e91d585b
    Author: Rahul Mahajan <[email protected]>
    Date:   Fri Jun 28 14:56:19 2024 -0400

        Revert PR 2681 (#2739)

        This PR:
        - reverts #2681 in part
        - keeps some changes for `RUN`.
        - is a hotfix
        - should be merged ASAP after consensus w/ @guillaumevernieres
        @CatherineThomas-NOAA @WalterKolczynski-NOAA

    commit 9476c1237af4adbc95f90bd1bdd34b6b99f2f8a3
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed Jun 26 15:46:08 2024 -0400

        updated Finalize in Jenkinsfile and added try block around scm checkout (#2692)

        We are updating the Jenkins Pipeline with a try block around checkout to
        capture errors for the user.
        Also cleaned up Finalize and added section to clean out workspace on
        success.

    commit 968568f682bac7564095440bdb7813abefd76821
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 26 13:27:19 2024 -0400

        Activate snow DA test on WCOSS (#2720)

        Activate the snow DA test on WCOSS.

    commit 7706760bb8adbdf78cb640b02739023c886e7699
    Author: Rahul Mahajan <[email protected]>
    Date:   Wed Jun 26 10:02:22 2024 -0400

        Cleanup of stale RUNDIRS from an experiment (#2719)

        This PR:
        - removes stale temporary scratch run directories from `$DATAROOT/`
        every 3 days.
        - should help to scrub failed attempts.
        - removes an unused variable `RUNDIR` defined in `config.base`

    commit 8962991691b5f0857b813bddfd28aa1034d4bd2b
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 26 09:43:48 2024 -0400

        Update logic for MOM6 number of layers/exception values (#2681)

        Updates the logic to be by run instead of for DO_JEDIOCNVAR to determine
        how many layers and sets the exception value for MOM6 to be 1e-34 for
        all scenarios. Note, we will no longer have zeros in the ocean grib
        output and the DA will also run without issues.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2615

    commit 12431f76bdce807067929415007592cffc8a2457
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 26 07:42:35 2024 -0600

        Update wave jobs to use COMIN/COMOUT (#2643)

        NCO has requested that each COM variable specify whether it is an input
        or an output.
        This completes that process for the global-workflow wave
        model and products tasks.
        Refs #2451

    commit b902c0bac126c323a07186ad8881384b032b6fda
    Author: David Huber <[email protected]>
    Date:   Tue Jun 25 07:48:46 2024 -0400

        Assign machine- and RUN-specific resources (#2672)

        Redefine resource variables based explicitly on RUN or CDUMP

        Additionally, machine-specific resources are moved out of
        config.resources and placed in respective config.resources.{machine}
        files.

        Resolves #177 #2672

    commit 5edbd123e2878a07f5cce8e3c7ea6147f286633a
    Merge: 09333c01d 4e1b937b6
    Author: Janet Derrico <[email protected]>
    Date:   Mon Jun 24 12:44:05 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit 4e1b937b67ed220120e81925c4507f03b9b8965f
    Author: David Huber <[email protected]>
    Date:   Mon Jun 24 10:50:52 2024 -0400

        Add minimum software requirements (#2712)

        Adds a table to HPC documentation stating the minimum support versions

    commit f43a86276aaef91efa28faadc71a3cf50e749efe
    Author: David Huber <[email protected]>
    Date:   Fri Jun 21 13:44:29 2024 -0400

        Fix and simplify online archiving and reenable METplus jobs (#2687)

        This fixes the online archiving portion of the `*arch` and `*earc00`
        jobs, a prerequisite for running METplus.  This also reenables
        METplus by default.

        The approach previously taken created `FileHandler` dictionaries at
        varying levels within the resulting yaml, which was not properly parsed
        by `exglobal_archive.py`. This approach creates a single `FileHandler`
        dictionary and is much less complicated overall.

        Resolves #2673 #2647

    commit 8993b42cb91144c0ab0501dc7841ea8d675c4701
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 19 21:51:22 2024 -0400

        Eliminate post groups (#2667)

        Eliminates the post groups used for upp and products jobs so that each
        task only processes one forecast hour. This is more efficient and
        greatly simplifies downstream dependencies that depend on a specific
        forecast hour.

        Resolves #2666
        Refs #2642

    commit 0b810c888239853fedd0e4584fe62536c6aaacdf
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 20:32:48 2024 -0600

        Removes misleading "No such file or directory" syntax errors from output files (#2688)

        This PR addresses issue #1252. The following is accomplished:

        - Prior to removing files, the existence of a file is checked prior to
        attempting to remove; this is performed as noted
        [here](https://github.com/NOAA-EMC/global-workflow/issues/1252#issue-1538627369);
        this PR only addresses the the `chgrp` issue.

        Refs #1252

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit 3270ac3bf00c3ebc8166c70d84647ec44431fbae
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 12:17:59 2024 -0600

        Hotfix for bug in template names. (#2697)

        This PR is a hotfix for an incorrectly named (e.g., non-existent) `COM/`
        template.
        Resolves #2696
        Refs #2451

    commit 35d4d99eaac669721add9ddcc793153e5ab3b30a
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 18 08:06:53 2024 -0600

        Update archive job to use COMIN/COMOUT (#2668)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        archive task.

        Refs #2451
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 47b3a581c8257fa24411fb400df8bb0e1e04972a
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Mon Jun 17 22:55:38 2024 -0400

        Turn on high-frequency output in extended test (#2679)

        Turns on high-frequency (hourly) output in the extended products test to
        exercise that aspect of the code. This test only runs on WCOSS.

        Also adds the hooks to optionally turn on the metplus jobs, but that is
        deferred as they are not currently working correctly.

    commit 38f2df9fb0c074b1f80d3c637080be79be693161
    Author: David Huber <[email protected]>
    Date:   Mon Jun 17 17:12:55 2024 +0000

        Optimize wavepostpnt (#2657)

        Optimize the gfswavepostpnt, gfswavepostbndpntbll, and gfswavepostbndpnt jobs

        This is done by
        1) reducing the number of calls to `sed`, `awk`, `grep`, and `cat` by
        - performing operations on all files at once instead of looping over
        each file
            - removing piped `cat` calls (e.g. `cat <file> | sed 'something'`)
            - combining `sed` and `grep` calls when possible
            - adding logic to `awk` calls instead of handling that logic in bash
        2) minimizing as much as possible the amount of data on disk that has to
        be read in (e.g. limiting sed to read only the line numbers it needs)
        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5af325a6a4e0a14d180514a418603ca79fada487
    Author: Dan Holdaway <[email protected]>
    Date:   Fri Jun 14 18:05:23 2024 -0400

        Update GDASapp hash to move JCB into GDASapp (#2665)

        This PR moves JCB into GDASapp. The PR
        also bumps up the hash of GDASapp to what is in `feature/move_jcb`,
        which at time of writing is develop plus the absorption of JCB into
        GDASapp.
        Note that I also took the changes from
        https://github.com/NOAA-EMC/global-workflow/pull/2641 to follow the
        testing @RussTreadon-NOAA has done.

    commit 6c93b4554e235fcb4d0004e99a4c4498d55d461b
    Author: Yaping Wang <[email protected]>
    Date:   Fri Jun 14 10:18:17 2024 -0500

        Add observation preparation job for aerosols DA to workflow (#2624)

        Add a prepaeroobs job to prepare aerosol obs files for DA.

        This job does quality control of the VIIRS aerosol raw observations and
        convert them to ioda format.

        Resolves #2623
        ---------

        Co-authored-by: ypwang19 <[email protected]>
        Co-authored-by: TerrenceMcGuinness-NOAA <[email protected]>
        Co-authored-by: Cory Martin <[email protected]>
        Co-authored-by: David Huber <[email protected]>

    commit 5a5fc2be7555f094a0f90fd3a3df22d071ccdfd4
    Author: Jessica Meixner <[email protected]>
    Date:   Fri Jun 14 11:04:41 2024 -0400

        Remove ocean daily files (#2689)

        This PR removes the ocn_daily files that are produced by the ocean
        component. These files can be recreated by averaging data that exists in
        the 6 hour aveaged files if needed.

        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2675
        Fixes https://github.com/NOAA-EMC/global-workflow/issues/2659 (by
        removing them and making this obsolete)

    commit 603a4a8052a5c43ce5986f028c3fcfd5fd248ad4
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 12:22:03 2024 -0400

        Update Jenkinsfile

        needed a comma

    commit dc21eac6c3941d7f30803891d91d82f4cc1f8183
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu Jun 13 11:41:14 2024 -0400

        Add Hercules-EMC to the Jenkins configurable parameter list (#2685)

        This quick-fix PR is to update the Jenkins Pipeline's configurable
        parameter list to include the **Hercules-EMC** node.
        This allows Jenkins users to restart Jobs in the controller when no
        updates have been made.

    commit ebacebfbe458634b8c80af6a735d6b6d01e4e406
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Thu Jun 13 11:20:24 2024 -0400

        Update gdas.cd and gsi_utils hashes (#2641)

        This PR updates the `sorc/gdas.cd` and `sorc/gsi_utils` hashes. The
        updated hashes bring in bug fixes, new UFS DA functionality, and a Gaea
        build for gsi_utils.

        Resolves #2640

    commit 34155fb4767769600a1ff95f0a65e37081addc2a
    Author: Neil Barton <[email protected]>
    Date:   Thu Jun 13 11:18:22 2024 -0400

        Add ability to use GEFS replay ICs (#2559)

        The PR allows the use of ICs from PSL's replay analysis. These replay
        ICs will be used for GEFS reforecasting and SFS. Two main changes are
        associated with these updates: (1) replay ICs being valid at 3Z, and (2)
        the use of warm starts.

        Resolves #1838

        ---------

        Co-authored-by: Jessica Meixner <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6c19a0e3fc4400e1d39288be4ee4fc244b74f699
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Wed Jun 12 19:25:42 2024 -0600

        Replace `sleep` with `wait_for_file` (#2586)

        This PR addresses issue #2444. The following is accomplished:

        - All `sleep` statements are replaced with `wait_for_file` for the
        relevant scripts beneath `scripts` and `ush`;
        - Indentation and shell-norms are updated where applicable.

        Note: The WAFS scripts are not updated as per @aerorahul direction.

        Resolves #2444

        ---------

        Co-authored-by: henrywinterbottom-wxdev <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 5b2a3d449a0835cec2663aabb06f1c47a3faf84e
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed Jun 12 13:31:55 2024 -0400

        Add COM template for JEDI obs (#2678)

        Adds a COM template to define a path to store obs processed for JEDI.
        This will allow UFSDA to stop writing to COM_OBS, which should be
        read-only as it belongs to obsproc in operations.

        No functional change yet.

    commit 2e6f1fcde9935619352b1b26cba42ec0f4d845ed
    Author: Guoqing Ge <[email protected]>
    Date:   Wed Jun 12 09:06:23 2024 -0600

        Link both global-nest fix files and non-nest ones at the same time (#2632)

        This PR enables linking both global-nest fix files and non-nest ones at
        the same time and users can run both nesting and non-nesting experiments
        at the same time without worries about what fix files to be linked.

        Resolves #2631

    commit 61de004d4f9e9edf8a31bb173f2719b46451a36a
    Author: Jessica Meixner <[email protected]>
    Date:   Wed Jun 12 11:03:13 2024 -0400

        Update ufs-weather-model  (#2663)

        Updates ufs-weather-model, this updates RDHPCS to the newer spack-stack
        allowing some temporary fixes to be reverted.
        * removes upp submodule
        * uses upp from the ufs-weather-model
        * restores the build and link that were hacked during the Hera Rocky 8
        transition to allow for UPP submodule
        * Removes forecast directories in clean-up

        Resolves #2617
        Resolves #2437

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 15eaf35fb13f361be400be38a5f7ca7b5461ab1d
    Author: Eric Sinsky - NOAA <[email protected]>
    Date:   Wed Jun 12 01:15:37 2024 -0400

        Add ability to process ocean/ice products specific to GEFS (#2561)

        This PR begins to add the capability to produce GEFSv13 ocean and ice
        products in the global-workflow according to stakeholder requirements.
        The following features are added.

        - An oceanice prod yaml file has been added to address the ocean and ice
        products specific to GEFSv13.
        - The rocoto dependencies and config.base for GEFS have also been
        modified to allow for 24-hour averaged ocean and ice output.
        - Various scripts have been modified to allow for ocean and ice output
        frequencies of 24 hours.
        - `FHOUT_OCNICE` has been split into two variables called `FHOUT_OCN`
        and `FHOUT_ICE`. The same has been done for `FHOUT_OCNICE_GFS`.

        Refs #1878

    commit 6691e7489650e0b738c176fbd096109288dc09b6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Tue Jun 11 21:15:07 2024 -0600

        Update cleanup job to use COMIN/COMOUT (#2649)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the global-workflow
        clean-up task.

        Refs #2451

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 23a8d8835dd4c5d69ca20f5ff23705f30f17b4b0
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Tue Jun 11 16:17:25 2024 -0400

        Add overwrite to creat experiment in BASH CI (#2676)

        This is a quick hotfix to the CI BASH driver script adding `--overwrite`
        to create experiment script to avoid errors from restarting an
        experiment.

    commit e7909af8d9e1f34140388a3f8556d8e582c58fe5
    Author: emilyhcliu <[email protected]>
    Date:   Mon Jun 10 15:11:27 2024 -0400

        Add handling to select CRTM cloud optical table based on cloud scheme and update calcanal_gfs.py  (#2645)

        This PR proposes updates for the following two scripts:

        1. In **scripts/exglobal_atmos_analysis.sh** --- Add handling to select
        CRTM cloud optical table based on cloud microphysical scheme indicated
        by `imp_physics'
        The default scheme in the GFS forecast model is Thompson scheme
        (imp_physics = 8).

        2. In **/ush/calcanl_gfs.py** --- Increase the MPI number declared in
        the script due to increased variables to interplate increments and
        calculate analysis in the netcdf_io routines in GSI-utils.
        Here is the related [PR #46 for
        GSI-utils](https://github.com/NOAA-EMC/GSI-utils/pull/46).

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9caa51de8fb7be07d2e61775da01937d576964f6
    Author: Henry R. Winterbottom <[email protected]>
    Date:   Thu Jun 6 22:15:23 2024 -0600

        Update RDHPCS Hera resource for `eupd` task (#2636)

        As per @wx20jjung, the resource for the `eupd` task have been updated
        for RDHPCS Hera to account for memory issues for C384 `gdaseupd` job
        fails.

        Resolves #2454

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit acf3aaa2b1d3e3024b0b5d2fe23eee8c317a980b
    Author: DavidNew-NOAA <[email protected]>
    Date:   Thu Jun 6 11:49:03 2024 -0400

        Parameterize some things in config.atmanl and config.atmensanl (#2661)

        This PR adds some parameters in config.atmanl and config.atmensanl that
        can be altered with the defaults.yaml. The motivation is to make these
        files match those in the GDASApp JJOB tests (example:
        https://github.com/NOAA-EMC/GDASApp/blob/develop/test/atm/global-workflow/config.atmanl),
        so we can just use the Global Workflow config.atmanl and
        config.atmensanl in the tests rather than custom ones in GDASApp that
        have to be separately updated every time the ones in the Global Workflow
        are updated.

    commit 54ea0b73a07921be5fbb07fe41e976888bd3e549
    Author: Guillaume Vernieres <[email protected]>
    Date:   Thu Jun 6 01:36:02 2024 -0400

        Add links to the ocean insitu obs processing tools (#2644)

        Add links to the marine bufr to ioda converters for the marine insitu
        observations.

        - fixes https://github.com/NOAA-EMC/GDASApp/issues/1106
        - waiting for https://github.com/NOAA-EMC/GDASApp/pull/1135

    commit 205d0c2b13e2d7755cec75bf8c978ab20d453862
    Author: David Huber <[email protected]>
    Date:   Wed Jun 5 17:31:30 2024 +0000

        Update S4 point of contact in docs (#2660)

        Update the point of contact for global workflow issues on S4.

    commit aa23ccf1d0d229f9ff1398d84af1fa7ee5bed262
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed Jun 5 12:50:14 2024 -0400

        Enable wcoss2 ufsda build and module load (#2620)

        This PR enables ufsda (`sorc/gdas.cd`) to be built and run on WCOSS2.

        Resolves #2602
        Resolves #2579

    commit 67b833e0c7bc390865d453588b4609a1a7ede981
    Author: Jessica Meixner <[email protected]>
    Date:   Tue Jun 4 13:33:43 2024 -0400

        Update ufs-weather-model  (#2646)

        Updates UFS model to the commit https://github.com/ufs-community/ufs-weather-model/commit/5bec704243286421fc613838fc67a2129e96acd6
        This should resolve the issue and allow C768 runs on Hera and allow for CICE
        to run on WCOSS2 (due to library updates to allow linking).

        From what I can tell, all updates needed were done by
        @HenryWinterbottom-NOAA which were updates for CICE

        Fixes #2490

    commit c44d0ac86cfdf78eb87492431bf6d825e8bae637
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue Jun 4 10:29:49 2024 -0400

        Update wmo parm files to fix WMO header (#2652)

        This PR updates wmo parm files to switch WMO header of precipitation
        type products (CRAIN, CFRZR, CICEP, and CSNOW) from time averaged to
        instantaneous.

        Resolves #2566

    commit 237d6dd213e8b1455d2f45dc5978fb2d3de93e60
    Author: Cory Martin <[email protected]>
    Date:   Tue Jun 4 13:55:33 2024 +0000

        Add IAU to snow DA (and its test) (#2610)

        This PR enables IAU for the snow DA which is necessary for GFSv17.

        A snow analysis is created for the center of the window regardless, and
        an additional at the beginning of the window is added if IAU is on. The
        former is needed for UPP and the latter, to initialize the model.

        The increment is valid throughout the window for 3DVar, so the same
        increment is added to both forecasts.

        Additionally, the input file that goes into global_cycle has been
        updated to be the output of the JEDI snow analysis instead of the
        forecast (@jiaruidong2017 I recall discussing this, can you confirm this
        is right or am I mistaken)

        This PR also makes the CI test for snow DA (and aerosol DA) include IAU
        rather than without IAU,.

        ---------

        Co-authored-by: Rahul Mahajan <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit c92bf415060750127c9c05a62a1d2851c489551a
    Author: David Huber <[email protected]>
    Date:   Sat Jun 1 05:11:07 2024 +0000

        Archiving cleanup (#2621)

        1) Adds a lot of comments to the jinja templates for archiving
        2) Rearranges the gdas and enkf templates to a more logical order
        3) Fixes a couple of bugs in the enkf archiving of increments and
        analyses
        4) Disables archiving for the half cycle
        5) Removes the `FITSARC` key from `config.base` and `arcdir.yaml.j2`,
        instead relying on `DO_FIT2OBS`
        6) Updates wxflow to add the option to not allow undefined variables
        when parsing jinja templates and invokes this feature when running
        archives

        Resolves #2612

    commit 12aa1e9cd2d159e2b303d2b33d6c79c365688eec
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Fri May 31 04:57:08 2024 -0400

        Switch to Rocky 9 built external packages on Hercules (#2608)

        The workflow was updated to use modules built on Rocky 9, but the
        external packages (like prepobs) were still pointing to the versions
        built on CentOS (Orion). This transitions to packages built on Rocky 9.

        Updating of the tracker package has been deferred until later. As such,
        the tracker jobs have been disabled by returning immediately if they are
        on Hercules. Since these jobs are small, resource-wise, it should not
        meaningfully impact turnover time.

    commit 4422550c01c9214a2b3b8890bdcc898123ee216a
    Author: Guoqing Ge <[email protected]>
    Date:   Thu May 30 08:05:23 2024 -0600

        Add the capability to use slurm reservation nodes (#2627)

        Add the capability to use slurm reservation nodes
        Add "ACCOUNT_SERVICE" for jobs to run in PARTITION_SERVICE

        Resolves #2626

    commit a54153fd9d26126206bc07a1da4e80f50c0c5910
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 29 23:24:07 2024 -0400

        Update forecast job to use COMIN/COMOUT (#2622)

        NCO has requested that each COM variable specify whether it is an input
        or an output. This completes that process for the forecast job.

        Refs #2451

        ---------

        Co-authored-by: David Huber <[email protected]>

    commit d69a8af95d492982b918670322ed5c41ab074335
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 21:29:03 2024 -0400

        Update to add 1-deg global wave grid (#2619)

        This PR adds options to use a global 1 deg grid, intended for testing
        with the SFS application.

        Requires new fix file changes NOAA-EMC/global-workflow#2618

    commit 0b4670ecf83b99b72835c8380573b2bca7cf5324
    Author: Jessica Meixner <[email protected]>
    Date:   Wed May 29 17:17:21 2024 -0400

        Add C384mx025_3DVarAOWCDA yamls (#2625)

        Adds the C384mx025_3DVarAOWCDA yaml files for one experiment into a new GFSv17 folder.

    commit 2e885d05c64b947f00a3cf055a1277fbfac195c9
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 29 13:00:51 2024 -0400

        Script to keep Jenkins Agent persistent from cron (#2634)

        This "persistent" Java Agent launch script can be ran from a cron job:

        - Uses Jenkins Remote API to check the status of the Node connection
        using curl for a given machine.
        - If it is not connected a new agent is launched for that node.

        Resolves #2633

    commit bb58e064d8e82ce51802bd6064cfa84cae2cc4d5
    Author: GwenChen-NOAA <[email protected]>
    Date:   Tue May 28 17:17:11 2024 -0400

        Change GRIB2 parameter names and vertical levels for ocean/ice post (#2611)

        Based on users' feedback, this PR do the following:
        1. Change GRIB2 parameter names DLWRF -> NLWRF and DSWRF -> NSWRF
        2. Change the vertical level of ocean 3D variables (WTMP, SALIN, UOGRD,
          and VOGRD) from "%g m below water surface" to "%g m below sea level"
        3. Round up depth numbers to integer (e.g. 4481.0625 -> 4481 m)

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit e53c5e8e0abbc0edf95970a71df0e6e8a2be9f31
    Author: DavidNew-NOAA <[email protected]>
    Date:   Tue May 28 17:16:23 2024 -0400

        Add atmensanlfv3inc job (#2592)

        This PR creates the atmensanlfv3inc job, the ensemble version of
        atmanlfv3inc, created in GW PR #2420. Its GDASApp companion PR is
        #[1104](https://github.com/NOAA-EMC/GDASApp/pull/1104), and its JCB-GDAS
        companion PR is #[3](https://github.com/NOAA-EMC/jcb-gdas/pull/3).

    commit 50c2b8951b29a3c883a778becbf8582f9519eb48
    Author: Anil Kumar <[email protected]>
    Date:   Tue May 28 13:23:53 2024 -0400

        Global-workflow (AR) Generic updates for Gaea C5 (#2515)

        - Port global-workflow’s build and run capability to Gaea-C5
        - Building global-workflow on Gaea-C5
        - Setting up experiments with global-workflow on Gaea-C5

        ---------

        Co-authored-by: AnilKumar-NOAA <[email protected]>
        Co-authored-by: DavidBurrows-NCO <[email protected]>

    commit b6ca771a0c584cbfcbbf9be739765d5f3815df97
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 24 10:52:45 2024 -0400

        Update STMP and PTMP settings in host file for Orion and Hercules  (#2614)

        - Updating STMP and PTMP settings in host file for Orion and Hercules
        because they are cross mounted.
        - Also took the opportunity to finally update **SLURM_ACCOUNT** to
        **HPC_ACCOUT** in CI over rides.
        - Added a refactor of the `rocotostat.py` tool that is more pythonic and
        as a execute retry feature because the `rocotostat` utility on Orion has
        been failing sometimes.

    commit 7d2c539f45194cd4e5b21bfd4b83a9480189cd0f
    Author: Guillaume Vernieres <[email protected]>
    Date:   Tue May 21 23:50:50 2024 -0400

        Sea-ice analysis insertion (#2584)

        Allows cycling and restarting CICE with the sea-ice analysis if the
        marine DA is switched on.

        Resolves #2568
        Resolves NOAA-EMC/GDASApp#1103

    commit 5369a1ff3a3969149fcf32810fad0e50216752b7
    Author: David Huber <[email protected]>
    Date:   Tue May 21 22:12:29 2024 +0000

        Refactored archiving (#2491)

        This provides a new pygfs task, archive.py, that provides all of the
        tools necessary to archive data to the local (`ARCDIR`) and backup
        (`ATARDIR`) archive directories. YAML-Jinja2 templates are provided to
        define the file to be archived or tarred to replace the
        `hpssarch_gen.sh`, `exglobal_earc`, and `exglobal_archive.sh` scripts
        and make it easier to add new data and explicitly handle optional and
        required files.

        For `ATARDIR` archiving, a master jinja template is provided for each
        `RUN` (i.e. master_gdas.yaml.j2, master_gfs.yaml.j2,
        master_enkf.yaml.j2). The master_enkf.yaml.j2 template is used for both
        `enkfgdas` and `enkfgfs` `RUN`s. These templates then include the
        appropriate `RUN`-specific jinja templates (e.g. gdas.yaml.j2) based on
        experiment, cycle, and coupled parameters. Each of these templates
        corresponds to a single tarball to populate and are tabbed 4 spaces so
        they are defined within the master `datasets` dictionary.

        Future developers should not have to make modifications to archive.py
        unless archiving is being enabled for a new `RUN` (e.g. `gefs`) and then
        only a single `elif` needs to be added to the configure method to
        specify the master `ATARDIR` template to archive (e.g.
        `master_gefs.yaml.j2`). If a new component is coming online that needs
        to be archived to `ATARDIR` (e.g. SNOW), then create a new template for
        each `RUN` that it needs to be archived for (e.g. `gdassnow.yaml.j2`)
        and reference the template in the appropriate master templates, e.g.

        `master_gdas.yaml:`
        ```jinja
        {% if DO_SNOW %}
        {% include "gdassnow.yaml.j2" %}
        {% endif %}
        ```

        A few other issues were addressed along the way:
        1. Aerosols have been reenabled. Aerosol forecasts should only be
        performed during gdas cycles, but analyses can be performed for both gfs
        and gdas cycles. This was accomplished by setting separate
        `AERO_<job>_CDUMP` variables to parse on for both `ANL` and `FCST` jobs.
        2. Fixed the name of the `cice6_rst_ok` variable in `forecast_det.sh`.
        This prevented restarts from being used for cice-enable experiments.
        This feature was not tested.
        3. Create a temporary fix for the `wgrib` utility. For spack-stack
        1.6.0, the `grib-util` module file does not declare `WGRIB`. An issue is
        open (https://github.com/JCSDA/spack-stack/issues/1097) to fix this in
        existing installations. Once complete, this temporary fix should be
        removed.
        4. The number of `earc` jobs has been reduced for lower resolution
        experiments. Both C48 and C96 experiments will now only have two earc
        jobs (one for the non-member files to archive and another for the member
        files). C192 will have up to 3 earc jobs (one non-member, one for
        members 1-40 and another for members 41-80, if needed).

        Resolves #2345
        Resolves #2318

        ---------

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 9aad86f27d37d19165b9a0b64cf70c7a4dd6362c
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 17 12:57:59 2024 -0400

         Add remove RUNDIRS step in CI before creating experements (#2607)

        As had been done in Bash CI we need to remove the RUNDIR in Jenkins
        before a creating an experiment in the event that case had beem
        previously ran.

    commit 09333c01dbafddb2d2fe7e181b479af3cc6d3621
    Merge: f7e9f4489 bb930050b
    Author: Janet Derrico <[email protected]>
    Date:   Thu May 16 14:33:19 2024 -0600

        Merge branch 'NOAA-EMC:develop' into develop

    commit bb930050b3cd51d28ecba6b231c8675f6d11856c
    Author: AndrewEichmann-NOAA <[email protected]>
    Date:   Thu May 16 12:28:30 2024 -0400

        Adds jjob and other necessities for marine LETKF task (#2564)

        Adds jjob, rocoto script, config file, and other necessities for new
        marine LETKF task.

        Partially addresses NOAA-EMC/GDASApp#1091

    commit 2c50fbde4d6cc3e53c55dca56925353a02fd1730
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 12:12:06 2024 -0400

        Updating CI Machine configs with redundant PTMP (#2605)

        Quick fix adding PTMP as STMP in Machine configs for CI for completeness

    commit ef340ff33a6f89adf70838206ba3fd56a953fa7a
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Thu May 16 11:37:30 2024 -0400

        Fix race condition in CI between Orion and Hercules (#2604)

        Hotfix to solve race conditions in the CI system due to cross-mounted
        file systems between Orion and Hercules

    commit e8b17e27f719df280170dc3f5bd9f19917cefaf2
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 17:16:30 2024 -0400

        Remove existing EXPDIRs and COMROTs when CI is re-run (#2601)

        Quick hotfix for having default for re-runing jobs to start clean with
        new EXPDIRs and COMROTs

    commit b5d113efb1970ede5cd1d3d4dff8d96320519c41
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Wed May 15 16:52:49 2024 -0400

        Moving logic for skipping hosts in pr cases (#2573)

        This PR removes the logic of skipping hosts for pr cases from
        `create_experiment.py` and moves it to a test in the cron bash driver
        using a `parse_yaml.py` python tool.

        The Jenkins pipeline was not effected as it uses the
        `get_host_case_list.py` utility to form the cases on a per host bases.

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 3cd0c68c0de9900bc7b73e1ed7621573dff5e916
    Author: RussTreadon-NOAA <[email protected]>
    Date:   Wed May 15 13:13:30 2024 -0400

        Update gsi_utils.fd hash (#2598)

        This PR updates the `gsi_utils.fd` hash to bring in updates which add
        safeguards to
        -
        `src/EnKF/gfs/src/getsigensmeanp_smooth.fd/getsigensmeanp_smooth_ncep.f90`
        - `src/EnKF/gfs/src/recentersigp.fd/recentersigp.f90`

        The safeguards are described in GSI-utils PR
        [#41](https://github.com/NOAA-EMC/GSI-utils/pull/41) and the associated
        issue.

        Resolves #2597

    commit d5366c66bd67f89d118b18956fe230207cbf0aea
    Author: Kate Friedman <[email protected]>
    Date:   Wed May 15 13:12:56 2024 -0400

        Update CICE and MOM6 fix versions (#2600)

        This PR updates the CICE (`cice_ver`) and MOM6 (`mom6_ver`) fix versions
        to the newer `20240416` timestamps, which includes updates and fixes to
        the `100` (1-deg) resolution files.

        Resolves #2480
        Resolves #2483
        Resolves #2595

    commit 6ca106e6c0466d7165fc37b147e0e2735a1d6a0b
    Author: David Huber <[email protected]>
    Date:   Mon May 13 22:57:38 2024 +0000

        Limit gfswavepostpnt to 40 PEs/node (#2588)

        This fixes the slow runtime of the gfswavepostpnt job on Hercules. The
        job is very I/O intensive and does not scale well to large nodes, so
        limit the number of jobs/node to 40.

        Resolves #2587

    commit 4fb7c12c325702a47f27c802a5067efd33d0327c
    Author: Fanglin Yang <[email protected]>
    Date:   Mon May 13 16:37:51 2024 -0400

        Update damping and time-step (#2575)

        Updates the model to use explicit Rayleigh damping for u/v and implicit
        damping to w. This improves model stability and allows for longer
        timesteps. Also unifies the GDAS and GFS to use the same damping.

        Results from a test at the C1152 resolution (coupled model) can be found
        at https://www.emc.ncep.noaa.gov/gmb/wx24fy/C1152/newdamp/

        Resolves #2574

        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>
        Co-authored-by: Lisa Bengtsson <[email protected]>
        Co-authored-by: Rahul Mahajan <[email protected]>

    commit 6a9c1372ecce9e50e4f6e10e56f6e504cde1afe6
    Author: TerrenceMcGuinness-NOAA <[email protected]>
    Date:   Fri May 10 14:17:13 2024 -0400

        Do not use BUILT_semphore to force rebuilds when re-run (#2593)

        Remove the placement of the `BUILT_semaphore` file after the build in
        the Jenkins Pipeline and force it to rebuild any changes after a PR is
        re-ran.

    commit 2346c6161f75ae02369cbf30f30c6150d3e12b66
    Author: Innocent Souopgui <[email protected]>
    Date:   Thu May 9 21:17:06 2024 -0500

        Migration to Rocky8 spack-stack installations on Jet (#2458)

        # Description
        Migrates Global Workflow to Rocky8 spack-stack installations on Jet.
        Jet has moved from CentOS7 to Rocky8.

        Resolves #2377
        Refs NOAA-EMC/UPP#919
        Refs NOAA-EMC/gfs-utils#60
        Refs NOAA-EMC/GSI#732
        Refs NOAA-EMC/GSI-Monitor#130
        Refs NOAA-EMC/GSI-utils#33

    commit c7b3973014480a20dd8e24edaeb83a9e9e68159f
    Author: Jessica Meixner <[email protected]>
    Date:   Thu May 9 11:36:58 2024 -0400

        Updates for cold start half cycle, then continuing with IAU for WCDA (#2560)

        This PR allows us to run C384 S2S with IAU, but starting with the first
        half-cycle as a cold-start. This will be necessary for cycled testing as
        we build towards the full system for GFSv17. This updates the copying of
        the restarts for RUN=gdas for both ocean and ice copying what the atm
        model is doing. It also reduced the amount of restart files from 4 to 3.

        Other updates:
        * Add DOJEDI ocean triggers for archiving certain files update from:
        @CatherineThomas-NOAA
        * Adds COPY_FINAL_RESTARTS option to turn on/off copying the last
        restart file to COM. Defaults to off...
        * Defines model_start_date_current_cycle & model_start_date_next_cycle
        to help with knowing which IC to grab.

        Refs #2546

        Co-authored-by: Rahul Mahajan <[email protected]>

    commit b405b7d3d11d384ce9fe3b9cd2180f315f7b38f2
    Author: Dan Holdaway <[email protected]>
    Date:   Wed May 8 20:52:48 2024 -0400

        Use JCB for assembling JEDI YAML files for atmospheric GDAS (#2477)

        Change the JEDI YAML assembly for the atmospheric GDAS to use the JEDI
        Configuration Builder (JCB) tool so that YAMLs can be made more portable
        and invoke the observation chronicle mechanism.

        Resolves #2476

        Co-authored-by: danholdaway <[email protected]>
        Co-authored-by: Walter Kolczynski - NOAA <[email protected]>

    commit 0cf0349c1f88048806e68ab58e93a3261b7a0e95
    Author: Walter Kolczynski - NOAA <[email protected]>
    Date:   Wed May 8 02:04:16 2024 -0400

        Add CI test for products (#2567)

        Adds a new version of the atm3DVar test that runs the full forecast
        length and produces most of the secondary products. For now, this test
        will only run on WCOSS due to gempak failures on other machines as well
        as computational needs. On other machines, the original version will run
        (the original version will not run on WCOSS). AWIPS remains off for now
        in this extended test due to a bug involving tocgrib2 and the convective
        precip fields (see #2566).

        The new test runs for 4½ cycles and the full 384-hr forecast length to
        ensure all gempak scripts are exercised. Since the cycle throttle is 3
        and the bulk of the time is in the free forecast, the cycles run mostly
        concurrently so it doesn't exte…
WalterKolczynski-NOAA added a commit to WalterKolczynski-NOAA/global-workflow that referenced this issue Sep 28, 2024
To facilitate longer and more flexible GFS cadences, the `gfs_cyc`
variable is replaced with a specified interval. Up front, this is
reflected in a change in the arguments for setup_exp to:

```
--interval <n_hours>
```

Where `n_hours` is the interval (in hours) between gfs forecasts.
`n_hours` must be a multiple of 6. If 0, no gfs will be run (only
gdas; only valid for cycled mode). The default value is 6 (every
cycle).

In cycled mode, there is an additional argument to control which
cycle will be the first gfs cycle:

```
---sdate_gfs <YYYYMMDDHH>
```

The default if not provided is `--idate` + 6h (first full cycle).

As part of this change, some of the validation of the dates has
been added. `--edate` has also been made optional and defaults to
`--idate` if not provided.

During `config.base` template-filling, `INTERVAL_GFS` (renamed from
`STEP_GFS`) is defined as `--interval` and `SDATE_GFS as
`--sdate_gfs`.

Some changes were necessary to the gfs verification (metp) job, as
`gfs_cyc` was being used downstream by verif-global. That has been
removed, and instead workflow will be responsible for only running
metp on the correct cycles. This also removes "do nothing" metp
tasks that exit immediately, because only the last GFS cycle in a
day would actually process verification.

Now, metp has its own cycledef and always runs at 18z, regardless
of whether gfs is running at 18z or not. This is simplier than
trying to determine the last gfs cycle of a day when it could
change from day to day. To facilitate this change, support for the
undocumented rocoto dependency tag `taskvalid` is added, as the
metp task needs to know whether the cycle has a gfsarch task or not.
metp will trigger on gfsarch completing (as before), or gdasarch
completing if there is no gfsarch.

metp tasks are no longer generated for forecast-only, as the pgbanl
files (copied of the 1p00 pgbanl files) are not generated for f-o
anyway. If metp is needed for f-o, additional work will be needed.

Additionally, a couple EE2 issues with the metp job are resolved
(even though it is not run in ops):
- verif-global update replaced `$CDUMP` with `$RUN`
- `$DATAROOT` is no longer redefined in the metp job

Depends on NOAA-EMC/EMC_verif-global#137
Resolves NOAA-EMC#260
Refs NOAA-EMC#1299
WalterKolczynski-NOAA added a commit to WalterKolczynski-NOAA/global-workflow that referenced this issue Oct 1, 2024
To facilitate longer and more flexible GFS cadences, the `gfs_cyc`
variable is replaced with a specified interval. Up front, this is
reflected in a change in the arguments for setup_exp to:

```
--interval <n_hours>
```

Where `n_hours` is the interval (in hours) between gfs forecasts.
`n_hours` must be a multiple of 6. If 0, no gfs will be run (only
gdas; only valid for cycled mode). The default value is 6 (every
cycle).

In cycled mode, there is an additional argument to control which
cycle will be the first gfs cycle:

```
---sdate_gfs <YYYYMMDDHH>
```

The default if not provided is `--idate` + 6h (first full cycle).

As part of this change, some of the validation of the dates has
been added. `--edate` has also been made optional and defaults to
`--idate` if not provided.

During `config.base` template-filling, `INTERVAL_GFS` (renamed from
`STEP_GFS`) is defined as `--interval` and `SDATE_GFS as
`--sdate_gfs`.

Some changes were necessary to the gfs verification (metp) job, as
`gfs_cyc` was being used downstream by verif-global. That has been
removed, and instead workflow will be responsible for only running
metp on the correct cycles. This also removes "do nothing" metp
tasks that exit immediately, because only the last GFS cycle in a
day would actually process verification.

Now, metp has its own cycledef and always runs at 18z, regardless
of whether gfs is running at 18z or not. This is simplier than
trying to determine the last gfs cycle of a day when it could
change from day to day. To facilitate this change, support for the
undocumented rocoto dependency tag `taskvalid` is added, as the
metp task needs to know whether the cycle has a gfsarch task or not.
metp will trigger on gfsarch completing (as before), or gdasarch
completing if there is no gfsarch.

metp tasks are no longer generated for forecast-only, as the pgbanl
files (copied of the 1p00 pgbanl files) are not generated for f-o
anyway. If metp is needed for f-o, additional work will be needed.

Additionally, a couple EE2 issues with the metp job are resolved
(even though it is not run in ops):
- verif-global update replaced `$CDUMP` with `$RUN`
- `$DATAROOT` is no longer redefined in the metp job

Depends on NOAA-EMC/EMC_verif-global#137
Resolves NOAA-EMC#260
Refs NOAA-EMC#1299
WalterKolczynski-NOAA added a commit that referenced this issue Oct 22, 2024
# Description
To facilitate longer and more flexible GFS cadences, the `gfs_cyc`
variable is replaced with a specified interval. Up front, this is
reflected in a change in the arguments for setup_exp to:
```
--interval <n_hours>
```
Where `n_hours` is the interval (in hours) between gfs forecasts.
`n_hours` must be a multiple of 6. If 0, no gfs will be run (only
gdas; only valid for cycled mode). The default value is 6 (every cycle).
(This is a change from current behavior of 24.)

In cycled mode, there is an additional argument to control which cycle
will be the first gfs cycle:
```
--sdate_gfs <YYYYMMDDHH>
```
The default if not provided is `--idate` + 6h (first full cycle). This
is the same as current behavior when `gfs_cyc` is 6, but may vary from
current behavior for other cadences.

As part of this change, some of the validation of the dates has been
added. `--edate` has also been made optional and defaults to `--idate`
if not provided.

During `config.base` template-filling, `INTERVAL_GFS` (renamed from
`STEP_GFS`) is defined as `--interval` and `SDATE_GFS as
`--sdate_gfs`.

Some changes were necessary to the gfs verification (metp) job, as
`gfs_cyc` was being used downstream by verif-global. That has been
removed, and instead workflow will be responsible for only running metp
on the correct cycles. This also removes "do nothing" metp tasks that
exit immediately, because only the last GFS cycle in a day would
actually process verification.

Now, metp has its own cycledef and will (a) always runs at 18z,
regardless of whether gfs is running at 18z or not, if the interval is
less than 24h; (b) use the same cycledef as gfs if the interval is 24h
or greater. This is simpler than trying to determine the last gfs cycle
of a day when it could change from day to day. To facilitate this
change, support for the
undocumented rocoto dependency tag `taskvalid` is added, as the metp
task needs to know whether the cycle has a gfsarch task or not. metp
will trigger on gfsarch completing (as before), or look backwards for
the last gfsarch to exist.

Additionally, a couple EE2 issues with the metp job are resolved (even
though it is not run in ops):
- verif-global update replaced `$CDUMP` with `$RUN`
- `$DATAROOT` is no longer redefined in the metp job

Also corrects some dependency issues with the extractvars job for replay and the replay CI test.

Depends on NOAA-EMC/EMC_verif-global#137
Resolves #260
Refs #1299

---------

Co-authored-by: David Huber <[email protected]>
EricSinsky-NOAA pushed a commit to EricSinsky-NOAA/global-workflow that referenced this issue Oct 24, 2024
To facilitate longer and more flexible GFS cadences, the `gfs_cyc`
variable is replaced with a specified interval. Up front, this is
reflected in a change in the arguments for setup_exp to:
```
--interval <n_hours>
```
Where `n_hours` is the interval (in hours) between gfs forecasts.
`n_hours` must be a multiple of 6. If 0, no gfs will be run (only
gdas; only valid for cycled mode). The default value is 6 (every cycle).
(This is a change from current behavior of 24.)

In cycled mode, there is an additional argument to control which cycle
will be the first gfs cycle:
```
--sdate_gfs <YYYYMMDDHH>
```
The default if not provided is `--idate` + 6h (first full cycle). This
is the same as current behavior when `gfs_cyc` is 6, but may vary from
current behavior for other cadences.

As part of this change, some of the validation of the dates has been
added. `--edate` has also been made optional and defaults to `--idate`
if not provided.

During `config.base` template-filling, `INTERVAL_GFS` (renamed from
`STEP_GFS`) is defined as `--interval` and `SDATE_GFS as
`--sdate_gfs`.

Some changes were necessary to the gfs verification (metp) job, as
`gfs_cyc` was being used downstream by verif-global. That has been
removed, and instead workflow will be responsible for only running metp
on the correct cycles. This also removes "do nothing" metp tasks that
exit immediately, because only the last GFS cycle in a day would
actually process verification.

Now, metp has its own cycledef and will (a) always runs at 18z,
regardless of whether gfs is running at 18z or not, if the interval is
less than 24h; (b) use the same cycledef as gfs if the interval is 24h
or greater. This is simpler than trying to determine the last gfs cycle
of a day when it could change from day to day. To facilitate this
change, support for the
undocumented rocoto dependency tag `taskvalid` is added, as the metp
task needs to know whether the cycle has a gfsarch task or not. metp
will trigger on gfsarch completing (as before), or look backwards for
the last gfsarch to exist.

Additionally, a couple EE2 issues with the metp job are resolved (even
though it is not run in ops):
- verif-global update replaced `$CDUMP` with `$RUN`
- `$DATAROOT` is no longer redefined in the metp job

Also corrects some dependency issues with the extractvars job for replay and the replay CI test.

Depends on NOAA-EMC/EMC_verif-global#137
Resolves NOAA-EMC#260
Refs NOAA-EMC#1299

---------

Co-authored-by: David Huber <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
3 participants