Skip to content

Commit

Permalink
Merge gsl_ufs_dev from EMC develop (emc_dev_mar4_732a874a)
Browse files Browse the repository at this point in the history
   UFS: 21Feb24, 6988662
   FV3: 14Feb24, 0fe9ba3
   UPP: 23Jan23, 945cb2c
   UFS_UTILS: 22Feb24, d805336

Squashed commit of the following:

commit 732a874
Author: Rahul Mahajan <[email protected]>
Date:   Mon Mar 4 16:04:26 2024 -0500

    Reformat snowDA templates to jinja2 (NOAA-EMC#2371)

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

    Additionally, this PR:
    - renames `config.base.emc.dyn` to `config.base`.  Resolves NOAA-EMC#2347

commit d1fa411
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Sat Mar 2 04:54:26 2024 +0000

    Reduce Jenkins messaging to GitHub (NOAA-EMC#2370)

    This PR updates the Jenkins Pipeline code with safeguards against the
    errors caused when Jenkins fails to authenticate with GitHub to message
    or update a label. This was achieved simply by:

    - Reducing the number out messages sent to the GitHub PR
    - Putting try blocks around most of the update label calls

    Co-authored-by: tmcguinness <[email protected]>

commit 52fa3cb
Author: Henry R. Winterbottom <[email protected]>
Date:   Fri Mar 1 12:36:27 2024 -0700

    Adding debug option for all build scripts (NOAA-EMC#2326)

    This PR addresses issue NOAA-EMC#300 that allows building in `debug` mode.
    Co-authored-by: David Huber <[email protected]>
    Co-authored-by: Rahul Mahajan <[email protected]>

commit 91738cb
Author: DWesl <[email protected]>
Date:   Fri Mar 1 13:46:42 2024 -0500

    Sort list of coupler restart files for restart time determination (NOAA-EMC#2360)

    The loop in the following conditional seems to assume the list is
    sorted, so make that explicit in the array construction.

commit 23c2552
Author: Neil Barton <[email protected]>
Date:   Fri Mar 1 13:45:39 2024 -0500

    Update stage IC to handle ocean perturbations (NOAA-EMC#2364)

    This PR adds the option to stage ocean perturbation files for ensemble
    forecasts. These perturbation files are used in GEFS forecasts.
    A new variable is introduced in config.base to use the ocean
    perturbation files.
    This PR does not include using these perturbation files. A future PR
    will address this.

commit 8efe05f
Author: Jessica Meixner <[email protected]>
Date:   Fri Mar 1 07:41:56 2024 -0500

    Turn on C48mx500_3DVarAOWCDA test on hera (NOAA-EMC#2363)

    This PR activates the C48mx500_3DVarAOWCDA test on hera. This required
    an update of the gdas app.

commit 5166593
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Feb 29 20:14:41 2024 +0000

    Move Jenkinsfile into ci subdirectory (NOAA-EMC#2355)

    Just moves the Jenkinsfile into the ci directory

    Co-authored-by: tmcguinness <[email protected]>

commit b7af315
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Feb 28 22:20:58 2024 +0000

    Fix rocoto forecast hour determination for GEFS (NOAA-EMC#2351)

    The function that generates the list of forecast hours for rocoto was
    trying to use variables that are not defined for GEFS, causing workflow
    generation to fail. The function is updated to not try to load these
    variables before loading the ones actually used for GFS/ GEFS.

    Also turns GEFS CI test back on and adds an entry to stage C192 ICs
    (note: these have not been placed in the centralized location.)

commit d3a4927
Author: Cory Martin <[email protected]>
Date:   Wed Feb 28 09:38:49 2024 -0500

    Rename the land DA jobs to snow DA to better reflect what they are doing (NOAA-EMC#2330)

    This PR renames all of the land DA jobs to snow DA to better reflect
    that this is a JEDI-based snow analysis capability and not a more
    generic land surface analysis.

commit 2693810
Author: Jessica Meixner <[email protected]>
Date:   Tue Feb 27 01:25:51 2024 -0500

    Update ufs-waether-model hash (NOAA-EMC#2338)

    Routine update of ufs-weather-model hash.

    Other small updates:
    * removes comment referencing closed issue.
    * Updates the CICE diag frequency to once per day as recommend here:
    NOAA-EMC#1810 (comment)
    * Updated amount of time for C384 gdas forecast as it was running out of
    time
    * Removed unused variable wave_sys_ver

commit 9608852
Author: RussTreadon-NOAA <[email protected]>
Date:   Mon Feb 26 14:10:01 2024 -0500

    Update JEDI ATM to use .nc for obs and generalize x,y layout (NOAA-EMC#2336)

    # Description
    The changes in this PR are twofold
    1. replace `.nc4` suffix for JEDI ATM observation related files with
    `.nc`
    2. use templated variables to specify `{layout_x, layout_y}` for JEDI
    ATM variational and local ensemble apps

    The first change conforms with the Unidata recommendation that netCDF
    files end with the suffix `.nc`. The second change replaces hardwired
    JEDI ATM var and ens `{layout_x, layout_y}` in `config.resources` with a
    more flexible approach.

    Resolves NOAA-EMC#2335

commit c5c8466
Author: Kate Friedman <[email protected]>
Date:   Mon Feb 26 10:18:50 2024 -0500

    Remove FIX* variables for fix subfolders (NOAA-EMC#2337)

    Remove `FIX*` variables for fix subfolders and replace them with the remaining `FIXgfs` variable and the subfolder name (e.g. `${FIXam}` -> `${FIXgfs}/am`).

    The UFS_UTILS and GDASApp repos were similarly updated. This PR includes a new UFS_UTILS hash.
    The updated GDASAPP hash was already committed within the spack-stack/1.6.0 PR NOAA-EMC#2239.

    Resolves NOAA-EMC#2184

commit 950c38a
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Fri Feb 23 21:15:46 2024 +0000

    Fix several Jenkins issues (NOAA-EMC#2334)

    Jenkins Updates Resolving final kinks:
    - Removed all `git` shell commands and now exclusively use Software Control
    Manger (**scm**) plugin.
    - Add feature for skipping hosts per configuration specified in case yaml files.
    - Solved and tested false positive builds and experiments.
    - Tested archiving of task error log on case fail
    - First case fail quits pipeline and cancels all pending scheduled jobs
    - Duel build per yaml configuration arguments supported
    - All designated case files in PR directory pass on intended host (fully tested
    on Hera)

    Remaining updates:
    - Fist build fail short circuit when building sub-modules and archiving build
    error log.
    - Re-build/no-build built in logic for Replay and Rerunning previously failed
    experiments.

commit c67393a
Merge: 6f9afff 79d305e
Author: David Huber <[email protected]>
Date:   Fri Feb 23 14:18:15 2024 +0000

    Merge pull request NOAA-EMC#2239 from DavidHuber-NOAA/ss160

    Update to spack-stack 1.6.0

    Includes all submodules except the UFS, which will be updated at a later time.

commit 79d305e
Author: David Huber <[email protected]>
Date:   Thu Feb 22 14:53:57 2024 -0600

    Disable snow DA tests

commit 0459203
Author: David Huber <[email protected]>
Date:   Thu Feb 22 12:55:51 2024 -0600

    Update GDASApp hash to current develop

commit 5c96eb2
Author: David Huber <[email protected]>
Date:   Thu Feb 22 12:37:47 2024 -0600

    Update GDAS hash to allow modified snow DA analysis

commit 79144f2
Merge: abbb0b8 6f9afff
Author: DavidHuber <[email protected]>
Date:   Thu Feb 22 15:14:39 2024 +0000

    Merge remote-tracking branch 'origin/develop' into ss160

commit abbb0b8
Merge: 4ad837e 4529e8c
Author: DavidHuber <[email protected]>
Date:   Thu Feb 22 15:11:03 2024 +0000

    Merge remote-tracking branch 'henry/feature/gwdev_issue_2129' into ss160

commit 4ad837e
Merge: 516b2a2 7ca45db
Author: DavidHuber <[email protected]>
Date:   Thu Feb 22 15:10:24 2024 +0000

    Merge remote-tracking branch 'henry/feature/gfsv17_issue_2125' into ss160

commit 516b2a2
Author: DavidHuber <[email protected]>
Date:   Thu Feb 22 14:19:16 2024 +0000

    Updated GDAS to include rocoto/1.3.6 on Hera.

commit 6f9afff
Author: Jessica Meixner <[email protected]>
Date:   Wed Feb 21 13:09:44 2024 -0500

    Add some flexibility for ocean/ice output (NOAA-EMC#2327)

    This adds functionality to have ocean/ice output frequency be separate from the atm model. One time was created because there's an assumption in the post that these are the same. This could be further modified to remove this assumption.

    Refs NOAA-EMC#1629

commit f6d3015
Author: David Huber <[email protected]>
Date:   Tue Feb 20 09:53:08 2024 -0600

    Update GDASApp hash to include SS/1.6.0 support.

commit 0bf340b
Author: David Huber <[email protected]>
Date:   Tue Feb 20 09:07:32 2024 -0600

    Construct SS paths from version variables.

commit 3330cd7
Author: David Huber <[email protected]>
Date:   Tue Feb 20 09:06:19 2024 -0600

    Removed MET/METplus 'not available' comments

commit fdc638c
Author: David Huber <[email protected]>
Date:   Tue Feb 20 08:35:15 2024 -0600

    Move SS module path to version files.

commit d7d28a6
Author: David Huber <[email protected]>
Date:   Tue Feb 20 07:53:15 2024 -0600

    Update comment about METplus support.

commit a812f88
Author: David Huber <[email protected]>
Date:   Tue Feb 20 07:45:45 2024 -0600

    Update verif-global to latest WCOSS2 support.

commit d81f07f
Author: David Huber <[email protected]>
Date:   Tue Feb 20 07:41:38 2024 -0600

    Clean up build_upp.sh.

    -Corrected whitespace (tabs instead of spaces)
    -Removed debug print statement
    -Alphebetized flags

commit ae7eb19
Author: David Huber <[email protected]>
Date:   Fri Feb 16 16:15:40 2024 -0500

    Fix whitespace in build_upp.sh.

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

commit 48b34d0
Author: David Huber <[email protected]>
Date:   Fri Feb 16 20:56:55 2024 +0000

    Added verif-global support back to WCOSS2.

commit 4529e8c
Author: henrywinterbottom-wxdev <[email protected]>
Date:   Fri Feb 16 11:12:01 2024 -0700

    Bug fix.

commit 8e4f94d
Author: henrywinterbottom-wxdev <[email protected]>
Date:   Fri Feb 16 11:04:41 2024 -0700

    Updates requested by reviewer Rahul Mahajan.

commit 4624ce2
Author: henrywinterbottom-wxdev <[email protected]>
Date:   Fri Feb 16 10:52:11 2024 -0700

    Updates requested by reviewer; testing -- DO NOT REVIEW.

commit ed25bbd
Author: henrywinterbottom-wxdev <[email protected]>
Date:   Fri Feb 16 09:33:59 2024 -0700

    Linter corrections.

commit 6a0b7bf
Merge: f9fb64e 2415b7b
Author: David Huber <[email protected]>
Date:   Fri Feb 16 09:50:22 2024 -0600

    Merge branch 'ss160' of github.com:DavidHuber-NOAA/global-workflow into ss160

commit f9fb64e
Merge: 777d97d a23b7f2
Author: David Huber <[email protected]>
Date:   Fri Feb 16 09:49:42 2024 -0600

    Merge remote-tracking branch 'emc/develop' into ss160

commit 7ca45db
Merge: 73bc76b a23b7f2
Author: Henry R. Winterbottom <[email protected]>
Date:   Fri Feb 16 07:46:35 2024 -0700

    Merge branch 'NOAA-EMC:develop' into feature/gfsv17_issue_2125

commit eb2ed53
Merge: 9929277 a23b7f2
Author: Henry R. Winterbottom <[email protected]>
Date:   Fri Feb 16 07:46:24 2024 -0700

    Merge branch 'NOAA-EMC:develop' into feature/gwdev_issue_2129

commit a23b7f2
Author: RussTreadon-NOAA <[email protected]>
Date:   Fri Feb 16 09:37:58 2024 -0500

    Add JEDI 3DEnVar atmosphere only CI test stub (NOAA-EMC#2309)

commit cf83885
Author: Jessica Meixner <[email protected]>
Date:   Fri Feb 16 01:55:02 2024 -0500

    Add unstructured grid for HR3/GFS (NOAA-EMC#2230)

    This adds the capability to use unstructured grids in the global workflow,
    which will be used in HR3.  There are new fix files for a low-resolution
    100km grid and a grid closer to our targeted GFSv17 grid which has the
    resolution combined from the older multi_1 and GFSv16 grids.

    The fix file update is here: NOAA-EMC#2229

    Note: This now means that GFS tests need a new build option:
    `./build_all.sh -w` So that PDLIB=ON is turned on for compiling relevant
    UFS and WW3 codes.

    Resolves NOAA-EMC#1547

commit 9929277
Merge: eb8791c 094e3b8
Author: Henry R. Winterbottom <[email protected]>
Date:   Thu Feb 15 15:05:50 2024 -0700

    Merge branch 'NOAA-EMC:develop' into feature/gwdev_issue_2129

commit 094e3b8
Author: Cory Martin <[email protected]>
Date:   Thu Feb 15 14:43:55 2024 -0500

    Move IMS remapping files from COM_OBS to FIXgdas (NOAA-EMC#2322)

    * Add in IMS obs fix directory and update submodule for gdas

commit d465ea0
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Feb 15 19:25:02 2024 +0000

    Set HOMEgfs for module_setup in CI driver (NOAA-EMC#2321)

    Hotfixes to  CI Bash system from updates with sourcing
    `detect_machine.sh` in `ush/module-setup.sh` using **HOMEgfs**.

commit 2415b7b
Author: David Huber <[email protected]>
Date:   Thu Feb 15 19:21:17 2024 +0000

    Load default rocoto on Jet.

commit eb8791c
Merge: 60d5ee6 638684e
Author: Henry R. Winterbottom <[email protected]>
Date:   Thu Feb 15 11:56:40 2024 -0700

    Merge branch 'NOAA-EMC:develop' into feature/gwdev_issue_2129

commit 777d97d
Author: David Huber <[email protected]>
Date:   Thu Feb 15 12:34:59 2024 -0600

    Fixed Orion cdo version.

commit ef07235
Author: DavidHuber <[email protected]>
Date:   Thu Feb 15 16:29:32 2024 +0000

    Revert UFS hash.

commit 0ce8c0d
Author: DavidHuber <[email protected]>
Date:   Thu Feb 15 14:55:48 2024 +0000

    Fix git version in Hera's gwsetup module.

commit 3080a34
Author: DavidHuber <[email protected]>
Date:   Wed Feb 14 20:52:34 2024 +0000

    Fixed xarray version for SS/1.6.0.

commit 49392dd
Author: DavidHuber <[email protected]>
Date:   Wed Feb 14 20:29:41 2024 +0000

    Updated GSI-Utils hash to head of develop.

commit c3553f0
Merge: 4568653 638684e
Author: DavidHuber <[email protected]>
Date:   Wed Feb 14 20:28:14 2024 +0000

    Merge remote-tracking branch 'origin/develop' into ss160

commit 4568653
Author: David Huber <[email protected]>
Date:   Wed Feb 14 14:22:13 2024 -0600

    Reupgrade Hercules to SS/1.6.0

commit 638684e
Author: Kate Friedman <[email protected]>
Date:   Wed Feb 14 14:55:21 2024 -0500

    Remove `finddate.sh` from system (NOAA-EMC#2308)

    * Retire finddate.sh usage from system
    * Update gfs-utils hash to 7a84c88 - New hash includes removal of finddate.sh

    Refs NOAA-EMC#2279

commit 2b160f8
Author: DavidHuber <[email protected]>
Date:   Wed Feb 14 18:31:28 2024 +0000

    Reenable METplus jobs on Hercules.

commit 8f59002
Author: DavidHuber <[email protected]>
Date:   Wed Feb 14 18:30:23 2024 +0000

    Update GSI hashes.

commit 73bc76b
Author: henrywinterbottom-wxdev <[email protected]>
Date:   Wed Feb 14 09:27:37 2024 -0700

    Updates based on user request.

commit e4bc674
Author: henrywinterbottom-wxdev <[email protected]>
Date:   Wed Feb 14 08:03:45 2024 -0700

    Corrected based on reviewer review.

commit 60d5ee6
Merge: 40f2cf6 1aaef05
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Feb 13 18:08:33 2024 -0700

    Merge branch 'NOAA-EMC:develop' into feature/gwdev_issue_2129

commit 0330411
Merge: 929b903 1aaef05
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Feb 13 17:58:12 2024 -0700

    Merge branch 'NOAA-EMC:develop' into feature/gfsv17_issue_2125

commit 1aaef05
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Tue Feb 13 18:15:59 2024 -0500

    Jenkins Pipeline updates for Canceling Jobs (NOAA-EMC#2307)

    Tuning updates for Jenkins Pipeline :
    - Added short circuit for all parallel runs of cases on error of any
    - Fixed canceling of all scheduled jobs on first case error
    - Added feature to save error log files to Jenkins Archive facility on fail

commit 6404892
Author: Rahul Mahajan <[email protected]>
Date:   Tue Feb 13 14:57:37 2024 -0500

    Ocean/ice product generation for GFS and GEFS (NOAA-EMC#2286)

    This PR does several things:
    1. the model output for ocean and ice in the `COM/` directory are now
        named per EE2 convention for coupled model.
        E.g `gfs.ocean.t12z.6hr_avg.f120.nc` and `gfs.ocean.t12z.daily.f120.nc`
    2. The products are generated using the `ocnicepost.fd` utility developed
        by @DeniseWorthen in https://github.com/NOAA-EMC/gfs-utils and
        converted to grib2 using example scripts provided by @GwenChen-NOAA
        using `wgrib2`.
    3. NetCDF products on the native grid are also generated by subsetting
        variables from  the raw model output.  This is done with `xarray`.
    4. updates the hash of https://github.com/NOAA-EMC/gfs-utils to include
        fixes in `ocnicepost.fd`
    5. removes NCL related scripting that was previously used for ocean/ice
        interpolation and `reg2grb2` used for converting to grib2.
    6. updates archive scripts to accommodate updated file names
    7. removes intermediate ocean processed files such as 2D/3D/xsect data-
        sets
    8. separate jobs are added for ocean and ice product generation.
    9. removes intermediate restarts for the mediator and only saves the medi-
        ator restart at the end of the forecast in `COM`.
    10. Increases memory for offline UPP when run at C768.  The program
          segfaults with an OOM when memory is self allocated based on PEs by
          the scheduler on Hera.
    11. Enables ocean/ice ensemble product generation for GEFS
    12. Some minor clean-ups

    Fixes NOAA-EMC#935
    Fixes NOAA-EMC#1317
    Fixes NOAA-EMC#1864

commit 40f2cf6
Author: henrywinterbottom-wxdev <[email protected]>
Date:   Tue Feb 13 10:18:53 2024 -0700

    Implemented ush/detect_machine.sh for host determination and removed redundant checks for expected file paths.

commit 929b903
Merge: 2d08d01 3f99f70
Author: Henry R. Winterbottom <[email protected]>
Date:   Tue Feb 13 08:31:06 2024 -0700

    Merge branch 'NOAA-EMC:develop' into feature/gfsv17_issue_2125

commit 3f99f70
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Tue Feb 13 00:57:18 2024 -0500

    Add wave post jobs to GEFS (NOAA-EMC#2292)

    Adds the wave post jobs for gridded and points to GEFS. Boundary
    point jobs are added even though the current GEFS buoy file does
    not contain any (tested by manually subbing in the GFS buoy file).

    Resolves NOAA-EMC#827

commit 842adf3
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Mon Feb 12 12:50:08 2024 -0500

    Added additional test cases to the pr list in Jenkins (NOAA-EMC#2306)

    C48mx500_3DVarAOWCDA, C96C48_hybatmDA, and C96_atmsnowDA
    Co-authored-by: terrance.mcguinness <[email protected]>

commit bb4ca65
Author: CatherineThomas-NOAA <[email protected]>
Date:   Mon Feb 12 14:50:41 2024 +0000

    Redo v16.3 config.base changes for DA increments (NOAA-EMC#2304)

    Include the additional hydrometeors to the
    INCREMENTS_TO_ZERO and INCVARS_ZERO_STRAT
    variables in config.base that were modified
    in v16.3.

    Resolves: NOAA-EMC#2303

commit 061992b
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Sat Feb 10 01:33:36 2024 -0500

    Fix Jenkins success reporting (NOAA-EMC#2302)

    Moving the post section back outside of main Run Experiments
    stage. This allows the system to correctly report the **Success**
    status until after all tests pass.

    _Had originally moved them in attempts to solve "Not an SCM
    GitHub Job" issue and cause the reporting to misbehave._

    Also ran through Jenkins linter and updated some messaging
    that was incorrectly reporting system build type.

commit 28ccf78
Merge: b972f66 54daa31
Author: David Huber <[email protected]>
Date:   Fri Feb 9 14:00:43 2024 -0600

    Merge remote-tracking branch 'emc/develop' into ss160

commit b972f66
Author: David Huber <[email protected]>
Date:   Fri Feb 9 10:47:00 2024 -0600

    Fix SS versions for CI modules.

commit 4b01d8e
Author: David Huber <[email protected]>
Date:   Fri Feb 9 10:44:30 2024 -0600

    Revert Hercules modules to SS/1.5.1.

commit 54daa31
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Thu Feb 8 15:48:38 2024 -0500

    Jenkins Declartive Pipeline for CI with gfs/gefs multibuilds (NOAA-EMC#2246)

    Adding top level Jenkins file for CI tests running on Jenkins Controller:

    - Declarative Multi-branch Pipeline (has enhanced restart capabilities
    on a per section bases)
    - Starts Pipeline from Label PR same as BASH system (for now)
    - Progress and restarts can me managed with CAC Login at [EPIC OAR
    Jenkins](https://jenkins.epic.oarcloud.noaa.gov)
    - Has logic for multi **gfs/gefs** system builds (arguments based on a
    configuration file `ci/casts/yamls/build.yaml`)
      - Any number of **systems** may be added by manual adding an ele-
    ment to the matrix in the Jenkinsfile
      - _It may be possible to dynamic add matrix values with a specialty
    plug-in_
    - Currently only runs on **Orion** and **Hera** using `mterry` account

    Resolves NOAA-EMC#2119
    Resolves NOAA-EMC#2118

commit 43429e2
Author: Rahul Mahajan <[email protected]>
Date:   Thu Feb 8 15:30:28 2024 -0500

    Enable AO WCDA test (NOAA-EMC#1963)

    This PR:
    - adds GSI + SOCA C48 5-deg ocean 3DVar test (courtesy @guillaumevernieres)
    - adds a toggle to optionally disable ocnanalvrfy job.

commit 2d08d01
Merge: 4745d4a f563528
Author: Henry R. Winterbottom <[email protected]>
Date:   Thu Feb 8 07:24:54 2024 -0700

    Merge branch 'NOAA-EMC:develop' into feature/gfsv17_issue_2125

commit f563528
Author: Kate Friedman <[email protected]>
Date:   Wed Feb 7 15:09:12 2024 -0500

    Update JGLOBAL_FORECAST for octal error (NOAA-EMC#2295)

    Add "10#" to ENSMEM value > 0 check to handle octal errors.

commit 4745d4a
Author: henrywinterbottom-wxdev <[email protected]>
Date:   Wed Feb 7 08:45:49 2024 -0700

    Removed jlogfile references.

commit 5894ca2
Author: henrywinterbottom-wxdev <[email protected]>
Date:   Wed Feb 7 08:32:16 2024 -0700

    Removed dummy variable passed to perl scripts.

commit dae884a
Author: henrywinterbottom-wxdev <[email protected]>
Date:   Wed Feb 7 08:29:49 2024 -0700

    Removed jlogfile and postmsg references within gempak scripts.

commit 801058f
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed Feb 7 00:41:59 2024 -0700

    Consolidate `npe_node_max` (NOAA-EMC#2289)

    - The environment variable `npe_node_max` is removed from all
    files beneath `global-workflow/env`;
    - The environment variable `npe_node_max` is removed from
    `parm/config/gefs/config.ufs` and `parm/config/gfs/config.ufs`;
    - The environment variable `npe_node_max` is maintained only
    within `parm/config/gefs/config.resources` and
    `parm/config/gfs/config.resources`.

    Resolves NOAA-EMC#2133

commit b0325e0
Author: Henry R. Winterbottom <[email protected]>
Date:   Wed Feb 7 00:40:20 2024 -0700

    Removes files module loading file no longer used by the GW (NOAA-EMC#2281)

    Removes `module-setup.csh.inc` and `module-setup.sh.inc`.

    The module `ush/module-setup.sh` is updated such that it now sources
    `ush/detect_machine.sh` to determine which supported platform the
    global-workflow is being execute on.

    Resolves NOAA-EMC#2130

commit 1ccc989
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Feb 5 14:16:07 2024 -0500

    Remove EnKF forecast groups (NOAA-EMC#2280)

    Removes the grouping of EnKF forecasts so each job only runs
    one forecast. Member and MEMDIR are now set at the workflow
    manager (rocoto) level. This change makes much of the system
    simpler (especially dependencies) and allows the elimination of
    the separate efcs scripts.

    Metatask names of updated jobs have been updated to make
    them a little less opaque by using the same name name as its
    constituent tasks (e.g. the forecast metatask is named
    `enkgdasfcst`, not `enkfgdasefcs`). Metatasks that weren't
    updated retain the same names as before for now.

    Resolves NOAA-EMC#2254

commit 9f3383f
Author: Henry R. Winterbottom <[email protected]>
Date:   Mon Feb 5 12:15:13 2024 -0700

    Updated detect_machine.sh using that from UFS WM. (NOAA-EMC#2252)

    Updates `ush/detect_machine.sh` to match the UFS weather-model
    `tests/detect_machine.sh` prepared by @BrianCurtis-NOAA

    Resolves NOAA-EMC#2228

commit 7d68b0b
Author: CatherineThomas-NOAA <[email protected]>
Date:   Sun Feb 4 22:02:41 2024 +0000

    Update global_cycle for fractional grid (NOAA-EMC#2262)

    The hash for ufs_utils is updated to include the changes for
    fractional grid support within global_cycle.  This commit also
    removes the hack to skip global_cycle in cycling mode with
    v17 physics.

    Resolves: NOAA-EMC#1775
    Refs: ufs-community/UFS_UTILS#815
    Refs: ufs-community/UFS_UTILS#891

commit ed592a6
Author: Kate Friedman <[email protected]>
Date:   Sat Feb 3 02:55:14 2024 -0500

    Retire cycle-specific FHMAX_GFS variables (NOAA-EMC#2278)

    This PR retires the `FHMAX_GFS_${cyc}` variables that allowed users to specify
    different gfs forecast lengths for each cycle. This function is no longer supported
    in global-workflow. The `FHMAX_GFS_*` variables will be removed and will no
    longer be checked to set the final `FHMAX_GFS` variable. The same forecast
    length will be set for every cycle.

    This PR also includes a small fix to add new post parm files into the `.gitignore`
    file. This was intended to be included in a different PR but that PR is on hold for
    further testing so it is being included here to get it into `develop` sooner.

    Resolves NOAA-EMC#2218

commit 977e2d6
Author: Henry R. Winterbottom <[email protected]>
Date:   Fri Feb 2 07:49:09 2024 -0700

    New GDASApp hash. (NOAA-EMC#2285)

commit b5f2bd9
Merge: 4d66742 0400e1f
Author: David Huber <[email protected]>
Date:   Tue Jan 30 13:55:00 2024 -0600

    Merge branch 'ss160' of github.com:DavidHuber-NOAA/global-workflow into ss160

commit 0400e1f
Author: David Huber <[email protected]>
Date:   Tue Jan 30 09:57:11 2024 -0600

    Fix gfs_utils Orion spack-stack env path.

commit 6bbe823
Author: DWesl <[email protected]>
Date:   Mon Jan 29 21:15:30 2024 -0500

    Use seq to generate the list of times, instead of a bash for-loop (NOAA-EMC#2264)

    I'm running a year-long forecast, which means I get a large portion of the log file dedicated to these loops.

    `seq ${START} ${STEP} ${STOP}` will generate a sequence going from START to STOP by STEP, including STOP if relevant.  That seems to be the purpose of these loops.  It will by default separate the list with newlines, but `seq -s ' ' ${START} ${STEP} ${STOP}` will separate them with spaces instead, more closely mimicing the previous behavior.

    I would like this to be two lines in the log, rather than a few hundred, and this may also be faster, though probably more for reasons of fewer writes to disk than because bash isn't designed for arithmetic.

commit d5bee38
Author: Kate Friedman <[email protected]>
Date:   Mon Jan 29 14:35:02 2024 -0500

    Correct typos in GFS config.resources (NOAA-EMC#2267)

    This PR corrects some typos in `parm/config/gfs/config.resources` that were
    introduced in PR NOAA-EMC#2216. The esfc job was failing in tests on WCOSS2 due to
    insufficient memory. This lead to discovering the other typos. The esfc job
    completes without error after its memory is set back to `80GB` from the
    incorrect `8GB`.

    Resolves NOAA-EMC#2266

commit 81557be
Author: David Huber <[email protected]>
Date:   Mon Jan 29 12:13:31 2024 -0600

    Update monitor hash to noaa-emc with SS/1.6.0 support.

commit 2238dd6
Author: DavidHuber <[email protected]>
Date:   Mon Jan 29 13:21:30 2024 +0000

    Update Orion, Hercules, S4 modulefiles.

commit 6ffd94f
Author: DavidHuber <[email protected]>
Date:   Fri Jan 26 16:01:23 2024 +0000

    Update GDAS hash to include SS/1.6.0 support.

commit be11f85
Merge: 56b9680 04e0772
Author: DavidHuber <[email protected]>
Date:   Fri Jan 26 15:34:24 2024 +0000

    Merge branch 'ss160' of github.com:DavidHuber-NOAA/global-workflow into ss160

commit 8ff3448
Author: Rahul Mahajan <[email protected]>
Date:   Fri Jan 26 10:12:18 2024 -0500

    Add a yaml for snow DA testing. (NOAA-EMC#2199)

    - adds a new test yaml C96_atmsnowDA.yaml for 3DVar atmosphere with GSI and Land (Snow) DA with JEDI
    - moves a few yamls from platforms/ to yamls/
    - adds ability to overwrite a previously created experiment as an addition to user input.
    ---------

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

commit 04e0772
Author: David Huber <[email protected]>
Date:   Fri Jan 26 07:16:25 2024 -0600

    Update ufs_utils hash for spack-stack/1.6.0 support.

commit 3d44ff3
Author: Barry Baker <[email protected]>
Date:   Thu Jan 25 14:33:27 2024 -0500

    GOCART ExtData biogenic climatology fix (NOAA-EMC#2253)

    Updates the ExtData for biogenic emissions to be climatology rather than
    for current time.  Fixes an issue which will crash by default for other years.

commit 66f58b8
Author: Guillaume Vernieres <[email protected]>
Date:   Thu Jan 25 13:16:41 2024 -0500

    Added missing container case in gfs/config.resources (NOAA-EMC#2258)

    fixes  NOAA-EMC#2257

commit 553b4f2
Author: WenMeng-NOAA <[email protected]>
Date:   Thu Jan 25 13:00:45 2024 -0500

    Fix post parm links (NOAA-EMC#2243)

    Change symbolic links under parm/post with the latest version of develop branch from UPP repository and enable MERRA2 aerosol fields.

    Resolves NOAA-EMC#2259

commit 4d66742
Merge: 6c05803 afa09e3
Author: David Huber <[email protected]>
Date:   Thu Jan 25 07:49:08 2024 -0600

    Merge branch 'ss160' of github.com:DavidHuber-NOAA/global-workflow into ss160

commit 6c05803
Author: David Huber <[email protected]>
Date:   Thu Jan 25 07:48:42 2024 -0600

    Fix wgrib2/gfs_utils on Hercules.

commit ee6f536
Author: Kate Friedman <[email protected]>
Date:   Thu Jan 25 07:43:13 2024 -0500

    Update GFS version to v16.3.13 in index.rst (NOAA-EMC#2256)

    GFSv16.3.13 WAFS update was implemented

    Refs NOAA-EMC#2013

commit 2445d44
Author: RussTreadon-NOAA <[email protected]>
Date:   Thu Jan 25 06:17:11 2024 -0500

    Simplify and extend load_ufsda_modules to Hercules (NOAA-EMC#2245)

    GDASApp jobs do not run on Hercules because `ush/load_ufsda_modules.sh` does
    not include logic to load the appropriate GDASApp modules on Hercules.  This PR
    extends `load_ufsda_modules.sh` functionality to Hercules, thereby enabling
    GDASApp jobs to run on Hercules.

    Resolves NOAA-EMC#2244

commit 56b9680
Author: DavidHuber <[email protected]>
Date:   Wed Jan 24 19:47:34 2024 +0000

    Update hashes (revert WCOSS2 modules).

commit afa09e3
Author: DavidHuber <[email protected]>
Date:   Wed Jan 24 18:59:40 2024 +0000

    New (cleaner history) gdas hash.

commit a9eaec2
Author: DavidHuber <[email protected]>
Date:   Wed Jan 24 18:52:27 2024 +0000

    Update gdasapp to include ss/1.6.0 support.

commit 5ef8eb2
Merge: 4c46354 e400068
Author: DavidHuber <[email protected]>
Date:   Wed Jan 24 17:08:54 2024 +0000

    Merge branch 'ss160' of github.com:DavidHuber-NOAA/global-workflow into ss160

commit 4c46354
Author: DavidHuber <[email protected]>
Date:   Wed Jan 24 17:05:12 2024 +0000

    Reenable verif-global support

commit f775755
Author: DavidHuber <[email protected]>
Date:   Wed Jan 24 16:59:10 2024 +0000

    Assign fcsthrs for awips_g2 job.

commit e400068
Author: David Huber <[email protected]>
Date:   Mon Jan 22 15:01:07 2024 -0600

    More gsi-addon path fixes.

commit f663d47
Author: David Huber <[email protected]>
Date:   Mon Jan 22 14:41:59 2024 -0600

    Fix gsi-addon paths for hercules, orion, and S4.

commit e304bbe
Author: DavidHuber <[email protected]>
Date:   Mon Jan 22 18:59:34 2024 +0000

    Better optimize build jobs (more ufs jobs).

commit ccc6e2d
Author: DavidHuber <[email protected]>
Date:   Mon Jan 22 18:56:18 2024 +0000

    Reenable verif-global. NOAA-EMC#2195

commit 3ef3411
Merge: 4365f63 f4d187f
Author: DavidHuber <[email protected]>
Date:   Mon Jan 22 18:39:10 2024 +0000

    Merge remote-tracking branch 'origin/develop' into ss160

commit 4365f63
Author: DavidHuber <[email protected]>
Date:   Mon Jan 22 18:37:25 2024 +0000

    Corrected the SS env. name in the version files. NOAA-EMC#2195

commit f4d187f
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Mon Jan 22 12:28:28 2024 -0500

    Converts obsproc to obsprep in prepoceanobs config file (NOAA-EMC#2236)

    Converts obsproc to obsprep in prepoceanobs config file as a compliment to mutually depended GDASApp PR NOAA-EMC/GDASApp#858
    The motivations are explained in refs NOAA-EMC/GDASApp#857

commit 9a09d30
Author: DavidHuber <[email protected]>
Date:   Fri Jan 19 21:23:50 2024 +0000

    Corrected gsi-addon-dev spelling.

commit 21ff645
Author: DavidHuber <[email protected]>
Date:   Fri Jan 19 21:11:34 2024 +0000

    Update modulefiles, submodules to spack-stack 1.6.0. NOAA-EMC#2195

commit d4c55d1
Author: Kate Friedman <[email protected]>
Date:   Fri Jan 19 15:43:37 2024 -0500

    Update typing hint for WCOSS version of python (NOAA-EMC#2238)

    The typing hint `typing.List` was deprecated with python 3.9 in favor
    of using the primitive `list[str]`, but the functional version of python
    on WCOSS2 is <3.9, causing `setup_xml.py` to fail there. This replaces
    `list[str]` as a typing hint with the deprecated form until the supported
    version on WCOSS2 is >=3.9.

commit 4919287
Author: Barry Baker <[email protected]>
Date:   Thu Jan 18 22:31:27 2024 -0500

    GOCART Emission updates for GEFSv13 and GDAS  (NOAA-EMC#2201)

    This PR addresses several things needed for more recent simulations using
    GOCART2G as well as preparing for the GEFSv13 30 year run.  The main
    updates are:

    - Update CEDS to use monthly emission files instead of daily.  This will
    drastically reduce the number of files needed. No science change
    - Update biogenic MEGAN inputs to use a climatology rather than the
    offline biogenic previously used.  This is needed to deal with simulations
    where the current dataset is not available.
    - Update volcanic SO4 emissions to use degassing emissions only.  This is
    to support the need for more recent simulations where data is not available.

commit 13d25cf
Author: Kate Friedman <[email protected]>
Date:   Thu Jan 18 22:29:43 2024 -0500

    Add `POSTAMBLE_CMD` into preamble postamble (NOAA-EMC#2235)

    This PR adds the ability to run a command at the end of jobs via the
    preamble's postamble function. A new command can be set via
    `POSTAMBLE_CMD` and will be invoked at the end of jobs. Users can
    add the command to the top of an env file to have every job run it or
    it can be placed within a job if-block in the env file to run for just that
    job.

    Resolves NOAA-EMC#1145

commit 7759163
Author: Rahul Mahajan <[email protected]>
Date:   Thu Jan 18 01:13:49 2024 -0500

    Add option to create WGNE atmosphere products (NOAA-EMC#2233)

    Adds option to create WGNE products for the atmosphere.

    Resolves NOAA-EMC#1951
    Resolves NOAA-EMC#2226

commit d95ed85
Author: Rahul Mahajan <[email protected]>
Date:   Wed Jan 17 18:04:56 2024 -0500

    Use ufs.configure, model_configure, MOM_input, data_table, and ice_in templates from UFS-weather-model (NOAA-EMC#2051)

    This PR:
    - links `ufs.configure.*.IN`, `model_configure.IN`, `MOM_input_${OCNRES}.in`,
    `MOM6_data_table.IN`, and `ice_in.IN` from ufs-weather-model into the
    global-workflow `parm/ufs` directory
    - prepares local variables for use in the templates in the respective functions
    for FV3, MOM6, and CICE6
    - uses `atparse.bash` to render these templates into fully formed namelists

    - Work was performed by @DeniseWorthen in the ufs-weather-model to
    templatize several variables that are hard-wired in the ufs-weather-model
    for CICE. See ufs-community/ufs-weather-model/NOAA-EMC#2010

commit 44a66dd
Author: RussTreadon-NOAA <[email protected]>
Date:   Wed Jan 17 13:52:09 2024 -0500

    Update gdas.cd hash to use gsibec tag 1.1.3 (NOAA-EMC#2231) (NOAA-EMC#2234)

commit 9046d97
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Wed Jan 17 10:19:18 2024 -0500

    Add basic atmos products for GEFS and refactor resources (NOAA-EMC#2216)

    * Add basic atmos products for GEFS

    Adds basic atmosphere products for GEFS members (no mean or spread).

    To facilitate the addition of GEFS parameter lists, the existing GFS
    lists are renamed. They are also relocated to `parm/products/` direc
    tory instead of `parm/post/`. GEFS v12 uses different parameter lists
    for different resolutions, but for this implementation, the 0p25 lists
    are used for all resolutions. However, to hedge against the final con-
    figuration, all of the GEFS parameter lists have been added to parm.
    Implementation of different parameter lists for each resolution will
    take additional refactoring of the atmos_products job, as it currently
    assumes all resolutions use the same lists.

    The new GEFS rocoto task is implented as two loops of metatasks (made
    possible by PR NOAA-EMC#2189). The member is set at the rocoto level, so the
    setting in `config.base` had to be updated to accept a pass-through.
    The generation of a forecast hour list is moved up to its own function
    in `rocoto.tasks`, separate from the post groups which are not used.
    This can be used as a model for future metatasks (or refactoring of old
    ones). `rocoto_viewer.py` does function with the nested metatasks,
    though only one level of folding is available and the metatask name
    is that of the lower metatask (though it encompasses the entire outer
    metatask).

    Additionally, the GEFS `config.resources` had diverged from the GFS
    version, which included not having a section for the atm products job.
    This led to the refactoring of the GFS `config.resources`, including
    switching to using a `case` statement instead of sequential `elif`.
    This refactored script was then copied over to GEFS, replacing the old
    one, with all jobs not currently implemented for GEFS removed (except
    wave post, whose inclusion is immenent). New blocks can be copied over
    from GFS as they are added.

    Resolves NOAA-EMC#823

commit fbba174
Author: RussTreadon-NOAA <[email protected]>
Date:   Tue Jan 16 14:05:48 2024 -0500

    Update GDASApp (gdas.cd) hash (NOAA-EMC#2225)

    GDASApp now uses gitsubmodules

commit dddd837
Author: Rahul Mahajan <[email protected]>
Date:   Tue Jan 16 12:17:19 2024 -0500

    Fix ocean resolution for the S2SWA test (NOAA-EMC#2223)

commit 83edaf1
Author: David Huber <[email protected]>
Date:   Tue Jan 16 11:07:02 2024 -0500

    Apply fixes to archiving jobs (NOAA-EMC#2221)

    Add checks for potentially missing log/data files and update log names for archiving.

    Missing sflux index files are also added to the products script.

    Resolves NOAA-EMC#2076

commit c590476
Author: Rahul Mahajan <[email protected]>
Date:   Fri Jan 12 19:21:02 2024 -0500

    Update hash to ufs-weather-model. The noahmptable.tbl was reorganized, so update link_workflow.sh to use the same one used in UFSWM RT (NOAA-EMC#2219)

commit c041968
Author: Kate Friedman <[email protected]>
Date:   Fri Jan 12 12:09:35 2024 -0500

    Add ocean resolution to setup_expt invocation and retire/reduce COMROT/ROTDIR usage (NOAA-EMC#2214)

    Two series of updates:

    1) Update setup scripts to now allow users to provide ocean resolution
    2) Housekeeping to retire the `COMROT` variable, replacing it with other variables
    as needed, and reduce the `ROTDIR` variable usage.

    Both updates change options for the workflow setup API.

    Refs NOAA-EMC#2061

commit 997f978
Author: AndrewEichmann-NOAA <[email protected]>
Date:   Fri Jan 12 10:46:36 2024 -0500

    Allow use of ocean obs prep in WCDA cycling and remove R2D2 (NOAA-EMC#2215)

    Enables use of ocean obs prep task in WCDA cycling and removes R2D2 from same.
    Runs task gdasprepoceanobs before gdasocnanalprep -- obtains ocean data nc4 files from DMPDIR, processes them into IODA format and copies them to COM_OBS.
    Replaces the current R2D2 processing.

commit 12a5bb1
Merge: 4cb5802 6492c2d
Author: David Huber <[email protected]>
Date:   Fri Jan 12 09:26:27 2024 -0500

    Merge pull request NOAA-EMC#2217 from DavidHuber-NOAA/update/versions

    Update and clean up version and module files

commit 6492c2d
Author: David Huber <[email protected]>
Date:   Thu Jan 11 11:49:08 2024 -0600

    Update orion module/version files for met/metplus NOAA-EMC#2123

commit 94c9937
Author: DavidHuber <[email protected]>
Date:   Thu Jan 11 17:42:53 2024 +0000

    Comment met/metplus out from Hera modulefile. NOAA-EMC#2123

commit 8c32f8b
Merge: a65e4c6 4cb5802
Author: David Huber <[email protected]>
Date:   Thu Jan 11 11:34:44 2024 -0600

    Merge branch 'develop' of github.com:noaa-emc/global-workflow into develop

commit a65e4c6
Author: David Huber <[email protected]>
Date:   Thu Jan 11 11:34:19 2024 -0600

    Initial update of version/module files NOAA-EMC#2123

commit 4cb5802
Author: souopgui <[email protected]>
Date:   Wed Jan 10 08:30:22 2024 -0600

    Fix OpenMP over-allocation of resources in exglobal_atmos_products.sh when running MPMD tasks (NOAA-EMC#2212)

    Fix OpenMP over-allocation of resources running MPMD tasks
    Co-authored-by: Innocent Souopgui <[email protected]>

commit b056b53
Author: TerrenceMcGuinness-NOAA <[email protected]>
Date:   Mon Jan 8 17:28:05 2024 -0500

    Add Hercules as valid machine in CI scripts (NOAA-EMC#2207)

    Few updates to CI scripts to include names for hercules that where missed
    the first time.

commit 6574d29
Author: Rahul Mahajan <[email protected]>
Date:   Mon Jan 8 17:25:47 2024 -0500

    Fix invalid GH action and restart file name (NOAA-EMC#2210)

    Resolves a typo that leads to an invalid workflow yaml and fixes the restart filename in restart detection.

    Resolves NOAA-EMC#2205

commit 69605ea
Author: Rahul Mahajan <[email protected]>
Date:   Mon Jan 8 17:00:28 2024 -0500

    Stop attempting to comment link to RTD for non-PRs (NOAA-EMC#2209)

    Adds a check so comments with a link to documentation are only generated
    for PRs.

commit 4e160a8
Author: Rahul Mahajan <[email protected]>
Date:   Mon Jan 8 13:10:15 2024 -0500

    Enable UPP for GOES processing (NOAA-EMC#2203)

    Wnables the creation of special master grib2 files from UPP for
    GOES processing

commit c15875b
Author: David Huber <[email protected]>
Date:   Mon Jan 8 09:56:06 2024 -0500

    Port cycling to Hercules (NOAA-EMC#2196)

    Adds cycled support for Hercules (excluding gsi-monitor).
    Partially resolves NOAA-EMC#1588
    GSI monitoring is disabled on Hercules due to missing Perl modules. That will be enabled in a later PR.

commit ef6827d
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Jan 8 09:43:12 2024 -0500

    Refactor rocoto task XML creation (NOAA-EMC#2189)

    Refactors the rocoto task generation to be recursive.
    This will allow nested metatasks to loop over multiple variables, which is needed for GEFS product generation.

    As part of this refactor, there is no longer separate arguments to designate metatasks.
    Instead, task dicts can include a nested 'task_dict' as well as a 'var_dict' containing the variables to loop over.
    The nested task dict can then either have another layer, or be the innermost task.

    To accommodate the new recursive nature, some defaults that were previously defined in create_wf_task() had to be pushed down into the function that creates the innermost task.
    Also, former keywords have been absorbed by the task dict.

    Refs NOAA-EMC#823
    Refs NOAA-EMC#827

commit 2b81cfa
Author: Walter Kolczynski - NOAA <[email protected]>
Date:   Mon Jan 8 09:41:03 2024 -0500

    Update fix versions (NOAA-EMC#2198)

    Updates fix versions for a few components:
    - Update cice and mom6 versions to support C96/1p00 marine
    - Update wave to change betamax setting for glo_025 waves

    Resolves NOAA-EMC#2004
    Resolves NOAA-EMC#2107
  • Loading branch information
kayeekayee committed Mar 15, 2024
1 parent db06f7c commit a04630c
Show file tree
Hide file tree
Showing 338 changed files with 8,191 additions and 9,557 deletions.
28 changes: 24 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -36,26 +36,35 @@ fix/gsi
fix/lut
fix/mom6
fix/orog
fix/reg2grb2
fix/sfc_climo
fix/ugwd
fix/verif
fix/wave

# Ignore parm file symlinks
#--------------------------
parm/config/config.base
parm/gldas
parm/gdas/aero
parm/gdas/atm
parm/gdas/io
parm/gdas/ioda
parm/gdas/snow
parm/gdas/soca
parm/monitor
parm/post/AEROSOL_LUTS.dat
parm/post/nam_micro_lookup.dat
parm/post/optics_luts_DUST.dat
parm/post/gtg.config.gfs
parm/post/gtg_imprintings.txt
parm/post/optics_luts_DUST_nasa.dat
parm/post/optics_luts_NITR_nasa.dat
parm/post/optics_luts_SALT.dat
parm/post/optics_luts_SALT_nasa.dat
parm/post/optics_luts_SOOT.dat
parm/post/optics_luts_SOOT_nasa.dat
parm/post/optics_luts_SUSO.dat
parm/post/optics_luts_SUSO_nasa.dat
parm/post/optics_luts_WASO.dat
parm/post/optics_luts_WASO_nasa.dat
parm/post/params_grib2_tbl_new
parm/post/post_tag_gfs128
parm/post/post_tag_gfs65
Expand All @@ -77,6 +86,9 @@ parm/post/postcntrl_gfs_wafs.xml
parm/post/postcntrl_gfs_wafs_anl.xml
parm/post/postxconfig-NT-GEFS-ANL.txt
parm/post/postxconfig-NT-GEFS-F00.txt
parm/post/postxconfig-NT-GEFS-F00-aerosol.txt
parm/post/postxconfig-NT-GEFS-WAFS.txt
parm/post/postxconfig-NT-GEFS-aerosol.txt
parm/post/postxconfig-NT-GEFS.txt
parm/post/postxconfig-NT-GFS-ANL.txt
parm/post/postxconfig-NT-GFS-F00-TWO.txt
Expand All @@ -90,7 +102,15 @@ parm/post/postxconfig-NT-GFS-WAFS.txt
parm/post/postxconfig-NT-GFS.txt
parm/post/postxconfig-NT-gefs-aerosol.txt
parm/post/postxconfig-NT-gefs-chem.txt
parm/post/ocean.csv
parm/post/ice.csv
parm/post/ocnicepost.nml.jinja2
parm/ufs/noahmptable.tbl
parm/ufs/model_configure.IN
parm/ufs/MOM_input_*.IN
parm/ufs/MOM6_data_table.IN
parm/ufs/ice_in.IN
parm/ufs/ufs.configure.*.IN
parm/wafs

# Ignore sorc and logs folders from externals
Expand Down Expand Up @@ -123,7 +143,6 @@ sorc/radmon_bcor.fd
sorc/radmon_time.fd
sorc/rdbfmsua.fd
sorc/recentersigp.fd
sorc/reg2grb2.fd
sorc/supvit.fd
sorc/syndat_getjtbul.fd
sorc/syndat_maksynrc.fd
Expand All @@ -133,6 +152,7 @@ sorc/tocsbufr.fd
sorc/upp.fd
sorc/vint.fd
sorc/webtitle.fd
sorc/ocnicepost.fd

# Ignore scripts from externals
#------------------------------
Expand Down
38 changes: 19 additions & 19 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
[submodule "sorc/ufs_model.fd"]
path = sorc/ufs_model.fd
url = https://github.com/NOAA-GSL/ufs-weather-model
ignore = dirty
path = sorc/ufs_model.fd
url = https://github.com/NOAA-GSL/ufs-weather-model
ignore = dirty
[submodule "sorc/wxflow"]
path = sorc/wxflow
url = https://github.com/NOAA-EMC/wxflow
path = sorc/wxflow
url = https://github.com/NOAA-EMC/wxflow
[submodule "sorc/gfs_utils.fd"]
path = sorc/gfs_utils.fd
url = https://github.com/NOAA-EMC/gfs-utils
path = sorc/gfs_utils.fd
url = https://github.com/NOAA-EMC/gfs-utils
[submodule "sorc/ufs_utils.fd"]
path = sorc/ufs_utils.fd
url = https://github.com/NOAA-GSL/UFS_UTILS.git
path = sorc/ufs_utils.fd
url = https://github.com/NOAA-GSL/UFS_UTILS.git
[submodule "sorc/verif-global.fd"]
path = sorc/verif-global.fd
url = https://github.com/NOAA-EMC/EMC_verif-global.git
path = sorc/verif-global.fd
url = https://github.com/NOAA-EMC/EMC_verif-global.git
[submodule "sorc/gsi_enkf.fd"]
path = sorc/gsi_enkf.fd
url = https://github.com/NOAA-EMC/GSI.git
path = sorc/gsi_enkf.fd
url = https://github.com/NOAA-EMC/GSI.git
[submodule "sorc/gdas.cd"]
path = sorc/gdas.cd
url = https://github.com/NOAA-EMC/GDASApp.git
path = sorc/gdas.cd
url = https://github.com/NOAA-EMC/GDASApp.git
[submodule "sorc/gsi_utils.fd"]
path = sorc/gsi_utils.fd
url = https://github.com/NOAA-EMC/GSI-Utils.git
path = sorc/gsi_utils.fd
url = https://github.com/NOAA-EMC/GSI-Utils.git
[submodule "sorc/gsi_monitor.fd"]
path = sorc/gsi_monitor.fd
url = https://github.com/NOAA-EMC/GSI-Monitor.git
path = sorc/gsi_monitor.fd
url = https://github.com/NOAA-EMC/GSI-Monitor.git
9 changes: 9 additions & 0 deletions INFO
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
03-12-24
========
04Mar24 global-workflow
UFS: 21Feb24, 6988662
FV3: 14Feb24, 0fe9ba3
UPP: 23Jan23, 945cb2c
UFS_UTILS: 22Feb24, d805336


03-12-24
========
12Jan24 global-workflow
Expand Down
221 changes: 221 additions & 0 deletions ci/Jenkinsfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,221 @@
def Machine = 'none'
def machine = 'none'
def HOME = 'none'
def caseList = ''
def custom_workspace = [hera: '/scratch1/NCEPDEV/global/CI', orion: '/work2/noaa/stmp/CI/ORION', hercules: '/work2/noaa/stmp/CI/HERCULES']

pipeline {
agent { label 'built-in' }

options {
skipDefaultCheckout()
parallelsAlwaysFailFast()
}

stages { // This initial stage is used to get the Machine name from the GitHub labels on the PR
// which is used to designate the Nodes in the Jenkins Controler by the agent label
// Each Jenknis Node is connected to said machine via an JAVA agent via an ssh tunnel

stage('Get Machine') {
agent { label 'built-in' }
steps {
script {
machine = 'none'
for (label in pullRequest.labels) {
echo "Label: ${label}"
if ((label.matches('CI-Hera-Ready'))) {
machine = 'hera'
} else if ((label.matches('CI-Orion-Ready'))) {
machine = 'orion'
} else if ((label.matches('CI-Hercules-Ready'))) {
machine = 'hercules'
}
} // createing a second machine varible with first letter capital
// because the first letter of the machine name is captitalized in the GitHub labels
Machine = machine[0].toUpperCase() + machine.substring(1)
}
}
}

stage('Get Common Workspace') {
agent { label "${machine}-emc" }
steps {
script {
ws("${custom_workspace[machine]}/${env.CHANGE_ID}") {
properties([parameters([[$class: 'NodeParameterDefinition', allowedSlaves: ['built-in', 'Hera-EMC', 'Orion-EMC'], defaultSlaves: ['built-in'], name: '', nodeEligibility: [$class: 'AllNodeEligibility'], triggerIfResult: 'allCases']])])
HOME = "${WORKSPACE}"
sh(script: "mkdir -p ${HOME}/RUNTESTS;rm -Rf ${HOME}/RUNTESTS/error.logs")
pullRequest.addLabel("CI-${Machine}-Building")
if (pullRequest.labels.any { value -> value.matches("CI-${Machine}-Ready") }) {
pullRequest.removeLabel("CI-${Machine}-Ready")
}
}
echo "Building and running on ${Machine} in directory ${HOME}"
}
}
}

stage('Build System') {
matrix {
agent { label "${machine}-emc" }
//options {
// throttle(['global_matrix_build'])
//}
axes {
axis {
name 'system'
values 'gfs', 'gefs'
}
}
stages {
stage('build system') {
steps {
script {
def HOMEgfs = "${HOME}/${system}" // local HOMEgfs is used to build the system on per system basis under the common workspace HOME
sh(script: "mkdir -p ${HOMEgfs}")
ws(HOMEgfs) {
if (fileExists("${HOMEgfs}/sorc/BUILT_semaphor")) { // if the system is already built, skip the build in the case of re-runs
sh(script: "cat ${HOMEgfs}/sorc/BUILT_semaphor", returnStdout: true).trim() // TODO: and user configurable control to manage build semphore
checkout scm
dir('sorc') {
sh(script: './link_workflow.sh')
}
} else {
checkout scm
def builds_file = readYaml file: 'ci/cases/yamls/build.yaml'
def build_args_list = builds_file['builds']
def build_args = build_args_list[system].join(' ').trim().replaceAll('null', '')
dir("${HOMEgfs}/sorc") {
sh(script: "${build_args}")
sh(script: './link_workflow.sh')
sh(script: "echo ${HOMEgfs} > BUILT_semaphor")
}
}
if (env.CHANGE_ID && system == 'gfs') {
try {
if (pullRequest.labels.any { value -> value.matches("CI-${Machine}-Building") }) {
pullRequest.removeLabel("CI-${Machine}-Building")
}
pullRequest.addLabel("CI-${Machine}-Running")
} catch (Exception e) {
echo "Failed to update label from Buildng to Running: ${e.getMessage()}"
}
}
if (system == 'gfs') {
caseList = sh(script: "${HOMEgfs}/ci/scripts/utils/get_host_case_list.py ${machine}", returnStdout: true).trim().split()
}
}
}
}
}
}
}
}

stage('Run Tests') {
matrix {
agent { label "${machine}-emc" }
axes {
axis {
name 'Case'
// TODO add dynamic list of cases from env vars (needs addtional plugins)
values 'C48C48_ufs_hybatmDA', 'C48_ATM', 'C48_S2SW', 'C48_S2SWA_gefs', 'C48mx500_3DVarAOWCDA', 'C96C48_hybatmDA', 'C96_atm3DVar', 'C96_atmsnowDA'
}
}
stages {

stage('Create Experiments') {
when {
expression { return caseList.contains(Case) }
}
steps {
script {
sh(script: "sed -n '/{.*}/!p' ${HOME}/gfs/ci/cases/pr/${Case}.yaml > ${HOME}/gfs/ci/cases/pr/${Case}.yaml.tmp")
def yaml_case = readYaml file: "${HOME}/gfs/ci/cases/pr/${Case}.yaml.tmp"
system = yaml_case.experiment.system
def HOMEgfs = "${HOME}/${system}" // local HOMEgfs is used to populate the XML on per system basis
env.RUNTESTS = "${HOME}/RUNTESTS"
sh(script: "${HOMEgfs}/ci/scripts/utils/ci_utils_wrapper.sh create_experiment ${HOMEgfs}/ci/cases/pr/${Case}.yaml")
}
}
}

stage('Run Experiments') {
when {
expression { return caseList.contains(Case) }
}
steps {
script {
HOMEgfs = "${HOME}/gfs" // common HOMEgfs is used to launch the scripts that run the experiments
ws(HOMEgfs) {
pslot = sh(script: "${HOMEgfs}/ci/scripts/utils/ci_utils_wrapper.sh get_pslot ${HOME}/RUNTESTS ${Case}", returnStdout: true).trim()
try {
sh(script: "${HOMEgfs}/ci/scripts/run-check_ci.sh ${HOME} ${pslot}")
} catch (Exception e) {
sh(script: "${HOMEgfs}/ci/scripts/utils/ci_utils_wrapper.sh cancel_all_batch_jobs ${HOME}/RUNTESTS")
ws(HOME) {
if (fileExists('RUNTESTS/error.logs')) {
def fileContent = readFile 'RUNTESTS/error.logs'
def lines = fileContent.readLines()
for (line in lines) {
echo "archiving: ${line}"
archiveArtifacts artifacts: "${line}", fingerprint: true
}
}
}
error("Failed to run experiments ${Case} on ${Machine}")
}
}
}
}
}

}
}
}
}

post {
always {
script {
if(env.CHANGE_ID) {
try {
for (label in pullRequest.labels) {
if (label.contains("${Machine}")) {
pullRequest.removeLabel(label)
}
}
} catch (Exception e) {
echo "Failed to remove labels: ${e.getMessage()}"
}
}
}
}
success {
script {
if(env.CHANGE_ID) {
try {
pullRequest.addLabel("CI-${Machine}-Passed")
def timestamp = new Date().format('MM dd HH:mm:ss', TimeZone.getTimeZone('America/New_York'))
pullRequest.comment("**CI SUCCESS** ${Machine} at ${timestamp}\n\nBuilt and ran in directory `${HOME}`")
} catch (Exception e) {
echo "Failed to add success label or comment: ${e.getMessage()}"
}
}
}
}
failure {
script {
if(env.CHANGE_ID) {
try {
pullRequest.addLabel("CI-${Machine}-Failed")
def timestamp = new Date().format('MM dd HH:mm:ss', TimeZone.getTimeZone('America/New_York'))
pullRequest.comment("**CI FAILED** ${Machine} at ${timestamp}<br>Built and ran in directory `${HOME}`")
} catch (Exception e) {
echo "Failed to add failure label or comment: ${e.getMessage()}"
}
}
}
}
}
}
22 changes: 22 additions & 0 deletions ci/cases/pr/C48C48_ufs_hybatmDA.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
experiment:
system: gfs
mode: cycled

arguments:
pslot: {{ 'pslot' | getenv }}
app: ATM
resdetatmos: 48
resensatmos: 48
comroot: {{ 'RUNTESTS' | getenv }}/COMROOT
expdir: {{ 'RUNTESTS' | getenv }}/EXPDIR
idate: 2021032312
edate: 2021032400
nens: 2
gfs_cyc: 1
start: warm
yaml: {{ HOMEgfs }}/ci/cases/yamls/ufs_hybatmDA_defaults.ci.yaml

skip_ci_on_hosts:
- hera
- orion
- hercules
2 changes: 1 addition & 1 deletion ci/cases/pr/C48_ATM.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ arguments:
expdir: {{ 'RUNTESTS' | getenv }}/EXPDIR
idate: 2021032312
edate: 2021032312
yaml: {{ HOMEgfs }}/ci/platforms/gfs_defaults_ci.yaml
yaml: {{ HOMEgfs }}/ci/cases/yamls/gfs_defaults_ci.yaml
2 changes: 1 addition & 1 deletion ci/cases/pr/C48_S2SW.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,4 +11,4 @@ arguments:
expdir: {{ 'RUNTESTS' | getenv }}/EXPDIR
idate: 2021032312
edate: 2021032312
yaml: {{ HOMEgfs }}/ci/platforms/gfs_defaults_ci.yaml
yaml: {{ HOMEgfs }}/ci/cases/yamls/gfs_defaults_ci.yaml
Loading

0 comments on commit a04630c

Please sign in to comment.