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

Merge to 2024 Aug 07 NOAA-GSL/develop(70b55783)/NOAA-EMC/develop(37c53ac) #63

Closed

Conversation

kayeekayee
Copy link
Collaborator

Description

This is a merge of gsl_ufs_dev merge with 2024 Aug 07 NOAA-GSL/develop(70b5578)/NOAA-EMC/develop(37c53ac).

Type of change

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

Change characteristics

How has this been tested?

Hera.
120 hours
Tested all tasks.
/scratch2/BMC/gsd-fv3-dev/KaYee.Wong/global/test/test_Merge_GSL_develop_to_gsl_ufs_dev

Checklist

  • [x ] Any dependent changes have been merged and published
  • [x ] My code follows the style guidelines of this project
  • [x ] I have performed a self-review of my own code
  • [ x] I have commented my code, particularly in hard-to-understand areas
  • [ x] My changes generate no new warnings
  • [x ] New and existing tests pass with my changes
  • [x ] I have made corresponding changes to the documentation if necessary

 - 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 kayeekayee closed this Sep 27, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant