From 76cecfb7741d9809e27b31354044af4c9e72800c Mon Sep 17 00:00:00 2001 From: Kate Friedman Date: Mon, 27 Jan 2025 11:26:08 -0500 Subject: [PATCH] Remove WAFS files and references from `develop` (#3263) This PR removes all remaining WAFS files and references from global-workflow `develop`. The WAFS is being separated from the GFS and becoming its own package in operations. See #2591. Resolves #3253 --- .gitignore | 1 - jobs/JGFS_ATMOS_WAFS | 96 ------- jobs/JGFS_ATMOS_WAFS_BLENDING_0P25 | 153 ----------- jobs/JGFS_ATMOS_WAFS_GCIP | 140 ---------- jobs/JGFS_ATMOS_WAFS_GRIB2 | 124 --------- jobs/JGFS_ATMOS_WAFS_GRIB2_0P25 | 133 ---------- jobs/rocoto/upp.sh | 2 +- scripts/exgfs_atmos_wafs_blending_0p25.sh | 298 ---------------------- scripts/exgfs_atmos_wafs_gcip.sh | 242 ------------------ scripts/exgfs_atmos_wafs_grib.sh | 146 ----------- scripts/exgfs_atmos_wafs_grib2.sh | 227 ---------------- scripts/exgfs_atmos_wafs_grib2_0p25.sh | 200 --------------- ush/python/pygfs/task/upp.py | 3 +- ush/wafs_mkgbl.sh | 152 ----------- workflow/rocoto/gfs_tasks.py | 2 +- 15 files changed, 3 insertions(+), 1916 deletions(-) delete mode 100755 jobs/JGFS_ATMOS_WAFS delete mode 100755 jobs/JGFS_ATMOS_WAFS_BLENDING_0P25 delete mode 100755 jobs/JGFS_ATMOS_WAFS_GCIP delete mode 100755 jobs/JGFS_ATMOS_WAFS_GRIB2 delete mode 100755 jobs/JGFS_ATMOS_WAFS_GRIB2_0P25 delete mode 100755 scripts/exgfs_atmos_wafs_blending_0p25.sh delete mode 100755 scripts/exgfs_atmos_wafs_gcip.sh delete mode 100755 scripts/exgfs_atmos_wafs_grib.sh delete mode 100755 scripts/exgfs_atmos_wafs_grib2.sh delete mode 100755 scripts/exgfs_atmos_wafs_grib2_0p25.sh delete mode 100755 ush/wafs_mkgbl.sh diff --git a/.gitignore b/.gitignore index c2d9c9db45..9b38ce52f1 100644 --- a/.gitignore +++ b/.gitignore @@ -82,7 +82,6 @@ parm/ufs/ice_in.IN parm/ufs/ufs.configure.*.IN parm/ufs/post_itag_gfs parm/ufs/ww3_shel.nml.IN -parm/wafs # Ignore sorc and logs folders from externals #-------------------------------------------- diff --git a/jobs/JGFS_ATMOS_WAFS b/jobs/JGFS_ATMOS_WAFS deleted file mode 100755 index 35a916bf1a..0000000000 --- a/jobs/JGFS_ATMOS_WAFS +++ /dev/null @@ -1,96 +0,0 @@ -#!/bin/sh - -######################################## -# GFS AWIPS PRODUCT GENERATION -######################################## -date -export PS4='$SECONDS + ' -set -xa - -export KEEPDATA=${KEEPDATA:-NO} - -############################################ -# Working Directory -############################################ -export DATA=${DATA:-${DATAROOT}/${jobid:?}} -mkdir -p $DATA -cd $DATA - -############################################ -# Output for executables -############################################ -export pgmout=OUTPUT.$$ - -############################################ -# Load the UTILITIES module -############################################ -#### module load prod_util -#### module load grib_util - -########################################### -# Run setpdy and initialize PDY variables -########################################### -export cycle=t${cyc}z -setpdy.sh -. ./PDY - -export RERUN=${RERUN:-NO} - -############################################ -# Set up the NET and RUN -############################################ -export NET=${NET:-gfs} -export RUN=${RUN:-gfs} -export COMPONENT=${COMPONENT:-atmos} - -############################################ -# Specify HOME Directory -############################################ -export gfs_ver=${gfs_ver:-v16.3.0} -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} -export EXECgfs=$HOMEgfs/exec -export FIXgfs=$HOMEgfs/fix/wafs -export PARMgfs=$HOMEgfs/parm/wafs -export USHgfs=$HOMEgfs/ush -export SCRIPTSgfs=$HOMEgfs/scripts - -################################################ -# Set up the input/output directory -################################################ -export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-$(compath.py -o $NET/$gfs_ver)/$RUN.$PDY/$cyc/$COMPONENT} -export PCOM=${PCOM:-$COMOUT/wmo} - -if [ $SENDCOM = YES ] ; then - mkdir -p $COMOUT $PCOM -fi - -############################################ -# print current environment -############################################ -env - -############################################ -# Execute the script. -############################################ - -${SCRIPTSgfs}/exgfs_atmos_wafs_grib.sh $fcsthrs -export err=$?; err_chk - -echo "JOB $job HAS COMPLETED NORMALLY!" - -############################################ -# print exec output -############################################ -if [ -e "$pgmout" ] ; then - cat $pgmout -fi - -############################################ -# remove temporary working directory -############################################ -if [ $KEEPDATA != YES ] ; then - rm -rf $DATA -fi - -date diff --git a/jobs/JGFS_ATMOS_WAFS_BLENDING_0P25 b/jobs/JGFS_ATMOS_WAFS_BLENDING_0P25 deleted file mode 100755 index 7367ce5a2c..0000000000 --- a/jobs/JGFS_ATMOS_WAFS_BLENDING_0P25 +++ /dev/null @@ -1,153 +0,0 @@ -#!/bin/sh -######################################################## -# This job runs the code to blend US's and UK's WAFS products at 0.25 deg -######################################################## - -date -export PS4='$SECONDS + ' -set -x - -# keep the working directory or not -export KEEPDATA=${KEEPDATA:-NO} - -############################################ -# Working Directory -############################################ -export DATA=${DATA:-${DATAROOT}/${jobid:?}} -mkdir -p $DATA -cd $DATA - -############################################ -# Output for executables -############################################ -export pgmout=OUTPUT.$$ - -########################################### -# Run setpdy and initialize PDY variables -########################################### -export cycle=t${cyc}z -setpdy.sh -. ./PDY - -export RERUN=${RERUN:-NO} - -############################################ -# Set up the NET and RUN -############################################ -export NET=${NET:-gfs} -export RUN=${RUN:-gfs} -export COMPONENT=${COMPONENT:-atmos} - -############################################ -# Specify HOME Directory -############################################ -export gfs_ver=${gfs_ver:-v16.3.0} -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} -export EXECgfs=$HOMEgfs/exec -export FIXgfs=$HOMEgfs/fix/wafs -export PARMgfs=$HOMEgfs/parm/wafs -export USHgfs=$HOMEgfs/ush -export SCRIPTSgfs=$HOMEgfs/scripts - -################################################ -# Set up the INPUT and OUTPUT directories -################################################ -export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-$(compath.py -o $NET/$gfs_ver)/$RUN.$PDY/$cyc/$COMPONENT} -export PCOM=${PCOM:-$COMOUT/wmo} - -if [ $SENDCOM = YES ] ; then - mkdir -p $COMOUT $PCOM -fi - -export COMINus=${COMINus:-$COMIN} -export COMINuk=${COMINuk:-$DCOMROOT/$PDY/wgrbbul/ukmet_wafs} - -############################################ -# print current environment -############################################ -env - -############################################## -# Set up the forecast hours -############################################## -export SHOUR=${SHOUR:-06} -export EHOUR=${EHOUR:-48} -export FHOUT_GFS=${FHOUT_GFS:-1} - -############################################### -# Specify Timeout Behavior of WAFS blending -# -# SLEEP_TIME - Amount of time to wait for -# a input file before exiting -# SLEEP_INT - Amount of time to wait between -# checking for input files -############################################### -# export SLEEP_TIME=300 # changed to 60 to avoid hitting wall_clock when miss umket wafs files ... -# JY -0129: export SLEEP_TIME=600 -export SLEEP_TIME=900 -export SLEEP_INT=10 - -#################################### -# Check if this is a restart -#################################### -if test -f $COMOUT/$RUN.t${cyc}z.control.wafsblending_0p25 -then - modelrecvy=`cat < $COMOUT/${RUN}.t${cyc}z.control.wafsblending_0p25` - recvy_pdy=`echo $modelrecvy | cut -c1-8` - recvy_cyc=`echo $modelrecvy | cut -c9-10` - recvy_shour=`echo $modelrecvy | cut -c11-` - - if [ $FHOUT_GFS -eq 3 ] ; then - FHINC=03 - else - if [ $recvy_shour -lt 24 ] ; then - FHINC=01 - else - FHINC=03 - fi - fi - - if test $RERUN = "NO" - then - if [ $recvy_shour -lt $EHOUR ] - then - new_shour=`expr $recvy_shour + $FHINC` - fi - if test $new_shour -ge $SHOUR - then - export SHOUR=$new_shour - if [ $SHOUR -lt 10 ]; then SHOUR=0$SHOUR; fi - fi - if test $recvy_shour -ge $EHOUR - then - echo "WAFS blending Already Completed to $EHOUR" - else - echo "Starting: PDY=$PDY cycle=t${recvy_cyc}z SHOUR=$SHOUR ." - fi - fi -fi - -############################################ -# Execute the script. -############################################ -${SCRIPTSgfs}/exgfs_atmos_wafs_blending_0p25.sh -export err=$?; err_chk - -echo "JOB $job HAS COMPLETED NORMALLY." - -############################################ -# print exec output -############################################ -if [ -e "$pgmout" ] ; then - cat $pgmout -fi - -############################################ -# remove temporary working directory -############################################ -if [ $KEEPDATA != YES ] ; then - rm -rf $DATA -fi - -date diff --git a/jobs/JGFS_ATMOS_WAFS_GCIP b/jobs/JGFS_ATMOS_WAFS_GCIP deleted file mode 100755 index d4e1a4529f..0000000000 --- a/jobs/JGFS_ATMOS_WAFS_GCIP +++ /dev/null @@ -1,140 +0,0 @@ -#!/bin/sh - -############################################ -# GFS GCIP PRODUCT GENERATION -############################################ - -date -export PS4='$SECONDS + ' -set -xa - -# keep the working directory or not -export KEEPDATA=${KEEPDATA:-NO} - -############################################ -# Working Directory -############################################ -export DATA=${DATA:-${DATAROOT}/${jobid:?}} -mkdir -p $DATA -cd $DATA - -############################################ -# Output for executables -############################################ -export pgmout=OUTPUT.$$ - -############################################ -# Load the UTILITIES module -############################################ -#### module load prod_util -#### module load grib_util - -############################################ -# Run setpdy and initialize PDY variables -############################################ -export cycle=t${cyc}z -setpdy.sh -. ./PDY - -############################################ -# Set up the NET and RUN -############################################ -export NET=${NET:-gfs} -export RUN=${RUN:-gfs} -export COMPONENT=${COMPONENT:-atmos} - -############################################ -# Specify HOME Directory -############################################ -export gfs_ver=${gfs_ver:-v16.3.0} -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} -export EXECgfs=$HOMEgfs/exec -export FIXgfs=$HOMEgfs/fix/wafs -export PARMgfs=$HOMEgfs/parm/wafs -export USHgfs=$HOMEgfs/ush -export SCRIPTSgfs=$HOMEgfs/scripts - -# For BUFR dump, TMPDIR must be defined -export TMPDIR=$DATA # will be overwritten in exgfs script for parallel runs on ffhr -# For BUFR dump, these two environment variables are defined by module load -# HOMEobsproc_shared_bufr_dumplist <= module load bufr_dumplist/1.5.0 -# HOMEobsproc_dump <= module load dumpjb/4.0.0 - - -################################################ -# Set up the input/output directory -################################################ -# model data -export COMINgfs=${COMINgfs:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} - -# satellite data -#ftp://satepsanone.nesdis.noaa.gov/2day/gmosaic/ -# Have to change IP address to digital ones, which BSUB can identify -#export COMINsat=${COMINsat:-ftp://140.90.213.161/2day/gmosaic} -export COMINsat=${COMINsat:-$DCOMROOT/$PDY/mcidas} - -# radar data -export radarl2_ver=${radarl2_ver:-v1.2} -export COMINradar=${COMINradar:-$(compath.py ${envir}/radarl2/$radarl2_ver)/radar.$PDY} - -# metar/ships/lightning/pireps -# data are dumped by $USHobsproc_dump/dumpjb -# - -# COMOUT -export COMOUT=${COMOUT:-$(compath.py -o $NET/$gfs_ver)/$RUN.$PDY/$cyc/$COMPONENT} - -mkdir -p $COMOUT - -############################################### -# Specify Timeout Behavior of WAFS GCIP -# -# SLEEP_TIME - how long to wait for inputs before exiting -# SLEEP_INT - time interval for checking for inputs -############################################### -# JY export SLEEP_TIME=300 -export SLEEP_TIME=600 -export SLEEP_INT=10 - -############################################ -# Execute the script, parallel run for 000 003 -############################################ -export MPIRUN=${MPIRUN:-"mpiexec -l -np 2 --cpu-bind verbose,core cfp"} - -# GCIP runs f000 f003 for each cycle, 4 times/day, -# to make the output valid every 3 hours -if [ `echo $MPIRUN | cut -d " " -f1` = 'srun' ] ; then - echo 0 ${SCRIPTSgfs}/exgfs_atmos_wafs_gcip.sh 000 >> gcip.cmdfile - echo 1 ${SCRIPTSgfs}/exgfs_atmos_wafs_gcip.sh 003 >> gcip.cmdfile -else - echo ${SCRIPTSgfs}/exgfs_atmos_wafs_gcip.sh 000 >> gcip.cmdfile - echo ${SCRIPTSgfs}/exgfs_atmos_wafs_gcip.sh 003 >> gcip.cmdfile - export MP_PGMMODEL=mpmd -fi - -$MPIRUN gcip.cmdfile - -export err=$? -if [ $err -eq 0 ] ; then - echo "JOB $job HAS COMPLETED NORMALLY!" -elif [ $err -eq 1 ] ; then - echo "WARNING!!! JOB $job incomplete. Missing satellite data." -else - echo "JOB $job FAILED!!!!" -fi - -############################################ -# print exec output -############################################ -if [ -e "$pgmout" ] ; then - cat $pgmout -fi - -############################################ -# remove temporary working directory -############################################ -if [ $KEEPDATA != YES ] ; then - rm -rf $DATA -fi - -date diff --git a/jobs/JGFS_ATMOS_WAFS_GRIB2 b/jobs/JGFS_ATMOS_WAFS_GRIB2 deleted file mode 100755 index ed4c92979e..0000000000 --- a/jobs/JGFS_ATMOS_WAFS_GRIB2 +++ /dev/null @@ -1,124 +0,0 @@ -#!/bin/sh - -######################################## -# GFS AWIPS PRODUCT GENERATION -######################################## - -date -export PS4='$SECONDS + ' -set -x - -# keep the working directory or not -export KEEPDATA=${KEEPDATA:-NO} - -############################################ -# Working Directory -############################################ -export DATA=${DATA:-${DATAROOT}/${jobid:?}} -mkdir -p $DATA -cd $DATA - -############################################ -# Output for executables -############################################ -export pgmout=OUTPUT.$$ - -############################################ -# Load the UTILITIES module -############################################ -#### module load prod_util -#### module load grib_util - -########################################### -# Run setpdy and initialize PDY variables -########################################### -export cycle=t${cyc}z -setpdy.sh -. ./PDY - -############################################ -# Set up the NET and RUN -############################################ -export NET=${NET:-gfs} -export RUN=${RUN:-gfs} -export COMPONENT=${COMPONENT:-atmos} - -############################################ -# Specify HOME Directory -############################################ -export gfs_ver=${gfs_ver:-v16.3.0} -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} -export EXECgfs=$HOMEgfs/exec -export FIXgfs=$HOMEgfs/fix/wafs -export PARMgfs=$HOMEgfs/parm/wafs -export USHgfs=$HOMEgfs/ush -export SCRIPTSgfs=$HOMEgfs/scripts - -################################################ -# Set up the input/output directory -################################################ -#### if [ $envir = "prod" ] || [ $envir = "para" ] ; then -#### export COMIN=${COMIN:-$COMROOT/${NET}/${envir}/$RUN.$PDY} -#### else -#### export COMIN=${COMIN:-$COMROOT/${NET}/prod/$RUN.$PDY} -#### fi - -export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-$(compath.py -o $NET/$gfs_ver)/$RUN.$PDY/$cyc/$COMPONENT} -export PCOM=${PCOM:-$COMOUT/wmo} - -if [ $SENDCOM = YES ] ; then - mkdir -p $COMOUT $PCOM -fi - -############################################ -# print current environment -############################################ -env - -############################################## -# Set up the forecast hours -############################################## -export FHOURS=${FHOURS:-"00 06 09 12 15 18 21 24 27 30 33 36 42 48 54 60 66 72"} - -############################################ -# Execute the script. -############################################ - -NP=`echo $FHOURS | wc -w` -export MPIRUN=${MPIRUN:-"mpiexec -np $NP -cpu-bind verbose,core cfp"} - -rm wafsgrib2.cmdfile -ic=0 -for fcsthrs in $FHOURS ; do - if [ `echo $MPIRUN | cut -d " " -f1` = 'srun' ] ; then - echo $ic ${SCRIPTSgfs}/exgfs_atmos_wafs_grib2.sh $fcsthrs >> wafsgrib2.cmdfile - else - echo ${SCRIPTSgfs}/exgfs_atmos_wafs_grib2.sh $fcsthrs >> wafsgrib2.cmdfile - export MP_PGMMODEL=mpmd - fi - ic=`expr $ic + 1` -done - -$MPIRUN wafsgrib2.cmdfile - -export err=$?; err_chk - -echo "JOB $job HAS COMPLETED NORMALLY!" - -############################################ -# print exec output -############################################ -if [ -e "$pgmout" ] ; then - cat $pgmout -fi - -############################################ -# remove temporary working directory -############################################ -if [ $KEEPDATA != YES ] ; then - rm -rf $DATA -fi - -date - diff --git a/jobs/JGFS_ATMOS_WAFS_GRIB2_0P25 b/jobs/JGFS_ATMOS_WAFS_GRIB2_0P25 deleted file mode 100755 index 64570bbf5d..0000000000 --- a/jobs/JGFS_ATMOS_WAFS_GRIB2_0P25 +++ /dev/null @@ -1,133 +0,0 @@ -#!/bin/sh - -######################################## -# GFS WAFS GRIB 0P25 PRODUCT GENERATION -######################################## - -date -export PS4='$SECONDS + ' -set -x - -# keep the working directory or not -export KEEPDATA=${KEEPDATA:-NO} - -############################################ -# Working Directory -############################################ -export DATA=${DATA:-${DATAROOT}/${jobid:?}} -mkdir -p $DATA -cd $DATA - -############################################ -# Output for executables -############################################ -export pgmout=OUTPUT.$$ - -########################################### -# Run setpdy and initialize PDY variables -########################################### -export cycle=t${cyc}z -setpdy.sh -. ./PDY - -############################################ -# Set up the NET and RUN -############################################ -export NET=${NET:-gfs} -export RUN=${RUN:-gfs} -export COMPONENT=${COMPONENT:-atmos} - -############################################ -# Specify HOME Directory -############################################ -export gfs_ver=${gfs_ver:-v16.3.0} -export HOMEgfs=${HOMEgfs:-${NWROOT}/gfs.${gfs_ver}} -export EXECgfs=$HOMEgfs/exec -export FIXgfs=$HOMEgfs/fix/wafs -export PARMgfs=$HOMEgfs/parm/wafs -export USHgfs=$HOMEgfs/ush -export SCRIPTSgfs=$HOMEgfs/scripts - -################################################ -# Set up the input/output directory -################################################ -export COMIN=${COMIN:-$(compath.py ${envir}/${NET}/${gfs_ver})/${RUN}.${PDY}/${cyc}/$COMPONENT} -export COMOUT=${COMOUT:-$(compath.py -o $NET/$gfs_ver)/$RUN.$PDY/$cyc/$COMPONENT} -export PCOM=${PCOM:-$COMOUT/wmo} - -if [ $SENDCOM = YES ] ; then - mkdir -p $COMOUT $PCOM -fi - -############################################ -# print current environment -############################################ -env - -############################################## -# Set up the forecast hours -############################################## -#export SHOUR=${SHOUR:-06} -# Will change to 120 for 2023 ICAO standard -#export EHOUR=${EHOUR:-120} -#export EHOUR=${EHOUR:-36} - -export FHOUT_GFS=${FHOUT_GFS:-1} -if [ $FHOUT_GFS -eq 3 ] ; then #27 - export FHOURS=${FHOURS:-"6 9 12 15 18 21 24 27 30 33 36 39 42 45 48 54 60 66 72 78 84 90 96 102 108 114 120"} -else #39 - export FHOURS=${FHOURS:-"6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 27 30 33 36 39 42 45 48 54 60 66 72 78 84 90 96 102 108 114 120"} -fi - -############################################### -# Specify Timeout Behavior of WAFS blending -# -# SLEEP_TIME - Amount of time to wait for -# a input file before exiting -# SLEEP_INT - Amount of time to wait between -# checking for input files -############################################### -# export SLEEP_TIME=300 # changed to 60 to avoid hitting wall_clock when miss umket wafs files ... -export SLEEP_TIME=600 -export SLEEP_INT=10 - -############################################ -# Execute the script. -############################################ -NP=`echo $FHOURS | wc -w` -export MPIRUN=${MPIRUN:-"mpiexec -np $NP -cpu-bind verbose,core cfp"} - -rm wafsgrib2_0p25.cmdfile -ic=0 -for fcsthrs in $FHOURS ; do - if [ `echo $MPIRUN | cut -d " " -f1` = 'srun' ] ; then - echo $ic ${SCRIPTSgfs}/exgfs_atmos_wafs_grib2_0p25.sh $fcsthrs >> wafsgrib2_0p25.cmdfile - else - echo ${SCRIPTSgfs}/exgfs_atmos_wafs_grib2_0p25.sh $fcsthrs >> wafsgrib2_0p25.cmdfile - export MP_PGMMODEL=mpmd - fi - ic=`expr $ic + 1` -done - -$MPIRUN wafsgrib2_0p25.cmdfile - -export err=$?; err_chk - -echo "JOB $job HAS COMPLETED NORMALLY!" - -############################################ -# print exec output -############################################ -if [ -e "$pgmout" ] ; then - cat $pgmout -fi - -############################################ -# remove temporary working directory -############################################ -if [ $KEEPDATA != YES ] ; then - rm -rf $DATA -fi - -date - diff --git a/jobs/rocoto/upp.sh b/jobs/rocoto/upp.sh index c3f128ab02..a4133608d1 100755 --- a/jobs/rocoto/upp.sh +++ b/jobs/rocoto/upp.sh @@ -4,7 +4,7 @@ source "${HOMEgfs}/ush/preamble.sh" ############################################################### ## Offline UPP driver script -## UPP_RUN: analysis, forecast, goes, wafs. See upp.yaml for valid options +## UPP_RUN: analysis, forecast, goes. See upp.yaml for valid options ## FHRLST : forecast hourlist to be post-process (e.g. f000, f000_f001_f002, ...) ############################################################### diff --git a/scripts/exgfs_atmos_wafs_blending_0p25.sh b/scripts/exgfs_atmos_wafs_blending_0p25.sh deleted file mode 100755 index 293325185e..0000000000 --- a/scripts/exgfs_atmos_wafs_blending_0p25.sh +++ /dev/null @@ -1,298 +0,0 @@ -#!/bin/ksh -################################################################################ -#### UNIX Script Documentation Block -# . . -# Script name: exgfs_atmos_wafs_blending_0p25.sh (copied from exgfs_atmos_wafs_blending.sh) -# Script description: This scripts looks for US and UK WAFS Grib2 products at 1/4 deg, -# wait for specified period of time, and then run $USHgfs/wafs_blending_0p25.sh -# if both WAFS data are available. Otherwise, the job aborts with error massage -# -# Author: Y Mao Org: EMC Date: 2020-04-02 -# -# -# Script history log: -# 2020-04-02 Y Mao -# Oct 2021 - Remove jlogfile -# 2022-05-25 | Y Mao | Add ICAO new milestone Nov 2023 - -set -x -echo "JOB $job HAS BEGUN" -export SEND_AWC_US_ALERT=NO -export SEND_AWC_UK_ALERT=NO -export SEND_US_WAFS=NO -export SEND_UK_WAFS=NO - -cd $DATA -export SLEEP_LOOP_MAX=`expr $SLEEP_TIME / $SLEEP_INT` - -echo "start blending US and UK WAFS products at 1/4 degree for " $cyc " z cycle" -export ffhr=$SHOUR - -export ic_uk=1 - -while test $ffhr -le $EHOUR -do - -########################## -# look for US WAFS data -########################## - - export ic=1 - while [ $ic -le $SLEEP_LOOP_MAX ] - do - if [ -s ${COMINus}/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr}.grib2 ] ; then - break - fi - if [ $ic -eq $SLEEP_LOOP_MAX ] ; then - echo "US WAFS GRIB2 file $COMINus/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr}.grib2 not found after waiting over $SLEEP_TIME seconds" - echo "US WAFS GRIB2 file " $COMINus/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr}.grib2 "not found after waiting ",$SLEEP_TIME, "exitting" - SEND_UK_WAFS=YES - break - else - ic=`expr $ic + 1` - sleep $SLEEP_INT - fi - done - -########################## -# look for UK WAFS data. -########################## - - SLEEP_LOOP_MAX_UK=$SLEEP_LOOP_MAX - - # export ic=1 - while [ $ic_uk -le $SLEEP_LOOP_MAX_UK ] - do - # Three(3) unblended UK files for each cycle+fhour: icing, turb, cb - ukfiles=`ls $COMINuk/EGRR_WAFS_0p25_*_unblended_${PDY}_${cyc}z_t${ffhr}.grib2 | wc -l` - if [ $ukfiles -ge 3 ] ; then - break - fi - - if [ $ic_uk -eq $SLEEP_LOOP_MAX_UK ] ; then - echo "UK WAFS GRIB2 file $COMINuk/EGRR_WAFS_0p25_*_unblended_${PDY}_${cyc}z_t${ffhr}.grib2 not found" - echo "UK WAFS GRIB2 file " $COMINuk/EGRR_WAFS_0p25_*_unblended_${PDY}_${cyc}z_t${ffhr}.grib2 " not found" - export SEND_US_WAFS=YES - break - else - ic_uk=`expr $ic_uk + 1` - sleep $SLEEP_INT - fi - done - -########################## -# If both UK and US data are missing. -########################## - - if [ $SEND_UK_WAFS = 'YES' -a $SEND_US_WAFS = 'YES' ] ; then - SEND_US_WAFS=NO - SEND_UK_WAFS=NO - echo "BOTH UK and US data are missing, no blended for $PDY$cyc$ffhr" - export err=1; err_chk - continue - fi - -########################## -# Blending or unblended -########################## - - if [ $SEND_US_WAFS = 'YES' ] ; then - echo "turning back on dbn alert for unblended US WAFS product" - elif [ $SEND_UK_WAFS = 'YES' ] ; then - echo "turning back on dbn alert for unblended UK WAFS product" - # retrieve UK products - # Three(3) unblended UK files for each cycle+fhour: icing, turb, cb - cat $COMINuk/EGRR_WAFS_0p25_*_unblended_${PDY}_${cyc}z_t${ffhr}.grib2 > EGRR_WAFS_0p25_unblended_${PDY}_${cyc}z_t${ffhr}.grib2 - else # elif [ $SEND_US_WAFS = "NO" -a $SEND_UK_WAFS = "NO" ] ; then - # retrieve UK products - # Three(3) unblended UK files for each cycle+fhour: icing, turb, cb - cat $COMINuk/EGRR_WAFS_0p25_*_unblended_${PDY}_${cyc}z_t${ffhr}.grib2 > EGRR_WAFS_0p25_unblended_${PDY}_${cyc}z_t${ffhr}.grib2 - - # pick up US data - cp ${COMINus}/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr}.grib2 . - - # run blending code - export pgm=wafs_blending_0p25.x - . prep_step - - startmsg - $EXECgfs/$pgm gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr}.grib2 \ - EGRR_WAFS_0p25_unblended_${PDY}_${cyc}z_t${ffhr}.grib2 \ - 0p25_blended_${PDY}${cyc}f${ffhr}.grib2 > f${ffhr}.out - - err1=$? - if test "$err1" -ne 0 - then - echo "WAFS blending 0p25 program failed at " ${PDY}${cyc}F${ffhr} " turning back on dbn alert for unblended US WAFS product" - SEND_US_WAFS=YES - fi - fi - -########################## -# Date dissemination -########################## - - if [ $SEND_US_WAFS = "YES" ] ; then - - ############################################################################################## - # - # checking any US WAFS product was sent due to No UK WAFS GRIB2 file or WAFS blending program - # (Alert once for all forecast hours) - # - if [ $SEND_AWC_US_ALERT = "NO" ] ; then - echo "WARNING! No UK WAFS GRIB2 0P25 file for WAFS blending. Send alert message to AWC ......" - make_NTC_file.pl NOXX10 KKCI $PDY$cyc NONE $FIXgfs/wafs_blending_0p25_admin_msg $PCOM/wifs_0p25_admin_msg - make_NTC_file.pl NOXX10 KWBC $PDY$cyc NONE $FIXgfs/wafs_blending_0p25_admin_msg $PCOM/iscs_0p25_admin_msg - if [ $SENDDBN_NTC = "YES" ] ; then - $DBNROOT/bin/dbn_alert NTC_LOW WAFS $job $PCOM/wifs_0p25_admin_msg - $DBNROOT/bin/dbn_alert NTC_LOW WAFS $job $PCOM/iscs_0p25_admin_msg - fi - - if [ $envir != prod ]; then - export maillist='nco.spa@noaa.gov' - fi - export maillist=${maillist:-'nco.spa@noaa.gov,ncep.sos@noaa.gov'} - export subject="WARNING! No UK WAFS GRIB2 0P25 file for WAFS blending, $PDY t${cyc}z $job" - echo "*************************************************************" > mailmsg - echo "*** WARNING! No UK WAFS GRIB2 0P25 file for WAFS blending ***" >> mailmsg - echo "*************************************************************" >> mailmsg - echo >> mailmsg - echo "Send alert message to AWC ...... " >> mailmsg - echo >> mailmsg - cat mailmsg > $COMOUT/${RUN}.t${cyc}z.wafs_blend_0p25_usonly.emailbody - cat $COMOUT/${RUN}.t${cyc}z.wafs_blend_0p25_usonly.emailbody | mail.py -s "$subject" $maillist -v - - export SEND_AWC_US_ALERT=YES - fi - ############################################################################################## - # - # Distribute US WAFS unblend Data to NCEP FTP Server (WOC) and TOC - # - echo "altering the unblended US WAFS products - $COMINus/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr}.grib2 " - echo "and $COMINus/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr}.grib2.idx " - - if [ $SENDDBN = "YES" ] ; then - $DBNROOT/bin/dbn_alert MODEL GFS_WAFS_0P25_UBL_GB2 $job $COMINus/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr}.grib2 - $DBNROOT/bin/dbn_alert MODEL GFS_WAFS_0P25_UBL_GB2_WIDX $job $COMINus/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr}.grib2.idx - fi - -# if [ $SENDDBN_NTC = "YES" ] ; then -# $DBNROOT/bin/dbn_alert NTC_LOW $NET $job $COMOUT/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr}.grib2 -# fi - - - export SEND_US_WAFS=NO - - elif [ $SEND_UK_WAFS = "YES" ] ; then - ############################################################################################## - # - # checking any UK WAFS product was sent due to No US WAFS GRIB2 file - # (Alert once for all forecast hours) - # - if [ $SEND_AWC_UK_ALERT = "NO" ] ; then - echo "WARNING: No US WAFS GRIB2 0P25 file for WAFS blending. Send alert message to AWC ......" - make_NTC_file.pl NOXX10 KKCI $PDY$cyc NONE $FIXgfs/wafs_blending_0p25_admin_msg $PCOM/wifs_0p25_admin_msg - make_NTC_file.pl NOXX10 KWBC $PDY$cyc NONE $FIXgfs/wafs_blending_0p25_admin_msg $PCOM/iscs_0p25_admin_msg - if [ $SENDDBN_NTC = "YES" ] ; then - $DBNROOT/bin/dbn_alert NTC_LOW WAFS $job $PCOM/wifs_0p25_admin_msg - $DBNROOT/bin/dbn_alert NTC_LOW WAFS $job $PCOM/iscs_0p25_admin_msg - fi - - if [ $envir != prod ]; then - export maillist='nco.spa@noaa.gov' - fi - export maillist=${maillist:-'nco.spa@noaa.gov,ncep.sos@noaa.gov'} - export subject="WARNING! No US WAFS GRIB2 0P25 file for WAFS blending, $PDY t${cyc}z $job" - echo "*************************************************************" > mailmsg - echo "*** WARNING! No US WAFS GRIB2 0P25 file for WAFS blending ***" >> mailmsg - echo "*************************************************************" >> mailmsg - echo >> mailmsg - echo "Send alert message to AWC ...... " >> mailmsg - echo >> mailmsg - cat mailmsg > $COMOUT/${RUN}.t${cyc}z.wafs_blend_0p25_ukonly.emailbody - cat $COMOUT/${RUN}.t${cyc}z.wafs_blend_0p25_ukonly.emailbody | mail.py -s "$subject" $maillist -v - - export SEND_AWC_UK_ALERT=YES - fi - ############################################################################################## - # - # Distribute UK WAFS unblend Data to NCEP FTP Server (WOC) and TOC - # - echo "altering the unblended UK WAFS products - EGRR_WAFS_0p25_unblended_${PDY}_${cyc}z_t${ffhr}.grib2" - - if [ $SENDDBN = "YES" ] ; then - $DBNROOT/bin/dbn_alert MODEL GFS_WAFS_UKMET_0P25_UBL_GB2 $job EGRR_WAFS_0p25_unblended_${PDY}_${cyc}z_t${ffhr}.grib2 - fi - -# if [ $SENDDBN_NTC = "YES" ] ; then -# $DBNROOT/bin/dbn_alert NTC_LOW $NET $job EGRR_WAFS_0p25_unblended_${PDY}_${cyc}z_t${ffhr}.grib2 -# fi - export SEND_UK_WAFS=NO - - - else - ############################################################################################## - # - # TOCGRIB2 Processing WAFS Blending GRIB2 (Icing, CB, GTG) - - # As in August 2020, no WMO header is needed for WAFS data at 1/4 deg - ## . prep_step - ## export pgm=$TOCGRIB2 - ## startmsg - - ## export FORT11=0p25_blended_${PDY}${cyc}f${ffhr}.grib2 - ## export FORT31=" " - ## export FORT51=grib2.t${cyc}z.WAFS_0p25_blended_f${ffhr} - - ## $TOCGRIB2 < $FIXgfs/grib2_blended_wafs_wifs_f${ffhr}.0p25 >> $pgmout 2> errfile - - ## err=$?;export err ;err_chk - ## echo " error from tocgrib=",$err - - ############################################################################################## - # - # Distribute US WAFS unblend Data to NCEP FTP Server (WOC) and TOC - # - if [ $SENDCOM = YES ]; then - cp 0p25_blended_${PDY}${cyc}f${ffhr}.grib2 $COMOUT/WAFS_0p25_blended_${PDY}${cyc}f${ffhr}.grib2 - ## cp grib2.t${cyc}z.WAFS_0p25_blended_f${ffhr} $PCOM/grib2.t${cyc}z.WAFS_0p25_blended_f${ffhr} - fi - - if [ $SENDDBN_NTC = "YES" ] ; then - # Distribute Data to NCEP FTP Server (WOC) and TOC - echo "No WMO header yet" - ## $DBNROOT/bin/dbn_alert NTC_LOW $NET $job $PCOM/grib2.t${cyc}z.WAFS_0p25_blended_f${ffhr} - fi - - if [ $SENDDBN = "YES" ] ; then - $DBNROOT/bin/dbn_alert MODEL GFS_WAFS_0P25_BL_GB2 $job $COMOUT/WAFS_0p25_blended_${PDY}${cyc}f${ffhr}.grib2 - fi - fi - -########################## -# Next loop -########################## - - echo "$PDY$cyc$ffhr" > $COMOUT/${RUN}.t${cyc}z.control.wafsblending_0p25 - - if [ $FHOUT_GFS -eq 3 ] ; then - FHINC=03 - else - if [ $ffhr -lt 24 ] ; then - FHINC=01 - else - FHINC=03 - fi - fi - - ffhr=`expr $ffhr + $FHINC` - if test $ffhr -lt 10 - then - ffhr=0${ffhr} - fi - -done -################################################################################ - -exit 0 -# diff --git a/scripts/exgfs_atmos_wafs_gcip.sh b/scripts/exgfs_atmos_wafs_gcip.sh deleted file mode 100755 index 98e367e5f9..0000000000 --- a/scripts/exgfs_atmos_wafs_gcip.sh +++ /dev/null @@ -1,242 +0,0 @@ -#!/bin/ksh -###################################################################### -# UTILITY SCRIPT NAME : exgfs_atmos_wafs_gcip.sh -# DATE WRITTEN : 01/28/2015 -# -# Abstract: This utility script produces the WAFS GCIP. -# -# GCIP runs f00 f03 for each cycle, 4 times/day, -# to make the output valid every 3 hours -# -# History: 01/28/2015 -# - GFS post master file as first guess -# /com/prod/gfs.YYYYMMDD -# - Nesdis composite global satellite data -# /dcom (ftp?) -# - Metar/ships/lightning/pireps -# ksh /nwprod/ush/dumpjb YYYYMMDDHH hours output >/dev/null -# - Radar data over CONUS -# /com/hourly/prod/radar.YYYYMMDD/refd3d.tHHz.grbf00 -# - output of current icing potential -##################################################################### -echo "-----------------------------------------------------" -echo "JGFS_ATMOS_WAFS_GCIP at 00Z/06Z/12Z/18Z GFS postprocessing" -echo "-----------------------------------------------------" -echo "History: 2015 - First implementation of this new script." -echo "Oct 2021 - Remove jlogfile" -echo " " -##################################################################### - -set -xa - -# Set up working dir for parallel runs based on ffhr -ffhr=$1 -DATA=$DATA/$ffhr -mkdir -p $DATA -cd $DATA -# Overwrite TMPDIR for dumpjb -export TMPDIR=$DATA - -SLEEP_LOOP_MAX=`expr $SLEEP_TIME / $SLEEP_INT` - -configFile=gcip.config - -echo 'before preparing data' `date` - -# valid time. no worry, it won't be across to another date -vhour=$(( $ffhr + $cyc )) -vhour="$(printf "%02d" $(( 10#$vhour )) )" - -######################################################## -# Preparing data - -if [ $RUN = "gfs" ] ; then - - # model data - masterFile=$COMINgfs/gfs.t${cyc}z.master.grb2f$ffhr - - # check the availability of model file - icnt=1 - while [ $icnt -lt $SLEEP_LOOP_MAX ] ; do - if [ -s $masterFile ] ; then - break - fi - sleep $SLEEP_INT - icnt=$((icnt + 1)) - if [ $icnt -ge $SLEEP_LOOP_MAX ] ; then - msg="ABORTING after $SLEEP_TIME seconds of waiting for gfs master file!" - err_exit $msg - fi - done - - cpreq $PARMgfs/wafs_gcip_gfs.cfg $configFile - - modelFile=modelfile.grb -# ${NLN} $masterFile $modelFile - $WGRIB2 $masterFile | egrep ":HGT:|:VVEL:|:CLMR:|:TMP:|:SPFH:|:RWMR:|:SNMR:|:GRLE:|:ICMR:|:RH:" | egrep "00 mb:|25 mb:|50 mb:|75 mb:|:HGT:surface" | $WGRIB2 -i $masterFile -grib $modelFile - - # metar / ships / lightning / pireps - # dumped data files' suffix is ".ibm" - obsfiles="metar ships ltngsr pirep" - for obsfile in $obsfiles ; do -# ksh $USHobsproc_dump/dumpjb ${PDY}${vhour} 1.5 $obsfile >/dev/null - ksh $DUMPJB ${PDY}${vhour} 1.5 $obsfile - done - metarFile=metar.ibm - shipFile=ships.ibm - lightningFile=ltngsr.ibm - pirepFile=pirep.ibm - - satFiles="" - channels="VIS SIR LIR SSR" - # If one channel is missing, satFiles will be empty - for channel in $channels ; do - satFile=GLOBCOMP$channel.${PDY}${vhour} - if [[ $COMINsat == *ftp:* ]] ; then - curl -O $COMINsat/$satFile - else - - # check the availability of satellite data file - icnt=1 - while [ $icnt -lt $SLEEP_LOOP_MAX ] ; do - if [ -s $COMINsat/$satFile ] ; then - break - fi - sleep $SLEEP_INT - icnt=$((icnt + 1)) - if [ $icnt -ge $SLEEP_LOOP_MAX ] ; then - msg="GCIP at ${vhour}z ABORTING after $SLEEP_TIME seconds of waiting for satellite $channel file!" - echo "$msg" - rc=1 - echo $msg >> $COMOUT/${RUN}.gcip.log - - if [ $envir != prod ]; then - export maillist='nco.spa@noaa.gov' - fi - export maillist=${maillist:-'nco.spa@noaa.gov,ncep.sos@noaa.gov'} - - export subject="Missing GLOBCOMPVIS Satellite Data for $PDY t${cyc}z $job" - echo "*************************************************************" > mailmsg - echo "*** WARNING !! COULD NOT FIND GLOBCOMPVIS Satellite Data *** " >> mailmsg - echo "*************************************************************" >> mailmsg - echo >> mailmsg - echo "One or more GLOBCOMPVIS Satellite Data files are missing, including " >> mailmsg - echo " $COMINsat/$satFile " >> mailmsg - echo >> mailmsg - echo "$job will gracfully exited" >> mailmsg - cat mailmsg > $COMOUT/${RUN}.t${cyc}z.gcip.emailbody - cat $COMOUT/${RUN}.t${cyc}z.gcip.emailbody | mail.py -s "$subject" $maillist -v - - exit $rc - fi - done - - cp $COMINsat/$satFile . - fi - if [[ -s $satFile ]] ; then - satFiles="$satFiles $satFile" - else - satFiles="" - break - fi - done - - # radar data - sourceRadar=$COMINradar/refd3d.t${vhour}z.grb2f00 - - # check the availability of radar data file - icnt=1 - while [ $icnt -lt $SLEEP_LOOP_MAX ] ; do - if [ -s $sourceRadar ] ; then - break - fi - sleep $SLEEP_INT - icnt=$((icnt + 1)) - if [ $icnt -ge $SLEEP_LOOP_MAX ] ; then - echo "WARNING: radar data is not available after $SLEEP_TIME seconds of waiting!" - fi - done - - radarFile=radarFile.grb - if [ -s $sourceRadar ] ; then - cp $sourceRadar $radarFile - fi - - fi # RUN model name - -######################################################## -# Composite gcip command options - -outputfile=gfs.t${vhour}z.gcip.f00.grib2 - -cmdoptions="-t ${PDY}${vhour} -c $configFile -model $modelFile" -if [[ -s $metarFile ]] ; then - cmdoptions="$cmdoptions -metar $metarFile" -else - err_exit "There are no METAR observations." -fi -if [[ -s $shipFile ]] ; then - cmdoptions="$cmdoptions -ship $shipFile" -fi -# empty if a channel data is missing -if [[ -n $satFiles ]] ; then - cmdoptions="$cmdoptions -sat $satFiles" -else - err_exit "Satellite data are not available or completed." -fi -if [[ -s $lightningFile ]] ; then - cmdoptions="$cmdoptions -lightning $lightningFile" -fi -if [[ -s $pirepFile ]] ; then - cmdoptions="$cmdoptions -pirep $pirepFile" -fi -if [[ -s $radarFile ]] ; then - cmdoptions="$cmdoptions -radar $radarFile" -fi -cmdoptions="$cmdoptions -o $outputfile" - -####################################################### -# Run GCIP - -echo 'after preparing data' `date` - -export pgm=wafs_gcip.x - -cpreq $FIXgfs/gcip_near_ir_refl.table near_ir_refl.table - -startmsg -$EXECgfs/$pgm >> $pgmout $cmdoptions 2> errfile & -wait -export err=$?; err_chk - - -if [[ -s $outputfile ]] ; then - ############################## - # Post Files to COM - ############################## - if [ $SENDCOM = "YES" ] ; then - cp $outputfile $COMOUT/$outputfile - if [ $SENDDBN = "YES" ] ; then - # $DBNROOT/bin/dbn_alert GFS_WAFS GCIP $job $COMOUT/$outputfile -#alert removed in v15.0 $DBNROOT/bin/dbn_alert MODEL GFS_WAFS_GCIP $job $COMOUT/$outputfile - : - fi - fi -else - err_exit "Output $outputfile was not generated" -fi - - -################################################################################ -# GOOD RUN -set +x -echo "**************JOB EXGFS_ATMOS_WAFS_GCIP.SH COMPLETED NORMALLY ON THE IBM" -echo "**************JOB EXGFS_ATMOS_WAFS_GCIP.SH COMPLETED NORMALLY ON THE IBM" -echo "**************JOB EXGFS_ATMOS_WAFS_GCIP.SH COMPLETED NORMALLY ON THE IBM" -set -x -################################################################################ - -exit 0 - -############## END OF SCRIPT ####################### - diff --git a/scripts/exgfs_atmos_wafs_grib.sh b/scripts/exgfs_atmos_wafs_grib.sh deleted file mode 100755 index e81f0e99da..0000000000 --- a/scripts/exgfs_atmos_wafs_grib.sh +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -###################################################################### -# UTILITY SCRIPT NAME : exgfs_atmos_wafs_grib.sh -# DATE WRITTEN : 10/04/2004 -# -# Abstract: This utility script produces the WAFS GRIB -# -# Input: 1 arguments are passed to this script. -# 1st argument - Forecast Hour - format of 2I -# -# Logic: If we are processing fcsthrss 12-30, we have the -# added variable of the a or b in the process accordingly. -# The other fcsthrss, the a or b is dropped. -# -##################################################################### -echo "------------------------------------------------" -echo "JWAFS_00/06/12/18 GFS postprocessing" -echo "------------------------------------------------" -echo "History: OCT 2004 - First implementation of this new script." -echo " Aug 2015 - Modified for Phase II" -echo " Dec 2015 - Modified for input model data in Grib2" -echo " Oct 2021 - Remove jlogfile" -echo " " -##################################################################### -set +x -fcsthrs_list="$1" -num=$# - -if test "$num" -ge 1 -then - echo " Appropriate number of arguments were passed" - set -x - export DBNALERT_TYPE=${DBNALERT_TYPE:-GRIB} -# export job=${job:-interactive} -else - echo "" - echo "Usage: exgfs_atmos_wafs_grib.sh \$fcsthrs " - echo "" - exit 16 -fi - -cd $DATA - -set -x - -# To fix bugzilla 628 ( removing 'j' ahead of $job ) -export jobsuffix=gfs_atmos_wafs_f${fcsthrs}_$cyc - -############################################### -# Wait for the availability of the pgrib file -############################################### -# file name and forecast hour of GFS model data in Grib2 are 3 digits -export fcsthrs000="$(printf "%03d" $(( 10#$fcsthrs )) )" -icnt=1 -while [ $icnt -lt 1000 ] -do -# if [ -s $COMIN/${RUN}.${cycle}.pgrbf$fcsthrs ] - if [ -s $COMIN/${RUN}.${cycle}.pgrb2.1p00.f$fcsthrs000 ] - then - break - fi - - sleep 10 - icnt=$((icnt + 1)) - if [ $icnt -ge 180 ] - then - msg="ABORTING after 30 min of waiting for the pgrib filei!" - err_exit $msg - fi -done - -######################################## -echo "HAS BEGUN!" -######################################## - -echo " ------------------------------------------" -echo " BEGIN MAKING GFS WAFS PRODUCTS" -echo " ------------------------------------------" - -#################################################### -# -# GFS WAFS PRODUCTS MUST RUN IN CERTAIN ORDER -# BY REQUIREMENT FROM FAA. -# PLEASE DO NOT ALTER ORDER OF PROCESSING WAFS -# PRODUCTS CONSULTING WITH MR. BRENT GORDON. -# -#################################################### - -set +x -echo " " -echo "#####################################" -echo " Process GRIB WAFS PRODUCTS (mkwafs)" -echo " FORECAST HOURS 00 - 72." -echo "#####################################" -echo " " -set -x - -if test $fcsthrs -eq 0 -then - echo " " -fi - -# If we are processing fcsthrss 12-30, we have the -# added variable of the a or b in the process. -# The other fcsthrss, the a or b is dropped. - -if test $fcsthrs -ge 12 -a $fcsthrs -le 24 -then - sh $USHgfs/wafs_mkgbl.sh ${fcsthrs} a -fi - -if test $fcsthrs -eq 30 -then - sh $USHgfs/wafs_mkgbl.sh ${fcsthrs} a - for fcsthrs in 12 18 24 30 - do - sh $USHgfs/wafs_mkgbl.sh ${fcsthrs} b - done - sh $USHgfs/wafs_mkgbl.sh 00 x - sh $USHgfs/wafs_mkgbl.sh 06 x -fi - -if test $fcsthrs -gt 30 -a $fcsthrs -le 48 -then - sh $USHgfs/wafs_mkgbl.sh ${fcsthrs} x -fi - -if test $fcsthrs -eq 60 -o $fcsthrs -eq 72 -then - sh $USHgfs/wafs_mkgbl.sh ${fcsthrs} x -fi - -################################################################################ -# GOOD RUN -set +x -echo "**************JOB EXGFS_ATMOS_WAFS_GRIB.SH COMPLETED NORMALLY ON THE IBM" -echo "**************JOB EXGFS_ATMOS_WAFS_GRIB.SH COMPLETED NORMALLY ON THE IBM" -echo "**************JOB EXGFS_ATMOS_WAFS_GRIB.SH COMPLETED NORMALLY ON THE IBM" -set -x -################################################################################ - -echo "HAS COMPLETED NORMALLY!" - -exit 0 - -############## END OF SCRIPT ####################### diff --git a/scripts/exgfs_atmos_wafs_grib2.sh b/scripts/exgfs_atmos_wafs_grib2.sh deleted file mode 100755 index 4631a10d8c..0000000000 --- a/scripts/exgfs_atmos_wafs_grib2.sh +++ /dev/null @@ -1,227 +0,0 @@ -#!/bin/sh -###################################################################### -# UTILITY SCRIPT NAME : exgfs_atmos_wafs_grib2.sh -# DATE WRITTEN : 07/15/2009 -# -# Abstract: This utility script produces the WAFS GRIB2. The output -# GRIB files are posted on NCEP ftp server and the grib2 files -# are pushed via dbnet to TOC to WAFS (ICSC). -# This is a joint project of WAFC London and WAFC Washington. -# -# We are processing WAFS grib2 for fcsthrs from 06 - 36 -# with 3-hour time increment. -# -# History: 08/20/2014 -# - ingest master file in grib2 (or grib1 if grib2 fails) -# - output of icng tcld cat cb are in grib2 -# 02/21/2020 -# - Prepare unblended icing severity and GTG tubulence -# for blending at 0.25 degree -# 02/22/2022 -# - Add grib2 data requested by FAA -# - Stop generating grib1 data for WAFS -##################################################################### -echo "-----------------------------------------------------" -echo "JGFS_ATMOS_WAFS_GRIB2 at 00Z/06Z/12Z/18Z GFS postprocessing" -echo "-----------------------------------------------------" -echo "History: AUGUST 2009 - First implementation of this new script." -echo "Oct 2021 - Remove jlogfile" -echo "Feb 2022 - Add FAA data, stop grib1 data" -echo " " -##################################################################### - -set -x - -fcsthrs=$1 - -DATA=$DATA/$fcsthrs -mkdir -p $DATA -cd $DATA - -########################################################## -# Wait for the availability of the gfs master pgrib file -########################################################## -# file name and forecast hour of GFS model data in Grib2 are 3 digits -export fcsthrs000="$(printf "%03d" $(( 10#$fcsthrs )) )" - -# 2D data -master2=$COMIN/${RUN}.${cycle}.master.grb2f${fcsthrs000} -master2i=$COMIN/${RUN}.${cycle}.master.grb2if${fcsthrs000} -# 3D data -wafs2=$COMIN/${RUN}.${cycle}.wafs.grb2f${fcsthrs000} -wafs2i=$COMIN/${RUN}.${cycle}.wafs.grb2f${fcsthrs000}.idx -# 3D data (on ICAO standard level) -icao2=$COMIN/${RUN}.${cycle}.wafs_icao.grb2f${fcsthrs000} -icao2i=$COMIN/${RUN}.${cycle}.wafs_icao.grb2f${fcsthrs000}.idx - -icnt=1 -while [ $icnt -lt 1000 ] -do - if [[ -s $master2i && -s $wafs2i ]] ; then - break - fi - - sleep 10 - icnt=$((icnt + 1)) - if [ $icnt -ge 180 ] ; then - msg="ABORTING after 30 min of waiting for the gfs master and wafs file!" - err_exit $msg - fi -done - -######################################## -echo "HAS BEGUN!" -######################################## - -echo " ------------------------------------------" -echo " BEGIN MAKING GFS WAFS GRIB2 PRODUCTS" -echo " ------------------------------------------" - -set +x -echo " " -echo "#####################################" -echo " Process GRIB WAFS PRODUCTS " -echo " FORECAST HOURS 06 - 36." -echo "#####################################" -echo " " -set -x - - -if [ $fcsthrs -le 36 -a $fcsthrs -gt 0 ] ; then - wafs_timewindow=yes -else - wafs_timewindow=no -fi - -#--------------------------- -# 1) Grib2 data for FAA -#--------------------------- -$WGRIB2 $master2 | grep -F -f $FIXgfs/grib2_gfs_awf_master.list | $WGRIB2 -i $master2 -grib tmpfile_gfsf${fcsthrs} -# F006 master file has two records of 0-6 hour APCP and ACPCP each, keep only one -# FAA APCP ACPCP: included every 6 forecast hour (0, 48], every 12 forest hour [48, 72] (controlled by $FIXgfs/grib2_gfs_awf_master3d.list) -if [ $fcsthrs -eq 6 ] ; then - $WGRIB2 tmpfile_gfsf${fcsthrs} -not "(APCP|ACPCP)" -grib tmp.grb2 - $WGRIB2 tmpfile_gfsf${fcsthrs} -match APCP -append -grib tmp.grb2 -quit - $WGRIB2 tmpfile_gfsf${fcsthrs} -match ACPCP -append -grib tmp.grb2 -quit - mv tmp.grb2 tmpfile_gfsf${fcsthrs} -fi -# U V will have the same grid message number by using -ncep_uv. -# U V will have the different grid message number without -ncep_uv. -$WGRIB2 tmpfile_gfsf${fcsthrs} \ - -set master_table 6 \ - -new_grid_winds earth -set_grib_type jpeg \ - -new_grid_interpolation bilinear -if ":(UGRD|VGRD):max wind" -new_grid_interpolation neighbor -fi \ - -new_grid latlon 0:288:1.25 90:145:-1.25 gfs.t${cyc}z.awf_grb45f${fcsthrs}.grib2 -$WGRIB2 -s gfs.t${cyc}z.awf_grb45f${fcsthrs}.grib2 > gfs.t${cyc}z.awf_grb45f${fcsthrs}.grib2.idx - -# For FAA, add WMO header. The header is different from WAFS -export pgm=$TOCGRIB2 -. prep_step -startmsg -export FORT11=gfs.t${cyc}z.awf_grb45f${fcsthrs}.grib2 -export FORT31=" " -export FORT51=grib2.t${cyc}z.awf_grbf${fcsthrs}.45 -$TOCGRIB2 < $FIXgfs/grib2_gfs_awff${fcsthrs}.45 >> $pgmout 2> errfile -err=$?;export err ;err_chk -echo " error from tocgrib=",$err - -if [ $wafs_timewindow = 'yes' ] ; then -#--------------------------- -# 2) traditional WAFS fields -#--------------------------- - # 3D data from $wafs2, on exact model pressure levels - $WGRIB2 $wafs2 | grep -F -f $FIXgfs/grib2_gfs_wafs_wafsmaster.list | $WGRIB2 -i $wafs2 -grib tmpfile_gfsf${fcsthrs} - # 2D data from $master2 - tail -5 $FIXgfs/grib2_gfs_wafs_wafsmaster.list > grib2_gfs_wafs_wafsmaster.list.2D - $WGRIB2 $master2 | grep -F -f grib2_gfs_wafs_wafsmaster.list.2D | $WGRIB2 -i $master2 -grib tmpfile_gfsf${fcsthrs}.2D - # Complete list of WAFS data - cat tmpfile_gfsf${fcsthrs}.2D >> tmpfile_gfsf${fcsthrs} - # WMO header - cp $FIXgfs/grib2_gfs_wafsf${fcsthrs}.45 wafs_wmo_header45 - # U V will have the same grid message number by using -ncep_uv. - # U V will have the different grid message number without -ncep_uv. - $WGRIB2 tmpfile_gfsf${fcsthrs} \ - -set master_table 6 \ - -new_grid_winds earth -set_grib_type jpeg \ - -new_grid_interpolation bilinear -if ":(UGRD|VGRD):max wind" -new_grid_interpolation neighbor -fi \ - -new_grid latlon 0:288:1.25 90:145:-1.25 gfs.t${cyc}z.wafs_grb45f${fcsthrs}.grib2 - $WGRIB2 -s gfs.t${cyc}z.wafs_grb45f${fcsthrs}.grib2 > gfs.t${cyc}z.wafs_grb45f${fcsthrs}.grib2.idx - - # For WAFS, add WMO header. Processing WAFS GRIB2 grid 45 for ISCS and WIFS - export pgm=$TOCGRIB2 - . prep_step - startmsg - export FORT11=gfs.t${cyc}z.wafs_grb45f${fcsthrs}.grib2 - export FORT31=" " - export FORT51=grib2.t${cyc}z.wafs_grbf${fcsthrs}.45 - $TOCGRIB2 < wafs_wmo_header45 >> $pgmout 2> errfile - err=$?;export err ;err_chk - echo " error from tocgrib=",$err - -fi # wafs_timewindow - -if [ $SENDCOM = "YES" ] ; then - - ############################## - # Post Files to COM - ############################## - - # FAA data - mv gfs.t${cyc}z.awf_grb45f${fcsthrs}.grib2 $COMOUT/gfs.t${cyc}z.awf_grb45f${fcsthrs}.grib2 - mv gfs.t${cyc}z.awf_grb45f${fcsthrs}.grib2.idx $COMOUT/gfs.t${cyc}z.awf_grb45f${fcsthrs}.grib2.idx - - # WAFS data - if [ $wafs_timewindow = 'yes' ] ; then - mv gfs.t${cyc}z.wafs_grb45f${fcsthrs}.grib2 $COMOUT/gfs.t${cyc}z.wafs_grb45f${fcsthrs}.grib2 - mv gfs.t${cyc}z.wafs_grb45f${fcsthrs}.grib2.idx $COMOUT/gfs.t${cyc}z.wafs_grb45f${fcsthrs}.grib2.idx - fi - - ############################## - # Post Files to PCOM - ############################## - - mv grib2.t${cyc}z.awf_grbf${fcsthrs}.45 $PCOM/grib2.t${cyc}z.awf_grbf${fcsthrs}.45 - - if [ $wafs_timewindow = 'yes' ] ; then - mv grib2.t${cyc}z.wafs_grbf${fcsthrs}.45 $PCOM/grib2.t${cyc}z.wafs_grbf${fcsthrs}.45 - fi -fi - -###################### -# Distribute Data -###################### - -if [ $SENDDBN = "YES" ] ; then - -# -# Distribute Data to WOC -# - if [ $wafs_timewindow = 'yes' ] ; then - $DBNROOT/bin/dbn_alert MODEL GFS_WAFS_1P25_GB2 $job $COMOUT/gfs.t${cyc}z.wafs_grb45f${fcsthrs}.grib2 -# -# Distribute Data to TOC TO WIFS FTP SERVER (AWC) -# - $DBNROOT/bin/dbn_alert NTC_LOW $NET $job $PCOM/grib2.t${cyc}z.wafs_grbf${fcsthrs}.45 - fi -# -# Distribute data to FAA -# - $DBNROOT/bin/dbn_alert NTC_LOW $NET $job $PCOM/grib2.t${cyc}z.awf_grbf${fcsthrs}.45 - - -fi - -################################################################################ -# GOOD RUN -set +x -echo "**************JOB EXGFS_ATMOS_WAFS_GRIB2.SH COMPLETED NORMALLY ON THE IBM" -echo "**************JOB EXGFS_ATMOS_WAFS_GRIB2.SH COMPLETED NORMALLY ON THE IBM" -echo "**************JOB EXGFS_ATMOS_WAFS_GRIB2.SH COMPLETED NORMALLY ON THE IBM" -set -x -################################################################################ - -echo "HAS COMPLETED NORMALLY!" - -exit 0 - -############## END OF SCRIPT ####################### diff --git a/scripts/exgfs_atmos_wafs_grib2_0p25.sh b/scripts/exgfs_atmos_wafs_grib2_0p25.sh deleted file mode 100755 index ec53966430..0000000000 --- a/scripts/exgfs_atmos_wafs_grib2_0p25.sh +++ /dev/null @@ -1,200 +0,0 @@ -#!/bin/sh -###################################################################### -# UTILITY SCRIPT NAME : exgfs_atmos_wafs_grib2_0p25.sh -# DATE WRITTEN : 03/20/2020 -# -# Abstract: This utility script produces the WAFS GRIB2 at 0.25 degree. -# The output GRIB files are posted on NCEP ftp server and the -# grib2 files are pushed via dbnet to TOC to WAFS (ICSC). -# This is a joint project of WAFC London and WAFC Washington. -# -# We are processing WAFS grib2 for ffhr: -# hourly: 006 - 024 -# 3 hour: 027 - 048 -# 6 hour: 054 - 120 (for U/V/T/RH, not for turbulence/icing/CB) -# -# History: -##################################################################### -echo "-----------------------------------------------------" -echo "JGFS_ATMOS_WAFS_GRIB2_0P25 at 00Z/06Z/12Z/18Z GFS postprocessing" -echo "-----------------------------------------------------" -echo "History: MARCH 2020 - First implementation of this new script." -echo "Oct 2021 - Remove jlogfile" -echo "Aug 2022 - ffhr expanded from 36 to 120" -echo " " -##################################################################### - -cd $DATA - -set -x - - -ffhr=$1 -export ffhr="$(printf "%03d" $(( 10#$ffhr )) )" -export ffhr2="$(printf "%02d" $(( 10#$ffhr )) )" - -DATA=$DATA/$ffhr -mkdir -p $DATA -cd $DATA - - -if [ $ffhr -le 48 ] ; then - hazard_timewindow=yes -else - hazard_timewindow=no -fi - - -########################################################## -# Wait for the availability of the gfs WAFS file -########################################################## - -# 3D data (on new ICAO model pressure levels) and 2D data (CB) -wafs2=$COMIN/${RUN}.${cycle}.wafs.grb2f${ffhr} -wafs2i=$COMIN/${RUN}.${cycle}.wafs.grb2f${ffhr}.idx - -# 2D data from master file (U/V/H on max wind level, T/H at tropopause) -master2=$COMIN/${RUN}.${cycle}.master.grb2f${ffhr} - -# 3D data (on standard atmospheric pressure levels) -# Up to fhour=48 -# Will be removed in GFS.v17 -icao2=$COMIN/${RUN}.${cycle}.wafs_icao.grb2f${ffhr} - -icnt=1 -while [ $icnt -lt 1000 ] -do - if [[ -s $wafs2i ]] ; then - break - fi - - sleep 10 - icnt=$((icnt + 1)) - if [ $icnt -ge 180 ] ; then - msg="ABORTING after 30 min of waiting for the gfs wafs file!" - err_exit $msg - fi -done - - -######################################## -echo "HAS BEGUN!" -######################################## - -echo " ------------------------------------------" -echo " BEGIN MAKING GFS WAFS GRIB2 0.25 DEG PRODUCTS" -echo " ------------------------------------------" - -set +x -echo " " -echo "#####################################" -echo " Process GRIB2 WAFS 0.25 DEG PRODUCTS " -echo "#####################################" -echo " " -set -x - -opt1=' -set_grib_type same -new_grid_winds earth ' -opt21=' -new_grid_interpolation bilinear -if ' -opt22="(:ICESEV|parm=37):" -opt23=' -new_grid_interpolation neighbor -fi ' -opt24=' -set_bitmap 1 -set_grib_max_bits 16 ' -opt25=":(UGRD|VGRD):max wind" -newgrid="latlon 0:1440:0.25 90:721:-0.25" - -# WAFS 3D data -$WGRIB2 $wafs2 $opt1 $opt21 $opt22 $opt23 $opt24 -new_grid $newgrid tmp_wafs_0p25.grb2 -# Master 2D data -$WGRIB2 $master2 | grep -F -f $FIXgfs/grib2_0p25_gfs_master2d.list \ - | $WGRIB2 -i $master2 -set master_table 25 -grib tmp_master.grb2 -$WGRIB2 tmp_master.grb2 $opt1 $opt21 ":(UGRD|VGRD):max wind" $opt23 $opt24 -new_grid $newgrid tmp_master_0p25.grb2 - -#--------------------------- -# Product 1: WAFS u/v/t/rh gfs.tHHz.wafs_0p25.fFFF.grib2 -#--------------------------- -$WGRIB2 tmp_wafs_0p25.grb2 | egrep "UGRD|VGRD|TMP|HGT|RH" \ - | $WGRIB2 -i tmp_wafs_0p25.grb2 -set master_table 25 -grib tmp.gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2 -cat tmp_master_0p25.grb2 >> tmp.gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2 -# Convert template 5 to 5.40 -#$WGRIB2 tmp.gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2 -set_grib_type jpeg -grib_out gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2 -mv tmp.gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2 gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2 -$WGRIB2 -s gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2 > gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2.idx - -if [ $hazard_timewindow = 'yes' ] ; then -#--------------------------- -# Product 2: For AWC and Delta airline: EDPARM CAT MWT ICESEV CB gfs.tHHz.awf_0p25.fFFF.grib2 -#--------------------------- - criteria1=":EDPARM:|:ICESEV:|parm=37:" - criteria2=":CATEDR:|:MWTURB:" - criteria3=":CBHE:|:ICAHT:" - $WGRIB2 tmp_wafs_0p25.grb2 | egrep "${criteria1}|$criteria2|$criteria3" \ - | $WGRIB2 -i tmp_wafs_0p25.grb2 -grib gfs.t${cyc}z.awf_0p25.f${ffhr}.grib2 - $WGRIB2 -s gfs.t${cyc}z.awf_0p25.f${ffhr}.grib2 > gfs.t${cyc}z.awf_0p25.f${ffhr}.grib2.idx - -#--------------------------- -# Product 3: WAFS unblended EDPARM, ICESEV, CB (No CAT MWT) gfs.tHHz.wafs_0p25_unblended.fFF.grib2 -#--------------------------- - $WGRIB2 tmp_wafs_0p25.grb2 | grep -F -f $FIXgfs/grib2_0p25_gfs_hazard.list \ - | $WGRIB2 -i tmp_wafs_0p25.grb2 -set master_table 25 -grib tmp_wafs_0p25.grb2.forblend - - # Convert template 5 to 5.40 - #$WGRIB2 tmp_wafs_0p25.grb2.forblend -set_grib_type jpeg -grib_out gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr2}.grib2 - mv tmp_wafs_0p25.grb2.forblend gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr2}.grib2 - $WGRIB2 -s gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr2}.grib2 > gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr2}.grib2.idx -fi - -if [ $SENDCOM = "YES" ] ; then - - ############################## - # Post Files to COM - ############################## - - mv gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2 $COMOUT/gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2 - mv gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2.idx $COMOUT/gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2.idx - - if [ $hazard_timewindow = 'yes' ] ; then - mv gfs.t${cyc}z.awf_0p25.f${ffhr}.grib2 $COMOUT/gfs.t${cyc}z.awf_0p25.f${ffhr}.grib2 - mv gfs.t${cyc}z.awf_0p25.f${ffhr}.grib2.idx $COMOUT/gfs.t${cyc}z.awf_0p25.f${ffhr}.grib2.idx - - mv gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr2}.grib2 $COMOUT/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr2}.grib2 - mv gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr2}.grib2.idx $COMOUT/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr2}.grib2.idx - fi - - ############################# - # Post Files to PCOM - ############################## - ## mv gfs.t${cyc}z.wafs_0p25_unblended_wifs.f${ffhr2}.grib2 $PCOM/gfs.t${cyc}z.wafs_0p25_unblended_wifs.f${ffhr2}.grib2 -fi - - -if [ $SENDDBN = "YES" ] ; then - ###################### - # Distribute Data - ###################### - - if [ $hazard_timewindow = 'yes' ] ; then - # Hazard WAFS data (ICESEV EDR CAT MWT on 100mb to 1000mb or on new ICAO 2023 levels) sent to AWC and to NOMADS for US stakeholders - $DBNROOT/bin/dbn_alert MODEL GFS_AWF_0P25_GB2 $job $COMOUT/gfs.t${cyc}z.awf_0p25.f${ffhr}.grib2 - - # Unblended US WAFS data sent to UK for blending, to the same server as 1.25 deg unblended data: wmo/grib2.tCCz.wafs_grb_wifsfFF.45 - $DBNROOT/bin/dbn_alert MODEL GFS_WAFS_0P25_UBL_GB2 $job $COMOUT/gfs.t${cyc}z.wafs_0p25_unblended.f${ffhr2}.grib2 - fi - - # WAFS U/V/T/RH data sent to the same server as the unblended data as above - $DBNROOT/bin/dbn_alert MODEL GFS_WAFS_0P25_GB2 $job $COMOUT/gfs.t${cyc}z.wafs_0p25.f${ffhr}.grib2 - -fi - -################################################################################ -# GOOD RUN -set +x -echo "**************JOB EXGFS_ATMOS_WAFS_GRIB2_0P25.SH COMPLETED NORMALLY ON THE IBM" -echo "**************JOB EXGFS_ATMOS_WAFS_GRIB2_0P25.SH COMPLETED NORMALLY ON THE IBM" -echo "**************JOB EXGFS_ATMOS_WAFS_GRIB2_0P25.SH COMPLETED NORMALLY ON THE IBM" -set -x -################################################################################ - -echo "HAS COMPLETED NORMALLY!" - -exit 0 - -############## END OF SCRIPT ####################### diff --git a/ush/python/pygfs/task/upp.py b/ush/python/pygfs/task/upp.py index 70955a7276..82ce4a0daf 100644 --- a/ush/python/pygfs/task/upp.py +++ b/ush/python/pygfs/task/upp.py @@ -22,7 +22,7 @@ class UPP(Task): """Unified Post Processor Task """ - VALID_UPP_RUN = ['analysis', 'forecast', 'goes', 'wafs'] + VALID_UPP_RUN = ['analysis', 'forecast', 'goes'] @logit(logger, name="UPP") def __init__(self, config: Dict[str, Any]) -> None: @@ -33,7 +33,6 @@ def __init__(self, config: Dict[str, Any]) -> None: analysis: process analysis output forecast: process UFS-weather-model forecast output goes: process UFS-weather-model forecast output for simulated satellite imagery - wafs: process UFS-weather-model forecast output for WAFS products Parameters ---------- diff --git a/ush/wafs_mkgbl.sh b/ush/wafs_mkgbl.sh deleted file mode 100755 index e6139bc9d3..0000000000 --- a/ush/wafs_mkgbl.sh +++ /dev/null @@ -1,152 +0,0 @@ -# UTILITY SCRIPT NAME : wafs_mkgbl.sh -# AUTHOR : Mary Jacobs -# DATE WRITTEN : 11/06/96 -# -# Abstract: This utility script produces the GFS WAFS -# bulletins. -# -# Input: 2 arguments are passed to this script. -# 1st argument - Forecast Hour - format of 2I -# 2nd argument - In hours 12-30, the designator of -# a or b. -# -# Logic: If we are processing hours 12-30, we have the -# added variable of the a or b, and process -# accordingly. The other hours, the a or b is dropped. -# -echo "History: SEPT 1996 - First implementation of this utility script" -echo "History: AUG 1999 - Modified for implementation on IBM SP" -echo " - Allows users to run interactively" -# - -set -x -hour_list="$1" -sets_key=$2 -num=$# - -if test $num -ge 2 -then - echo " Appropriate number of arguments were passed" - set -x - if [ -z "$DATA" ] - then - export DATA=`pwd` - cd $DATA - setpdy.sh - . PDY - fi -else - echo "" - echo "Usage: wafs_mkgbl.sh \$hour [a|b]" - echo "" - exit 16 -fi - -echo " ------------------------------------------" -echo " BEGIN MAKING ${NET} WAFS PRODUCTS" -echo " ------------------------------------------" - -echo "Enter Make WAFS utility." - -for hour in $hour_list -do - ############################## - # Copy Input Field to $DATA - ############################## - - if test ! -f pgrbf${hour} - then -# cp $COMIN/${RUN}.${cycle}.pgrbf${hour} pgrbf${hour} - -# file name and forecast hour of GFS model data in Grib2 are 3 digits -# export fhr3=$hour -# if test $fhr3 -lt 100 -# then -# export fhr3="0$fhr3" -# fi - fhr3="$(printf "%03d" $(( 10#$hour )) )" - -# To solve Bugzilla #408: remove the dependency of grib1 files in gfs wafs job in next GFS upgrade -# Reason: It's not efficent if simply converting from grib2 to grib1 (costs 6 seconds with 415 records) -# Solution: Need to grep 'selected fields on selected levels' before CNVGRIB (costs 1 second with 92 records) - ${NLN} $COMIN/${RUN}.${cycle}.pgrb2.1p00.f$fhr3 pgrb2f${hour} - $WGRIB2 pgrb2f${hour} | grep -F -f $FIXgfs/grib_wafs.grb2to1.list | $WGRIB2 -i pgrb2f${hour} -grib pgrb2f${hour}.tmp -# on Cray, IOBUF_PARAMS has to used to speed up CNVGRIB -# export IOBUF_PARAMS='*:size=32M:count=4:verbose' - $CNVGRIB -g21 pgrb2f${hour}.tmp pgrbf${hour} -# unset IOBUF_PARAMS - fi - - # - # BAG - Put in fix on 20070925 to force the percision of U and V winds - # to default to 1 through the use of the grib_wafs.namelist file. - # - $COPYGB -g3 -i0 -N$FIXgfs/grib_wafs.namelist -x pgrbf${hour} tmp - mv tmp pgrbf${hour} - $GRBINDEX pgrbf${hour} pgrbif${hour} - - ############################## - # Process WAFS - ############################## - - if test $hour -ge '12' -a $hour -le '30' - then - sets=$sets_key - set +x - echo "We are processing the primary and secondary sets of hours." - echo "These sets are the a and b of hours 12-30." - set -x - else - # This is for hours 00/06 and 36-72. - unset sets - fi - - export pgm=wafs_makewafs - . prep_step - - export FORT11="pgrbf${hour}" - export FORT31="pgrbif${hour}" - export FORT51="xtrn.wfs${NET}${hour}${sets}" - export FORT53="com.wafs${hour}${sets}" - - startmsg - $EXECgfs/wafs_makewafs.x < $FIXgfs/grib_wfs${NET}${hour}${sets} >>$pgmout 2>errfile - export err=$?;err_chk - - - ############################## - # Post Files to PCOM - ############################## - - if test "$SENDCOM" = 'YES' - then - cp xtrn.wfs${NET}${hour}${sets} $PCOM/xtrn.wfs${NET}${cyc}${hour}${sets}.$jobsuffix -# cp com.wafs${hour}${sets} $PCOM/com.wafs${cyc}${hour}${sets}.$jobsuffix - -# if test "$SENDDBN_NTC" = 'YES' -# then -# if test "$NET" = 'gfs' -# then -# $DBNROOT/bin/dbn_alert MODEL GFS_WAFS $job \ -# $PCOM/com.wafs${cyc}${hour}${sets}.$jobsuffix -# $DBNROOT/bin/dbn_alert MODEL GFS_XWAFS $job \ -# $PCOM/xtrn.wfs${NET}${cyc}${hour}${sets}.$jobsuffix -# fi -# fi - fi - - ############################## - # Distribute Data - ############################## - - if [ "$SENDDBN_NTC" = 'YES' ] ; then - $DBNROOT/bin/dbn_alert GRIB_LOW $NET $job $PCOM/xtrn.wfs${NET}${cyc}${hour}${sets}.$jobsuffix - else - echo "xtrn.wfs${NET}${cyc}${hour}${sets}.$job file not posted to db_net." - fi - - echo "Wafs Processing $hour hour completed normally" - -done - -exit diff --git a/workflow/rocoto/gfs_tasks.py b/workflow/rocoto/gfs_tasks.py index 08d260fe57..bacd4ebf95 100644 --- a/workflow/rocoto/gfs_tasks.py +++ b/workflow/rocoto/gfs_tasks.py @@ -1064,7 +1064,7 @@ def goesupp(self): def _upptask(self, upp_run="forecast", task_id="atmupp"): - VALID_UPP_RUN = ["forecast", "goes", "wafs"] + VALID_UPP_RUN = ["forecast", "goes"] if upp_run not in VALID_UPP_RUN: raise KeyError(f"{upp_run} is invalid; UPP_RUN options are: {('|').join(VALID_UPP_RUN)}")