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

Update ice climo, fix option for non-fractional grid, and add cloud fraction for Thompson #902

Merged
merged 2 commits into from
Jul 15, 2022

Conversation

yangfanglin
Copy link
Contributor

@yangfanglin yangfanglin commented Jul 11, 2022

Updates the ice climatology from CFSR to IMS_NIC blended.

Fixes issue in the diag table where the cloud fraction entry for Thompson was not included.

Adds new coupled mode setting for when fractional grid is not used.

Fixes #886

Description

Type of change

Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

How Has This Been Tested?

Checklist

  • 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 need updates to the documentation. I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • New and existing tests pass with my changes
  • Any dependent changes have been merged and published

…ee/update_scripts to

add new ice climatology, set cplmode=nems_orig for non-fractional grid, and add cldfra 3D cloud in all diag_table
	modified:   parm/config/config.fcst
	modified:   parm/parm_fv3diag/diag_table
	modified:   parm/parm_fv3diag/diag_table_cpl
	modified:   parm/parm_fv3diag/diag_table_da
	modified:   ush/forecast_postdet.sh
@@ -22,6 +22,7 @@
"gfs_dyn", "ps", "pressfc", "fv3_history", "all", .false., "none", 2
"gfs_dyn", "hs", "hgtsfc", "fv3_history", "all", .false., "none", 2

"gfs_phys", "cldfra", "cldfra", "fv3_history", "all", .false., "none", 2
Copy link
Contributor

Choose a reason for hiding this comment

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

What will happen if we try to run GFDL MP with this new variable? Right now cycling still only works with GFDL.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

What will happen if we try to run GFDL MP with this new variable? Right now cycling still only works with GFDL.

@WalterKolczynski-NOAA This should have no impact on cycling with GFDL MP, but I have not tested.

Copy link
Contributor

@ChunxiZhang-NOAA ChunxiZhang-NOAA Jul 14, 2022

Choose a reason for hiding this comment

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

I did an ATM only test with FV3_GFS_v16 suite and imp_physics=11 (GFDL). The test was successful.

Copy link
Contributor

@aerorahul aerorahul Jul 16, 2022

Choose a reason for hiding this comment

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

This particular change breaks cycling (hybrid EnVar) when trying to compute ensemble mean from the surface files.
The sfcfHHH.nc file now contains a 4D variable cldfra. I am not sure if it is a consequence of this line or elsewhere. I apologize if it was introduced elsewhere.

Screen Shot 2022-07-16 at 10 53 01 AM

As a result, a change in needed in the GSI utility computing surface ensemble mean. Some basic debugging revealed Screen Shot 2022-07-16 at 10 52 32 AM

A test is running with the change in the GSI utility to skip this variable.
The test branch of GSI-utils is here

The test is being performed as part of PR #859.

Q. for possibly @yangfanglin and @RussTreadon-NOAA.
Should the variable be skipped or should the variable be averaged?
The test above is skipping it (easy).
To compute the average with this code will need work.

FYI. @WalterKolczynski-NOAA

Copy link
Contributor

Choose a reason for hiding this comment

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

Add @emilyhcliu since the question at hand pertains to cloud fraction, cldfra.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Q. for possibly @yangfanglin and @RussTreadon-NOAA. Should the variable be skipped or should the variable be averaged? The test above is skipping it (easy). To compute the average with this code will need work.

@aerorahul I think cldfra can be skipped for computing ensemble mean surface file. @emilyhcliu if a cycled experiment is running with GFDL MP, cld_amt is the actual cloud fraction and is saved in atmf . If running with Thompson MP, cldfra is the cloud fraction and saved in sfcf. However, my impression is that even cld_amt was not used in any part of the DA in GFS.v16.

Copy link
Contributor

Choose a reason for hiding this comment

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

Question for @yangfanglin . Why does Thompson MP write cldfra to sfcfXXX? It seems the 3d cloud fraction field should go in atmfXXX. A 3d field is not a surface field.

Copy link
Contributor

Choose a reason for hiding this comment

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

@RussTreadon-NOAA
I was about to ask the same question.
cldfra is neither a "surface" field, nor a 2D field.

Copy link
Contributor Author

@yangfanglin yangfanglin Jul 18, 2022

Choose a reason for hiding this comment

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

@RussTreadon-NOAA I was about to ask the same question. cldfra is neither a "surface" field, nor a 2D field.

@aerorahul @RussTreadon-NOAA The model has two groups of outputs. dyn/atmf and phy/sfc. For GFDL MP, cld_amt is a "prognostic" variable in the dycore group; For Thompson MP, cldfra is a diagnostic variable from CCPP physics in the phy/sfc output group. Placing variables across groups is technically difficult, if not impossible. This is the major reason the 3d cldfra is written in sfc group. I had long discussion with Jun (@junwang-noaa ) about this, but this is the best we can do given the current model infrastructure. Please note @ChunxiZhang-NOAA is going to make a minor change to the diag_table to have cldfra labeled as fv3_history2d

ush/forecast_postdet.sh Show resolved Hide resolved
@WalterKolczynski-NOAA
Copy link
Contributor

In the future, this should probably be three separate PRs, even if they are one line (like the ice climo). PRs like that be handled very quickly without being held up by other changes.

You also haven't followed the PR template at all. Please update the first post of the PR to explain why these changes are being made. Listing the files modified is unnecessary; we can see by looking at the PR or the git log. End with a Closes #XXX to link the appropriate issue(s). Fill out the rest of the template sections on the type of change, how it was tested, and the checklist at the end. Also please shorten the PR title if possible (inability to formulate a short informative title is a clue a PR is doing too many different things).

@JessicaMeixner-NOAA
Copy link
Contributor

@yangfanglin @ChunxiZhang-NOAA - Is this PR waiting on a UFS_UTILS update (ufs-community/UFS_UTILS#664) or is this PR ready to go as is?

@ChunxiZhang-NOAA
Copy link
Contributor

@JessicaMeixner-NOAA No, this PR is not waiting on the UFS_UTILS update. I am currently testing if all the runs, e.g., atmosphere only, S2SW, S2SWA, etc., can run successfully with the modifications in this PR. After the tests, this PR is ready.

Copy link
Contributor

@WalterKolczynski-NOAA WalterKolczynski-NOAA left a comment

Choose a reason for hiding this comment

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

Will merge tonight

@ChunxiZhang-NOAA
Copy link
Contributor

The following tests passed: ATM only at C96, ATM only at C96 with the replacement of FV3_GFS_v16 suite and imp_physics=11, S2SW at C384 and S2SWA at C384.

@ChunxiZhang-NOAA
Copy link
Contributor

Will merge tonight

Great to know. Thank you Walter.

@WalterKolczynski-NOAA WalterKolczynski-NOAA changed the title update new ice climatology, set cplmode=nems_orig for non-fractional grid, and add cldfra 3D cloud in all diag_table Update ice climo, fix option for non-fractional grid, and add cloud fraction for Thompson Jul 15, 2022
@WalterKolczynski-NOAA WalterKolczynski-NOAA merged commit b61c237 into NOAA-EMC:develop Jul 15, 2022
jkhender added a commit to jkhender/global-workflow that referenced this pull request Nov 18, 2022
commit 71a16e84a4ce59869879dd6c20007d0271521e7b
Author: Judy.K.Henderson <Judy.K.Henderson@noaa.gov>
Date:   Fri Nov 18 01:46:14 2022 +0000

    Squashed commit of the following:

    commit a658e75e579ebc4f454377e5a9cf4c1fc54e4e3d
    Author: Jessica Meixner <jessica.meixner@noaa.gov>
    Date:   Wed Aug 3 18:34:34 2022 +0000

        Updates for P8  (#946)

        These are the final updates for Prototype 8.  These changes include:
        * Updating to the latest ufs-weather-model hash (in progress, waiting for PR) which will update the calculation of 2m T
        * A small update to the organic carbon coefficients for p8, raises them from 0.3 -> 0.4 for oc1 and oc2
        * Uses 10km input files for aerosols
        * Sets do_gsl_drag_tofd=false by default, which helps with stability of the model

        Closes #937

    commit b2155ad3dc999a2f41aeace58f3b199a8ddde65c
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Wed Aug 3 10:04:06 2022 -0400

        Fix GLDAS j-job link (#954)

        The cd was misplaced when checking for the existence of gldas.fd to
        create the link for the j-job, so the directory was never found and
        the job never linked.

    commit 395720cef000ef221c49c93d4f68417b7fda64b6
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Mon Aug 1 17:38:50 2022 -0400

        Add ocean post to archive dependencies (#949)

        The archive job was not waiting for ocean post to complete because
        there was no dependency.

        Fixes #948

    commit 145b67f70f44abbb713e19073016bacfbfcb8184
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Fri Jul 29 13:42:38 2022 -0400

        Initial commit of directory comparison tools (#934)

        Adds a new `test/` directory to the top level. Inside are miscellaneous scripts I have used to test bitwise identicality of experiments.

        Main scripts:
        - `diff_ROTDIR.sh`: Compares two output directories
        - `diff_UFS_rundir.sh`: Compares two UFS run directories

        Other scripts and file are helpers to these two main scripts.

        May eventually form starting point of a global workflow regression test (#267)

        Refs #267

    commit e480093446797e556bc1371f9f80610a7c9a6d4b
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Fri Jul 29 13:42:02 2022 -0400

        Add preamble, convert to bash, and remove env (#929)

        This is the first in a wave of commits to improve and standardize the scripts within global workflow. In this commit, all scripts run during execution are converted to bash and a preamble is added to every script that is not sourced by another script.

        Every script executed during a forecast cycle is converted to bash. This was mostly straightforward, though there were a couple Korne-shell conventions (primarily using `typeset` to format strings) that had to be replaced with bash-compatable alternatives like `printf`. This in turn required a few modification to prevent zero-padded numbers from being treated as octals (other may have been pre-existing bugs).

        The preamble contains a number of feature to standardize code and improve script flow and debugging.

        - First, it uses two variables, `$STRICT` and `$TRACE` to control the behavior of `set`. When `$STRICT` is `"YES"`, error on undefined variables (`set -u`) and exit on non-zero return (`set -e`) are turned on. When `$TRACE` is `"YES"`, command trace (`set -x`) is turned on and a useful string is set to `$PS4` that gives the name and line number of the script. Both `$STRICT` and `$TRACE` default to `"YES"`. They also set up commands, `$ERR_EXIT_ON` and `$TRACE_ON`, that will restore the setting of each in the event a script needs to temporarily turn them off.

        - Second, the preamble sets up primative timing of scripts using Posix `date`.

        - Third, it echos the script is beginning and at what time.

        - Finally, it also establishes a postamble function and sets it to run as a trap of EXIT. The postamble will use the end time to calculate the run time of the script, then print that the script has ended at what time, how long has elapsed, and the exit code. By setting this up as a trap instead of just calling it at the end of the script, it ensures the postamble is called even if the script exits early because there is an error.

        - In response to this standardization, parts of scripts that performed these preamble functions (announcing start/end, `set -x`, etc) have been deleted. For some scripts where temporarily turning off `-x` or `-e` is needed, they now use `$ERR_EXIT_ON` and `$TRACE_ON` to return to the correct state afterwards, instead of blindly turning the setting back on.

        - Additionally, some modifications were needed to comply with `set -eu`. Mostly taking care of undefined variables, but also a couple instances where a non-zero return code had to be dealt with.

        If users wish to use their own preamble script instead, the default script can be overridden by setting `$PREAMBLE_SCRIPT` before the run begins.

        Instance where scripts would print the full list of environment variables have been removed. These can be spot added back in to debug as necessary. Alternatively, a future PR will add them back in in a standardized way.

        `rstprod.sh` is added to the link list from gsi_monitor.fd, as it is needed for the radmon scripts.

        The placeholders for AWIPS and GEMPAK in the Hera and Orion environment scripts were replaced with the correct definitions. There were also other modifications to AWIPS and GEMPAK scripts to get it working for development (AWIPS still isn't and will be fixed in the future).

        GSI scripts that were brought in recently had all of their backticks replaced with `$(  )` as was done with all other script previously.

        Refs: #397

    commit 949513642d33cb3976d0f8e7dd273aedec505a17
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Thu Jul 28 18:36:58 2022 -0400

        minimal intervention to create a data-atmosphere xml (#936)

    commit e4b01b99f50c674635477ff3e2e962b9d5ed54aa
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Thu Jul 28 18:28:28 2022 -0400

        Remove Cray, Dell, WCOSS1 from module-setup.sh.inc (#943)

        This file was missed in the initial cleanup.

    commit 1ed89c7d202974bd4ccd2b048fedc56382edc9ec
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Thu Jul 28 15:35:37 2022 -0400

        bring GDASApp jjobs and exscripts to global-workflow (#941)

    commit f04f3ba4dfd5b358aea425f65f82d40917597776
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Tue Jul 26 22:07:42 2022 -0400

        change gdasechgres dependency to just gdasefcs01 instead of gdasefmn (#933)

        Replaces the dependency of `gdasechgres` on `gdasefmn` with `gdasefcs01`.

        Presently, `gdasechgres` has 2 dependencies:
        - `gdasfcst` - deterministic forecast
        - `gdasefmn` - ensemble forecasts (all of them).

        The work done in `gdasechgres` actually depends only on the `mem001/atmos/gdas.tHHz.atmf006.nc`.
        This file is used as a template as well as obtaining `hgtsfc`.
        As such, there is no reason to depend on the entire ensemble of forecasts to be complete before `gdasechgres` can start.

    commit 490de7bae1322cbaa8ee3d52406034c8edf62dd3
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Tue Jul 26 22:05:59 2022 -0400

        Remove obsolete platforms (WCOSS1, Dell, Cray, Theia) references. (#922)

        Removes code related to decommissioned HPC platforms WCOSS 1 (Dell & Cray) and Theia. Some references remain in scripts outside the global-workflow repo that are cloned as part of `checkout.sh`. Scripts from the `driver` directory that were hard-wired for one of the WCOSS1 platforms are also removed.

        Additionally, this commit also switches to using serial netCDF for resolutions C48. C96, C192.  Running with parallel netCDF (on Hera) gave errors when testing at C96 for the deterministic forecast.  If someone gives a very compelling reason to use parallel netCDF at these resolutions as default, I would be very interested in what they have to say.

        Closes #680

    commit 4eb296f7e82459b1d8188636ca3db60b5fa10091
    Author: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com>
    Date:   Tue Jul 26 14:50:30 2022 -0400

        Optimize DA clone, build, and link (#931)

        The PR contains changes to optimize the DA clone, build, and link.   Changes are made to `checkout.sh`, `build_all.sh`, and `link_workflow.sh` in the g-w `sorc/` directory.  These changes are in g-w branch `feature/clone`

        Two arguments are added to `checkout.sh` to allow the user to specify which DA package to build the global workflow with.  These options are
        - `-g`: clone from the [GSI](https://github.com/NOAA-EMC/GSI) repo and build the g-w for GSI-based DA
        - `-u`:  clone from the [GDASApp](https://github.com/NOAA-EMC/GDASApp) repo and build the g-w for UFS-based DA

        If no option is specified, `checkout.sh` does not clone any DA and DA related repos.  This is the default behavior of `checkout.sh`.   (_DA related_ repos include [GLDAS](https://github.com/NOAA-EMC/GLDAS), [GSI-utils](https://github.com/NOAA-EMC/GSI-utils), and [GSI-Monitor](https://github.com/NOAA-EMC/GSI-Monitor).)

        `build_all.sh` is modified to detect which repos and have been cloned and to build accordingly.   `link_workflow.sh` is modified to detect which directories are present and link/copy accordingly.

        Closes #930

    commit 2cad536551180d25bfcfc2b5d35fe1089de7f3c3
    Author: Kate Friedman <kate.friedman@noaa.gov>
    Date:   Tue Jul 26 13:25:37 2022 -0400

        WCOSS2 gempak ush scripts updates and cleanup of old release notes (#920)

        * WCOSS2 updates to gempak ush scripts

        - Add /gempak subfolder where needed in gempak ush scripts.
        - Remove unneeded commented out path settings from older iterations.

        * Removing older release notes

        - Cleaning out older GFS version release notes; includes current GFSv16.2.1 release notes, will commit GFSv16.3
        release notes with implementation this fall.
        - Will then keep only the latest release notes moving forward.

        Refs: #419

    commit ffcd5bbde7947902a73eebff7dfe04c2ab045b0a
    Author: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com>
    Date:   Fri Jul 22 16:00:51 2022 -0400

        Add GDASapp (first wave of JEDI changes) (#871)

        Merge changes associated with g-w issue #521 from g-w branch feature/ufsda_gdasapp into develop. feature/ufsda_gdasapp contains g-w extensions for JEDI based atmospheric DA.

        Specifically, this PR adds the option to add JEDI based variational and/or ensemble DA jobs to replace GSI based DA jobs.   The toggling on/off of JEDI_VAR and JEDI_ENS jobs is controlled via two new variables added to `config.base.emc.dyn` and `config.base.nco.static`
        ```
        # DA engine
        export DO_JEDIVAR="NO"
        export DO_JEDIENS="NO"
        ```
        When both variables are `NO`, the global workflow uses GSI based DA jobs.   Thus, the PR does not alter the default behavior of the develop global workflow.

        When `DO_JEDIVAR=YES`, GSI jobs `anal` and `analdiag` are replaced by JEDI_VAR jobs `atmanalprep`, `atmanalrun`, and `atmanalpost`.  When `DO_JEDIENS=YES`, GSI jobs `eobs`, `ediag`, and `eupd` are replaced by JEDI_ENS jobs `atmensanalprep`, `atmensanalrun`, and `atmensanalpost`.

        `checkout.sh`, `build_all.sh`, and `link_workflow.sh` are updated to clone, build, and install the GDASapp in the global workflow.
          Local directory `sorc/gdas.cd` contains the GDASApp superstructure plus the relevant components of JEDI needed to run GDASApp.

        Closes #521

    commit 98f4d16e9bba86d2c433aa0521d960b566062a1f
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Thu Jul 21 16:02:31 2022 -0400

        Add postsnd job when bufrsnd it on (#926)

        In the workflow refactoring, the addition of postsnd to the task list when
        bufrsnd is true was inadvertently left out. It is now added back in.

    commit e2869a1247ad2ba72c1bfe82f7682323d5128f4c
    Author: Kate Friedman <kate.friedman@noaa.gov>
    Date:   Tue Jul 19 16:16:20 2022 -0400

        Updated GFS transfer*list files from operations (develop) (#918)

        Updated transfer list files from WCOSS2 ops.

        - In move to WCOSS2 the transfer*list files were moved into a new
        transfer folder under the upper-level parm folder.
        - The transfer*list files were updated to clean out unneeded paths
        and the beginning of the paths were updated from:
          `com/gfs/_ENVIR_`
        to:
          `_COMROOT_/gfs/_SHORTVER_`

        Refs: #419

    commit 1651014250a748c8c2e2878663c3e8376639044a
    Author: ChunxiZhang-NOAA <49283036+ChunxiZhang-NOAA@users.noreply.github.com>
    Date:   Tue Jul 19 11:18:33 2022 -0400

        Fix history type of cldfra in the diag_tables  (#915)

        The history type of the new cloud fraction field (cldfra) is changed so it is written to the correct output file.

        Fixes #914

    commit 5c9639dba419ef51608aa8962b54ae69c8ad8c60
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Tue Jul 19 11:11:38 2022 -0400

        Combine ecflow and rocoto workflow generation (#916)

        Consolidates the workflow generation systems for ecflow and rocoto.  Further unification will be made to make a choice to use one or the other.  At this time, they are separate and need separate input criteria.

        Moves `ush/rocoto` to `workflow/` at the top level.  Further refining will be performed as needed based on use and need.

    commit b690ed6c7c1a250171484aba267d0724d8c12d11
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Mon Jul 18 19:33:36 2022 -0400

        Remove new GSI scripts from gitignore (#917)

        When the scripts were moved over from GSI into global workflow, they
        were never removed from the .gitignore. This has now been addressed.

        Follow-up to PR #904

    commit aa2542eb4c95827bc1fc7a4a76d4d0f5bc701f74
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Mon Jul 18 13:49:09 2022 -0400

        Add ecFlow generator to `develop` (#912)

        * merge workflow_generator from dev_v16 at 7b7947e2 and move workflow_generator to ush/ecflow

    commit 5a58fa8a2f75590a671b45bf75a431f2acf2340b
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Mon Jul 18 13:02:59 2022 -0400

        Update gsi-utils hash to include bugfix in handling 3D sfc files (#913)

        Update GSI-Utils hash to include bugfix that processed 3D fields in surface netCDF files.

        Fixes #909

    commit e8361cc343743bb5087e75f89406c1265404e359
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Mon Jul 18 12:44:25 2022 -0400

        Combine setup_workflows scripts (#859)

        `setup_workflow.py` and `setup_workflow_fcstonly.py` are used for setting up the XML for cycled and forecast only configurations.
        They share large parts of the tasks and dependencies.

        This PR unifies the ones listed above and makes room for extending for incoming applications.
        The above two scripts are being replaced by `setup_xml.py`.
        The usage is:

        ```
        $> setup_xml.py /path/to/experiment_directory
        ```

        This PR also removes the handicap of defining hundreds of entities for task resources.  Instead the task resources are placed with the task itself.

        This PR also does the following:
        - moves the declaration of `DOBNDPNT_WAVE="NO"` from `config.wave` to `config.base`
        - reduces timestep at `C48` from `1200s` to `450s` in `config.fv3`.  Several ensemble members failed.  Inspecting `config.fv3.nco.static`, the value there is `450s`
        - `eobs` job times out with a wallclock time of `15m`.  It is increased to `45m` to play it safe.

    commit 13385d9c9018def1fbce6772e53665ccb90b2a2a
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Fri Jul 15 14:02:12 2022 -0400

        Load `ncdiag` module instead of building it in the GSI, use UFSWM build system, pull sfcanl out from anal. (#905)

        `ncdiag` is no longer being built within the GSI.  It is available as a module on all systems; Hera, Orion and WCOSS2.

        This PR:
        - loads ncdiag module
        - finds the `ncdiag_cat_serial.x` executable from that module (once loaded)
        - updates hashes for GSI, GSI-utils and GSI-monitor.  No code changes were made in these repos.  Only location of `ncdiag` changed.

        In addition, this PR:
        - Uses the ufs-weather-model compilation script.  The global workflow is duplicating and missing configuration options set in the ufs-weather-model.  This also enables a "debug" mode of compiling the model (#300).
        - Fixes #906
        - Fixes an improper link to `fix_gsi`.  It was being linked to a non-existing directory.
        - separates out the creation of Gaussian surface analysis from the GSI atmospheric analysis.  This capability is pulled from PR #871.  It was necessary to pull these changes from PR #871 since the `j-jobs`, `ex-scripts` from the GSI have been brought to global-workflow and the companion PR for PR #871 in the [GSI PR 415](https://github.com/NOAA-EMC/GSI/pull/415) were already merged prior to the updates needed for `ncio` and `ncdiag`.

        I realize all these changes could have been streamlined into smaller atomic PR's.

        **Note:**  This PR also requires a documentation update as a new job `sfcanl` has been added to the workflow.

    commit b61c2375a05daff20805d0216ade8201192c0199
    Author: Fanglin Yang <fanglin.yang@noaa.gov>
    Date:   Thu Jul 14 20:07:54 2022 -0400

        Update ice climo, fix option for non-fractional grid, and add cloud fraction for Thompson (#902)

        Updates the ice climatology from CFSR to IMS_NIC blended.

        Fixes issue in the diag table where the cloud fraction entry for Thompson was not included.

        Adds new coupled mode setting for when fractional grid is not used.

        Fixes #886

        Co-authored-by: Chunxi.Zhang-NOAA <Chunxi.Zhang@noaa.gov>

    commit 680270975e2eb2f09c58a6112a87c0ecaec9e2a5
    Author: Barry Baker <bbakernoaa@users.noreply.github.com>
    Date:   Thu Jul 14 17:03:34 2022 -0400

        Update aerosol variable names and dust alpha (#888)

        The names of some aerosol fields have changed and needed to be updated.

        The dust alpha parameter is updated to improve model performance.

        A typo in the scavenging parameter definition where a string was terminated with a 'smart-quote' instead of a standard one is corrected.

    commit 06b25267b7839808508eed9e91dcd2b76a33c3ca
    Author: Jessica Meixner <jessica.meixner@noaa.gov>
    Date:   Thu Jul 14 18:52:56 2022 +0000

        Allow for wave mesh to be different than the ocean/ice mesh (#897)

        This PR updates the configuration to allow for the wave mesh to be different from the ocean/ice mesh. This PR also changes the default wave grid back to gwes_30m and updates the load-balancing for this change. The ufs-weather-model is updated to use the code that allows for the wave mesh to be different from the ocean/ice mesh.

    commit 4f3e14b59ff6c83fbaaf6888c3a3068eae3d77d7
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Wed Jul 13 15:53:18 2022 -0400

        Migrate `jobs/`, `scripts/` and `ush/` from GSI to global-workflow (#904)

        This PR moves the `jobs/`, `scripts/` and `ush/` from NOAA-EMC/GSI into the global-workflow.
        History is preserved.

        Corresponding GSI PR https://github.com/NOAA-EMC/GSI/pull/436

    commit 46f7589807bcb070c8f86601b74f1a84701b669a
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Wed Jul 13 15:51:56 2022 -0400

        build GSI utilities from GSI-utils repo (#889)

        **Description**
        The GSI Utilities have been moved to https://github.com/NOAA-EMC/GSI-utils

        This PR:
        - checks out GSI utilities from the above repo
        - builds the utilities from the above repo
        - does not build the utilities from the GSI repo.  In a subsequent PR when the GSI removes the utilities, that option will become redundant.
        - updates gsi-monitor hash and uses `build.sh` from that repository
        - creates links appropriately.

    commit aac2f3a6980cb61a0dbe272b667f602e3051cb16
    Author: Jessica Meixner <jessica.meixner@noaa.gov>
    Date:   Mon Jul 11 06:57:25 2022 +0000

        Replace print_esmf with esmf_logkind (#898)

        Removes print_esmf as it no longer a variable and add the esmf_logkind variable to config.fcst instead which is the equivalent new variable. The change has already been made in nems_configure.sh, so the setting only needed to be changed in the config file.

    commit 4448dd48b2aeebdf4257a2ab08bd147fcb511f92
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Fri Jul 8 13:03:29 2022 -0400

        Restore cycling capability (#895)

        Restores the ability to run in cycled mode. This requires GSI to be built with ncio/1.1.2, so the build script now sets 1.1.2 as the ncio version until either the GSI default version is updated or module version files are added to global-workflow (Issue #671).

        Two new variables, COMIN_OBS and COMIN_GES_OBS, had to be added to the config file in the wake of GSI updates for WCOSS2 to ensure the correct paths are used instead of trying to use the non-functional compath.py.

        Note that, for now, in order to use cycling, the microphysics setting (imp_physics) must be changed in config.base from Thompson (8) back to GFDL (11), along with a corresponding CCPP suite (like FV3_GFS_v16).

        Fixes #711

    commit a39bd6364971894eee4349b028ebf54ab496dee0
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Tue Jul 5 16:10:46 2022 -0400

        Merge `ecf` changes from `WCOSS2` into `develop` (#885)

        * moved ecflow/ecf to ecf and with updates from feature/ops-wcoss2

    commit 3076e13ca5976206f1cdab58cca1b6f80fbb7716
    Author: Fanglin Yang <fanglin.yang@noaa.gov>
    Date:   Fri Jul 1 10:33:39 2022 -0400

        Fix settings of dt_inner and lheatstrg (#883)

        For Thompson microphysics, currently dt_inner is set to half of physics timestep. It should be set to the same as the physics timestep if semi-Lag sedimentation is applied to rain and graupel.

        Canopy heat storage is incorrectly turned off for NOAH LSM, and on for NOAH-MP LSM. This setting needs to be reversed.

        Fixes #884

    commit 3b9636c4eadc8c31548e170baeefd358483ec71c
    Author: Ali.Abdolali <37336972+aliabdolali@users.noreply.github.com>
    Date:   Wed Jun 29 18:22:06 2022 +0000

        Update buoy locations (#881)

        Updates buoy locations for those that were incorrect or have been moved.

    commit f0f1025d07a1af216e2125111ae7bd9ac43213c2
    Author: Barry Baker <bbakernoaa@users.noreply.github.com>
    Date:   Tue Jun 28 12:05:31 2022 -0400

        Update dust input files to not include _FillValue = NaN (#873)

        There is an issue with the FENGSHA dust inputs and having the netcdf attribute _FillValue == NaN. This is in relation to ufs-community/ufs-weather-model#1259, ufs-community/ufs-weather-model#1192 and #872

        Some dust emissions files have also been updated. File changes only include the netcdf attribute _FillValue changing from NaN -> something appropriate for each variable.

        Fixes #873

    commit 4c8b388ae4fd1fb618021b5c11d5e9c82c2ee2f7
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Mon Jun 27 18:14:39 2022 -0400

        Replace --aerosols with new apps (#854)

        Removes the --aerosols option for setup_expt and replaces it with new apps for aerosols to match the idiom for other components. Currently, ATMA and S2SWA are supported.

    commit 65cdcce2f841f5e3e4926d4dab73fd5a8a97bd84
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Mon Jun 27 17:47:46 2022 -0400

        Update component versions (#851)

        Updates the version of components except UFS and verify to the current tip of their respective develop branches.

        Verify is not yet updated because we are currently on a branch that hasn't been merged to develop yet in order to use the module/py environment fix.

        GSI will still need to be updated further before use after the resolution of NOAA-EMC/GSI/issues/348

        Also updated the GSI and UPP build scripts to take in debug (`-d`), operations (`-o`), and verbose (`-v`) options and apply them as appropriate to the component build scripts. The ops flag for GSI still needs work, as I encountered issues using the [build_4nco_global.sh](https://github.com/NOAA-EMC/GSI/blob/develop/ush/build_4nco_global.sh) or [prune_4nco_global.sh](https://github.com/NOAA-EMC/GSI/blob/develop/ush/prune_4nco_global.sh) scripts.

        Also fixes a typo in the `parm/post` file list.

        Updates are in preparation for the [COM reorg](https://github.com/NOAA-EMC/global-workflow/issues/761)

    commit 2dc2af0e84f52864a719d71d3dbf14f6368f4c0f
    Author: Jessica Meixner <jessica.meixner@noaa.gov>
    Date:   Fri Jun 24 18:49:39 2022 +0000

        Update caculation of restart based on if a wave IC exists (#875)

        Inspect and assert wave initial conditions exist during a RERUN.  Take appropriate action.

    commit b41a36a10b2f949b0c005e48b978261b3d66eb12
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Thu Jun 16 22:38:28 2022 -0400

        update from dev_v16 utils.f90.  See issue #713 (#868)

    commit a2b9f483c4aaad37e5d26362186b28a782c0541f
    Author: Barry Baker <bbakernoaa@users.noreply.github.com>
    Date:   Tue Jun 14 23:51:47 2022 -0400

        Update GOCART settings for p8/p81 (#818)

        Wet scavenging coefficients for GOCART are updated.

        Fixes a bug where when running atm-aerosol, aerosol settings were not properly read.

        Changes the location of aerosol emissions data on Hera now that Raffaele has moved to a new position.

        Dust inputs for the fengsha dust emission scheme are updated. These updates include a newer soil database (SOILGRIDSv2) and updates for the drag partition and threshold velocity. It also appropriately scales the emissions by modifying the alpha value found in the dust component configuration file.

        Fixes #814
        Fixes #815
        Fixes #816
        Fixes #816

    commit 027eab90e2cb94a1055f9bc54245e7d5979aca3b
    Author: Kate Friedman <kate.friedman@noaa.gov>
    Date:   Fri Jun 10 09:10:24 2022 -0400

        Retire VSDB (#848)

        Remove VSDB variables, script blocks, and scripts from global-workflow develop.

        Refs: #844

    commit d6705e2564a698eeddf2424bd580482546658788
    Author: Kate Friedman <kate.friedman@noaa.gov>
    Date:   Fri Jun 10 09:05:36 2022 -0400

        Add "atmos" COMPONENT subfolder to DMPDIR paths (develop) (#847)

        - add atmos to WAVICEFILE DMPDIR path in JGLOBAL_WAVE_PREP
        - add COMPONENT to all DMPDIR paths (COMPONENT=atmos already set)
        - add "atmos" to all DMPDIR paths in config.anal
        - add COMPONENT to COMIN_OBS default that uses DMPDIR in drive_makeprepbufr.sh
        - add COMPONENT to SOURCE_DIR default that uses DMPDIR in getdump.sh
        - add "atmos" to prep job dependency on updated.status.tm00.bufr_d in setup_workflow.py

        Refs: #802

    commit 59604d60a787fc758380a1ef513601d6ffa97566
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Fri Jun 10 03:29:16 2022 -0400

        Move remaining global post scripts over from UPP (#771)

        Several scripts currently located under NOAA-EMC/UPP are only used for global, so they have been moved within global-workflow so they can be managed by the global-workflow team. Scripts are just copied from the current tip of UPP develop, other than some changes to standardize style and indentation.

        Also coming over are four parm files that are used to produce GFS products. As a result, we are no longer linking the entire upp parm directory; instead we are creating individual links for the files we use that still reside in upp.

        Fixes #630
        Fixes #769

    commit d78c942a271e669b1fd5adf4f99af108c9f884fe
    Author: Jessica Meixner <jessica.meixner@noaa.gov>
    Date:   Tue Jun 7 14:56:26 2022 +0000

        update readme for new linking procedure (#843)

    commit 3194f52d1625379e067fd16e84016d45ba5560fc
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Tue Jun 7 01:35:15 2022 -0400

        Consolidate post scripts to eliminate coupled mode of link script (#766)

        The two scripts that had modified versions for the coupled model have been joined with changes to the original scripts, eliminating the need for a special coupled mode for the link script. As part of this, those two scripts are no longer copied from UPP and are now part of the global-workflow repository.

        Fixes: #679
        Fixes: #746
        Refs: #270

    commit d1d2606406aa2deb8d95f348b471770f4388777c
    Author: Jessica Meixner <jessica.meixner@noaa.gov>
    Date:   Mon Jun 6 04:49:38 2022 +0000

        Updates for wave mesh cap (#831)

        Updates to work with the new WW3 mesh cap, including pointing to the new ufs-weather-model tag for p8c slong with associated namelist changes. There is a new setting in config.ww3, `waveMULTIGRID`, that controls whether WW3 uses generic shell (shel) or multigrid.

        The build script for WW3 pre/post has been updated to use the app to determine whether the regular switch file (for ATMW) or the meshcap version (other) is used. In light of this, `build_all.sh` now passes the app to WW3 pre/post as it does with the UFS build.

        A large section of the wave prep script that was a hold-over from running WW3 offline from the atmosphere dealing with pre-processing winds was removed. Another large section was moved out of prep and into a new `parsing_namelists_WW3.sh` script that is called during the forecast job (similar to those for some other components).

        The ability to set `esmf_logkind` for the UFS model is restored (defaults to ESMF_LOGKIND_MULTI).

        The jlog files were removed for the non-pdgen wave script and ush files.

        Resources for the coupled model are rebalanced.

        Fixes #736

    commit 7173fa58f0da831ad181a3afdaf3c861afa49e49
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Wed Jun 1 17:05:21 2022 -0400

        Extend `rocoto.py` for handling offsets in data dependencies. (#835)

        Extend rocoto.py data_dep to handle offset to cyclestr in any number of instances.  Remove hack in aerosol_init dependency generation.

    commit a9998af41cb8c2825f34745091a41ea400815d8d
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Wed Jun 1 14:11:49 2022 -0400

        Refactor checkout script (#809)

        The checkout script is refactored. First, the repetitive checkout code is abstracted into a function that is called for each component. Second, if the clone already exists, checkout will still checkout the requested commit. Third, a new option (-c) is added that will delete any existing clones a create a fresh clone. These last two options allow updating of versions without needing to manually delete directories (and remembering which are created by checkout)

        Additionally, a usage statement and code documentation are added.

        There is no change to the existing command-line options, only new options. No change is necessary by users (although the checkout order and print messages have changed). The new syntax is as follows:
        ```
        checkout.sh [-c][-h][-m ufs_hash][-o]
          -c:
              Create a fresh clone (delete existing directories)
          -h:
              Print this help message and exit
          -m ufs_hash:
              Check out this UFS hash instead of the default
          -o:
              Check out operational-only code (GTG and WAFS). Only authorized users can check out GTG.
        ```

        Fixes #808

    commit 85bca2479420927d29a1a9db41b542568d527c13
    Author: Jessica Meixner <jessica.meixner@noaa.gov>
    Date:   Wed Jun 1 15:05:07 2022 +0000

        Update IC location for hera because climate moved from (#829)

        The location of the coupled ICs on Hera is changing, so need to update the path in the config.

    commit dbd9fa93ced07f39accf7ff4eec2859f0ed5d35f
    Author: ChunxiZhang-NOAA <49283036+ChunxiZhang-NOAA@users.noreply.github.com>
    Date:   Mon May 30 21:50:56 2022 -0400

        Updated SDFs and namelist settings for P8c (#795)

        Updates the model version in preparation for prototype 8c, along with commensurate setting updates. Some CCPP suites are removed from the UFS build as they are no longer available.

        Also updates the coupled initial conditions, and there is a simultaneous update to fixed orography files.

        Refs: #736

    commit 05accc1c72b1311ae9689bef5e7a1291dc12a96a
    Author: RussTreadon-NOAA <26926959+RussTreadon-NOAA@users.noreply.github.com>
    Date:   Mon May 23 17:36:51 2022 -0400

        Correct incorrect increment prefix variable (#805)

        One instance of the increment prefix variable in `ush/forecast_postdet.sh` used `PREFIX_INC` instead of the `PREFIX_ATMINC` used elsewhere.

        Fixes #804

    commit ac7cb1000d5c1d31babd36f4c3e17f643f30fd4d
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Sun May 22 16:50:30 2022 -0400

        Remove separate UPP clone (#803)

        Now that UPP is cloned within UFS, there is no need to create an independent clone in global-workflow. Scripts are updated to use the UPP within UFS. In addition to removing redundancy, this will avoid version mismatch issues when UFS and global-workflow checkout different versions. The upp directory is now linked from within UFS to sorc as upp.fd (instead of the gfs_post.fd the clone was placed in). Additionally, the build script is renamed to build_upp.sh.

        Fixes #770
        Moots #797

    commit 58728fb2c689c11335f4bf8ac371e18070c6fbd2
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Fri May 20 10:14:58 2022 -0400

        Fix build script options (#801)

        There was an issue where if build_all.sh was called with only options that are not used by partial_build.sh, partial_build.sh would see those options because $@ was not overwritten. The script have been updated to consume those options so they are no longer present if $@ isn't overwritten in the new script call.

        Also fixed the getopts statement in partial_build.sh so we handle errors instead of bash (bash would report the wrong script if the script is sourced)

        Fixes #800

    commit fa12db279cf829b861d08c06e3e3534a335e9fd7
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Wed May 18 01:04:32 2022 -0400

        Refactor some build scripts (#794)

        Refactors the build_ufs script to allow the build of any UFS app to support future expansion of global-workflow capability. The default should be sufficient for most users, as S2SWA can be used for ATM, ATMA, S2S, and S2SW as well. The new format of the command is now:
        ```
        build_ufs.sh [-a UFS_app][-v]
          -a UFS_app:
            Specify the UFS application to build. The default if none is provided is S2SWA
          -v:
            Turn on verbose mode (BUILD_VERBOSE)
        ```

        build_all.sh is similarly refactored to include the same options. Also, a new `-c build_config` option is added to specify an alternative list of programs to build.
        ```
        build_all.sh [-a UFS_app][-c build_config][-h][-v]
          -a UFS_app:
            Build a specific UFS app instead of the default
          -c build_config:
            Selectively build based on the provided config instead of the default config
          -h:
            Print usage message and exit
          -v:
            Run all scripts in verbose mode
        ```

        partial_build.sh is also updated to take the new `-c` option to specify a build config.
        ```
        partial_build.sh [-c config_file][-h][-v]
          -c config_file:
            Selectively build based on the provided config. The default if none is specified is gfs_build.cfg
          -h:
            Print usage message and exit
          -v:
            Run in verbose mode
        ```

        In addition to the above, build_all and partial_build had their indentation redone and their usage/help statement updated/added. Also, the build configuration file was renamed to from fv3gfs_build.cfg to gfs_build.cfg.

        Fixes #745
        Fixes #751

    commit 2abee02765a3bae48f2b4e6a900400d6731eda06
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Wed May 18 01:02:57 2022 -0400

        Add continuous aerosols support (#693)

        Adds support for continuous aerosols when running with GOCART (using the forecast aerosol tracers from the previous cycle as initial tracer fields). This adds a new task to the workflow mesh in forecast-only mode. The new task does not run in the first cycle, though it will appear in rocotostat/rocotoviewer. In subsequent cycles, the task will launch as soon as the needed restart files from the previous cycle are available and gfs_init has completed. There is currently no mechanism to have aerosol_init run for the first cycle (for instance, continuing from a previous experiment); users would have to run the scripts off-line to add aerosols to the initial conditions.

        To support the introduction of the necessary python scripts, a new python environment is added to provide necessary libraries. This virtual environment is temporarily being housed in personal space, but an issue has been opened with hpc-stack to add it to the standard stack installations. The introduction of miniconda also caused the conversion of all of the rocoto entry scripts (the ones rocoto calls to run the job) to bash. Most of them had been in korne.

        To make sure the needed restart files are produced, config.fcst now makes sure the forecast cadence is included in the list of restart times. This may need more testing to ensure it works properly with other restart lists. As part of this, STEP_GFS was updated to properly determine the step from gfs_cyc instead of being a set value.

        Closes #366
        Fixes #516
        Fixes #630

    commit 69b39ee5af8cfbb5cbf5cf62c92d01958b697652
    Author: Kate Friedman <kate.friedman@noaa.gov>
    Date:   Thu May 12 12:18:50 2022 -0400

        Add --init to GSI submodule command (#781)

        Needed to obtain libsrc submodule during checkout and allows the GSI to build correctly since this GSI hash still needs the libsrc submodule during build.

        Refs: #780

    commit b09f92c21028ea37e4663ce4c304935a2dc45b33
    Author: lgannoaa <37596169+lgannoaa@users.noreply.github.com>
    Date:   Thu May 12 08:20:16 2022 -0400

        Update field_table to be consistent with UFS (#778)

        Changes the fixed surface value of hydrometeor number concentrations and sub-grid TKE to 0. Also renames the field table. Both changes are consistent with changes made in UFS.

        Fixes #676

    commit d72a62d6c0ab2e9f53ca3e6133148f29982f9d32
    Author: lgannoaa <37596169+lgannoaa@users.noreply.github.com>
    Date:   Thu May 12 08:15:23 2022 -0400

        Remove special MOD_PATH from build scripts (#775)

        We always use pre-installed libraries and special MOD_PATHs are no longer necessary, so these are removed from build scripts. MOD_PATH. This also moots MOD_PATHs that were hard-coded to Hera locations in some scripts. The MOD_PATH in build_ufs.sh remains as it is still needed and is a relative path into the UFS repo.

        Fixes #298

    commit 2adf123814a2f29e9cca54a11fbb2807b3f6cf1b
    Author: Kate Friedman <kate.friedman@noaa.gov>
    Date:   Wed May 4 12:31:20 2022 -0400

        Revert g2tmpl back to 1.10.0 (#773)

        Resolves bug with mismatch between hpc-ips and g2tmpl versions on the WCOSS-Dells. Also revert back to 1.10.0 on Hera and Orion to be consistent.

        Refs: #772

    commit b90f4e99bc42f9a8afbeaa9479e674fb75e096ea
    Author: lgannoaa <37596169+lgannoaa@users.noreply.github.com>
    Date:   Tue May 3 09:45:19 2022 -0400

        Remove git submodule update for upp checkout (#768)

        UPP no longer has a CMakeModules submodule, so the submodule update
        is removed from the checkout script.

        Fixes: #767

    commit ad2b14d9b1ed0fe89fe59bfb96cc03630e8457de
    Author: lgannoaa <37596169+lgannoaa@users.noreply.github.com>
    Date:   Tue May 3 09:44:57 2022 -0400

        Remove duplicate file linking for Thompson MP (#765)

        Files for Thompson MP were being copied twice by the link script: once by checking imp_physics, then again checking the CCPP Suite. This is now reduced to one check.

        Fixes: #675

    commit a9fc0033b908aefb42d5b2d191c65af5cb7660c4
    Author: Kate Friedman <kate.friedman@noaa.gov>
    Date:   Thu Apr 28 15:17:22 2022 -0400

        Remove unneeded/outdated modulefiles (#762)

        Remove unneeded modulefiles for WCOSS-Cray and GSI monitoring.

    commit 3333dee304b6b53d3d716c60d0c87ad06d629c1c
    Author: lgannoaa <37596169+lgannoaa@users.noreply.github.com>
    Date:   Thu Apr 28 14:35:57 2022 -0400

        Remove prepbufr_pre-qc from archive lists (#753)

        The prepbuft_pre-qc file does not need to be archived, so it no longer is.

        Fixes #361

    commit 88b1b1591d3201709f5f981908aaf7890d3021bd
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Tue Apr 26 20:40:41 2022 -0400

        Convert module files from Tcl to Lua (#756)

        Converts all module files from Tcl format to Lua. As a side effect, this change enforces using the files as modules rather than improperly sourcing them instead of loading.

        Fixes #670

    commit ca80aeb86cb221263611605ba23858448bce0bad
    Author: lgannoaa <37596169+lgannoaa@users.noreply.github.com>
    Date:   Mon Apr 25 06:23:06 2022 -0400

        Ensure hourly files when GLDAS is on (#740)

        GLDAS requires hourly output, so make sure FHOUT is 1 when GLDAS is on.

        Fixes #695

    commit 9d00239088651b73a9667b70bd6247b34e35046f
    Author: lgannoaa <37596169+lgannoaa@users.noreply.github.com>
    Date:   Tue Apr 19 21:22:22 2022 -0400

        Update cyclone tracker to handle return code correctly #642

        Updates the cyclone tracker call to correctly exit with an error code if the tracker script reports one.

        Fixes #507

    commit 33d3dd14d6df8109274dde4606bb7a50e4638fa2
    Author: Jessica Meixner <jessica.meixner@noaa.gov>
    Date:   Tue Apr 19 21:18:56 2022 -0400

        Update ww3 pre and post exe build to use cmake (#731)

        Updates the WW3 pre/post build system to use cmake.

        Fixes #688

    commit 39facec1e03a404f84fd05b8739cd8e4010a0779
    Author: Kate Friedman <kate.friedman@noaa.gov>
    Date:   Tue Apr 12 11:36:30 2022 -0400

        Add WCOSS2 GFSv16.2 operational def files into develop (#717)

        Add WCOSS2 operational GFS def files.

        Refs: #399

    commit 0a85223e48a1a8dcced163791d8e7ae5a42a4fab
    Author: Xianwu Xue - NOAA <48287866+XianwuXue-NOAA@users.noreply.github.com>
    Date:   Tue Apr 12 11:34:17 2022 -0400

        Initialize "err" to avoid potential task fail (#715)

        If not initialize err, and change "set -x" to "set -xue", then the waveinit task will fail with error message:
            "line 234: err: unbound variable"

         On branch bugfix/issue_714
         Changes to be committed:
        	modified:   scripts/exgfs_wave_init.sh

        Refs: #714

    commit fc6e1c3316397432d2da218b3c4fc0ea1fe70644
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Tue Apr 5 11:07:21 2022 -0400

        config.base should not exist in the repository unless it is in ops.  template only exists in the repo, the experiment directory should not contain the templated config.base.emc.dyn (#707)

    commit cabf437044cb937caf7a7830068fd9e413c5921f
    Author: Jessica Meixner <jessica.meixner@noaa.gov>
    Date:   Wed Mar 30 21:28:50 2022 -0400

        Update model and settings for Prototype P8b (#681)

        Updates model and setting defaults for prototype 8b.

        The UFS version is updated to a recent version of UFS (tag Prototype-P8b). As part of this, the print_esmf option is removed from the model configure file and replaced with a new setting in nems.configure. We have not made this option user-configurable at this point, but that may come in the future.

        The default CCPP suites have been updated for all modes to either FV3_GFS_v17_p8 or FV3_GFS_v17_coupled_p8. This involves changing the microphysics to Thompson and changes the gravity wave drag version (knob_ugwp_version) to 0. This change breaks cycled mode for the time being. A future PR will revert the defaults to ones that allow cycled to run along with a more robust system for changing settings.

        Tiled fix files are now used for all modes instead of just coupled.

        Cellular automata now defaults on ON.

        There are also other miscellaneous settings that have had their defaults changed.

        Fixes #641, #687

    commit e3f707cb9c05b45e9d4019679e406f54008279a5
    Author: XuLi-NOAA <55100838+XuLi-NOAA@users.noreply.github.com>
    Date:   Thu Mar 24 05:43:31 2022 -0400

        Modify eobs for EnKF thinning

        In the Hybrid EnKF GSI, the thinning box size, dmesh, is different for the full resolution analysis and EnKF respectively. There are set in GSI scripts for the full resolution analysis, and reset in global workflow in config.eobs.
        Only two thinning box sizes, dmesh(1) & dmesh(2), are defined in GSI scripts before, recently, two more, dmesh(3) & dmesh(4) are added. Accordingly, these two need to be added in config.eobs as well.

        Specifically, add dmesh(3)=225.0,demsh(4)=100.0 to config.eobs.

        Fixes #595

    commit c32eea459af3177cee28e151b43fe5e12bdfc412
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Tue Mar 22 11:18:10 2022 -0400

        Update ocean resolution for C48 (#651)

        The ocean resolution for C48 was set as 1-deg, but the fractional
        grid fix files available at C48 are for a 4-deg ocean grid. The
        ocean resolution is now set to this value when FV3 is C48.

        Also commented out a currently redundant block setting OCNRES in
        config.ocn. The one in ecfs has to stay as it recalculates the
        ocean resolution based on the EnKF resolution.

        Fixes #650

    commit d758e8b227fca7b5a3320adc43c29ba492c3bfe9
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Thu Mar 10 05:54:49 2022 -0500

        Add single forecast GOCART support (#659)

        Adds support for running single coupled free forecasts with GOCART aerosols. Support for continuous aerosol fields from cycle to cycle will be added in a future PR.

        To turn on aerosols, there is a new --aerosols option for setup_expt.py. The option takes no arguments. When it is used, aerosols will be turned on by setting DO_AERO="YES" in config.base.

        GOCART output files are placed in the chem directory in COM.

        There is a new tarball archived, chem.tar, that contains the GOCART output.

        Partially addresses #516
        Fixes #403

    commit a0e23e254c7c881b20d66c1c53cd36de509e6d69
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Tue Mar 1 10:50:39 2022 -0500

        Specify memory for init job (#669)

        The init job has been failing on HPC using slurm due to out-of-memory errors. Now the init job specifies the amount of memory needed.

        Fixes #631

    commit 6874e8939211fdc07143450bfd1b6a2863172e10
    Author: arun chawla <49994787+arunchawla-NOAA@users.noreply.github.com>
    Date:   Fri Feb 25 16:39:45 2022 -0500

        Cleanup of utils directory (#660)

        Removes all of the old, unused GSM scripts and code from the utils directory. Those codes that might still be used have been moved to a new GSM-utils repo.

        Fixes #618

    commit e3d64abc9c02aecb9d5d38755f6524bf9e277e66
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Thu Feb 24 22:49:45 2022 -0500

        Fix bug with partition_batch on WCOSS (#668)

        partition_batch was not being defined for WCOSS machines, but was
        being used in a substitution for config.base.

        Fixes #667

    commit 9d75d8d78037c7a74d1a9c61a88d9d6a7e9b3be9
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Mon Feb 21 02:10:00 2022 -0500

        Split output filetype variable into atm and sfc (#602)

        The determination of the FV3 output filetype was a bit unwieldy as it
        contained two different settings (one for the atmosphere and one for
        the surface) that were not necessarily changed at the same time. They
        were also being determined in a different location than other settings
        based on the model resolution.

        Now the old OUTPUT_FILETYPES variable has been split into two different
        variables, OUTPUT_FILETYPES_ATM and OUTPUT_FILETYPES_SFC. The determi-
        nation was also moved into the config.fv3 file, where other resolution-
        dependent computational settings are set.

        This has resulted in some functional change on WCOSS Dell, as the EnKF
        was using different chunking settings and never used parallel output
        for the surface likely because wasn't being run at a low enough resolu-
        tion to consider it. However, there is no reason to believe the two
        forecast modes should have different chunk or output settings. So, I've
        used the EnKF chunking settings and the free forecast switchover point
        for the surface output mode.

        The new filetype settings are now also divorced from the OUTPUT_FILE
        setting. However, that setting will soon be unnecessary as nemsio
        is removed from the code as an option (see Issue #601).

        Fixes #600
        Refs #601

    commit cb8b5adf16200e7b01b8236a960efce5b6d8ce5d
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Thu Feb 17 15:55:24 2022 -0500

        Correct MODE comparisons for forecast only (#658)

        When the setup_expt scripts were combined, the forecast mode became a mandatory
        argument. The value of this option is then directly used for the MODE variable,
        but the argument name (forecast-only) does not match what was previously used
        for MODE in the forecast-only script (free) and some scripts were still testing
        against the old value instead of the new one. Those comparisons have now been
        updated to use the new MODE name.

        Fixes #657

    commit f8867d3f0b1f3b5d238dced412996c56e30d31a1
    Author: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
    Date:   Thu Feb 10 20:23:54 2022 -0500

        Add LOCALARCH option (#628)

        Adds the option to archive output locally during archive jobs. This is intended for systems that do not have access to HPSS (e.g. Orion and soon S4), but can be used on any machine. To enable, the LOCALARCH setting in config.base should be set to "YES" (HPSSARCH must be "NO"). When enabled, the tarballs normally created on HPSS will instead be created in the local directory specified by $ATARDIR.

        Defaults have been added to setup_expt.py to point to a local ATARDIR and LOCALARCH (currently =NO).

        Fixes #624.

    commit 2950c7b97f99341caa738526138022987f665627
    Author: Jessica Meixner <jessica.meixner@noaa.gov>
    Date:   Thu Feb 10 18:07:43 2022 -0500

        Turn on fractional grid by default for uncoupled forecasts (#638)

        Updates input.nml so that there is more consistency between the cpl and standalone atm input.nml. In particular this addresses the fact that frac_grid was only being set if cpl was true.

        Fixes #571

    commit 64b1c1e5ce37fba48dd717bd11356a6f57d9def4
    Author: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
    Date:   Wed Feb 9 17:02:39 2022 -0500

        Specify warm start as .true. or .false. (#644)

        Corrects the assignment of EXP_WARM_START to either .true. or .false. depending on the value passed to setup_expt.py via `--start`.

        Fixes #643

    commit e537f0cecabc8e16e26b14e606558de906b19e3f
    Author: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
    Date:   Tue Feb 8 23:33:21 2022 -0500

        Archive TC tracking logs if produced (#627)

        The archive job was failing if there were no tropical cyclone files (such as when there are no cyclones). This adds a check for the TC tracking logs in case they are not produced to prevent the gfsarch job from failing on cycles when there were no TCs to track.

        Fixes #625.

    commit 32f93becde5ffa07c162252b95417845f2ab5159
    Author: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
    Date:   Tue Feb 8 20:59:37 2022 -0500

        Fix separate threading for GFS and GDAS forecasts. (#621)

        Fix separate threading options for GDAS and GFS forecasts (#610). This is performed by keeping nth_fcst_gfs separate from nth_fcst and declaring the new variable npe_node_fcst_gfs.

        Fixes #610

    commit 9bb09a92c55d4534feca5d521fbbd1c664730317
    Author: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
    Date:   Tue Feb 8 20:58:05 2022 -0500

        Updated the RadMon and OznMon links. #596 (#597)

    commit 97ebc4d4e6483b135468d85cd9ed974f88955914
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Thu Feb 3 02:56:34 2022 -0500

        Unify `setup_expt.py` and `setup_expt_fcstonly.py` (#537)

        `setup_expt.py` and `setup_expt_fcstonly.py` are unified under the former name.

        The user is now required to provide a `mode` as the first positional argument to `setup.py`.  Valid options are `cycled` and `forecast-only`.

        ```
        ❯ python3 setup_expt.py -h
        usage: setup_expt.py [-h] {cycled,forecast-only} ...

        Setup files and directories to start a GFS parallel. Create EXPDIR, copy config files. Create COMROT experiment directory structure, link
        initial condition files from $ICSDIR to $COMROT

        positional arguments:
          {cycled,forecast-only}
            cycled              arguments for cycled mode
            forecast-only       arguments for forecast-only mode

        optional arguments:
          -h, --help            show this help message and exit
        ```

        Upon choosing one of these modes, options specific to the mode can be realized as follows for the `forecast-only` and `cycled` modes respectively.

        ```
        ❯ python3 setup_expt.py forecast-only -h                                                                  feature/unify-setups
        usage: setup_expt.py forecast-only [-h] [--pslot PSLOT] [--resdet RESDET] [--comrot COMROT] [--expdir EXPDIR] --idate IDATE --edate EDATE
                                           [--icsdir ICSDIR] [--configdir CONFIGDIR] [--cdump CDUMP] [--gfs_cyc {0,1,2,4}] [--start {warm,cold}]
                                           [--app {ATM,ATMW,S2S,S2SW}]

        optional arguments:
          -h, --help            show this help message and exit
          --pslot PSLOT         parallel experiment name
          --resdet RESDET       resolution of the deterministic model forecast
          --comrot COMROT       full path to COMROT
          --expdir EXPDIR       full path to EXPDIR
          --idate IDATE         starting date of experiment, initial conditions must exist!
          --edate EDATE         end date experiment
          --icsdir ICSDIR       full path to initial condition directory
          --configdir CONFIGDIR
                                full path to directory containing the config files
          --cdump CDUMP         CDUMP to start the experiment
          --gfs_cyc {0,1,2,4}   GFS cycles to run
          --start {warm,cold}   restart mode: warm or cold
          --app {ATM,ATMW,S2S,S2SW}
                                UFS application
        ```

        ```
        ❯ python3 setup_expt.py cycled -h                                                                         feature/unify-setups
        usage: setup_expt.py cycled [-h] [--pslot PSLOT] [--resdet RESDET] [--comrot COMROT] [--expdir EXPDIR] --idate IDATE --edate EDATE
                                    [--icsdir ICSDIR] [--configdir CONFIGDIR] [--cdump CDUMP] [--gfs_cyc {0,1,2,4}] [--start {warm,cold}]
                                    [--resens RESENS] [--nens NENS] [--app {ATM,ATMW}]

        optional arguments:
          -h, --help            show this help message and exit
          --pslot PSLOT         parallel experiment name
          --resdet RESDET       resolution of the deterministic model forecast
          --comrot COMROT       full path to COMROT
          --expdir EXPDIR       full path to EXPDIR
          --idate IDATE         starting date of experiment, initial conditions must exist!
          --edate EDATE         end date experiment
          --icsdir ICSDIR       full path to initial condition directory
          --configdir CONFIGDIR
                                full path to directory containing the config files
          --cdump CDUMP         CDUMP to start the experiment
          --gfs_cyc {0,1,2,4}   GFS cycles to run
          --start {warm,cold}   restart mode: warm or cold
          --resens RESENS       resolution of the ensemble model forecast
          --nens NENS           number of ensemble members
          --app {ATM,ATMW}      UFS application
        ```

        Note, `cycled` mode presents some extra options e.g. `nens` as well as a reduced list of the UFS weather model applications.

        The functionality of `--icsdir` had been broken for cycled and was hard-coded in free forecast. The functionality has now been repaired for cycled. If you provide one, $COMROT will be populated with appropriate links. If none is specified, no links will be created in $COMROT. In coupled mode free-forecast, ICs are copied *to* icsdir from the central maintained prototype location. Coupled users will now need to set this explicitly. For non-coupled forecast-only, this setting currently does nothing.

        The default value for `--configdir` has been updated to the appropriate location in the workflow. Most users will no longer need to set it unless they want to point to a different config source.

        The default values for `--comrot` and `--expdir` are updated from None to $HOME to facilitate offline testing of workflow creation.

        There are some irrelevant sections such as `gfs_cyc` in forecast-only that is still preserved in this PR.   It will be cleaned up in subsequent PR's.

        Another unnecessary complication is the argument of `--start`.  The logic presented here would ideally be selected at runtime based on the type of IC's populated in comrot.  It is left unchanged.

    commit d7319f19aceca6ae6d7ce9b06c6eb731832d1de1
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Wed Feb 2 11:19:43 2022 -0500

        Stop archiving gfsarch.log as it is being written (#581)

        The gfs archive job was failing because it was attempting to archive its own log file into gfsa.tar while it was being written. To exclude that file pattern, bash extended globbing is turned on, which allows the use of a negating group.

        Fixes: #558

    commit 1b300dbf98eccdf03117b3795a2d8da3310a6126
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Wed Feb 2 11:18:55 2022 -0500

        Fix build on non-WCOSS2 machines (#612)

        The UFS_UTILS and GLDAS versions are updated to correct build problems on development machines. Each had been using a beta version of ESMF that was removed from the hpc-stack installation without warning. Additionally, GLDAS had introduced bugs into their build scripts during the WCOSS2 port. These issues are now all corrected in the new versions.

        Also updates the UFS_UTILS repository to its new location under UFS instead of EMC.

        Fixes #476, #561

    commit d3028b9d8268028226f9c27800fcd6655e9e4bb8
    Author: David Huber <69919478+DavidHuber-NOAA@users.noreply.github.com>
    Date:   Wed Jan 19 14:29:51 2022 -0500

        Fix setting of OUTPUT_FILETYPES (#589)

        The setting of OUTPUT_FILETYPES was being overwritten by the FV3 model configure parsing script, so the settings determined in the config.fcst file was being ignored. Now that block is removed and config.fcst is updated to make sure it is set for any machine.

        Fixes #588

    commit 13421b01a07e5d1cca32ee7579a4094d8209b072
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Wed Jan 19 12:16:29 2022 -0500

        Update PR template

    commit 322a61a61238e8486cb42d7d26282b2728d0c32f
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Wed Jan 19 12:13:33 2022 -0500

        Move PR template MD file. Update issue templates

    commit 7a52fc8d8bbfc5896b7d03004d5189b2a6b24013
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Wed Jan 19 11:32:51 2022 -0500

        rename pull_request_template.md

    commit 88ec66eb834e9a78c94feae4f37f774c7807aa3c
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Wed Jan 19 10:34:54 2022 -0500

        make changes to the templates

    commit 66d84e21ad7ae3fafb4ad5097faf86dfa1b99b60
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Wed Jan 19 10:08:45 2022 -0500

        Fix lfrac entry in diag table (#570)

        Land fraction was listed in the wrong module, keeping it from being
        written to output.

        Refs: #562

    commit e2657adbdadaac7089591390428324c6aec260a9
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Tue Jan 18 17:04:04 2022 -0500

        Update NCO_bug_report.md

    commit a9d6851a0c3b6051cb1c7c7ec482fc50d762bef4
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Tue Jan 18 16:59:18 2022 -0500

        Update bug report issue template

    commit 2fab8b4213645b79b3fea8127e7d4ab21044188e
    Author: Rahul Mahajan <aerorahul@users.noreply.github.com>
    Date:   Tue Jan 18 15:13:53 2022 -0500

        Add templates for Github (#560)

        Adds GitHub templates for new issues and PRs to standardize and make sure all the needed information is included.

    commit 03be05309b184421c473f1b43082b766b114fd46
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Tue Jan 18 10:02:02 2022 -0500

        Fix toggle for building workflow_utils (#580)

        The fv3gfs_build.cfg did not have a space between the periods and
        the setting for workflow_utils, which means the setting was ignored
        and the default of yes was always used.

        Fixes: #577

    commit aadd3bae3d4fdc7827a93ab51b336a7f6b2fdb02
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Tue Jan 18 10:01:24 2022 -0500

        Remove redundant toggle for gldas build (#579)

        The build cfg files controlling which components are built and the
        partial_build.sh script all have two instances trying to set the
        value for gldas. This means one of the settings did nothing when
        changed.

        Fixes: #578

    commit 86d4b305a070c080dcfd44a3f9a31ca2280759fa
    Author: Walter Kolczynski - NOAA <Walter.Kolczynski@noaa.gov>
    Date:   Fri Jan 14 01:05:59 2022 -0500

        Update config missed in last GSI update (#569)

        When the GSI version was updated in PR #530, updates to the config.anal file were mistakenly omitted. That file is now updated following ops (PR #451, #489).

        Refs: PR #530

    commit 33308ea3b477db17a5db455a4c4887e3d5cbc711
    Author: Jessica Meixner <jessica.meixner@noaa.gov>
    Date:   Thu Jan 6 00:44:43 2022 -0500

        Updates for P8a (#538)

        Updates ufs-weather-model to the 2021 Dec 23 commit and the matching UPP hash. Coupled settings are updated to run the P8a mini prototype.

        Updates include:

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