-
Notifications
You must be signed in to change notification settings - Fork 167
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update for obsproc/v1.3 and new AFWA global snow filename (#2957)
Updates for the new `obsproc/v1.3` and AFWA global snow filename. A new UFS_UTILS tag (`ops-gfsv16.3.20`) is used for the snow filename changes. The prepobs package is also updated to `v1.2.0` but is internal to the upstream obsproc package so only the `prepobs_run_ver` variables are updated for dev mode usage. Additionally, workflow updates are made to allow the EMCSFC_SFC_PREP (sfcprep) job to be run as part of the rocoto mesh in dev/emc mode. A new switch `DO_SFCPREP` is added to `config.base.emc.dyn` and is set to "NO" by default. Setting it to "YES" will add the `sfcprep` job to the rocoto mesh ahead of the `prep` job and will generate the snogrb files that are usually generated in ops and used via the GDA. Refs #2913
- Loading branch information
1 parent
c5080f4
commit ef005f5
Showing
13 changed files
with
113 additions
and
104 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,10 @@ | ||
GFS V16.3.19 RELEASE NOTES | ||
GFS V16.3.20 RELEASE NOTES | ||
|
||
------- | ||
PRELUDE | ||
------- | ||
|
||
The WAFS is separated from the GFS and is now its own package in production as WAFS.v7.0.0. | ||
The upstream OBSPROC package is updated to v1.3. Along with this, the GFS is switching to use the AFWA global snow file due to the hemispheric snow files being phased out. | ||
|
||
IMPLEMENTATION INSTRUCTIONS | ||
--------------------------- | ||
|
@@ -13,9 +13,9 @@ The NOAA VLab and the NOAA-EMC and NCAR organization spaces on GitHub are used t | |
|
||
```bash | ||
cd $PACKAGEROOT | ||
mkdir gfs.v16.3.19 | ||
cd gfs.v16.3.19 | ||
git clone -b EMC-v16.3.19 https://github.com/NOAA-EMC/global-workflow.git . | ||
mkdir gfs.v16.3.20 | ||
cd gfs.v16.3.20 | ||
git clone -b EMC-v16.3.20 https://github.com/NOAA-EMC/global-workflow.git . | ||
cd sorc | ||
./checkout.sh -o | ||
``` | ||
|
@@ -27,7 +27,7 @@ The checkout script extracts the following GFS components: | |
| MODEL | GFS.v16.3.1 | [email protected] | | ||
| GLDAS | gldas_gfsv16_release.v.2.1.0 | [email protected] | | ||
| GSI | gfsda.v16.3.12 | [email protected] | | ||
| UFS_UTILS | ops-gfsv16.3.0 | [email protected] | | ||
| UFS_UTILS | ops-gfsv16.3.20 | [email protected] | | ||
| POST | upp_v8.3.0 | [email protected] | | ||
|
||
To build all the GFS components, execute: | ||
|
@@ -49,141 +49,80 @@ cd ../ecf | |
VERSION FILE CHANGES | ||
-------------------- | ||
|
||
* `versions/run.ver` - change `version=v16.3.19` and `gfs_ver=v16.3.19` | ||
* `versions/run.ver` - change `version=v16.3.20`, `gfs_ver=v16.3.20`, and `obsproc_ver=v1.3` | ||
|
||
SORC CHANGES | ||
------------ | ||
|
||
The WAFS is no longer a submodule that is checked out within the GFS package. | ||
The `sorc/checkout.sh` and `Externals.cfg` checkout script no longer clone WAFS. | ||
The `sorc/build_all.sh` script no longer builds the WAFS code. | ||
The `sorc/build_gfs_wafs.sh` build script is deleted. | ||
The `sorc/link_fv3gfs.sh` script no longer links/copies WAFS files/execs. | ||
* New UFS_UTILS tag - `emcsfc_snow2mdl` program and associated scripts are updated to process global AFWA snow data | ||
|
||
JOBS CHANGES | ||
------------ | ||
|
||
All WAFS jobs are removed from the GFS ecFlow definition file, rocoto mesh, and `ush/ecflow/prod.yml`. | ||
Jobs removed: | ||
* `jgfs_atmos_wafs_gcip` | ||
* `jgfs_atmos_wafs_fFFF` | ||
* `jgfs_atmos_wafs_grib2` | ||
* `jgfs_atmos_wafs_grib2_0p25` | ||
* `jgfs_atmos_wafs_blending_0p25` | ||
* `jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP` - new AFWA filename | ||
|
||
PARM/CONFIG CHANGES | ||
------------------- | ||
|
||
The following config files are deleted: | ||
* `parm/config/config.wafs` | ||
* `parm/config/config.wafsblending` | ||
* `parm/config/config.wafsblending0p25` | ||
* `parm/config/config.wafsgcip` | ||
* `parm/config/config.wafsgrib2` | ||
* `parm/config/config.wafsgrib20p25` | ||
|
||
* The `WAFSF` flag is removed from `parm/config/config.base.emc.dyn` and `parm/config/config.base.nco.static`. | ||
* All WAFS jobs are removed from platform env files, `parm/config/config.resources.emc.dyn`, and `parm/config/config.resources.nco.static`. | ||
* The WAFS jobs are removed from experiment setup. | ||
|
||
WAFS output is removed from the following transfer list files: | ||
* `parm/product/transfer_gfs_1.list` | ||
* `parm/product/transfer_gfs_7.list` | ||
* No changes from GFS v16.3.19 | ||
|
||
SCRIPT CHANGES | ||
-------------- | ||
|
||
The following WAFS rocoto scripts are removed: | ||
* `jobs/rocoto/wafs.sh` | ||
* `jobs/rocoto/wafsblending.sh` | ||
* `jobs/rocoto/wafsblending0p25.sh` | ||
* `jobs/rocoto/wafsgcip.sh` | ||
* `jobs/rocoto/wafsgrib2.sh` | ||
* `jobs/rocoto/wafsgrib20p25.sh` | ||
|
||
The following ecf scripts are removed from the GFS: | ||
* `ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_blending.ecf` | ||
* `ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_blending_0p25.ecf` | ||
* `ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2.ecf` | ||
* `ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2_0p25.ecf` | ||
* `ecf/scripts/gfs/atmos/post_processing/grib_wafs/jgfs_atmos_wafs_master.ecf` | ||
* `ecf/scripts/gfs/atmos/post_processing/jgfs_atmos_wafs_gcip.ecf` | ||
|
||
The WAFS is removed from `ecf/setup_ecf_links.sh`. | ||
|
||
The WAFS output is removed from archival (`ush/hpssarch_gen.sh`). | ||
* No changes from GFS v16.3.19 | ||
|
||
FIX CHANGES | ||
----------- | ||
|
||
* `fix/product/wafs_admin_msg` - removed | ||
* No changes from GFS v16.3.19 | ||
|
||
MODULE CHANGES | ||
-------------- | ||
|
||
Modules needed by WAFS are removed from `modulefiles/module_base.wcoss_dell_p3`. | ||
* No changes from GFS v16.3.19 | ||
|
||
CHANGES TO FILE AND FILE SIZES | ||
------------------------------ | ||
|
||
The following files will no longer be produced within the GFS COM: | ||
* `gfs.tCCz.awf_0p25.fFFF.grib2` - renamed to `wafs.tCCz.awf.0p25.fFFF.grib2` in WAFSv7 | ||
* `gfs.tCCz.awf_grb45fFF.grib2` - renamed to `wafs.tCCz.awf_grid45.fFFF.grib2` in WAFSv7 | ||
* `wmo/grib2.tCCz.awf_grbfFF.45` - renamed to `wmo/grib2.wafs.tCCz.awf_grid45.fFFF` in WAFSv7 | ||
* `gfs.tCCz.control.wafsblending_0p25` | ||
* `gfs.tCCz.wafs.0p25.anl` - renamed to `wafs.tCCz.0p25.anl.grib2` in WAFSv7 | ||
* `gfs.tCCz.wafs.0p25.anl.idx` | ||
* `gfs.tCCz.wafs_0p25.fFFF.grib2` | ||
* `gfs.tCCz.wafs_0p25.fFFF.grib2.idx` | ||
* `gfs.tCCz.wafs_0p25_unblended.fFFF.grib2` - renamed to `WAFS_0p25_unblended_YYYYMMDDHHfFFF.grib2` in WAFSv7 | ||
* `gfs.tCCz.wafs_0p25_unblended.fFFF.grib2.idx` | ||
* `gfs.tCCz.wafs.grb2fFFF` - renamed to `wafs.tCCz.master.fFFF.grib2` in WAFSv7 | ||
* `gfs.tCCz.wafs.grb2fFFF.idx` | ||
* `gfs.tCCz.wafs_grb45fFF.grib2` - renamed to `gfs.tCCz.wafs_grb45fFFF.grib2` in WAFSv7 | ||
* `gfs.tCCz.wafs_grb45fFF.grib2.idx` | ||
* `wmo/grib2.tCCz.wafs_grbfFF.45` - renamed to `wmo/grib2.wafs.tCCz.awf_grid45.fFFF` in WAFSv7 | ||
* `wmo/xtrn.wfsgfs0006.gfs_atmos_wafs_f30_00` | ||
* `gfs.tCCz.gcip.fFF.grib2` - renamed to `wafs.tCCz.gcip.fFFF.grib2` in WAFSv7 | ||
* `WAFS_0p25_blended_YYYYMMDDHHf[06-48].grib2` - renamed to `WAFS_0p25_blended_ YYYYMMDDHHfFFF.grib2` in WAFSv7 | ||
|
||
The following files will no longer be produced within the GFS COM | ||
and are being retired from the WAFS package: | ||
* `gfs.tCCz.wafs_icao.grb2fFFF` | ||
* `gfs.tCCz.wafs_icao.grb2fFFF.idx` | ||
* `wafs.tCCz.master.fFFF.grib2` where FFF is from 001 to 005 | ||
No longer ingest: | ||
* `${RUN}.${cycle}.NPR.SNWN.SP.S1200.MESH16.grb` (`AFWA_NH_FILE`) | ||
* `${RUN}.${cycle}.NPR.SNWS.SP.S1200.MESH16.grb` (`AFWA_SH_FILE`) | ||
|
||
Now ingest: | ||
* `${RUN}.${cycle}.snow.usaf.grib2` (`AFWA_GLOBAL_FILE`) | ||
|
||
ENVIRONMENT AND RESOURCE CHANGES | ||
-------------------------------- | ||
|
||
* No changes from GFS v16.3.18 | ||
* No changes from GFS v16.3.19 | ||
|
||
PRE-IMPLEMENTATION TESTING REQUIREMENTS | ||
--------------------------------------- | ||
|
||
* Which production jobs should be tested as part of this implementation? | ||
* None | ||
* emcsfc_sfc_prep job | ||
* Does this change require a 30-day evaluation? | ||
* No | ||
|
||
DISSEMINATION INFORMATION | ||
------------------------- | ||
|
||
* No changes from GFS v16.3.18 | ||
* No changes from GFS v16.3.19 | ||
|
||
HPSS ARCHIVE | ||
------------ | ||
|
||
* No changes from GFS v16.3.18 | ||
* No changes from GFS v16.3.19 | ||
|
||
JOB DEPENDENCIES AND FLOW DIAGRAM | ||
--------------------------------- | ||
|
||
* No changes from GFS v16.3.18 | ||
* No changes from GFS v16.3.19 | ||
|
||
DOCUMENTATION | ||
------------- | ||
|
||
* No changes from GFS v16.3.18 | ||
* No changes from GFS v16.3.19 | ||
|
||
PREPARED BY | ||
----------- | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
#!/bin/ksh -x | ||
|
||
############################################################### | ||
# Source FV3GFS workflow modules | ||
. $HOMEgfs/ush/load_fv3gfs_modules.sh | ||
status=$? | ||
[[ $status -ne 0 ]] && exit $status | ||
|
||
############################################################### | ||
# Execute the JJOB | ||
$HOMEgfs/jobs/JGLOBAL_ATMOS_EMCSFC_SFC_PREP | ||
status=$? | ||
exit $status |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,20 @@ | ||
#!/bin/ksh -x | ||
|
||
########## config.sfcprep ########## | ||
# Prep step specific | ||
|
||
echo "BEGIN: config.sfcprep" | ||
|
||
# Get task specific resources | ||
. $EXPDIR/config.resources sfcprep | ||
|
||
if [[ $RUN_ENVIR == "emc" ]]; then | ||
|
||
export SENDCOM="YES" | ||
export COMOUT=${COMOUTatmos} | ||
export COMINobsproc=${DMPDIR}/${CDUMP}.${PDY}/${cyc}/atmos | ||
export COMIN_m6hrs=${DMPDIR}/${GDUMP}.${gPDY}/${gcyc}/atmos | ||
|
||
fi | ||
|
||
echo "END: config.sfcprep" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -63,6 +63,7 @@ def main(): | |
steps = steps + wav_steps_gempak if _base.get('DO_GEMPAK', 'NO') == 'YES' else steps | ||
steps = steps + wav_steps_awips if _base.get('DO_AWIPS', 'NO') == 'YES' else steps | ||
steps = steps + ['wdqms'] if _base.get('DO_WDQMS', 'NO') == 'YES' else steps | ||
steps = steps + ['sfcprep'] if _base.get('DO_SFCPREP', 'NO') == 'YES' else steps | ||
|
||
dict_configs = wfu.source_configs(configs, steps) | ||
|
||
|
@@ -244,10 +245,13 @@ def get_gdasgfs_resources(dict_configs, cdump='gdas'): | |
do_wdqms = base.get('DO_WDQMS', 'NO').upper() | ||
do_wave = base.get('DO_WAVE', 'NO').upper() | ||
do_wave_cdump = base.get('WAVE_CDUMP', 'BOTH').upper() | ||
do_sfcprep = base.get('DO_SFCPREP', 'NO').upper() | ||
reservation = base.get('RESERVATION', 'NONE').upper() | ||
|
||
#tasks = ['prep', 'anal', 'fcst', 'post', 'vrfy', 'arch'] | ||
tasks = ['prep', 'anal', 'analcalc'] | ||
if do_sfcprep in ['Y', 'YES']: | ||
tasks = ['sfcprep', 'prep', 'anal', 'analcalc'] | ||
else: | ||
tasks = ['prep', 'anal', 'analcalc'] | ||
|
||
if cdump in ['gdas']: | ||
tasks += ['analdiag'] | ||
|
@@ -412,14 +416,29 @@ def get_gdasgfs_tasks(dict_configs, cdump='gdas'): | |
do_wdqms = base.get('DO_WDQMS', 'NO').upper() | ||
do_wave = base.get('DO_WAVE', 'NO').upper() | ||
do_wave_cdump = base.get('WAVE_CDUMP', 'BOTH').upper() | ||
do_sfcprep = base.get('DO_SFCPREP', 'NO').upper() | ||
dumpsuffix = base.get('DUMP_SUFFIX', '') | ||
gridsuffix = base.get('SUFFIX', '') | ||
|
||
dict_tasks = OrderedDict() | ||
|
||
# sfcprep (emcsfc_sfc_prep) | ||
if do_sfcprep in ['Y', 'YES']: | ||
deps = [] | ||
dep_dict = {'type': 'metatask', 'name': f'{"gdas"}post', 'offset': '-06:00:00'} | ||
deps.append(rocoto.add_dependency(dep_dict)) | ||
data = f'&DMPDIR;/{cdump}{dumpsuffix}.@Y@m@d/@H/atmos/{cdump}[email protected]' | ||
dep_dict = {'type': 'data', 'data': data} | ||
dependencies = rocoto.create_dependency(dep_condition='and', dep=deps) | ||
task = wfu.create_wf_task('sfcprep', cdump=cdump, envar=envars, dependency=dependencies) | ||
dict_tasks[f'{cdump}sfcprep'] = task | ||
|
||
# prep | ||
deps = [] | ||
dep_dict = {'type': 'metatask', 'name': f'{"gdas"}post', 'offset': '-06:00:00'} | ||
if do_sfcprep in ['Y', 'YES']: | ||
dep_dict = {'type': 'task', 'name': f'{cdump}sfcprep'} | ||
else: | ||
dep_dict = {'type': 'metatask', 'name': f'{"gdas"}post', 'offset': '-06:00:00'} | ||
deps.append(rocoto.add_dependency(dep_dict)) | ||
data = f'&ROTDIR;/gdas.@Y@m@d/@H/atmos/[email protected]{gridsuffix}' | ||
dep_dict = {'type': 'data', 'data': data, 'offset': '-06:00:00'} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.