From 403d7ca070f4f64cc94fda53bbb163c72318d8bf Mon Sep 17 00:00:00 2001 From: Kate Friedman Date: Wed, 24 Jan 2024 14:56:07 -0500 Subject: [PATCH] GFSv16.3.13 - WAFS high resolution update (#2255) RFC 12134 - On WCOSS2, upgrade the GFS to v16.3.13. With this update, NCEP, in coordination with UKMO (UK Met Office), is updating the GFS to produce high resolution WAFS output and stop producing blended 1.25 deg WAFS files in order to meet a 2023 ICAO (International Civil Aviation Organization) milestone. Implemented on January 24 during 12z cycle. Refs #2013 --- Externals.cfg | 2 +- docs/Release_Notes.gfs.v16.3.13.md | 161 ++++++++++++++++++ ecf/defs/gfs_v16_3.def | 20 +-- .../jgfs_atmos_wafs_blending_0p25.ecf | 2 +- .../grib2_wafs/jgfs_atmos_wafs_grib2.ecf | 2 +- .../grib2_wafs/jgfs_atmos_wafs_grib2_0p25.ecf | 4 +- .../post_processing/jgfs_atmos_wafs_gcip.ecf | 2 +- sorc/checkout.sh | 2 +- versions/run.ver | 4 +- 9 files changed, 174 insertions(+), 25 deletions(-) create mode 100644 docs/Release_Notes.gfs.v16.3.13.md diff --git a/Externals.cfg b/Externals.cfg index 5bfc9ff979..aa972b179c 100644 --- a/Externals.cfg +++ b/Externals.cfg @@ -43,7 +43,7 @@ protocol = git required = True [EMC_gfs_wafs] -tag = gfs_wafs.v6.3.1 +tag = gfs_wafs.v6.3.2 local_path = sorc/gfs_wafs.fd repo_url = https://github.com/NOAA-EMC/EMC_gfs_wafs.git protocol = git diff --git a/docs/Release_Notes.gfs.v16.3.13.md b/docs/Release_Notes.gfs.v16.3.13.md new file mode 100644 index 0000000000..b8e7757da8 --- /dev/null +++ b/docs/Release_Notes.gfs.v16.3.13.md @@ -0,0 +1,161 @@ +GFS V16.3.13 RELEASE NOTES + +------- +PRELUDE +------- + +This upgrade to the GFS includes updates to WAFS + +WAFS: + + At GFS v16.3 implementation, UPP and WAFS package were updated to be ready to produce high resolution WAFS output to meet 2023 ICAO milestone with one switch. + The switch was turned off at GFS v16.3. Now that UKMO has started to produce their corresponding high resolution WAFS output, EMC will work with NCO to turn on the switch. + + Additionally, EMC is updating WAFS ecf definition file to: + 1. trigger WAFS blending job 5 min later from 4:25 to 4:30 to compensate for 5-10 min delay in receiving UKMO high resolution data; + 2. stop producing blended 1.25 deg WAFS file per ICAO milestone. + 3. stop producing wafsgfs[37-44]* octant files because NCO decides to remove the related DBNET alerts + + Both sides agreed that we sill stop waiting for data from the other side at T+4:45. + +IMPLEMENTATION INSTRUCTIONS +--------------------------- + +The NOAA VLab and the NOAA-EMC and NCAR organization spaces on GitHub .com are used to manage the GFS code. The SPA(s) handling the GFS implementation need to have permissions to clone VLab Gerrit repositories and private NCAR UPP_GTG repository. All NOAA-EMC organization repositories are publicly readable and do not require access permissions. Please proceed with the following steps to install the package on WCOSS2: + +```bash +cd $PACKAGEROOT +mkdir gfs.v16.3.13 +cd gfs.v16.3.13 +git clone -b EMC-v16.3.13 https://github.com/NOAA-EMC/global-workflow.git . +cd sorc +./checkout.sh -o +``` + +The checkout script extracts the following GFS components: + +| Component | Tag | POC | +| --------- | ----------- | ----------------- | +| MODEL | GFS.v16.3.1 | Jun.Wang@noaa.gov | +| GLDAS | gldas_gfsv16_release.v.2.1.0 | Helin.Wei@noaa.gov | +| GSI | gfsda.v16.3.12 | Andrew.Collard@noaa.gov | +| UFS_UTILS | ops-gfsv16.3.0 | George.Gayno@noaa.gov | +| POST | upp_v8.3.0 | Wen.Meng@noaa.gov | +| WAFS | gfs_wafs.v6.3.2 | Yali.Mao@noaa.gov | + +To build all the GFS components, execute: +```bash +./build_all.sh +``` +The `build_all.sh` script compiles all GFS components. Runtime output from the build for each package is written to log files in directory logs. To build an individual program, for instance, gsi, use `build_gsi.sh`. + +Next, link the executables, fix files, parm files, etc in their final respective locations by executing: +```bash +./link_fv3gfs.sh nco wcoss2 +``` + +Lastly, link the ecf scripts by moving back up to the ecf folder and executing: +```bash +cd ../ecf +./setup_ecf_links.sh +``` +VERSION FILE CHANGES +-------------------- + +* `versions/run.ver` - change `version=v16.3.13` and `gfs_ver=v16.3.13` + +SORC CHANGES +------------ + +* No changes from GFS v16.3.12 + +JOBS CHANGES +------------ + +* No changes from GFS v16.3.12 + +PARM/CONFIG CHANGES +------------------- + +* No changes from GFS v16.3.12 + +SCRIPT CHANGES +-------------- + +* Update ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_blending_0p25.ecf to ICAO2023=yes +* Update ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2.ecf to ICAO2023=yes +* Update ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2_0p25.ecf to ICAO2023=yes +* Update ecf/scripts/gfs/atmos/post_processing/jgfs_atmos_wafs_gcip.ecf to ICAO2023=yes +* In ecf/defs/gfs_v16_3.def, remove jgfs_atmos_wafs_blending task, delay trigger time of jgfs_atmos_wafs_blending_0p25 by 5 minutes +* Update scripts/exgfs_atmos_wafs_grib2_0p25.sh to add forecast hour window to dbn_alert for awf and WAFS unblended hazard data +* In scripts/exgfs_atmos_wafs_grib2.sh, add dbn_alert of non-headed non-hazard 1.25 deg data (gfs.tCCz.wafs_grb45fFF.grib2) with subtype GFS_WAFS_1P25_GB2 +* In scripts/exgfs_atmos_wafs_grib.sh, stop running ush/wafs_intdsk.sh which produces wafsgfs[37-44]* octant files because NCO decides to remove the related DBNET alerts. +* In ush/mkwfsgbl.sh, remove GFS_WAFS and GFS_XWAFS DBNET alerts. + +FIX CHANGES +----------- + +* No changes from GFS v16.3.12 + +MODULE CHANGES +-------------- + +* No changes from GFS v16.3.12 + +CHANGES TO FILE SIZES +--------------------- + +* WAFS - There will be file size increases. Please see page 2 of the following Google slide: +https://docs.google.com/presentation/d/1VtPhyYXTe_PS9gXZGMrMPlQ32ELl-JJem-Vq8vO4j_U/edit#slide=id.g134dd9cf8ea_0_107 + +ENVIRONMENT AND RESOURCE CHANGES +-------------------------------- + +* jgfs_atmos_wafs_grib2_0p25.ecf changes from "mpiprocs=11:ompthreads=1:ncpus=11:mem=80GB" to "mpiprocs=39:ompthreads=1:ncpus=39:mem=200GB" because there will be 39 forecast hours and each forecast hour uses one processor through MPMD. + +PRE-IMPLEMENTATION TESTING REQUIREMENTS +--------------------------------------- + +* Which production jobs should be tested as part of this implementation? + * WAFS +* Does this change require a 30-day evaluation? + * No + +DISSEMINATION INFORMATION +------------------------- + +* SCN23-111: Change to Global Aviation Products related to the World Area Forecast System (WAFS) Product on or about January 17, 2024. A pdf version is posted at: +https://www.weather.gov/media/notification/pdf_2023_24/scn23-111_wafs_products_change.pdf + +* File changes + 1. Stop WAFS_blended_*.grib2, and wmo/grib2.*wafs_grb_wifs*.45 + 2. Stop wafsgfs[37-44]* octant files, and wmo/com.wafs* + 3. Stop gfs.t??z.wafs_grb45f??.nouswafs.grib2 + 4. gfs.tCCz.wafs_0p25.fFFF.grib2: temporal resolution increases and forecast hour is extended to 120 + 5. For the following files, vertical levels and file sizes are changed, and each level is the exact number of pressure level: + - gfs.tCCz.awf_0p25.fFFF.grib2 (additionally temporal resolution increases and forecast hour is extended to 48) + - gfs.tCCz.wafs_0p25_unblended.fFF.grib2 (additionally temporal resolution increases and forecast hour is extended to 48) + - WAFS_0p25_blended_*.grib2 (additionally temporal resolution increases and forecast hour is extended to 48) + - gfs.tCCz.wafs_grb45fFF.grib2, and wmo/grib2.tCCz.wafs_grbfFF.45 (additionally remove hazard data including CAT, ICIP and CB fields) + - gfs.tCCz.gcip.f00.grib2 + +HPSS ARCHIVE +------------ + +* Increase from 972M to 3G because both the vertical and temporal resolutions increase of both 0.25 unblended and blended hazard WAFS data. + +JOB DEPENDENCIES AND FLOW DIAGRAM +--------------------------------- + +* No changes from GFS v16.3.12 + +DOCUMENTATION +------------- + +* No changes from GFS v16.3.12 + +PREPARED BY +----------- +Kate.Friedman@noaa.gov +Yali.Mao@noaa.gov +Hui-Ya.Chuang@noaa.gov diff --git a/ecf/defs/gfs_v16_3.def b/ecf/defs/gfs_v16_3.def index 319e8796c3..512000813a 100644 --- a/ecf/defs/gfs_v16_3.def +++ b/ecf/defs/gfs_v16_3.def @@ -1584,12 +1584,9 @@ suite gfs_v16_3 trigger ../../post/jgfs_atmos_post_f000 == complete task jgfs_atmos_wafs_grib2_0p25 trigger ../../post/jgfs_atmos_post_f036 == complete - task jgfs_atmos_wafs_blending - trigger ./jgfs_atmos_wafs_grib2 == complete - time 04:33 task jgfs_atmos_wafs_blending_0p25 trigger ./jgfs_atmos_wafs_grib2_0p25 == complete - time 04:25 + time 04:30 endfamily family bufr_sounding task jgfs_atmos_postsnd @@ -4212,12 +4209,9 @@ suite gfs_v16_3 trigger ../../post/jgfs_atmos_post_f000 == complete task jgfs_atmos_wafs_grib2_0p25 trigger ../../post/jgfs_atmos_post_f036 == complete - task jgfs_atmos_wafs_blending - trigger ./jgfs_atmos_wafs_grib2 == complete - time 10:33 task jgfs_atmos_wafs_blending_0p25 trigger ./jgfs_atmos_wafs_grib2_0p25 == complete - time 10:25 + time 10:30 endfamily family bufr_sounding task jgfs_atmos_postsnd @@ -6839,12 +6833,9 @@ suite gfs_v16_3 trigger ../../post/jgfs_atmos_post_f000 == complete task jgfs_atmos_wafs_grib2_0p25 trigger ../../post/jgfs_atmos_post_f036 == complete - task jgfs_atmos_wafs_blending - trigger ./jgfs_atmos_wafs_grib2 == complete - time 16:33 task jgfs_atmos_wafs_blending_0p25 trigger ./jgfs_atmos_wafs_grib2_0p25 == complete - time 16:25 + time 16:30 endfamily family bufr_sounding task jgfs_atmos_postsnd @@ -9468,12 +9459,9 @@ suite gfs_v16_3 trigger ../../post/jgfs_atmos_post_f000 == complete task jgfs_atmos_wafs_grib2_0p25 trigger ../../post/jgfs_atmos_post_f036 == complete - task jgfs_atmos_wafs_blending - trigger ./jgfs_atmos_wafs_grib2 == complete - time 22:33 task jgfs_atmos_wafs_blending_0p25 trigger ./jgfs_atmos_wafs_grib2_0p25 == complete - time 22:25 + time 22:30 endfamily family bufr_sounding task jgfs_atmos_postsnd diff --git a/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_blending_0p25.ecf b/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_blending_0p25.ecf index 6596cdc1aa..0b743f7d63 100755 --- a/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_blending_0p25.ecf +++ b/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_blending_0p25.ecf @@ -35,7 +35,7 @@ module list ############################################################# export cyc=%CYC% export cycle=t%CYC%z -export ICAO2023=no +export ICAO2023=yes ############################################################ # CALL executable job script here diff --git a/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2.ecf b/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2.ecf index effbff87d5..267e4313b3 100755 --- a/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2.ecf +++ b/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2.ecf @@ -38,7 +38,7 @@ module list export cyc=%CYC% export cycle=t%CYC%z export USE_CFP=YES -export ICAO2023=no +export ICAO2023=yes ############################################################ # CALL executable job script here ############################################################ diff --git a/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2_0p25.ecf b/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2_0p25.ecf index bf2eaecdf0..442742bc61 100755 --- a/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2_0p25.ecf +++ b/ecf/scripts/gfs/atmos/post_processing/grib2_wafs/jgfs_atmos_wafs_grib2_0p25.ecf @@ -4,7 +4,7 @@ #PBS -q %QUEUE% #PBS -A %PROJ%-%PROJENVIR% #PBS -l walltime=00:30:00 -#PBS -l select=1:mpiprocs=11:ompthreads=1:ncpus=11:mem=80GB +#PBS -l select=1:mpiprocs=39:ompthreads=1:ncpus=39:mem=200GB #PBS -l place=vscatter #PBS -l debug=true @@ -38,7 +38,7 @@ module list export cyc=%CYC% export cycle=t%CYC%z export USE_CFP=YES -export ICAO2023=no +export ICAO2023=yes ############################################################ # CALL executable job script here ############################################################ diff --git a/ecf/scripts/gfs/atmos/post_processing/jgfs_atmos_wafs_gcip.ecf b/ecf/scripts/gfs/atmos/post_processing/jgfs_atmos_wafs_gcip.ecf index 75c20c7542..dceb8d72bd 100755 --- a/ecf/scripts/gfs/atmos/post_processing/jgfs_atmos_wafs_gcip.ecf +++ b/ecf/scripts/gfs/atmos/post_processing/jgfs_atmos_wafs_gcip.ecf @@ -40,7 +40,7 @@ module list export cyc=%CYC% export cycle=t%CYC%z export USE_CFP=YES -export ICAO2023=no +export ICAO2023=yes ############################################################ # CALL executable job script here diff --git a/sorc/checkout.sh b/sorc/checkout.sh index bf53ed05fa..d7bef93330 100755 --- a/sorc/checkout.sh +++ b/sorc/checkout.sh @@ -87,7 +87,7 @@ if [[ ${checkout_wafs} == "YES" ]] ; then echo EMC_gfs_wafs checkout ... if [[ ! -d gfs_wafs.fd ]] ; then rm -f ${topdir}/checkout-gfs_wafs.log - git clone --recursive --branch gfs_wafs.v6.3.1 https://github.com/NOAA-EMC/EMC_gfs_wafs.git gfs_wafs.fd >> ${topdir}/checkout-gfs_wafs.log 2>&1 + git clone --recursive --branch gfs_wafs.v6.3.2 https://github.com/NOAA-EMC/EMC_gfs_wafs.git gfs_wafs.fd >> ${topdir}/checkout-gfs_wafs.log 2>&1 cd ${topdir} else echo 'Skip. Directory gfs_wafs.fd already exists.' diff --git a/versions/run.ver b/versions/run.ver index 37eec20b25..37cf98fd78 100755 --- a/versions/run.ver +++ b/versions/run.ver @@ -1,5 +1,5 @@ -export version=v16.3.12 -export gfs_ver=v16.3.12 +export version=v16.3.13 +export gfs_ver=v16.3.13 export ukmet_ver=v2.2 export ecmwf_ver=v2.1 export nam_ver=v4.2