diff --git a/.cicd/scripts/srw_build.sh b/.cicd/scripts/srw_build.sh
index 10573915ce..7d8e70b321 100755
--- a/.cicd/scripts/srw_build.sh
+++ b/.cicd/scripts/srw_build.sh
@@ -31,7 +31,7 @@ fi
# Build and install
cd ${workspace}/tests
set +e
-./build.sh ${platform} ${SRW_COMPILER} all
+./build.sh ${platform} ${SRW_COMPILER}
build_exit=$?
set -e
cd -
diff --git a/Externals.cfg b/Externals.cfg
index d64c751653..d81b935fb0 100644
--- a/Externals.cfg
+++ b/Externals.cfg
@@ -25,25 +25,6 @@ hash = dccb321
local_path = sorc/UPP
required = True
-[GSI]
-protocol = git
-repo_url = https://github.com/NOAA-EMC/GSI.git
-# Specify either a branch name or a hash but not both.
-#branch = develop
-hash = 4afe6ed
-local_path = sorc/gsi
-externals = None
-required = True
-
-[rrfs_utl]
-protocol = git
-repo_url = https://github.com/NOAA-GSL/rrfs_utl.git
-# Specify either a branch name or a hash but not both.
-#branch = develop
-hash = 6cacff5
-local_path = sorc/rrfs_utl
-required = True
-
[arl_nexus]
protocol = git
repo_url = https://github.com/noaa-oar-arl/NEXUS
diff --git a/devbuild.sh b/devbuild.sh
index 00361fc218..6c703816ec 100755
--- a/devbuild.sh
+++ b/devbuild.sh
@@ -54,7 +54,7 @@ OPTIONS
TARGETS
default = builds the default list of apps (also not passing any target does the same)
all = builds all apps
- Or any combinations of (ufs, ufs_utils, upp, gsi, rrfs_utils)
+ Or any combinations of (ufs, ufs_utils, upp)
NOTE: See User's Guide for detailed build instructions
@@ -84,8 +84,6 @@ Settings:
BUILD_UFS=${BUILD_UFS}
BUILD_UFS_UTILS=${BUILD_UFS_UTILS}
BUILD_UPP=${BUILD_UPP}
- BUILD_GSI=${BUILD_GSI}
- BUILD_RRFS_UTILS=${BUILD_RRFS_UTILS}
BUILD_NEXUS=${BUILD_NEXUS}
BUILD_AQM_UTILS=${BUILD_AQM_UTILS}
@@ -122,8 +120,6 @@ DEFAULT_BUILD=true
BUILD_UFS="off"
BUILD_UFS_UTILS="off"
BUILD_UPP="off"
-BUILD_GSI="off"
-BUILD_RRFS_UTILS="off"
BUILD_NEXUS="off"
BUILD_AQM_UTILS="off"
@@ -178,13 +174,10 @@ while :; do
# targets
default) ;;
all) DEFAULT_BUILD=false; BUILD_UFS="on";
- BUILD_UFS_UTILS="on"; BUILD_UPP="on";
- BUILD_GSI="on"; BUILD_RRFS_UTILS="on";;
+ BUILD_UFS_UTILS="on"; BUILD_UPP="on";;
ufs) DEFAULT_BUILD=false; BUILD_UFS="on" ;;
ufs_utils) DEFAULT_BUILD=false; BUILD_UFS_UTILS="on" ;;
upp) DEFAULT_BUILD=false; BUILD_UPP="on" ;;
- gsi) DEFAULT_BUILD=false; BUILD_GSI="on" ;;
- rrfs_utils) DEFAULT_BUILD=false; BUILD_RRFS_UTILS="on" ;;
nexus) DEFAULT_BUILD=false; BUILD_NEXUS="on" ;;
aqm_utils) DEFAULT_BUILD=false; BUILD_AQM_UTILS="on" ;;
# unknown
@@ -321,8 +314,6 @@ CMAKE_SETTINGS="\
-DBUILD_UFS=${BUILD_UFS}\
-DBUILD_UFS_UTILS=${BUILD_UFS_UTILS}\
-DBUILD_UPP=${BUILD_UPP}\
- -DBUILD_GSI=${BUILD_GSI}\
- -DBUILD_RRFS_UTILS=${BUILD_RRFS_UTILS}\
-DBUILD_NEXUS=${BUILD_NEXUS}\
-DBUILD_AQM_UTILS=${BUILD_AQM_UTILS}"
@@ -407,15 +398,6 @@ if [ $USE_SUB_MODULES = true ]; then
module use ${SRW_DIR}/sorc/UPP/modulefiles
load_module ""
fi
- if [ $BUILD_GSI = "on" ]; then
- printf "... Loading GSI modules ...\n"
- module use ${SRW_DIR}/sorc/gsi/modulefiles
- load_module "gsi_"
- fi
- if [ $BUILD_RRFS_UTILS = "on" ]; then
- printf "... Loading RRFS_UTILS modules ...\n"
- load_module ""
- fi
if [ $BUILD_NEXUS = "on" ]; then
printf "... Loading NEXUS modules ...\n"
module use ${SRW_DIR}/sorc/arl_nexus/modulefiles
diff --git a/jobs/JREGIONAL_ANALYSIS_GSI b/jobs/JREGIONAL_ANALYSIS_GSI
deleted file mode 100755
index f957b2a1e1..0000000000
--- a/jobs/JREGIONAL_ANALYSIS_GSI
+++ /dev/null
@@ -1,155 +0,0 @@
-#!/bin/bash
-
-#
-#-----------------------------------------------------------------------
-#
-# This J-JOB script runs the GSI analysis
-# for the FV3-LAM model
-#
-# Description:
-#
-# The script decides which ensemble members to use, if any, links all
-# necessary gridded files, links observation files, links fix files,
-# runs gsi.x, and cleans up the output.
-#
-# Arguments needed in the corresponding ex-script:
-#
-# NWGES_BASEDIR
-# FIXgsi
-# CYCLE_TYPE
-# DA_CYCLE_INTERV
-# CYCL_HRS_HYB_FV3LAM_ENS
-# NUM_ENS_MEMBERS
-# ENKF_FCST
-# HYBENSMEM_NMIN
-#
-#-----------------------------------------------------------------------
-
-#
-#-----------------------------------------------------------------------
-#
-# Source the variable definitions file and the bash utility functions.
-#
-#-----------------------------------------------------------------------
-#
-. $USHdir/source_util_funcs.sh
-source_config_for_task "task_analysis_gsi" ${GLOBAL_VAR_DEFNS_FP}
-. $USHdir/job_preamble.sh "TRUE"
-#
-#-----------------------------------------------------------------------
-#
-# Save current shell options (in a global array). Then set new options
-# for this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1
-#
-#-----------------------------------------------------------------------
-#
-# Get the full path to the file in which this script/function is located
-# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in
-# which the file is located (scrfunc_dir).
-#
-#-----------------------------------------------------------------------
-#
-scrfunc_fp=$( readlink -f "${BASH_SOURCE[0]}" )
-scrfunc_fn=$( basename "${scrfunc_fp}" )
-scrfunc_dir=$( dirname "${scrfunc_fp}" )
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating entry into script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-Entering script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-This is the J-job script for the task that runs a analysis with FV3 for
-the specified cycle.
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Create the working directory under the cycle directory.
-#
-#-----------------------------------------------------------------------
-# CYCLE_TYPE is to indicate which type of cycle this job for:
-# spinup: this job is for spin-up cycles
-# others(prod): this job is for product cycle
-#
-CYCLE_TYPE=${CYCLE_TYPE:-prod}
-export OBSERVER_NWGES_DIR=""
-
-if [ ${CYCLE_TYPE} == "spinup" ]; then
- analysis_workname="_gsi_spinup"
-else
- analysis_workname="_gsi"
-fi
-
-if [[ ! -v OB_TYPE ]]; then
- export OB_TYPE="conv"
-fi
-if [ ${GSI_TYPE} == "OBSERVER" ]; then
- if [ ${MEM_TYPE} == "MEAN" ]; then
- DATA="${DATA:-${COMIN}}/ensmean/observer${analysis_workname}"
- SLASH_ENSMEM_SUBDIR=""
- export OBSERVER_NWGES_DIR="${NWGES_DIR}/ensmean/observer${analysis_workname}"
- else
- DATA="${DATA:-${COMIN}${SLASH_ENSMEM_SUBDIR}}/observer${analysis_workname}"
- export OBSERVER_NWGES_DIR="${NWGES_DIR}${SLASH_ENSMEM_SUBDIR}/observer${analysis_workname}"
- fi
- mkdir_vrfy -p ${OBSERVER_NWGES_DIR}
-else
- DATA="${DATA:-${COMIN}${SLASH_ENSMEM_SUBDIR}/analysis_${OB_TYPE}${analysis_workname}}"
-fi
-
-mkdir_vrfy -p ${DATA}
-
-if [ ! -d "${SATBIAS_DIR}" ]; then
- echo "makding satbias_dir directory for cycling bias correction files"
- mkdir_vrfy -p ${SATBIAS_DIR}
-fi
-#
-#-----------------------------------------------------------------------
-#
-# create COMOUT directory
-#
-#-----------------------------------------------------------------------
-
-if [ "${RUN_ENVIR}" = "nco" ]; then
- COMOUT="${COMOUT_BASEDIR}/$RUN.$PDY/$cyc${SLASH_ENSMEM_SUBDIR}"
- if [ ${CYCLE_TYPE} == "spinup" ]; then
- COMOUT="${COMOUT_BASEDIR}/$RUN.$PDY/${cyc}_spinup${SLASH_ENSMEM_SUBDIR}"
- fi
- mkdir_vrfy -p "${COMOUT}"
-fi
-#
-#-----------------------------------------------------------------------
-#
-# Call the ex-script for this J-job and pass to it the necessary varia-
-# bles.
-#
-#-----------------------------------------------------------------------
-#
-$SCRIPTSdir/exregional_analysis_gsi.sh || print_err_msg_exit "\
-Call to ex-script corresponding to J-job \"${scrfunc_fn}\" failed."
-#
-#-----------------------------------------------------------------------
-#
-# Run job postamble.
-#
-#-----------------------------------------------------------------------
-#
-job_postamble
-#
-#-----------------------------------------------------------------------
-#
-# Restore the shell options saved at the beginning of this script/func-
-# tion.
-#
-#-----------------------------------------------------------------------
-#
-{ restore_shell_opts; } > /dev/null 2>&1
diff --git a/jobs/JREGIONAL_GET_DA_OBS b/jobs/JREGIONAL_GET_DA_OBS
deleted file mode 100755
index 26719c1176..0000000000
--- a/jobs/JREGIONAL_GET_DA_OBS
+++ /dev/null
@@ -1,91 +0,0 @@
-#!/bin/bash
-
-#
-#-----------------------------------------------------------------------
-#
-# Source the variable definitions file and the bash utility functions.
-#
-#-----------------------------------------------------------------------
-#
-. $USHdir/source_util_funcs.sh
-source_config_for_task "task_run_anl|task_run_enkf" ${GLOBAL_VAR_DEFNS_FP}
-. $USHdir/job_preamble.sh
-#
-#-----------------------------------------------------------------------
-#
-# Save current shell options (in a global array). Then set new options
-# for this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1
-#
-#-----------------------------------------------------------------------
-#
-# Get the full path to the file in which this script/function is located
-# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in
-# which the file is located (scrfunc_dir).
-#
-#-----------------------------------------------------------------------
-#
-scrfunc_fp=$( $READLINK -f "${BASH_SOURCE[0]}" )
-scrfunc_fn=$( basename "${scrfunc_fp}" )
-scrfunc_dir=$( dirname "${scrfunc_fp}" )
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating entry into script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-Entering script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-
-This script retrieves observation data for RRFS data assimilation tasks.
-========================================================================"
-
-#
-#-----------------------------------------------------------------------
-#
-# Create the directory where the GSI obs files should be stored
-#
-#-----------------------------------------------------------------------
-#
-export DATA="${COMIN}/obs"
-export RADAR_DATA="${COMIN}/radar"
-mkdir_vrfy -p "${DATA}"
-mkdir_vrfy -p "${RADAR_DATA}"
-
-# Set needed date/time variables
-export START_DATE=$(echo "${PDY} ${cyc}")
-export YYYYMMDDHH=$(date +%Y%m%d%H -d "${START_DATE}")
-
-#
-#-----------------------------------------------------------------------
-#
-# Call the ex-script for this J-job
-#
-#-----------------------------------------------------------------------
-#
-$SCRIPTSdir/exregional_get_da_obs.sh || \
-print_err_msg_exit "\
-Call to ex-script corresponding to J-job \"${scrfunc_fn}\" failed."
-#
-#-----------------------------------------------------------------------
-#
-# Run job postamble.
-#
-#-----------------------------------------------------------------------
-#
-job_postamble
-#
-#-----------------------------------------------------------------------
-#
-# Restore the shell options saved at the beginning of this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ restore_shell_opts; } > /dev/null 2>&1
-
diff --git a/jobs/JREGIONAL_GET_EXTRN_MDL_FILES b/jobs/JREGIONAL_GET_EXTRN_MDL_FILES
index 718e920d65..6d8dd23c7e 100755
--- a/jobs/JREGIONAL_GET_EXTRN_MDL_FILES
+++ b/jobs/JREGIONAL_GET_EXTRN_MDL_FILES
@@ -98,8 +98,6 @@ elif [ "${ICS_OR_LBCS}" = "LBCS" ]; then
export TIME_OFFSET_HRS=${EXTRN_MDL_LBCS_OFFSET_HRS:-0}
export EXTRN_MDL_NAME=${EXTRN_MDL_NAME_LBCS}
GFS_FILE_FMT=${FV3GFS_FILE_FMT_LBCS}
-
- export NEED_ALL_LBCS=${DO_RRFS_DEV}
fi
#
diff --git a/jobs/JREGIONAL_MAKE_ICS b/jobs/JREGIONAL_MAKE_ICS
index 679a9392bb..5ff0b3e4d8 100755
--- a/jobs/JREGIONAL_MAKE_ICS
+++ b/jobs/JREGIONAL_MAKE_ICS
@@ -57,13 +57,10 @@ for the FV3 (in NetCDF format).
#
if [ $RUN_ENVIR = "nco" ]; then
export INPUT_DATA="${COMIN}"
- export INPUT_DATA_NWGES="${NWGES_DIR}${SLASH_ENSMEM_SUBDIR}/ics"
else
export INPUT_DATA="${COMIN}${SLASH_ENSMEM_SUBDIR}/INPUT"
- export INPUT_DATA_NWGES="${NWGES_DIR}${SLASH_ENSMEM_SUBDIR}/ics"
fi
mkdir_vrfy -p "${INPUT_DATA}"
-mkdir_vrfy -p "${INPUT_DATA_NWGES}"
#
#
#-----------------------------------------------------------------------
diff --git a/jobs/JREGIONAL_MAKE_LBCS b/jobs/JREGIONAL_MAKE_LBCS
index 35aba70846..0070654cbe 100755
--- a/jobs/JREGIONAL_MAKE_LBCS
+++ b/jobs/JREGIONAL_MAKE_LBCS
@@ -57,13 +57,10 @@ hour zero).
#
if [ $RUN_ENVIR = "nco" ]; then
export INPUT_DATA="${COMIN}"
- export INPUT_DATA_NWGES="${NWGES_DIR}${SLASH_ENSMEM_SUBDIR}/lbcs"
else
export INPUT_DATA="${COMIN}${SLASH_ENSMEM_SUBDIR}/INPUT"
- export INPUT_DATA_NWGES="${NWGES_DIR}${SLASH_ENSMEM_SUBDIR}/lbcs"
fi
mkdir_vrfy -p "${INPUT_DATA}"
-mkdir_vrfy -p "${INPUT_DATA_NWGES}"
#
#-----------------------------------------------------------------------
#
diff --git a/jobs/JREGIONAL_PROCESS_BUFROBS b/jobs/JREGIONAL_PROCESS_BUFROBS
deleted file mode 100755
index 111ba75425..0000000000
--- a/jobs/JREGIONAL_PROCESS_BUFROBS
+++ /dev/null
@@ -1,115 +0,0 @@
-#!/bin/bash
-
-#
-#-----------------------------------------------------------------------
-#
-# This J-JOB script runs the preprocess of BUFR files
-# for the FV3-LAM model
-#
-# Description:
-#
-# RRFS runs several executables included with rrfs-utl as a preparation of
-# existing RAP bufr files. It does the following:
-# - Run process_Lightning.exe on files like *lghtng.tm00.bufr_d
-# - Run process_larccld.exe on files like *lgycld.tm00.bufr_d
-# - Run process_metarcld.exe on files like *prepbufr.tm00
-#
-# Arguments needed in the corresponding ex-script:
-#
-# FIXgsi: Location of GSI fix files
-# OBSPATH_TEMPLATE: A template path to the location of observation files
-#
-#-----------------------------------------------------------------------
-#
-#
-#-----------------------------------------------------------------------
-#
-# Source the variable definitions file and the bash utility functions.
-#
-#-----------------------------------------------------------------------
-#
-. $USHdir/source_util_funcs.sh
-source_config_for_task "task_process_bufrobs" ${GLOBAL_VAR_DEFNS_FP}
-. $USHdir/job_preamble.sh "TRUE"
-#
-#-----------------------------------------------------------------------
-#
-# Save current shell options (in a global array). Then set new options
-# for this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1
-#
-#-----------------------------------------------------------------------
-#
-# Get the full path to the file in which this script/function is located
-# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in
-# which the file is located (scrfunc_dir).
-#
-#-----------------------------------------------------------------------
-#
-scrfunc_fp=$( readlink -f "${BASH_SOURCE[0]}" )
-scrfunc_fn=$( basename "${scrfunc_fp}" )
-scrfunc_dir=$( dirname "${scrfunc_fp}" )
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating entry into script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-Entering script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-
-This is the J-job script for the task that runs a BUFR preprocess for
-the specified cycle.
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Create the working directory under the cycle directory.
-#
-#-----------------------------------------------------------------------
-#
-if [ ${CYCLE_TYPE} == "spinup" ]; then
- DATA="${DATA:-${COMIN}/process_bufrobs_spinup}"
-else
- DATA="${DATA:-${COMIN}/process_bufrobs}"
-fi
-mkdir_vrfy -p ${DATA}
-
-# Set needed date/time variables
-export START_DATE=$(echo "${PDY} ${cyc}")
-export YYYYMMDDHH=$(date +%Y%m%d%H -d "${START_DATE}")
-
-#
-#-----------------------------------------------------------------------
-#
-# Call the ex-script for this J-job and pass to it the necessary varia-
-# bles.
-#
-#-----------------------------------------------------------------------
-#
-$SCRIPTSdir/exregional_process_bufrobs.sh || print_err_msg_exit "\
-Call to ex-script corresponding to J-job \"${scrfunc_fn}\" failed."
-#
-#-----------------------------------------------------------------------
-#
-# Run job postamble.
-#
-#-----------------------------------------------------------------------
-#
-job_postamble
-#
-#-----------------------------------------------------------------------
-#
-# Restore the shell options saved at the beginning of this script/func-
-# tion.
-#
-#-----------------------------------------------------------------------
-#
-{ restore_shell_opts; } > /dev/null 2>&1
-
diff --git a/jobs/JREGIONAL_PROCESS_LIGHTNING b/jobs/JREGIONAL_PROCESS_LIGHTNING
deleted file mode 100755
index 5de45a87bf..0000000000
--- a/jobs/JREGIONAL_PROCESS_LIGHTNING
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/bin/bash
-
-#
-#-----------------------------------------------------------------------
-#
-# This J-JOB script runs the NetCDF lightning observation preprocess
-# for the FV3-LAM model
-#
-#-----------------------------------------------------------------------
-#
-#
-#-----------------------------------------------------------------------
-#
-# Source the variable definitions file and the bash utility functions.
-#
-#-----------------------------------------------------------------------
-#
-. ${USHdir}/source_util_funcs.sh
-source_config_for_task "task_process_bufrobs" ${GLOBAL_VAR_DEFNS_FP}
-. ${USHdir}/job_preamble.sh "TRUE"
-#
-#-----------------------------------------------------------------------
-#
-# Save current shell options (in a global array). Then set new options
-# for this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1
-#
-#-----------------------------------------------------------------------
-#
-# Get the full path to the file in which this script/function is located
-# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in
-# which the file is located (scrfunc_dir).
-#
-#-----------------------------------------------------------------------
-#
-scrfunc_fp=$( $READLINK -f "${BASH_SOURCE[0]}" )
-scrfunc_fn=$( basename "${scrfunc_fp}" )
-scrfunc_dir=$( dirname "${scrfunc_fp}" )
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating entry into script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-Entering script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-
-This is the J-job script for the task that runs a lightning preprocess for
-the specified cycle.
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Create the working directory under the cycle directory.
-#
-#-----------------------------------------------------------------------
-#
-if [ "${CYCLE_TYPE}" == "spinup" ]; then
- DATA="${DATA:-${COMIN}/process_lightning_spinup}"
-else
- DATA="${DATA:-${COMIN}/process_lightning}"
-fi
-mkdir_vrfy -p ${DATA}
-#
-#-----------------------------------------------------------------------
-#
-# Call the ex-script for this J-job and pass to it the necessary varia-
-# bles.
-#
-#-----------------------------------------------------------------------
-#
-$SCRIPTSdir/exregional_process_lightning.sh || print_err_msg_exit "\
-Call to ex-script corresponding to J-job \"${scrfunc_fn}\" failed."
-#
-#-----------------------------------------------------------------------
-#
-# Run job postamble.
-#
-#-----------------------------------------------------------------------
-#
-job_postamble
-#
-#-----------------------------------------------------------------------
-#
-# Restore the shell options saved at the beginning of this script/func-
-# tion.
-#
-#-----------------------------------------------------------------------
-#
-{ restore_shell_opts; } > /dev/null 2>&1
diff --git a/jobs/JREGIONAL_PROCESS_RADARREF b/jobs/JREGIONAL_PROCESS_RADARREF
deleted file mode 100755
index 2aaefa66eb..0000000000
--- a/jobs/JREGIONAL_PROCESS_RADARREF
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/bin/bash
-
-
-#
-#-----------------------------------------------------------------------
-#
-# This J-JOB script runs the radar reflectivity preprocess
-# for the FV3-LAM model
-#
-# Description:
-#
-# RRFS runs a pre-processing task on MRMS radar reflectivity files.
-# Specifically the process_radarref task executes process_NSSL_mosaic.exe
-# from rrfs-utl on files
-# like MergedReflectivityQC_00.50_${YYYY}${MM}${DD}-${HH}${min}${ss}.grib2.
-#
-# Arguments needed for the corresponding ex-script
-#
-# FIXgsi
-# OBSPATH_NSSLMOSIAC
-# DO_SPINUP
-# CYCLE_TYPE
-# CYCL_HRS_SPINSTART
-# CYCL_HRS_PRODSTART
-# IO_LAYOUT_Y
-# RADARREF_TIMELEVEL
-# RADARREF_MINS
-# RADAR_REF_THINNING
-# OBS_SUFFIX
-#
-#-----------------------------------------------------------------------
-#
-
-#
-#-----------------------------------------------------------------------
-#
-# Source the variable definitions file and the bash utility functions.
-#
-#-----------------------------------------------------------------------
-#
-. $USHdir/source_util_funcs.sh
-source_config_for_task "task_process_radarref" ${GLOBAL_VAR_DEFNS_FP}
-. $USHdir/job_preamble.sh "TRUE"
-#
-#-----------------------------------------------------------------------
-#
-# Save current shell options (in a global array). Then set new options
-# for this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1
-#
-#-----------------------------------------------------------------------
-#
-# Get the full path to the file in which this script/function is located
-# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in
-# which the file is located (scrfunc_dir).
-#
-#-----------------------------------------------------------------------
-#
-scrfunc_fp=$( readlink -f "${BASH_SOURCE[0]}" )
-scrfunc_fn=$( basename "${scrfunc_fp}" )
-scrfunc_dir=$( dirname "${scrfunc_fp}" )
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating entry into script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-Entering script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-This is the J-job script for the task that runs a radar reflectivity
-preprocess with FV3 for the specified cycle.
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Create the working directory under the cycle directory.
-#
-#-----------------------------------------------------------------------
-#
-if [ ${CYCLE_TYPE} == "spinup" ]; then
- DATA="${DATA:-${COMIN}/process_radarref_spinup}"
-else
- DATA="${DATA:-${COMIN}/process_radarref}"
-fi
-mkdir_vrfy -p ${DATA}
-#
-#-----------------------------------------------------------------------
-#
-# Call the ex-script for this J-job and pass to it the necessary varia-
-# bles.
-#
-#-----------------------------------------------------------------------
-#
-$SCRIPTSdir/exregional_process_radarref.sh || print_err_msg_exit "\
-Call to ex-script corresponding to J-job \"${scrfunc_fn}\" failed."
-#
-#-----------------------------------------------------------------------
-#
-# Run job postamble.
-#
-#-----------------------------------------------------------------------
-#
-job_postamble
-#
-#-----------------------------------------------------------------------
-#
-# Restore the shell options saved at the beginning of this script/func-
-# tion.
-#
-#-----------------------------------------------------------------------
-#
-{ restore_shell_opts; } > /dev/null 2>&1
diff --git a/modulefiles/build_gaea_intel.lua b/modulefiles/build_gaea_intel.lua
index bb156952e3..fe528469d9 100644
--- a/modulefiles/build_gaea_intel.lua
+++ b/modulefiles/build_gaea_intel.lua
@@ -16,13 +16,6 @@ load("srw_common")
-- Need at runtime
load("alps")
-local MKLROOT="/opt/intel/oneapi/mkl/2022.0.2/"
-prepend_path("LD_LIBRARY_PATH",pathJoin(MKLROOT,"lib/intel64"))
-pushenv("MKLROOT", MKLROOT)
-
-pushenv("GSI_BINARY_SOURCE_DIR", "/lustre/f2/dev/role.epic/contrib/GSI_data/fix/20230601")
-pushenv("CRAYPE_LINK_TYPE","dynamic")
-
setenv("CC","cc")
setenv("FC","ftn")
setenv("CXX","CC")
diff --git a/modulefiles/build_wcoss2_intel.lua b/modulefiles/build_wcoss2_intel.lua
index 94fd2a69f6..0d7ed783dc 100644
--- a/modulefiles/build_wcoss2_intel.lua
+++ b/modulefiles/build_wcoss2_intel.lua
@@ -33,10 +33,7 @@ load(pathJoin("nemsio", os.getenv("nemsio_ver")))
load(pathJoin("sigio", os.getenv("sigio_ver")))
load(pathJoin("sfcio", os.getenv("sfcio_ver")))
load(pathJoin("wrf_io", os.getenv("wrf_io_ver")))
-load(pathJoin("ncdiag", os.getenv("ncdiag_ver")))
-load(pathJoin("ncio", os.getenv("ncio_ver")))
load(pathJoin("wgrib2", os.getenv("wgrib2_ver")))
-load(pathJoin("bufr", os.getenv("bufr_ver")))
load(pathJoin("nemsiogfs", os.getenv("nemsiogfs_ver")))
load(pathJoin("w3emc", os.getenv("w3emc_ver")))
load(pathJoin("w3nco", os.getenv("w3nco_ver")))
diff --git a/modulefiles/srw_common.lua b/modulefiles/srw_common.lua
index 12b5122c18..8813cc1078 100644
--- a/modulefiles/srw_common.lua
+++ b/modulefiles/srw_common.lua
@@ -8,7 +8,6 @@ load_any("pio/2.5.7", "parallelio/2.5.2")
load_any("esmf/8.3.0b09", "esmf/8.2.0")
load("fms/2022.04")
-load("bufr/11.7.0")
load("bacio/2.4.1")
load("crtm/2.4.0")
load("g2/3.4.5")
@@ -27,6 +26,4 @@ load("sigio/2.3.2")
load("w3nco/2.4.1")
load("wrf_io/1.2.0")
-load("ncdiag/1.1.1")
-load("ncio/1.1.2")
load("wgrib2/2.0.8")
diff --git a/modulefiles/srw_common_spack.lua b/modulefiles/srw_common_spack.lua
index 8e0a607a9d..ec56bed398 100644
--- a/modulefiles/srw_common_spack.lua
+++ b/modulefiles/srw_common_spack.lua
@@ -7,7 +7,6 @@ load("pio/2.5.3")
load("esmf/8.3.0b09")
load("fms/2022.01")
-load("bufr/11.7.0")
load("bacio/2.4.1")
load("crtm/2.3.0")
load("g2/3.4.5")
@@ -26,5 +25,4 @@ load("sigio/2.3.2")
load("w3nco/2.4.1")
load("wrf_io/1.2.0")
-load("ncio/1.1.2")
load("wgrib2/2.0.8")
diff --git a/modulefiles/tasks/hera/get_da_obs.local.lua b/modulefiles/tasks/hera/get_da_obs.local.lua
deleted file mode 100644
index acf81facb1..0000000000
--- a/modulefiles/tasks/hera/get_da_obs.local.lua
+++ /dev/null
@@ -1,2 +0,0 @@
-load("hpss")
-load("python_srw")
diff --git a/modulefiles/tasks/jet/get_da_obs.local.lua b/modulefiles/tasks/jet/get_da_obs.local.lua
deleted file mode 100644
index acf81facb1..0000000000
--- a/modulefiles/tasks/jet/get_da_obs.local.lua
+++ /dev/null
@@ -1,2 +0,0 @@
-load("hpss")
-load("python_srw")
diff --git a/parm/data_locations.yml b/parm/data_locations.yml
index 68f43ba2d0..7901f4c085 100644
--- a/parm/data_locations.yml
+++ b/parm/data_locations.yml
@@ -295,136 +295,6 @@ UFS-CASE-STUDY:
##########################
##########################
-GFS_obs:
- hpss:
- protocol: htar
- archive_format: zip
- archive_path:
- - /BMC/fdr/Permanent/{yyyy}/{mm}/{dd}/data/grids/gfs/prepbufr
- archive_file_names:
- prepbufr:
- obs:
- - "{yyyymmdd}0000.zip"
- tcvitals:
- obs:
- - "{yyyymmdd}0000.zip"
- file_names:
- prepbufr:
- obs:
- - "{yy}{jjj}{hh}00.gfs.t{hh}z.prepbufr.nr"
- tcvitals:
- obs:
- - "{yy}{jjj}{hh}00.gfs.t{hh}z.syndata.tcvitals.tm00"
-
-NSSL_mrms:
-
- hpss: &MRMS_hpss
- protocol: htar
- archive_format: tar
- archive_path:
- - /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyymm}/{yyyymmdd}
- - /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyymm}/{yyyymmdd}
- - /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyymm}/{yyyymmdd}
- - /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyymm}/{yyyymmdd}
- archive_internal_dir:
- - ./upperair/mrms/conus/MergedReflectivityQC
- archive_file_names:
- - dcom_ldmdata_obs.tar
- - dcom_prod_ldmdata_obs.tar
- - ldmdata.tide.{yyyymmdd}.tar
- - ldmdata.gyre.{yyyymmdd}.tar
- file_names:
- obs:
- - "*MergedReflectivityQC_*_{yyyymmdd}-{hh}{min}*.grib2*"
-
-RAP_obs:
- hpss:
- protocol: htar
- archive_format: zip
- archive_path:
- - /BMC/fdr/Permanent/{yyyy}/{mm}/{dd}/data/grids/rap/obs
- - /BMC/fdr/Permanent/{yyyy}/{mm}/{dd}/data/grids/rap/prepbufr
- archive_internal_dir:
- - ""
- archive_file_names:
- - "{yyyymmddhh}00.zip"
- - "{yyyymmddhh}00.zip"
- file_names:
- obs:
- - "{yyyymmddhh}.rap.t{hh}z.prepbufr.tm00"
- - "{yyyymmddhh}.rap.t{hh}z.1bamua.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.1bhrs4.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.1bmhs.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.amsr2.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.ascatt.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.ascatw.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.atms.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.atmsdb.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.crisf4.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.crsfdb.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.esamua.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.esatms.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.eshrs3.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.esiasi.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.esmhs.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.gpsipw.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.gpsipw.tm00.bufr_d.nr"
- - "{yyyymmddhh}.rap.t{hh}z.gsrasr.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.gsrcsr.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.iasidb.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.lghtng.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.lghtng.tm00.bufr_d.nr"
- - "{yyyymmddhh}.rap.t{hh}z.lgycld.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.mtiasi.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.nexrad.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.rassda.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.satwnd.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.sevasr.tm00.bufr_d"
- - "{yyyymmddhh}.rap.t{hh}z.ssmisu.tm00.bufr_d"
- - "{yyyymmddhh}.rap_e.t{hh}z.prepbufr.tm00"
- - "{yyyymmddhh}.rap_e.t{hh}z.1bamua.tm00.bufr_d"
- - "{yyyymmddhh}.rap_e.t{hh}z.1bhrs4.tm00.bufr_d"
- - "{yyyymmddhh}.rap_e.t{hh}z.1bmhs.tm00.bufr_d"
- - "{yyyymmddhh}.rap_e.t{hh}z.lgycld.tm00.bufr_d"
- - "{yyyymmddhh}.rap_e.t{hh}z.nexrad.tm00.bufr_d"
- - "{yyyymmddhh}.rap_e.t{hh}z.satwnd.tm00.bufr_d"
- - "{yyyymmddhh}.rap_e.t{hh}z.lghtng.tm00.bufr_d"
- aws:
- protocol: download
- url: https://noaa-rap-pds.s3.amazonaws.com/rap.{yyyymmdd}
- file_names:
- obs:
- - rap.t{hh}z.prepbufr.tm00.nr
- - rap.t{hh}z.1bamua.tm00.bufr_d
- - rap.t{hh}z.1bhrs4.tm00.bufr_d
- - rap.t{hh}z.1bmhs.tm00.bufr_d
- - rap.t{hh}z.amsr2.tm00.bufr_d
- - rap.t{hh}z.ascatt.tm00.bufr_d
- - rap.t{hh}z.ascatw.tm00.bufr_d
- - rap.t{hh}z.atms.tm00.bufr_d
- - rap.t{hh}z.atmsdb.tm00.bufr_d
- - rap.t{hh}z.crisf4.tm00.bufr_d
- - rap.t{hh}z.crsfdb.tm00.bufr_d
- - rap.t{hh}z.esamua.tm00.bufr_d
- - rap.t{hh}z.esatms.tm00.bufr_d
- - rap.t{hh}z.eshrs3.tm00.bufr_d
- - rap.t{hh}z.esiasi.tm00.bufr_d
- - rap.t{hh}z.esmhs.tm00.bufr_d
- - rap.t{hh}z.gpsipw.tm00.bufr_d
- - rap.t{hh}z.gpsipw.tm00.bufr_d.nr
- - rap.t{hh}z.gsrasr.tm00.bufr_d
- - rap.t{hh}z.gsrcsr.tm00.bufr_d
- - rap.t{hh}z.iasidb.tm00.bufr_d
- - rap.t{hh}z.lghtng.tm00.bufr_d
- - rap.t{hh}z.lghtng.tm00.bufr_d.nr
- - rap.t{hh}z.lgycld.tm00.bufr_d
- - rap.t{hh}z.mtiasi.tm00.bufr_d
- - rap.t{hh}z.nexrad.tm00.bufr_d
- - rap.t{hh}z.rassda.tm00.bufr_d
- - rap.t{hh}z.satwnd.tm00.bufr_d
- - rap.t{hh}z.sevasr.tm00.bufr_d
- - rap.t{hh}z.ssmisu.tm00.bufr_d
-
CCPA_obs:
hpss:
protocol: htar
@@ -450,16 +320,27 @@ CCPA_obs:
MRMS_obs:
hpss:
- <<: *MRMS_hpss
- file_names:
- obs:
- - "MergedReflectivityQCComposite_00.50_{yyyymmdd}-*.grib2.gz"
- - "EchoTop_18_00.50_{yyyymmdd}-*.grib2.gz"
+ protocol: htar
+ archive_format: tar
+ archive_path:
+ - /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyymm}/{yyyymmdd}
+ - /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyymm}/{yyyymmdd}
+ - /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyymm}/{yyyymmdd}
+ - /NCEPPROD/hpssprod/runhistory/rh{yyyy}/{yyyymm}/{yyyymmdd}
archive_internal_dir:
- /dcom/us007003/ldmdata/obs/upperair/mrms/conus/MergedReflectivityQCComposite
- /dcom/us007003/ldmdata/obs/upperair/mrms/conus/EchoTop
- ./upperair/mrms/conus/MergedReflectivityQCComposite
- ./upperair/mrms/conus/EchoTop
+ archive_file_names:
+ - dcom_ldmdata_obs.tar
+ - dcom_prod_ldmdata_obs.tar
+ - ldmdata.tide.{yyyymmdd}.tar
+ - ldmdata.gyre.{yyyymmdd}.tar
+ file_names:
+ obs:
+ - "MergedReflectivityQCComposite_00.50_{yyyymmdd}-*.grib2.gz"
+ - "EchoTop_18_00.50_{yyyymmdd}-*.grib2.gz"
NDAS_obs:
hpss:
@@ -494,16 +375,3 @@ NOHRSC_obs:
- "sfav2_CONUS_*h_{yyyy}{mm}{dd}{hh}_grid184.grb2"
archive_internal_dir:
- ./wgrbbul/nohrsc_snowfall/
-
-###########################
-###########################
-####### Fix Files #########
-###########################
-###########################
-
-GSI-FIX:
- remote:
- protocol: download
- url: https://epic-sandbox-srw.s3.amazonaws.com
- file_names:
- - gsi-fix.22.07.27.tar.gz
diff --git a/parm/wflow/coldstart.yaml b/parm/wflow/coldstart.yaml
index c1935f2160..90d51381c9 100644
--- a/parm/wflow/coldstart.yaml
+++ b/parm/wflow/coldstart.yaml
@@ -84,7 +84,6 @@ metatask_run_ensemble:
envars:
<<: *default_vars
SLASH_ENSMEM_SUBDIR: '&SLASH_ENSMEM_SUBDIR;'
- NWGES_DIR: !cycstr '&NWGES_BASEDIR;/@Y@m@d@H'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
nnodes: 4
ppn: 12
@@ -124,7 +123,6 @@ metatask_run_ensemble:
envars:
<<: *default_vars
SLASH_ENSMEM_SUBDIR: '&SLASH_ENSMEM_SUBDIR;'
- NWGES_DIR: !cycstr '&NWGES_BASEDIR;/@Y@m@d@H'
bcgrp: '00'
bcgrpnum: '1'
join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
diff --git a/parm/wflow/da_data_preproc.yaml b/parm/wflow/da_data_preproc.yaml
deleted file mode 100644
index c609fb967a..0000000000
--- a/parm/wflow/da_data_preproc.yaml
+++ /dev/null
@@ -1,104 +0,0 @@
-# This group contains all the tasks needed for preprocessing tasks for
-# RRFS DA.
-
-default_data_preproc_task: &default_preproc
- account: '&ACCOUNT;'
- attrs:
- cycledefs: #cycledefs_type#
- maxtries: '1'
- envars: &default_envars
- GLOBAL_VAR_DEFNS_FP: '&GLOBAL_VAR_DEFNS_FP;'
- USHdir: '&USHdir;'
- PDY: !cycstr "@Y@m@d"
- cyc: !cycstr "@H"
- subcyc: !cycstr "@M"
- LOGDIR: !cycstr "&LOGDIR;"
- CYCLE_TYPE: '#cycle_type#'
- nprocs: '{{ parent.nnodes * parent.ppn }}'
- native: '{{ platform.SCHED_NATIVE_CMD }}'
- nodes: '{{ nnodes }}:ppn={{ ppn }}'
- nnodes: 1
- nodesize: "&NCORES_PER_NODE;"
- ppn: 1
- partition: '{% if platform.get("PARTITION_DEFAULT") %}&PARTITION_DEFAULT;{% else %}None{% endif %}'
- queue: '&QUEUE_DEFAULT;'
- walltime: 00:25:00
-
-
-task_get_da_obs:
- <<: *default_preproc
- command: '&LOAD_MODULES_RUN_TASK_FP; "get_da_obs" "&JOBSdir;/JREGIONAL_GET_DA_OBS"'
- attrs:
- cycledefs: forecast
- maxtries: '1'
- join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
- partition: '&PARTITION_HPSS;'
- queue: '&QUEUE_HPSS;'
- dependency:
- timedep: '@Y@m@d@H@M00'
-
-metatask_process_obs_cycle_type:
- var:
- cycledefs_type: forecast,long_forecast
- cycle_type: prod
-
- task_process_radarref_#cycle_type#:
- <<: *default_preproc
- command: '&LOAD_MODULES_RUN_TASK_FP; "process_obs" "&JOBSdir;/JREGIONAL_PROCESS_RADARREF"'
- nnodes: 2
- ppn: 24
- join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
- dependency:
- or:
- taskdep:
- attrs:
- task: get_da_obs
- and:
- not:
- taskvalid:
- attrs:
- task: get_da_obs
- streq:
- left: do_real_time
- right: '{% if workflow.DO_REAL_TIME %}do_real_time{% endif %}'
- timedep: '@Y@m@d@H@M00'
-
- task_process_lightning_#cycle_type#:
- <<: *default_preproc
- command: '&LOAD_MODULES_RUN_TASK_FP; "process_obs" "&JOBSdir;/JREGIONAL_PROCESS_LIGHTNING"'
- join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
- dependency:
- or:
- taskdep:
- attrs:
- task: get_da_obs
- and:
- not:
- taskvalid:
- attrs:
- task: get_da_obs
- streq:
- left: do_real_time
- right: '{% if workflow.DO_REAL_TIME %}do_real_time{% endif %}'
- timedep: '@Y@m@d@H@M00'
-
-
- task_process_bufrobs_#cycle_type#:
- <<: *default_preproc
- command: '&LOAD_MODULES_RUN_TASK_FP; "process_obs" "&JOBSdir;/JREGIONAL_PROCESS_BUFROBS"'
- join: !cycstr '&LOGDIR;/{{ jobname }}_@Y@m@d@H&LOGEXT;'
- dependency:
- or:
- taskdep:
- attrs:
- task: get_da_obs
- and:
- not:
- taskvalid:
- attrs:
- task: get_da_obs
- streq:
- left: do_real_time
- right: '{% if workflow.DO_REAL_TIME %}do_real_time{% endif %}'
- timedep: '@Y@m@d@H@M00'
-
diff --git a/parm/wflow/default_workflow.yaml b/parm/wflow/default_workflow.yaml
index 31bd11edac..2451781e6b 100644
--- a/parm/wflow/default_workflow.yaml
+++ b/parm/wflow/default_workflow.yaml
@@ -31,8 +31,6 @@ rocoto:
COLDSTART: '{{ workflow.COLDSTART }}'
WARMSTART_CYCLE_DIR: '{{ workflow.WARMSTART_CYCLE_DIR }}'
WORKFLOW_ID: '{{ workflow.WORKFLOW_ID }}'
- # rrfs
- NWGES_BASEDIR: '{{ nco.NWGES_BASEDIR }}'
attrs:
cyclethrottle: "200"
realtime: "F"
diff --git a/scripts/exregional_analysis_gsi.sh b/scripts/exregional_analysis_gsi.sh
deleted file mode 100755
index 74232bea2d..0000000000
--- a/scripts/exregional_analysis_gsi.sh
+++ /dev/null
@@ -1,949 +0,0 @@
-#!/bin/bash
-
-#
-#-----------------------------------------------------------------------
-#
-# Source the variable definitions file and the bash utility functions.
-#
-#-----------------------------------------------------------------------
-#
-. $USHdir/source_util_funcs.sh
-source_config_for_task "task_analysis_gsi|task_run_fcst|task_run_post" ${GLOBAL_VAR_DEFNS_FP}
-#
-#-----------------------------------------------------------------------
-#
-# Save current shell options (in a global array). Then set new options
-# for this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1
-#
-#-----------------------------------------------------------------------
-#
-# Get the full path to the file in which this script/function is located
-# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in
-# which the file is located (scrfunc_dir).
-#
-#-----------------------------------------------------------------------
-#
-scrfunc_fp=$( readlink -f "${BASH_SOURCE[0]}" )
-scrfunc_fn=$( basename "${scrfunc_fp}" )
-scrfunc_dir=$( dirname "${scrfunc_fp}" )
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating entry into script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-Entering script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-This is the ex-script for the task that runs a analysis with FV3 for the
-specified cycle.
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Set OpenMP variables.
-#
-#-----------------------------------------------------------------------
-#
-export KMP_AFFINITY=${KMP_AFFINITY_ANALYSIS}
-export OMP_NUM_THREADS=${OMP_NUM_THREADS_ANALYSIS}
-export OMP_STACKSIZE=${OMP_STACKSIZE_ANALYSIS}
-#
-#-----------------------------------------------------------------------
-#
-# Load modules.
-#
-#-----------------------------------------------------------------------
-#
-eval ${PRE_TASK_CMDS}
-
-gridspec_dir=${NWGES_BASEDIR}/grid_spec
-mkdir_vrfy -p ${gridspec_dir}
-#
-#-----------------------------------------------------------------------
-#
-# Extract from CDATE the starting year, month, day, and hour of the
-# forecast. These are needed below for various operations.
-#
-#-----------------------------------------------------------------------
-#
-START_DATE=$(echo "${CDATE}" | sed 's/\([[:digit:]]\{2\}\)$/ \1/')
-
-YYYYMMDDHH=$(date +%Y%m%d%H -d "${START_DATE}")
-JJJ=$(date +%j -d "${START_DATE}")
-
-YYYY=${YYYYMMDDHH:0:4}
-MM=${YYYYMMDDHH:4:2}
-DD=${YYYYMMDDHH:6:2}
-HH=${YYYYMMDDHH:8:2}
-YYYYMMDD=${YYYYMMDDHH:0:8}
-#
-# YYYY-MM-DD_meso_uselist.txt and YYYYMMDD_rejects.txt:
-# both contain past 7 day OmB averages till ~YYYYMMDD_23:59:59 UTC
-# So they are to be used by next day cycles
-MESO_USELIST_FN=$(date +%Y-%m-%d -d "${START_DATE} -1 day")_meso_uselist.txt
-AIR_REJECT_FN=$(date +%Y%m%d -d "${START_DATE} -1 day")_rejects.txt
-#
-#-----------------------------------------------------------------------
-#
-# go to working directory.
-# define fix and background path
-#
-#-----------------------------------------------------------------------
-
-cd_vrfy ${DATA}
-
-pregen_grid_dir=$DOMAIN_PREGEN_BASEDIR/${PREDEF_GRID_NAME}
-
-# set background path
-if [ "${RUN_ENVIR}" = "nco" ]; then
- bkpath=$DATAROOT/${TAG}run_fcst_${CYCLE_TYPE}${SLASH_ENSMEM_SUBDIR/\//_}.${share_pid}
-else
- bkpath=${COMIN}${SLASH_ENSMEM_SUBDIR}
-fi
-if [ ${CYCLE_TYPE} == "spinup" ]; then
- bkpath=${bkpath}/fcst_fv3lam_spinup/INPUT
-else
- bkpath=${bkpath}/fcst_fv3lam/INPUT
-fi
-
-# decide background type
-if [ -r "${bkpath}/coupler.res" ]; then
- BKTYPE=0 # warm start
-else
- BKTYPE=1 # cold start
-fi
-
-#---------------------------------------------------------------------
-#
-# decide regional_ensemble_option: global ensemble (1) or FV3LAM ensemble (5)
-#
-#---------------------------------------------------------------------
-#
-echo "regional_ensemble_option is ",${regional_ensemble_option:-1}
-
-print_info_msg "$VERBOSE" "FIXgsi is $FIXgsi"
-print_info_msg "$VERBOSE" "pregen_grid_dir is $pregen_grid_dir"
-print_info_msg "$VERBOSE" "default bkpath is $bkpath"
-print_info_msg "$VERBOSE" "background type is is $BKTYPE"
-
-#
-# Check if we have enough FV3-LAM ensembles when regional_ensemble_option=5
-#
-if [[ ${regional_ensemble_option:-1} -eq 5 ]]; then
- ens_nstarthr=$( printf "%02d" ${DA_CYCLE_INTERV} )
- imem=1
- ifound=0
- for hrs in ${CYCL_HRS_HYB_FV3LAM_ENS[@]}; do
- if [ $HH == ${hrs} ]; then
-
- while [[ $imem -le ${NUM_ENS_MEMBERS} ]];do
- memcharv0=$( printf "%03d" $imem )
- memchar=mem$( printf "%04d" $imem )
-
- YYYYMMDDHHmInterv=$( date +%Y%m%d%H -d "${START_DATE} ${DA_CYCLE_INTERV} hours ago" )
- restart_prefix="${YYYYMMDD}.${HH}0000."
- SLASH_ENSMEM_SUBDIR=$memchar
- bkpathmem=${RRFSE_NWGES_BASEDIR}/${YYYYMMDDHHmInterv}/${SLASH_ENSMEM_SUBDIR}/fcst_fv3lam/RESTART
- if [ ${DO_SPINUP} == "TRUE" ]; then
- for cycl_hrs in ${CYCL_HRS_PRODSTART_ENS[@]}; do
- if [ $HH == ${cycl_hrs} ]; then
- bkpathmem=${RRFSE_NWGES_BASEDIR}/${YYYYMMDDHHmInterv}/${SLASH_ENSMEM_SUBDIR}/fcst_fv3lam_spinup/RESTART
- fi
- done
- fi
- dynvarfile=${bkpathmem}/${restart_prefix}fv_core.res.tile1.nc
- tracerfile=${bkpathmem}/${restart_prefix}fv_tracer.res.tile1.nc
- phyvarfile=${bkpathmem}/${restart_prefix}phy_data.nc
- if [ -r "${dynvarfile}" ] && [ -r "${tracerfile}" ] && [ -r "${phyvarfile}" ] ; then
- ln_vrfy -snf ${bkpathmem}/${restart_prefix}fv_core.res.tile1.nc fv3SAR${ens_nstarthr}_ens_mem${memcharv0}-fv3_dynvars
- ln_vrfy -snf ${bkpathmem}/${restart_prefix}fv_tracer.res.tile1.nc fv3SAR${ens_nstarthr}_ens_mem${memcharv0}-fv3_tracer
- ln_vrfy -snf ${bkpathmem}/${restart_prefix}phy_data.nc fv3SAR${ens_nstarthr}_ens_mem${memcharv0}-fv3_phyvars
- (( ifound += 1 ))
- else
- print_info_msg "Error: cannot find ensemble files: ${dynvarfile} ${tracerfile} ${phyvarfile} "
- fi
- (( imem += 1 ))
- done
-
- fi
- done
-
- if [[ $ifound -ne ${NUM_ENS_MEMBERS} ]] || [[ ${BKTYPE} -eq 1 ]]; then
- print_info_msg "Not enough FV3_LAM ensembles, will fall to GDAS"
- regional_ensemble_option=1
- fi
-fi
-#
-if [[ ${regional_ensemble_option:-1} -eq 1 ]]; then #using GDAS
- #-----------------------------------------------------------------------
- # Make a list of the latest GFS EnKF ensemble
- #-----------------------------------------------------------------------
- stampcycle=$(date -d "${START_DATE}" +%s)
- minHourDiff=100
- loops="009" # or 009s for GFSv15
- ftype="nc" # or nemsio for GFSv15
- foundgdasens="false"
-
- case $MACHINE in
-
- "WCOSS2")
-
- for loop in $loops; do
- for timelist in $(ls ${ENKF_FCST}/enkfgdas.*/*/atmos/mem080/gdas*.atmf${loop}.${ftype}); do
- availtimeyyyymmdd=$(echo ${timelist} | cut -d'/' -f9 | cut -c 10-17)
- availtimehh=$(echo ${timelist} | cut -d'/' -f10)
- availtime=${availtimeyyyymmdd}${availtimehh}
- avail_time=$(echo "${availtime}" | sed 's/\([[:digit:]]\{2\}\)$/ \1/')
- avail_time=$(date -d "${avail_time}")
-
- loopfcst=$(echo ${loop}| cut -c 1-3) # for nemsio 009s to get 009
- stamp_avail=$(date -d "${avail_time} ${loopfcst} hours" +%s)
-
- hourDiff=$(echo "($stampcycle - $stamp_avail) / (60 * 60 )" | bc);
- if [[ ${stampcycle} -lt ${stamp_avail} ]]; then
- hourDiff=$(echo "($stamp_avail - $stampcycle) / (60 * 60 )" | bc);
- fi
-
- if [[ ${hourDiff} -lt ${minHourDiff} ]]; then
- minHourDiff=${hourDiff}
- enkfcstname=gdas.t${availtimehh}z.atmf${loop}
- eyyyymmdd=$(echo ${availtime} | cut -c1-8)
- ehh=$(echo ${availtime} | cut -c9-10)
- foundgdasens="true"
- fi
- done
- done
-
- if [ ${foundgdasens} = "true" ]
- then
- ls ${ENKF_FCST}/enkfgdas.${eyyyymmdd}/${ehh}/atmos/mem???/${enkfcstname}.nc > filelist03
- fi
-
- ;;
- * )
-
- for loop in $loops; do
- for timelist in $(ls ${ENKF_FCST}/*.gdas.t*z.atmf${loop}.mem080.${ftype}); do
- availtimeyy=$(basename ${timelist} | cut -c 1-2)
- availtimeyyyy=20${availtimeyy}
- availtimejjj=$(basename ${timelist} | cut -c 3-5)
- availtimemm=$(date -d "${availtimeyyyy}0101 +$(( 10#${availtimejjj} - 1 )) days" +%m)
- availtimedd=$(date -d "${availtimeyyyy}0101 +$(( 10#${availtimejjj} - 1 )) days" +%d)
- availtimehh=$(basename ${timelist} | cut -c 6-7)
- availtime=${availtimeyyyy}${availtimemm}${availtimedd}${availtimehh}
- avail_time=$(echo "${availtime}" | sed 's/\([[:digit:]]\{2\}\)$/ \1/')
- avail_time=$(date -d "${avail_time}")
-
- loopfcst=$(echo ${loop}| cut -c 1-3) # for nemsio 009s to get 009
- stamp_avail=$(date -d "${avail_time} ${loopfcst} hours" +%s)
-
- hourDiff=$(echo "($stampcycle - $stamp_avail) / (60 * 60 )" | bc);
- if [[ ${stampcycle} -lt ${stamp_avail} ]]; then
- hourDiff=$(echo "($stamp_avail - $stampcycle) / (60 * 60 )" | bc);
- fi
-
- if [[ ${hourDiff} -lt ${minHourDiff} ]]; then
- minHourDiff=${hourDiff}
- enkfcstname=${availtimeyy}${availtimejjj}${availtimehh}00.gdas.t${availtimehh}z.atmf${loop}
- foundgdasens="true"
- fi
- done
- done
-
- if [ $foundgdasens = "true" ]; then
- ls ${ENKF_FCST}/${enkfcstname}.mem0??.${ftype} >> filelist03
- fi
-
- esac
-fi
-
-#
-#-----------------------------------------------------------------------
-#
-# set default values for namelist
-#
-#-----------------------------------------------------------------------
-
-ifsatbufr=.false.
-ifsoilnudge=.false.
-ifhyb=.false.
-miter=2
-niter1=50
-niter2=50
-lread_obs_save=.false.
-lread_obs_skip=.false.
-if_model_dbz=.false.
-
-# Determine if hybrid option is available
-memname='atmf009'
-
-if [ ${regional_ensemble_option:-1} -eq 5 ] && [ ${BKTYPE} != 1 ]; then
- nummem=$NUM_ENS_MEMBERS
- print_info_msg "$VERBOSE" "Do hybrid with FV3LAM ensemble"
- ifhyb=.true.
- print_info_msg "$VERBOSE" " Cycle ${YYYYMMDDHH}: GSI hybrid uses FV3LAM ensemble with n_ens=${nummem}"
- grid_ratio_ens="1"
- ens_fast_read=.true.
-else
- nummem=$(more filelist03 | wc -l)
- nummem=$((nummem - 3 ))
- if [[ ${nummem} -ge ${HYBENSMEM_NMIN} ]]; then
- print_info_msg "$VERBOSE" "Do hybrid with ${memname}"
- ifhyb=.true.
- print_info_msg "$VERBOSE" " Cycle ${YYYYMMDDHH}: GSI hybrid uses ${memname} with n_ens=${nummem}"
- else
- print_info_msg "$VERBOSE" " Cycle ${YYYYMMDDHH}: GSI does pure 3DVAR."
- print_info_msg "$VERBOSE" " Hybrid needs at least ${HYBENSMEM_NMIN} ${memname} ensembles, only ${nummem} available"
- fi
-fi
-
-#
-#-----------------------------------------------------------------------
-#
-# link or copy background and grib configuration files
-#
-# Using ncks to add phis (terrain) into cold start input background.
-# it is better to change GSI to use the terrain from fix file.
-# Adding radar_tten array to fv3_tracer. Should remove this after add this array in
-# radar_tten converting code.
-#-----------------------------------------------------------------------
-
-n_iolayouty=$(($IO_LAYOUT_Y-1))
-list_iolayout=$(seq 0 $n_iolayouty)
-
-ln_vrfy -snf ${pregen_grid_dir}/fv3_akbk fv3_akbk
-ln_vrfy -snf ${pregen_grid_dir}/fv3_grid_spec fv3_grid_spec
-
-if [ ${BKTYPE} -eq 1 ]; then # cold start uses background from INPUT
- ln_vrfy -snf ${pregen_grid_dir}/phis.nc phis.nc
- ncks -A -v phis phis.nc ${bkpath}/gfs_data.tile7.halo0.nc
-
- ln_vrfy -snf ${bkpath}/sfc_data.tile7.halo0.nc fv3_sfcdata
- ln_vrfy -snf ${bkpath}/gfs_data.tile7.halo0.nc fv3_dynvars
- ln_vrfy -s fv3_dynvars fv3_tracer
-
- fv3lam_bg_type=1
-else # cycle uses background from restart
- if [ "${IO_LAYOUT_Y}" == "1" ]; then
- ln_vrfy -snf ${bkpath}/fv_core.res.tile1.nc fv3_dynvars
- ln_vrfy -snf ${bkpath}/fv_tracer.res.tile1.nc fv3_tracer
- ln_vrfy -snf ${bkpath}/sfc_data.nc fv3_sfcdata
- ln_vrfy -snf ${bkpath}/phy_data.nc fv3_phyvars
- else
- for ii in ${list_iolayout}
- do
- iii=`printf %4.4i $ii`
- ln_vrfy -snf ${bkpath}/fv_core.res.tile1.nc.${iii} fv3_dynvars.${iii}
- ln_vrfy -snf ${bkpath}/fv_tracer.res.tile1.nc.${iii} fv3_tracer.${iii}
- ln_vrfy -snf ${bkpath}/sfc_data.nc.${iii} fv3_sfcdata.${iii}
- ln_vrfy -snf ${bkpath}/phy_data.nc.${iii} fv3_phyvars.${iii}
- ln_vrfy -snf ${gridspec_dir}/fv3_grid_spec.${iii} fv3_grid_spec.${iii}
- done
- fi
- fv3lam_bg_type=0
-fi
-
-# update times in coupler.res to current cycle time
-cp_vrfy ${pregen_grid_dir}/fv3_coupler.res coupler.res
-sed -i "s/yyyy/${YYYY}/" coupler.res
-sed -i "s/mm/${MM}/" coupler.res
-sed -i "s/dd/${DD}/" coupler.res
-sed -i "s/hh/${HH}/" coupler.res
-
-#
-#-----------------------------------------------------------------------
-#
-# link observation files
-# copy observation files to working directory
-#
-#-----------------------------------------------------------------------
-#
-obs_source=rap
-if [ ${HH} -eq '00' ] || [ ${HH} -eq '12' ]; then
- obs_source=rap_e
-fi
-
-# evaluate template path that uses `obs_source`
-eval OBSPATH_TEMPLATE=${OBSPATH_TEMPLATE}
-
-if [[ ${GSI_TYPE} == "OBSERVER" || ${OB_TYPE} == "conv" ]]; then
-
- obs_files_source[0]=${OBSPATH_TEMPLATE}.t${HH}z.prepbufr.tm00
- obs_files_target[0]=prepbufr
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.satwnd.tm00.bufr_d
- obs_files_target[${obs_number}]=satwndbufr
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.nexrad.tm00.bufr_d
- obs_files_target[${obs_number}]=l2rwbufr
-
- if [ ${DO_ENKF_RADAR_REF} == "TRUE" ]; then
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${COMIN}/process_radarref/00/Gridded_ref.nc
- obs_files_target[${obs_number}]=dbzobs.nc
- fi
-
-else
-
- if [ ${OB_TYPE} == "radardbz" ]; then
-
- if [ ${CYCLE_TYPE} == "spinup" ]; then
- obs_files_source[0]=${COMIN}/process_radarref_spinup/00/Gridded_ref.nc
- else
- obs_files_source[0]=${COMIN}/process_radarref/00/Gridded_ref.nc
- fi
- obs_files_target[0]=dbzobs.nc
-
- fi
-
-fi
-
-#
-#-----------------------------------------------------------------------
-#
-# including satellite radiance data
-#
-#-----------------------------------------------------------------------
-if [ ${DO_RADDA} == "TRUE" ]; then
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.1bamua.tm00.bufr_d
- obs_files_target[${obs_number}]=amsuabufr
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.esamua.tm00.bufr_d
- obs_files_target[${obs_number}]=amsuabufrears
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.1bmhs.tm00.bufr_d
- obs_files_target[${obs_number}]=mhsbufr
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.esmhs.tm00.bufr_d
- obs_files_target[${obs_number}]=mhsbufrears
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.atms.tm00.bufr_d
- obs_files_target[${obs_number}]=atmsbufr
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.esatms.tm00.bufr_d
- obs_files_target[${obs_number}]=atmsbufrears
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.atmsdb.tm00.bufr_d
- obs_files_target[${obs_number}]=atmsbufr_db
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.crisf4.tm00.bufr_d
- obs_files_target[${obs_number}]=crisfsbufr
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.crsfdb.tm00.bufr_d
- obs_files_target[${obs_number}]=crisfsbufr_db
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.mtiasi.tm00.bufr_d
- obs_files_target[${obs_number}]=iasibufr
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.esiasi.tm00.bufr_d
- obs_files_target[${obs_number}]=iasibufrears
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.iasidb.tm00.bufr_d
- obs_files_target[${obs_number}]=iasibufr_db
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.gsrcsr.tm00.bufr_d
- obs_files_target[${obs_number}]=abibufr
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.ssmisu.tm00.bufr_d
- obs_files_target[${obs_number}]=ssmisbufr
-
- obs_number=${#obs_files_source[@]}
- obs_files_source[${obs_number}]=${OBSPATH_TEMPLATE}.t${HH}z.sevcsr.tm00.bufr_d
- obs_files_target[${obs_number}]=sevcsr
-
-fi
-
-obs_number=${#obs_files_source[@]}
-for (( i=0; i<${obs_number}; i++ ));
-do
- obs_file=${obs_files_source[$i]}
- obs_file_t=${obs_files_target[$i]}
- if [ -r "${obs_file}" ]; then
- ln -s "${obs_file}" "${obs_file_t}"
- else
- print_info_msg "$VERBOSE" "Warning: ${obs_file} does not exist!"
- fi
-done
-
-#
-#-----------------------------------------------------------------------
-#
-# Create links to fix files in the FIXgsi directory.
-# Set fixed files
-# berror = forecast model background error statistics
-# specoef = CRTM spectral coefficients
-# trncoef = CRTM transmittance coefficients
-# emiscoef = CRTM coefficients for IR sea surface emissivity model
-# aerocoef = CRTM coefficients for aerosol effects
-# cldcoef = CRTM coefficients for cloud effects
-# satinfo = text file with information about assimilation of brightness temperatures
-# satangl = angle dependent bias correction file (fixed in time)
-# pcpinfo = text file with information about assimilation of prepcipitation rates
-# ozinfo = text file with information about assimilation of ozone data
-# errtable = text file with obs error for conventional data (regional only)
-# convinfo = text file with information about assimilation of conventional data
-# bufrtable= text file ONLY needed for single obs test (oneobstest=.true.)
-# bftab_sst= bufr table for sst ONLY needed for sst retrieval (retrieval=.true.)
-#
-#-----------------------------------------------------------------------
-
-ANAVINFO=${FIXgsi}/${ANAVINFO_FN}
-if [ ${DO_ENKF_RADAR_REF} == "TRUE" ]; then
- ANAVINFO=${FIXgsi}/${ANAVINFO_DBZ_FN}
- diag_radardbz=.true.
- beta1_inv=0.0
- if_model_dbz=.true.
-fi
-if [[ ${GSI_TYPE} == "ANALYSIS" && ${OB_TYPE} == "radardbz" ]]; then
- ANAVINFO=${FIXgsi}/${ENKF_ANAVINFO_DBZ_FN}
- miter=1
- niter1=100
- niter2=0
- bkgerr_vs=0.1
- bkgerr_hzscl="0.4,0.5,0.6"
- beta1_inv=0.0
- ens_h=4.10790
- ens_v=-0.30125
- readin_localization=.false.
- q_hyb_ens=.true.
- if_model_dbz=.true.
-fi
-CONVINFO=${FIXgsi}/${CONVINFO_FN}
-HYBENSINFO=${FIXgsi}/${HYBENSINFO_FN}
-OBERROR=${FIXgsi}/${OBERROR_FN}
-BERROR=${FIXgsi}/${BERROR_FN}
-
-SATINFO=${FIXgsi}/global_satinfo.txt
-OZINFO=${FIXgsi}/global_ozinfo.txt
-PCPINFO=${FIXgsi}/global_pcpinfo.txt
-ATMS_BEAMWIDTH=${FIXgsi}/atms_beamwidth.txt
-
-# Fixed fields
-cp_vrfy ${ANAVINFO} anavinfo
-cp_vrfy ${BERROR} berror_stats
-cp_vrfy $SATINFO satinfo
-cp_vrfy $CONVINFO convinfo
-cp_vrfy $OZINFO ozinfo
-cp_vrfy $PCPINFO pcpinfo
-cp_vrfy $OBERROR errtable
-cp_vrfy $ATMS_BEAMWIDTH atms_beamwidth.txt
-cp_vrfy ${HYBENSINFO} hybens_info
-
-# Get surface observation provider list
-if [ -r ${FIXgsi}/gsd_sfcobs_provider.txt ]; then
- cp_vrfy ${FIXgsi}/gsd_sfcobs_provider.txt gsd_sfcobs_provider.txt
-else
- print_info_msg "$VERBOSE" "Warning: gsd surface observation provider does not exist!"
-fi
-
-# Get aircraft reject list
-for reject_list in "${AIRCRAFT_REJECT}/current_bad_aircraft.txt" \
- "${AIRCRAFT_REJECT}/${AIR_REJECT_FN}"
-do
- if [ -r $reject_list ]; then
- cp_vrfy $reject_list current_bad_aircraft
- print_info_msg "$VERBOSE" "Use aircraft reject list: $reject_list "
- break
- fi
-done
-if [ ! -r $reject_list ] ; then
- print_info_msg "$VERBOSE" "Warning: gsd aircraft reject list does not exist!"
-fi
-
-# Get mesonet uselist
-gsd_sfcobs_uselist="gsd_sfcobs_uselist.txt"
-for use_list in "${SFCOBS_USELIST}/current_mesonet_uselist.txt" \
- "${SFCOBS_USELIST}/${MESO_USELIST_FN}" \
- "${SFCOBS_USELIST}/gsd_sfcobs_uselist.txt"
-do
- if [ -r $use_list ] ; then
- cp_vrfy $use_list $gsd_sfcobs_uselist
- print_info_msg "$VERBOSE" "Use surface obs uselist: $use_list "
- break
- fi
-done
-if [ ! -r $use_list ] ; then
- print_info_msg "$VERBOSE" "Warning: gsd surface observation uselist does not exist!"
-fi
-
-#-----------------------------------------------------------------------
-#
-# CRTM Spectral and Transmittance coefficients
-#
-#-----------------------------------------------------------------------
-emiscoef_IRwater=${FIXcrtm}/Nalli.IRwater.EmisCoeff.bin
-emiscoef_IRice=${FIXcrtm}/NPOESS.IRice.EmisCoeff.bin
-emiscoef_IRland=${FIXcrtm}/NPOESS.IRland.EmisCoeff.bin
-emiscoef_IRsnow=${FIXcrtm}/NPOESS.IRsnow.EmisCoeff.bin
-emiscoef_VISice=${FIXcrtm}/NPOESS.VISice.EmisCoeff.bin
-emiscoef_VISland=${FIXcrtm}/NPOESS.VISland.EmisCoeff.bin
-emiscoef_VISsnow=${FIXcrtm}/NPOESS.VISsnow.EmisCoeff.bin
-emiscoef_VISwater=${FIXcrtm}/NPOESS.VISwater.EmisCoeff.bin
-emiscoef_MWwater=${FIXcrtm}/FASTEM6.MWwater.EmisCoeff.bin
-aercoef=${FIXcrtm}/AerosolCoeff.bin
-cldcoef=${FIXcrtm}/CloudCoeff.bin
-
-ln -s ${emiscoef_IRwater} Nalli.IRwater.EmisCoeff.bin
-ln -s $emiscoef_IRice ./NPOESS.IRice.EmisCoeff.bin
-ln -s $emiscoef_IRsnow ./NPOESS.IRsnow.EmisCoeff.bin
-ln -s $emiscoef_IRland ./NPOESS.IRland.EmisCoeff.bin
-ln -s $emiscoef_VISice ./NPOESS.VISice.EmisCoeff.bin
-ln -s $emiscoef_VISland ./NPOESS.VISland.EmisCoeff.bin
-ln -s $emiscoef_VISsnow ./NPOESS.VISsnow.EmisCoeff.bin
-ln -s $emiscoef_VISwater ./NPOESS.VISwater.EmisCoeff.bin
-ln -s $emiscoef_MWwater ./FASTEM6.MWwater.EmisCoeff.bin
-ln -s $aercoef ./AerosolCoeff.bin
-ln -s $cldcoef ./CloudCoeff.bin
-
-
-# Copy CRTM coefficient files based on entries in satinfo file
-for file in $(awk '{if($1!~"!"){print $1}}' ./satinfo | sort | uniq) ;do
- ln -s ${FIXcrtm}/${file}.SpcCoeff.bin ./
- ln -s ${FIXcrtm}/${file}.TauCoeff.bin ./
-done
-
-#-----------------------------------------------------------------------
-#
-# cycling radiance bias corretion files
-#
-#-----------------------------------------------------------------------
-if [ ${DO_RADDA} == "TRUE" ]; then
- if [ ${CYCLE_TYPE} == "spinup" ]; then
- echo "spin up cycle"
- spinup_or_prod_rrfs=spinup
- for cyc_start in "${CYCL_HRS_SPINSTART[@]}"; do
- if [ ${HH} -eq ${cyc_start} ]; then
- spinup_or_prod_rrfs=prod
- fi
- done
- else
- echo " product cycle"
- spinup_or_prod_rrfs=prod
- for cyc_start in "${CYCL_HRS_PRODSTART[@]}"; do
- if [ ${HH} -eq ${cyc_start} ]; then
- spinup_or_prod_rrfs=spinup
- fi
- done
- fi
-
- satcounter=1
- maxcounter=240
- while [ $satcounter -lt $maxcounter ]; do
- SAT_TIME=`date +"%Y%m%d%H" -d "${START_DATE} ${satcounter} hours ago"`
- echo $SAT_TIME
- if [ -r ${SATBIAS_DIR}/rrfs.${spinup_or_prod_rrfs}.${SAT_TIME}_satbias ]; then
- echo " using satellite bias files from ${SAT_TIME}"
-
- cp_vrfy ${SATBIAS_DIR}/rrfs.${spinup_or_prod_rrfs}.${SAT_TIME}_satbias ./satbias_in
- cp_vrfy ${SATBIAS_DIR}/rrfs.${spinup_or_prod_rrfs}.${SAT_TIME}_satbias_pc ./satbias_pc
- cp_vrfy ${SATBIAS_DIR}/rrfs.${spinup_or_prod_rrfs}.${SAT_TIME}_radstat ./radstat.rrfs
-
- break
- fi
- satcounter=` expr $satcounter + 1 `
- done
-
- ## if satbias files (go back to previous 10 dyas) are not available from ${SATBIAS_DIR}, use satbias files from the ${FIXgsi}
- if [ $satcounter -eq $maxcounter ]; then
- if [ -r ${FIXgsi}/rrfs.gdas_satbias ]; then
- echo "using satllite satbias_in files from ${FIXgsi}"
- cp_vrfy ${FIXgsi}/rrfs.starting_satbias ./satbias_in
- fi
- if [ -r ${FIXgsi}/rrfs.gdas_satbias_pc ]; then
- echo "using satllite satbias_pc files from ${FIXgsi}"
- cp_vrfy ${FIXgsi}/rrfs.starting_satbias_pc ./satbias_pc
- fi
- if [ -r ${FIXgsi}/rrfs.gdas_radstat ]; then
- echo "using satllite radstat files from ${FIXgsi}"
- cp_vrfy ${FIXgsi}/rrfs.starting_radstat ./radstat.rrfs
- fi
- fi
-
- listdiag=`tar xvf radstat.rrfs | cut -d' ' -f2 | grep _ges`
- for type in $listdiag; do
- diag_file=`echo $type | cut -d',' -f1`
- fname=`echo $diag_file | cut -d'.' -f1`
- date=`echo $diag_file | cut -d'.' -f2`
- gunzip $diag_file
- fnameanl=$(echo $fname|sed 's/_ges//g')
- mv $fname.$date* $fnameanl
- done
-fi
-
-#-----------------------------------------------------------------------
-# skip radar reflectivity analysis if no RRFSE ensemble
-#-----------------------------------------------------------------------
-
-if [[ ${GSI_TYPE} == "ANALYSIS" && ${OB_TYPE} == "radardbz" ]]; then
- if [[ ${regional_ensemble_option:-1} -eq 1 ]]; then
- echo "No RRFSE ensemble available, cannot do radar reflectivity analysis"
- exit 0
- fi
-fi
-#-----------------------------------------------------------------------
-#
-# Build the GSI namelist on-the-fly
-# most configurable paramters take values from settings in config.sh
-# (var_defns.sh in runtime)
-#
-#-----------------------------------------------------------------------
-#
-if [ ${GSI_TYPE} == "OBSERVER" ]; then
- miter=0
- ifhyb=.false.
- if [ ${MEM_TYPE} == "MEAN" ]; then
- lread_obs_save=.true.
- lread_obs_skip=.false.
- else
- lread_obs_save=.false.
- lread_obs_skip=.true.
- ln -s ../../ensmean/observer_gsi/obs_input.* .
- fi
-fi
-if [ ${BKTYPE} -eq 1 ]; then
- n_iolayouty=1
-else
- n_iolayouty=$(($IO_LAYOUT_Y))
-fi
-
-. ${FIXgsi}/gsiparm.anl.sh
-cat << EOF > gsiparm.anl
-$gsi_namelist
-EOF
-
-#
-#-----------------------------------------------------------------------
-#
-# Copy the GSI executable to the run directory.
-#
-#-----------------------------------------------------------------------
-#
-exec_fn="gsi.x"
-exec_fp="$EXECdir/${exec_fn}"
-
-if [ ! -f "${exec_fp}" ]; then
- print_err_msg_exit "\
-The executable specified in exec_fp does not exist:
- exec_fp = \"${exec_fp}\"
-Build lightning process and rerun."
-fi
-#
-#-----------------------------------------------------------------------
-#
-# Set and export variables.
-#
-#-----------------------------------------------------------------------
-#
-
-#
-#-----------------------------------------------------------------------
-#
-# Run the GSI. Note that we have to launch the forecast from
-# the current cycle's run directory because the GSI executable will look
-# for input files in the current directory.
-#
-#-----------------------------------------------------------------------
-#
-# comment out for testing
-PREP_STEP
-eval $RUN_CMD_UTILS ${exec_fp} < gsiparm.anl ${REDIRECT_OUT_ERR} || print_err_msg_exit "\
-Call to executable to run GSI returned with nonzero exit code."
-POST_STEP
-
-if [ ${GSI_TYPE} == "ANALYSIS" ]; then
- if [ ${OB_TYPE} == "radardbz" ]; then
- cat fort.238 > $COMOUT/${NET}.t${HH}z.fits3.${POST_OUTPUT_DOMAIN_NAME}
- else
- mv fort.207 fit_rad1
- sed -e 's/ asm all/ps asm 900/; s/ rej all/ps rej 900/; s/ mon all/ps mon 900/' fort.201 > fit_p1
- sed -e 's/ asm all/uv asm 900/; s/ rej all/uv rej 900/; s/ mon all/uv mon 900/' fort.202 > fit_w1
- sed -e 's/ asm all/ t asm 900/; s/ rej all/ t rej 900/; s/ mon all/ t mon 900/' fort.203 > fit_t1
- sed -e 's/ asm all/ q asm 900/; s/ rej all/ q rej 900/; s/ mon all/ q mon 900/' fort.204 > fit_q1
- sed -e 's/ asm all/pw asm 900/; s/ rej all/pw rej 900/; s/ mon all/pw mon 900/' fort.205 > fit_pw1
- sed -e 's/ asm all/rw asm 900/; s/ rej all/rw rej 900/; s/ mon all/rw mon 900/' fort.209 > fit_rw1
-
- cat fit_p1 fit_w1 fit_t1 fit_q1 fit_pw1 fit_rad1 fit_rw1 > $COMOUT/${NET}.t${HH}z.fits.${POST_OUTPUT_DOMAIN_NAME}
- cat fort.208 fort.210 fort.212 fort.213 fort.220 > $COMOUT/${NET}.t${HH}z.fits2.${POST_OUTPUT_DOMAIN_NAME}
- fi
-fi
-#
-#-----------------------------------------------------------------------
-#
-# touch a file "gsi_complete.txt" after the successful GSI run. This is to inform
-# the successful analysis for the EnKF recentering
-#
-#-----------------------------------------------------------------------
-#
-touch gsi_complete.txt
-
-#-----------------------------------------------------------------------
-# Loop over first and last outer loops to generate innovation
-# diagnostic files for indicated observation types (groups)
-#
-# NOTE: Since we set miter=2 in GSI namelist SETUP, outer
-# loop 03 will contain innovations with respect to
-# the analysis. Creation of o-a innovation files
-# is triggered by write_diag(3)=.true. The setting
-# write_diag(1)=.true. turns on creation of o-g
-# innovation files.
-#-----------------------------------------------------------------------
-#
-
-netcdf_diag=${netcdf_diag:-".false."}
-binary_diag=${binary_diag:-".true."}
-
-loops="01 03"
-for loop in $loops; do
-
-case $loop in
- 01) string=ges;;
- 03) string=anl;;
- *) string=$loop;;
-esac
-
-# Collect diagnostic files for obs types (groups) below
-numfile_rad_bin=0
-numfile_cnv=0
-numfile_rad=0
-if [ $binary_diag = ".true." ]; then
- listall="hirs2_n14 msu_n14 sndr_g08 sndr_g11 sndr_g11 sndr_g12 sndr_g13 sndr_g08_prep sndr_g11_prep sndr_g12_prep sndr_g13_prep sndrd1_g11 sndrd2_g11 sndrd3_g11 sndrd4_g11 sndrd1_g15 sndrd2_g15 sndrd3_g15 sndrd4_g15 sndrd1_g13 sndrd2_g13 sndrd3_g13 sndrd4_g13 hirs3_n15 hirs3_n16 hirs3_n17 amsua_n15 amsua_n16 amsua_n17 amsua_n18 amsua_n19 amsua_metop-a amsua_metop-b amsua_metop-c amsub_n15 amsub_n16 amsub_n17 hsb_aqua airs_aqua amsua_aqua imgr_g08 imgr_g11 imgr_g12 pcp_ssmi_dmsp pcp_tmi_trmm conv sbuv2_n16 sbuv2_n17 sbuv2_n18 omi_aura ssmi_f13 ssmi_f14 ssmi_f15 hirs4_n18 hirs4_metop-a mhs_n18 mhs_n19 mhs_metop-a mhs_metop-b mhs_metop-c amsre_low_aqua amsre_mid_aqua amsre_hig_aqua ssmis_las_f16 ssmis_uas_f16 ssmis_img_f16 ssmis_env_f16 iasi_metop-a iasi_metop-b iasi_metop-c seviri_m08 seviri_m09 seviri_m10 seviri_m11 cris_npp atms_npp ssmis_f17 cris-fsr_npp cris-fsr_n20 atms_n20 abi_g16 abi_g17 radardbz"
- for type in $listall; do
- set +e
- count=$(ls pe*.${type}_${loop} | wc -l)
- set -e
- if [[ $count -gt 0 ]]; then
- $(cat pe*.${type}_${loop} > diag_${type}_${string}.${YYYYMMDDHH})
- echo "diag_${type}_${string}.${YYYYMMDDHH}" >> listrad_bin
- numfile_rad_bin=`expr ${numfile_rad_bin} + 1`
- fi
- done
-fi
-
-if [ $netcdf_diag = ".true." ]; then
- nc_diag_cat="nc_diag_cat.x"
- listall_cnv="conv_ps conv_q conv_t conv_uv conv_pw conv_rw conv_sst conv_dbz"
- listall_rad="hirs2_n14 msu_n14 sndr_g08 sndr_g11 sndr_g11 sndr_g12 sndr_g13 sndr_g08_prep sndr_g11_prep sndr_g12_prep sndr_g13_prep sndrd1_g11 sndrd2_g11 sndrd3_g11 sndrd4_g11 sndrd1_g15 sndrd2_g15 sndrd3_g15 sndrd4_g15 sndrd1_g13 sndrd2_g13 sndrd3_g13 sndrd4_g13 hirs3_n15 hirs3_n16 hirs3_n17 amsua_n15 amsua_n16 amsua_n17 amsua_n18 amsua_n19 amsua_metop-a amsua_metop-b amsua_metop-c amsub_n15 amsub_n16 amsub_n17 hsb_aqua airs_aqua amsua_aqua imgr_g08 imgr_g11 imgr_g12 pcp_ssmi_dmsp pcp_tmi_trmm conv sbuv2_n16 sbuv2_n17 sbuv2_n18 omi_aura ssmi_f13 ssmi_f14 ssmi_f15 hirs4_n18 hirs4_metop-a mhs_n18 mhs_n19 mhs_metop-a mhs_metop-b mhs_metop-c amsre_low_aqua amsre_mid_aqua amsre_hig_aqua ssmis_las_f16 ssmis_uas_f16 ssmis_img_f16 ssmis_env_f16 iasi_metop-a iasi_metop-b iasi_metop-c seviri_m08 seviri_m09 seviri_m10 seviri_m11 cris_npp atms_npp ssmis_f17 cris-fsr_npp cris-fsr_n20 atms_n20 abi_g16"
-
- for type in $listall_cnv; do
- set +e
- count=$(ls pe*.${type}_${loop}.nc4 | wc -l)
- set -e
- if [[ $count -gt 0 ]]; then
- PREP_STEP
- eval $RUN_CMD_UTILS ${nc_diag_cat} -o diag_${type}_${string}.${YYYYMMDDHH}.nc4 pe*.${type}_${loop}.nc4 || print_err_msg "\
- Call to ${nc_diag_cat} returned with nonzero exit code."
- POST_STEP
-
- cp diag_${type}_${string}.${YYYYMMDDHH}.nc4 $COMOUT
- echo "diag_${type}_${string}.${YYYYMMDDHH}.nc4*" >> listcnv
- numfile_cnv=`expr ${numfile_cnv} + 1`
- fi
- done
-
- for type in $listall_rad; do
- set +e
- count=$(ls pe*.${type}_${loop}.nc4 | wc -l)
- set -e
- if [[ $count -gt 0 ]]; then
- PREP_STEP
- eval $RUN_CMD_UTILS ${nc_diag_cat} -o diag_${type}_${string}.${YYYYMMDDHH}.nc4 pe*.${type}_${loop}.nc4 || print_err_msg "\
- Call to ${nc_diag_cat} returned with nonzero exit code."
- POST_STEP
- cp diag_${type}_${string}.${YYYYMMDDHH}.nc4 $COMOUT
- echo "diag_${type}_${string}.${YYYYMMDDHH}.nc4*" >> listrad
- numfile_rad=`expr ${numfile_rad} + 1`
- else
- echo 'No diag_' ${type} 'exist'
- fi
- done
-fi
-
-done
-
-if [ ${GSI_TYPE} == "OBSERVER" ]; then
- cp_vrfy *diag*ges* ${OBSERVER_NWGES_DIR}/.
- if [ ${MEM_TYPE} == "MEAN" ]; then
- mkdir_vrfy -p ${OBSERVER_NWGES_DIR}/../../../observer_diag/${YYYYMMDDHH}/ensmean/observer_gsi
- cp_vrfy *diag*ges* ${OBSERVER_NWGES_DIR}/../../../observer_diag/${YYYYMMDDHH}/ensmean/observer_gsi/.
- else
- mkdir_vrfy -p ${OBSERVER_NWGES_DIR}/../../../observer_diag/${YYYYMMDDHH}/${SLASH_ENSMEM_SUBDIR}/observer_gsi
- cp_vrfy *diag*ges* ${OBSERVER_NWGES_DIR}/../../../observer_diag/${YYYYMMDDHH}/${SLASH_ENSMEM_SUBDIR}/observer_gsi/.
- fi
-fi
-
-#
-#-----------------------------------------------------------------------
-#
-# cycling radiance bias corretion files
-#
-#-----------------------------------------------------------------------
-
-if [ ${DO_RADDA} == "TRUE" ]; then
- if [ ${CYCLE_TYPE} == "spinup" ]; then
- spinup_or_prod_rrfs=spinup
- else
- spinup_or_prod_rrfs=prod
- fi
- if [ ${numfile_cnv} -gt 0 ]; then
- tar -cvzf rrfs.${spinup_or_prod_rrfs}.${YYYYMMDDHH}_cnvstat_nc `cat listcnv`
- cp_vrfy ./rrfs.${spinup_or_prod_rrfs}.${YYYYMMDDHH}_cnvstat_nc ${SATBIAS_DIR}/rrfs.${spinup_or_prod_rrfs}.${YYYYMMDDHH}_cnvstat
- fi
- if [ ${numfile_rad} -gt 0 ]; then
- tar -cvzf rrfs.${spinup_or_prod_rrfs}.${YYYYMMDDHH}_radstat_nc `cat listrad`
- cp_vrfy ./rrfs.${spinup_or_prod_rrfs}.${YYYYMMDDHH}_radstat_nc ${SATBIAS_DIR}/rrfs.${spinup_or_prod_rrfs}.${YYYYMMDDHH}_radstat
- fi
- if [ ${numfile_rad_bin} -gt 0 ]; then
- tar -cvzf rrfs.${spinup_or_prod_rrfs}.${YYYYMMDDHH}_radstat `cat listrad_bin`
- cp_vrfy ./rrfs.${spinup_or_prod_rrfs}.${YYYYMMDDHH}_radstat ${SATBIAS_DIR}/rrfs.${spinup_or_prod_rrfs}.${YYYYMMDDHH}_radstat
- fi
-
- cp_vrfy ./satbias_out ${SATBIAS_DIR}/rrfs.${spinup_or_prod_rrfs}.${YYYYMMDDHH}_satbias
- cp_vrfy ./satbias_pc.out ${SATBIAS_DIR}/rrfs.${spinup_or_prod_rrfs}.${YYYYMMDDHH}_satbias_pc
-fi
-
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating successful completion of script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-ANALYSIS GSI completed successfully!!!
-Exiting script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Restore the shell options saved at the beginning of this script/func-
-# tion.
-#
-#-----------------------------------------------------------------------
-#
-{ restore_shell_opts; } > /dev/null 2>&1
diff --git a/scripts/exregional_get_da_obs.sh b/scripts/exregional_get_da_obs.sh
deleted file mode 100755
index e176d3aaab..0000000000
--- a/scripts/exregional_get_da_obs.sh
+++ /dev/null
@@ -1,256 +0,0 @@
-#!/bin/bash
-
-#
-#-----------------------------------------------------------------------
-#
-# Source the variable definitions file and the bash utility functions.
-#
-#-----------------------------------------------------------------------
-#
-. $USHdir/source_util_funcs.sh
-. $USHdir/get_mrms_files.sh
-source_config_for_task "task_get_da_obs|task_process_radarref" ${GLOBAL_VAR_DEFNS_FP}
-#
-#-----------------------------------------------------------------------
-#
-# Save current shell options (in a global array). Then set new options
-# for this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1
-#
-#-----------------------------------------------------------------------
-#
-# Get the full path to the file in which this script/function is located
-# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in
-# which the file is located (scrfunc_dir).
-#
-#-----------------------------------------------------------------------
-#
-scrfunc_fp=$( $READLINK -f "${BASH_SOURCE[0]}" )
-scrfunc_fn=$( basename "${scrfunc_fp}" )
-scrfunc_dir=$( dirname "${scrfunc_fp}" )
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating entry into script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-Entering script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-
-This is the ex-script for the task that retrieves observation data for
-RRFS data assimilation tasks.
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Enter working directory; set up variables for call to retrieve_data.py
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "$VERBOSE" "
-Entering working directory for observation files ..."
-
-cd_vrfy ${DATA}
-
-if [ $RUN_ENVIR = "nco" ]; then
- EXTRN_DEFNS="${NET}.${cycle}.${EXTRN_MDL_NAME}.${ICS_OR_LBCS}.${EXTRN_MDL_VAR_DEFNS_FN}.sh"
-else
- EXTRN_DEFNS="${EXTRN_MDL_VAR_DEFNS_FN}.sh"
-fi
-
-#
-#-----------------------------------------------------------------------
-#
-# retrieve RAP obs bufr files
-#
-#-----------------------------------------------------------------------
-#
-
-# Start array for templates for files we will retrieve
-template_arr=()
-
-# Obs from different filenames depending on hour
-set -x
-if [[ ${cyc} -eq '00' || ${cyc} -eq '12' ]]; then
- RAP=rap_e
-else
- RAP=rap
-fi
-# Bufr lightning obs
-template_arr+=("${YYYYMMDDHH}.${RAP}.t${cyc}z.lghtng.tm00.bufr_d")
-# NASA LaRC cloud bufr file
-template_arr+=("${YYYYMMDDHH}.${RAP}.t${cyc}z.lgycld.tm00.bufr_d")
-# Prepbufr obs file
-template_arr+=("${YYYYMMDDHH}.${RAP}.t${cyc}z.prepbufr.tm00")
-
-additional_flags=""
-if [ $SYMLINK_FIX_FILES = "TRUE" ]; then
- additional_flags="$additional_flags \
- --symlink"
-fi
-
-if [ -n "${RAP_OBS_BUFR:-}" ] ; then
- data_stores="disk ${EXTRN_MDL_DATA_STORES}"
- additional_flags="$additional_flags \
- --input_file_path ${RAP_OBS_BUFR}"
-fi
-
-cmd="
-python3 -u ${USHdir}/retrieve_data.py \
- --debug \
- --file_set obs \
- --config ${PARMdir}/data_locations.yml \
- --cycle_date ${PDY}${cyc} \
- --data_stores ${data_stores} \
- --data_type RAP_obs \
- --output_path ${DATA} \
- --summary_file ${EXTRN_DEFNS} \
- --file_templates ${template_arr[@]} \
- $additional_flags"
-
-$cmd || print_err_msg_exit "\
-Call to retrieve_data.py failed with a non-zero exit status.
-
-The command was:
-${cmd}
-"
-# Link to GSI-expected filenames
-ln_vrfy "${DATA}/${template_arr[0]}" "${DATA}/lghtngbufr"
-ln_vrfy "${DATA}/${template_arr[1]}" "${DATA}/lgycld.bufr_d"
-ln_vrfy "${DATA}/${template_arr[2]}" "${DATA}/prepbufr"
-
-#
-#-----------------------------------------------------------------------
-#
-# retrieve NLDN NetCDF lightning obs
-#
-#-----------------------------------------------------------------------
-#
-
-if [ "${NLDN_NEEDED:-}" = "TRUE" ]; then
- template_arr=()
- for incr in $(seq -25 5 5) ; do
- filedate=$(date +"%y%j%H%M" -d "${START_DATE} ${incr} minutes ")
- template_arr+=("${filedate}0005r")
- done
-
- additional_flags=""
- if [ $SYMLINK_FIX_FILES = "TRUE" ]; then
- additional_flags="$additional_flags \
- --symlink"
- fi
-
- if [ -n "${NLDN_LIGHTNING:-}" ] ; then
- data_stores="disk ${EXTRN_MDL_DATA_STORES}"
- additional_flags="$additional_flags \
- --input_file_path ${NLDN_LIGHTNING}"
- fi
-
- cmd="
- python3 -u ${USHdir}/retrieve_data.py \
- --debug \
- --file_set obs \
- --config ${PARMdir}/data_locations.yml \
- --cycle_date ${PDY}${cyc} \
- --data_stores ${data_stores} \
- --data_type RAP_obs \
- --output_path ${DATA} \
- --summary_file ${EXTRN_DEFNS} \
- --file_templates ${template_arr[@]} \
- $additional_flags"
-
- $cmd || print_err_msg_exit "\
- Call to retrieve_data.py failed with a non-zero exit status.
-
- The command was:
- ${cmd}
- "
- # Link to GSI-expected filenames
- filenum=0
- for incr in $(seq -25 5 5) ; do
- filedate=$(date +"%y%j%H%M" -d "${START_DATE} ${incr} minutes ")
- filename="${filedate}0005r"
- if [ -r ${filename} ]; then
- ((filenum += 1 ))
- mv_vrfy ${filename} ./NLDN_lightning_${filenum}
- else
- print_info_msg "WARNING: ${filename} does not exist"
- fi
- done
-
-fi
-#
-#-----------------------------------------------------------------------
-#
-# retrieve NSSL Mosaic Reflectivity observations
-#
-#-----------------------------------------------------------------------
-#
-
-
-# If files are available on disk, copy them here in the code. This
-# approach is used here because of its efficiency compared to repeated
-# calls to retrieve_data.py for this observation file type.
-
-#
-#-----------------------------------------------------------------------
-#
-# Check for files on disk first
-#
-#-----------------------------------------------------------------------
-#
-mrms="MergedReflectivityQC"
-
- for timelevel in ${RADARREFL_TIMELEVEL[@]}; do
- echo "timelevel = ${timelevel}"
- timelevel=$( printf %2.2i $timelevel )
- radar_output_path=${RADAR_DATA}/${timelevel}
- mkdir -p $radar_output_path
-
- #-----------------------------------------------------------------------
- # copy observation files to staging location
- #-----------------------------------------------------------------------
- if [ -n "${NSSLMOSAIC:-}" ] ; then
- get_mrms_files $timelevel $radar_output_path $mrms
- fi
-
- # Check to see if files were retrieved from disk
- # Try other resources, if not
- if [ ! -s ${radar_output_path}/filelist_mrms ]; then
-
- cmd="
- python3 -u ${USHdir}/retrieve_data.py \
- --debug \
- --file_set obs \
- --config ${PARMdir}/data_locations.yml \
- --cycle_date ${PDY}${cyc}${timelevel} \
- --data_stores ${EXTRN_MDL_DATA_STORES} \
- --data_type NSSL_mrms \
- --output_path ${radar_output_path}
- "
-
- $cmd || print_err_msg_exit "\
- Call to retrieve_data.py failed with a non-zero exit status.
-
- The command was:
- ${cmd}
- "
- ls $radar_output_path/*${mrms}* > $radar_output_path/filelist_mrms
- fi
- done
-
-
-#
-#-----------------------------------------------------------------------
-#
-# Restore the shell options saved at the beginning of this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ restore_shell_opts; } > /dev/null 2>&1
diff --git a/scripts/exregional_get_extrn_mdl_files.sh b/scripts/exregional_get_extrn_mdl_files.sh
index 77cbc28be1..ffdcceef00 100755
--- a/scripts/exregional_get_extrn_mdl_files.sh
+++ b/scripts/exregional_get_extrn_mdl_files.sh
@@ -78,15 +78,7 @@ elif [ "${ICS_OR_LBCS}" = "LBCS" ]; then
FCST_LEN_HRS=${FCST_LEN_CYCL[$CYCLE_IDX]}
fi
end_hr=$FCST_LEN_HRS
- if [ $BOUNDARY_LEN_HRS -gt $end_hr ]; then
- end_hr=$BOUNDARY_LEN_HRS
- fi
- # Download 0th hour lbcs if requested for it, mostly for DA
- if [ ${NEED_ALL_LBCS} = "TRUE" ]; then
- first_time=$((TIME_OFFSET_HRS))
- else
- first_time=$((TIME_OFFSET_HRS + LBC_SPEC_INTVL_HRS ))
- fi
+ first_time=$((TIME_OFFSET_HRS + LBC_SPEC_INTVL_HRS ))
last_time=$((TIME_OFFSET_HRS + end_hr))
diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh
index 98867afc79..d52bf25ec4 100755
--- a/scripts/exregional_make_ics.sh
+++ b/scripts/exregional_make_ics.sh
@@ -715,20 +715,6 @@ fi
#
#-----------------------------------------------------------------------
#
-# Symlink files to NWGES directory, dropping prefix
-#
-#-----------------------------------------------------------------------
-#
-for i in ${INPUT_DATA}/*.nc; do
- file=$(basename $i)
- prefix="${NET}.${cycle}${dot_ensmem}."
- file=${file#"$prefix"}
- file=${file/f000/000}
- ln_vrfy -sf $i ${INPUT_DATA_NWGES}/${file}
-done
-#
-#-----------------------------------------------------------------------
-#
# Print message indicating successful completion of script.
#
#-----------------------------------------------------------------------
diff --git a/scripts/exregional_make_lbcs.sh b/scripts/exregional_make_lbcs.sh
index b0311c626d..08cd0dda18 100755
--- a/scripts/exregional_make_lbcs.sh
+++ b/scripts/exregional_make_lbcs.sh
@@ -567,16 +567,6 @@ located in the following directory:
fcst_hhh_FV3LAM=$( printf "%03d" "$fcst_hhh" )
mv_vrfy gfs.bndy.nc ${INPUT_DATA}/${NET}.${cycle}${dot_ensmem}.gfs_bndy.tile7.f${fcst_hhh_FV3LAM}.nc
-#
-#-----------------------------------------------------------------------
-#
-# Symlink files to NWGES directory, dropping prefix
-#
-#-----------------------------------------------------------------------
-#
- ln_vrfy -sf ${INPUT_DATA}/${NET}.${cycle}${dot_ensmem}.gfs_bndy.tile7.f${fcst_hhh_FV3LAM}.nc \
- ${INPUT_DATA_NWGES}/gfs_bndy.tile7.${fcst_hhh_FV3LAM}.nc
-
fi
done
#
diff --git a/scripts/exregional_plot_allvars.py b/scripts/exregional_plot_allvars.py
index 2dfc3ec068..27eff0f4b0 100755
--- a/scripts/exregional_plot_allvars.py
+++ b/scripts/exregional_plot_allvars.py
@@ -320,6 +320,12 @@ def setup_logging(debug=False):
action="store_true",
help="Print debug messages",
)
+ parser.add_argument(
+ "--net",
+ help="Model name; prefix of model output files.",
+ default="srw",
+ )
+
args = parser.parse_args()
setup_logging(args.debug)
@@ -361,14 +367,7 @@ def setup_logging(debug=False):
# Define the location of the input file
data1 = pygrib.open(
- COMOUT
- + "/rrfs.t"
- + cyc
- + "z.prslev.f"
- + fhour
- + "."
- + POST_OUTPUT_DOMAIN_NAME
- + ".grib2"
+ f"{COMOUT}/{args.net}.t{cyc}z.prslev.f{fhour}.{POST_OUTPUT_DOMAIN_NAME}.grib2"
)
# Get the lats and lons
diff --git a/scripts/exregional_plot_allvars_diff.py b/scripts/exregional_plot_allvars_diff.py
index 2690f7b6a9..e51a3a6b57 100755
--- a/scripts/exregional_plot_allvars_diff.py
+++ b/scripts/exregional_plot_allvars_diff.py
@@ -324,6 +324,11 @@ def setup_logging(debug=False):
help="Name of domains to plot (either 'conus' or 'regional' or both).",
required=False,
)
+ parser.add_argument(
+ "--net",
+ help="Model name; prefix of model output files.",
+ default="srw",
+ )
parser.add_argument(
"--debug",
action="store_true",
@@ -370,25 +375,12 @@ def setup_logging(debug=False):
vtime = ndate(itime, int(fhr))
# Define the location of the input files
+ file_name = f"{args.net}.t{cyc}z.prslev.f{fhour}.{POST_OUTPUT_DOMAIN_NAME}.grib2"
data1 = pygrib.open(
- COMOUT_1
- + "/rrfs.t"
- + cyc
- + "z.prslev.f"
- + fhour
- + "."
- + POST_OUTPUT_DOMAIN_NAME
- + ".grib2"
+ f"{COMOUT_1}/{file_name}"
)
data2 = pygrib.open(
- COMOUT_2
- + "/rrfs.t"
- + cyc
- + "z.prslev.f"
- + fhour
- + "."
- + POST_OUTPUT_DOMAIN_NAME
- + ".grib2"
+ f"{COMOUT_2}/{file_name}"
)
# Get the lats and lons
diff --git a/scripts/exregional_process_bufrobs.sh b/scripts/exregional_process_bufrobs.sh
deleted file mode 100755
index 076882aed3..0000000000
--- a/scripts/exregional_process_bufrobs.sh
+++ /dev/null
@@ -1,343 +0,0 @@
-#!/bin/bash
-
-#
-#-----------------------------------------------------------------------
-#
-# Source the variable definitions file and the bash utility functions.
-#
-#-----------------------------------------------------------------------
-#
-. $USHdir/source_util_funcs.sh
-source_config_for_task "task_process_bufrobs" ${GLOBAL_VAR_DEFNS_FP}
-#
-#-----------------------------------------------------------------------
-#
-# Save current shell options (in a global array). Then set new options
-# for this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1
-#
-#-----------------------------------------------------------------------
-#
-# Get the full path to the file in which this script/function is located
-# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in
-# which the file is located (scrfunc_dir).
-#
-#-----------------------------------------------------------------------
-#
-scrfunc_fp=$( readlink -f "${BASH_SOURCE[0]}" )
-scrfunc_fn=$( basename "${scrfunc_fp}" )
-scrfunc_dir=$( dirname "${scrfunc_fp}" )
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating entry into script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-Entering script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-
-This is the ex-script for the task that runs bufr (cloud, metar, lightning) preprocessing
-with FV3 for the specified cycle.
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Extract from CDATE the starting year, month, day, and hour of the
-# forecast. These are needed below for various operations.
-#
-#-----------------------------------------------------------------------
-#
-START_DATE=$(echo "${PDY} ${cyc}")
-YYYYMMDDHH=$(date +%Y%m%d%H -d "${START_DATE}")
-#
-#-----------------------------------------------------------------------
-#
-# Get into working directory
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "$VERBOSE" "
-Getting into working directory for BUFR observation process ..."
-
-cd_vrfy ${DATA}
-
-pregen_grid_dir=$DOMAIN_PREGEN_BASEDIR/${PREDEF_GRID_NAME}
-
-print_info_msg "$VERBOSE" "pregen_grid_dir is $pregen_grid_dir"
-
-#
-#-----------------------------------------------------------------------
-#
-# link or copy background files
-#
-#-----------------------------------------------------------------------
-
-cp_vrfy ${pregen_grid_dir}/fv3_grid_spec fv3sar_grid_spec.nc
-
-#-----------------------------------------------------------------------
-#
-# copy bufr table
-#
-#-----------------------------------------------------------------------
-BUFR_TABLE=${FIXgsi}/prepobs_prep_RAP.bufrtable
-cp_vrfy $BUFR_TABLE prepobs_prep.bufrtable
-
-#
-#-----------------------------------------------------------------------
-#-----------------------------------------------------------------------
-#
-# Link to the observation lightning bufr files
-#
-#-----------------------------------------------------------------------
-
-obs_file="${COMIN}/obs/lghtngbufr"
-print_info_msg "$VERBOSE" "obsfile is $obs_file"
-run_lightning=false
-if [ -r "${obs_file}" ]; then
- cp_vrfy "${obs_file}" "lghtngbufr"
- run_lightning=true
-else
- print_info_msg "$VERBOSE" "Warning: ${obs_file} does not exist!"
-fi
-
-
-#-----------------------------------------------------------------------
-#
-# Build namelist and run executable for lightning
-#
-# analysis_time : process obs used for this analysis date (YYYYMMDDHH)
-# minute : process obs used for this analysis minute (integer)
-# trange_start : obs time window start (minutes before analysis time)
-# trange_end : obs time window end (minutes after analysis time)
-# grid_type : grid type (background will be used in the analysis)
-# 0 for ARW (default)
-# 1 for FV3LAM
-#-----------------------------------------------------------------------
-
-if [[ "$run_lightning" == true ]]; then
-
- cat << EOF > namelist.lightning
- &setup
- analysis_time = ${YYYYMMDDHH},
- minute=00,
- trange_start=-10,
- trange_end=10,
- grid_type = "${PREDEF_GRID_NAME}",
- obs_type = "bufr"
- /
-
-EOF
-
- #
- #-----------------------------------------------------------------------
- #
- # link/copy executable file to working directory
- #
- #-----------------------------------------------------------------------
- #
- exec_fn="process_Lightning.exe"
- exec_fp="$EXECdir/${exec_fn}"
-
- if [ ! -f "${exec_fp}" ]; then
- print_err_msg_exit "\
- The executable specified in exec_fp does not exist:
- exec_fp = \"${exec_fp}\"
- Build rrfs_utl and rerun."
- fi
- #
- #
- #-----------------------------------------------------------------------
- #
- # Run the process for lightning bufr file
- #
- #-----------------------------------------------------------------------
- #
- PREP_STEP
- eval $RUN_CMD_UTILS ${exec_fp} ${REDIRECT_OUT_ERR} || print_err_msg "\
- Call to executable to run lightning process returned with nonzero exit code."
- POST_STEP
-fi
-
-#
-#-----------------------------------------------------------------------
-#-----------------------------------------------------------------------
-#
-# Link to the observation NASA LaRC cloud bufr file
-#
-#-----------------------------------------------------------------------
-
-obs_file="${COMIN}/obs/lgycld.bufr_d"
-print_info_msg "$VERBOSE" "obsfile is $obs_file"
-run_cloud=false
-if [ -r "${obs_file}" ]; then
- cp_vrfy "${obs_file}" "lgycld.bufr_d"
- run_cloud=true
-else
- print_info_msg "$VERBOSE" "Warning: ${obs_file} does not exist!"
-fi
-
-#-----------------------------------------------------------------------
-#
-# Build namelist and run executable for NASA LaRC cloud
-#
-# analysis_time : process obs used for this analysis date (YYYYMMDDHH)
-# bufrfile : result BUFR file name
-# npts_rad : number of grid point to build search box (integer)
-# ioption : interpolation options
-# = 1 is nearest neighrhood
-# = 2 is median of cloudy fov
-# grid_type : grid type (background will be used in the analysis)
-# = 0 for ARW (default)
-# = 1 for FV3LAM
-#-----------------------------------------------------------------------
-
-if [ ${PREDEF_GRID_NAME} == "RRFS_NA_13km" ] || [ ${PREDEF_GRID_NAME} == "RRFS_CONUS_13km" ] ; then
- npts_rad_number=1
- metar_impact_radius_number=9
-else
- npts_rad_number=3
- metar_impact_radius_number=15
-fi
-
-if [[ "$run_cloud" == true ]]; then
-
- cat << EOF > namelist.nasalarc
- &setup
- analysis_time = ${YYYYMMDDHH},
- bufrfile='NASALaRCCloudInGSI_bufr.bufr',
- npts_rad=$npts_rad_number,
- ioption = 2,
- grid_type = "${PREDEF_GRID_NAME}",
- /
-EOF
-
- #
- #-----------------------------------------------------------------------
- #
- # Copy the executable to the run directory.
- #
- #-----------------------------------------------------------------------
- #
- exec_fn="process_larccld.exe"
- exec_fp="$EXECdir/${exec_fn}"
-
- if [ ! -f "${exec_fp}" ]; then
- print_err_msg_exit "\
- The executable specified in exec_fp does not exist:
- exec_fp = \"${exec_fp}\"
- Build rrfs_utl and rerun."
- fi
- #
- #
- #-----------------------------------------------------------------------
- #
- # Run the process for NASA LaRc cloud bufr file
- #
- #-----------------------------------------------------------------------
- #
- PREP_STEP
- eval ${RUN_CMD_UTILS} ${exec_fp} ${REDIRECT_OUT_ERR} || print_err_msg "\
- Call to executable to run NASA LaRC Cloud process returned with nonzero exit code."
- POST_STEP
-
-fi
-
-#
-#-----------------------------------------------------------------------
-#
-# Link to the observation prepbufr bufr file for METAR cloud
-#
-#-----------------------------------------------------------------------
-
-obs_file="${COMIN}/obs/prepbufr"
-print_info_msg "$VERBOSE" "obsfile is $obs_file"
-run_metar=false
-if [ -r "${obs_file}" ]; then
- cp_vrfy "${obs_file}" "prepbufr"
- run_metar=true
-else
- print_info_msg "$VERBOSE" "Warning: ${obs_file} does not exist!"
-fi
-
-#-----------------------------------------------------------------------
-#
-# Build namelist for METAR cloud
-#
-# analysis_time : process obs used for this analysis date (YYYYMMDDHH)
-# prepbufrfile : input prepbufr file name
-# twindin : observation time window (real: hours before and after analysis time)
-#
-#-----------------------------------------------------------------------
-
-if [[ "$run_metar" == true ]]; then
-
- cat << EOF > namelist.metarcld
- &setup
- analysis_time = ${YYYYMMDDHH},
- prepbufrfile='prepbufr',
- twindin=0.5,
- metar_impact_radius=$metar_impact_radius_number,
- grid_type = "${PREDEF_GRID_NAME}",
- /
-EOF
-
- #
- #-----------------------------------------------------------------------
- #
- # Copy the executable to the run directory.
- #
- #-----------------------------------------------------------------------
- #
- exec_fn="process_metarcld.exe"
- exec_fp="$EXECdir/${exec_fn}"
-
- if [ ! -f "${exec_fp}" ]; then
- print_err_msg_exit "\
- The executable specified in exec_fp does not exist:
- exec_fp = \"$exec_fp\"
- Build rrfs_utl and rerun."
- fi
- #
- #
- #-----------------------------------------------------------------------
- #
- # Run the process for METAR cloud bufr file
- #
- #-----------------------------------------------------------------------
- #
- PREP_STEP
- eval $RUN_CMD_UTILS ${exec_fp} ${REDIRECT_OUT_ERR} || print_err_msg "\
- Call to executable to run METAR cloud process returned with nonzero exit code."
- POST_STEP
-fi
-
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating successful completion of script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-BUFR PROCESS completed successfully!!!
-
-Exiting script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Restore the shell options saved at the beginning of this script/func-
-# tion.
-#
-#-----------------------------------------------------------------------
-#
-{ restore_shell_opts; } > /dev/null 2>&1
-
diff --git a/scripts/exregional_process_lightning.sh b/scripts/exregional_process_lightning.sh
deleted file mode 100755
index 6dbd315e90..0000000000
--- a/scripts/exregional_process_lightning.sh
+++ /dev/null
@@ -1,174 +0,0 @@
-#!/bin/bash
-
-#
-#-----------------------------------------------------------------------
-#
-# Source the variable definitions file and the bash utility functions.
-#
-#-----------------------------------------------------------------------
-#
-. $USHdir/source_util_funcs.sh
-source_config_for_task "task_process_lightning" ${GLOBAL_VAR_DEFNS_FP}
-#
-#-----------------------------------------------------------------------
-#
-# Save current shell options (in a global array). Then set new options
-# for this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1
-#
-#-----------------------------------------------------------------------
-#
-# Get the full path to the file in which this script/function is located
-# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in
-# which the file is located (scrfunc_dir).
-#
-#-----------------------------------------------------------------------
-#
-scrfunc_fp=$( readlink -f "${BASH_SOURCE[0]}" )
-scrfunc_fn=$( basename "${scrfunc_fp}" )
-scrfunc_dir=$( dirname "${scrfunc_fp}" )
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating entry into script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-Entering script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-
-This is the ex-script for the task that runs lightning preprocessing
-with FV3 for the specified cycle.
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Extract from CDATE the starting year, month, day, and hour of the
-# forecast. These are needed below for various operations.
-#
-#-----------------------------------------------------------------------
-#
-START_DATE=$(echo "${PDY} ${cyc}")
-YYYYMMDDHH=$(date +%Y%m%d%H -d "${START_DATE}")
-
-#
-#-----------------------------------------------------------------------
-#
-# Get into working directory
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "$VERBOSE" "
-Getting into working directory for lightning process ..."
-
-cd_vrfy ${DATA}
-
-pregen_grid_dir=$DOMAIN_PREGEN_BASEDIR/${PREDEF_GRID_NAME}
-
-print_info_msg "$VERBOSE" "pregen_grid_dir is $pregen_grid_dir"
-
-#
-#-----------------------------------------------------------------------
-#
-# link or copy background and grid files
-#
-#-----------------------------------------------------------------------
-
-cp_vrfy ${pregen_grid_dir}/fv3_grid_spec fv3sar_grid_spec.nc
-
-#-----------------------------------------------------------------------
-#
-# Link to the NLDN data
-#
-#-----------------------------------------------------------------------
-run_lightning=false
-filenum=0
-
-for file in "${COMIN}/obs/NLDN_lightning_*"; do
- ln_vrfy ${file} .
-done
-
-#-----------------------------------------------------------------------
-#
-# Build namelist and run executable
-#
-# analysis_time : process obs used for this analysis date (YYYYMMDDHH)
-# NLDN_filenum : number of NLDN lighting observation files
-# IfAlaska : logic to decide if to process Alaska lightning obs
-# bkversion : grid type (background will be used in the analysis)
-# = 0 for ARW (default)
-# = 1 for FV3LAM
-#-----------------------------------------------------------------------
-
-cat << EOF > namelist.lightning
- &setup
- analysis_time = ${YYYYMMDDHH},
- NLDN_filenum = ${filenum},
- grid_type = "${PREDEF_GRID_NAME}",
- obs_type = "nldn_nc"
- /
-EOF
-
-#
-#-----------------------------------------------------------------------
-#
-# Copy the executable to the run directory.
-#
-#-----------------------------------------------------------------------
-#
-exec_fn="process_Lightning.exe"
-exec_fp="$EXECdir/${exec_fn}"
-
-if [ ! -f "${exec_fp}" ]; then
- print_err_msg_exit "\
-The executable specified in exec_fp does not exist:
- exec_fp = \"${exec_fp}\"
-Build lightning process and rerun."
-fi
-#
-#
-#-----------------------------------------------------------------------
-#
-# Run the process
-#
-#-----------------------------------------------------------------------
-#
-
-if [[ "$run_lightning" == true ]]; then
- PREP_STEP
- eval ${RUN_CMD_UTILS} ${exec_fp} ${REDIRECT_OUT_ERR} || \
- print_err_msg_exit "\
- Call to executable (exec_fp) to run lightning (nc) process returned
- with nonzero exit code:
- exec_fp = \"${exec_fp}\""
- POST_STEP
-fi
-
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating successful completion of script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-LIGHTNING PROCESS completed successfully!!!
-
-Exiting script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Restore the shell options saved at the beginning of this script/func-
-# tion.
-#
-#-----------------------------------------------------------------------
-#
-{ restore_shell_opts; } > /dev/null 2>&1
diff --git a/scripts/exregional_process_radarref.sh b/scripts/exregional_process_radarref.sh
deleted file mode 100755
index 4197fc9110..0000000000
--- a/scripts/exregional_process_radarref.sh
+++ /dev/null
@@ -1,290 +0,0 @@
-#!/bin/bash
-
-#
-#-----------------------------------------------------------------------
-#
-# Source the variable definitions file and the bash utility functions.
-#
-#-----------------------------------------------------------------------
-#
-. $USHdir/source_util_funcs.sh
-. $USHdir/get_mrms_files.sh
-source_config_for_task "task_process_radarref|task_run_fcst" ${GLOBAL_VAR_DEFNS_FP}
-#
-#-----------------------------------------------------------------------
-#
-# Save current shell options (in a global array). Then set new options
-# for this script/function.
-#
-#-----------------------------------------------------------------------
-#
-{ save_shell_opts; . $USHdir/preamble.sh; } > /dev/null 2>&1
-#
-#-----------------------------------------------------------------------
-#
-# Get the full path to the file in which this script/function is located
-# (scrfunc_fp), the name of that file (scrfunc_fn), and the directory in
-# which the file is located (scrfunc_dir).
-#
-#-----------------------------------------------------------------------
-#
-scrfunc_fp=$( readlink -f "${BASH_SOURCE[0]}" )
-scrfunc_fn=$( basename "${scrfunc_fp}" )
-scrfunc_dir=$( dirname "${scrfunc_fp}" )
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating entry into script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-Entering script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-This is the ex-script for the task that runs radar reflectivity preprocess
-with FV3 for the specified cycle.
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Load modules.
-#
-#-----------------------------------------------------------------------
-#
-eval ${PRE_TASK_CMDS}
-
-#
-#-----------------------------------------------------------------------
-#
-# Extract from CDATE the starting year, month, day, and hour of the
-# forecast. These are needed below for various operations.
-#
-#-----------------------------------------------------------------------
-#
-START_DATE=$(echo "${PDY} ${cyc}")
-YYYYMMDDHH=$(date +%Y%m%d%H -d "${START_DATE}")
-
-YYYY=${YYYYMMDDHH:0:4}
-MM=${YYYYMMDDHH:4:2}
-DD=${YYYYMMDDHH:6:2}
-
-#
-#-----------------------------------------------------------------------
-#
-# Find cycle type: cold or warm
-# BKTYPE=0: warm start
-# BKTYPE=1: cold start
-#
-#-----------------------------------------------------------------------
-#
-BKTYPE=0
-
-n_iolayouty=$(($IO_LAYOUT_Y-1))
-
-#
-#-----------------------------------------------------------------------
-#
-# Loop through different time levels
-# Get into working directory
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "$VERBOSE" "
-Getting into working directory for radar reflectivity process ... ${DATA}"
-
-pregen_grid_dir=$DOMAIN_PREGEN_BASEDIR/${PREDEF_GRID_NAME}
-print_info_msg "$VERBOSE" "pregen_grid_dir is $pregen_grid_dir"
-
-for timelevel in ${RADARREFL_TIMELEVEL[@]}; do
- echo "timelevel = ${timelevel}"
- timelevel=$( printf %2.2i $timelevel )
- mkdir_vrfy -p ${DATA}/${timelevel}
- cd_vrfy ${DATA}/${timelevel}
-
- #
- #-----------------------------------------------------------------------
- #
- # copy background files
- #
- #-----------------------------------------------------------------------
-
- if [ ${BKTYPE} -eq 1 ]; then
- cp -f ${pregen_grid_dir}/fv3_grid_spec fv3sar_grid_spec.nc
- else
- if [ "${IO_LAYOUT_Y}" == "1" ]; then
- cp -f ${pregen_grid_dir}/fv3_grid_spec fv3sar_grid_spec.nc
- else
- for iii in $(seq -w 0 $(printf %4.4i $n_iolayouty))
- do
- cp -f ${pregen_grid_dir}/fv3_grid_spec.${iii} fv3sar_grid_spec.nc.${iii}
- done
- fi
- fi
-
- #
- #-----------------------------------------------------------------------
- #
- # copy observation files to working directory, if running in real
- # time. otherwise, the get_da_obs data task will do this for you.
- #
- #-----------------------------------------------------------------------
-
- mrms="MergedReflectivityQC"
- if [ "${DO_REAL_TIME}" = true ] ; then
- get_mrms_files $timelevel "./" $mrms
- else
- # The data was staged by the get_da_obs task, so copy from COMIN.
- # Use copy here so that we can unzip if necessary.
- cp_vrfy ${COMIN}/radar/${timelevel}/* .
- fi # DO_REAL_TIME
-
- if [ -s filelist_mrms ]; then
-
- # Unzip files, if that's needed and update filelist_mrms
- if [ $(ls *.gz 2> /dev/null | wc -l) -gt 0 ]; then
- gzip -d *.gz
- mv filelist_mrms filelist_mrms_org
- ls ${mrms}_*_${YYYY}${MM}${DD}-${cyc}????.grib2 > filelist_mrms
- fi
-
- numgrib2=$(more filelist_mrms | wc -l)
- print_info_msg "$VERBOSE" "Using radar data from: `head -1 filelist_mrms | cut -c10-15`"
- print_info_msg "$VERBOSE" "NSSL grib2 file levels = $numgrib2"
- else
- # remove filelist_mrms if zero bytes
- rm -f filelist_mrms
-
- echo "WARNING: Not enough radar reflectivity files available for timelevel ${timelevel}."
- continue
- fi
-
-
-#-----------------------------------------------------------------------
-#
-# copy bufr table from fix directory
-#
-#-----------------------------------------------------------------------
- BUFR_TABLE=${FIXgsi}/prepobs_prep_RAP.bufrtable
-
- cp_vrfy $BUFR_TABLE prepobs_prep.bufrtable
-
-#-----------------------------------------------------------------------
-#
-# Build namelist and run executable
-#
-# tversion : data source version
-# = 1 NSSL 1 tile grib2 for single level
-# = 4 NSSL 4 tiles binary
-# = 8 NSSL 8 tiles netcdf
-# fv3_io_layout_y : subdomain of restart files
-# analysis_time : process obs used for this analysis date (YYYYMMDDHH)
-# dataPath : path of the radar reflectivity mosaic files.
-#
-#-----------------------------------------------------------------------
-
-if [ ${BKTYPE} -eq 1 ]; then
- n_iolayouty=1
-else
- n_iolayouty=$(($IO_LAYOUT_Y))
-fi
-
-cat << EOF > namelist.mosaic
- &setup
- tversion=1,
- analysis_time = ${YYYYMMDDHH},
- dataPath = './',
- fv3_io_layout_y=${n_iolayouty},
- /
-EOF
-
-if [ ${RADAR_REF_THINNING} -eq 2 ]; then
- # heavy data thinning, typically used for EnKF
- precipdbzhorizskip=1
- precipdbzvertskip=2
- clearairdbzhorizskip=5
- clearairdbzvertskip=-1
-else
- if [ ${RADAR_REF_THINNING} -eq 1 ]; then
- # light data thinning, typically used for hybrid EnVar
- precipdbzhorizskip=0
- precipdbzvertskip=0
- clearairdbzhorizskip=1
- clearairdbzvertskip=1
- else
- # no data thinning
- precipdbzhorizskip=0
- precipdbzvertskip=0
- clearairdbzhorizskip=0
- clearairdbzvertskip=0
- fi
-fi
-
-cat << EOF > namelist.mosaic_netcdf
- &setup_netcdf
- output_netcdf = .true.,
- max_height = 11001.0,
- use_clear_air_type = .true.,
- precip_dbz_thresh = 10.0,
- clear_air_dbz_thresh = 5.0,
- clear_air_dbz_value = 0.0,
- precip_dbz_horiz_skip = ${precipdbzhorizskip},
- precip_dbz_vert_skip = ${precipdbzvertskip},
- clear_air_dbz_horiz_skip = ${clearairdbzhorizskip},
- clear_air_dbz_vert_skip = ${clearairdbzvertskip},
- /
-EOF
-
-#
-#-----------------------------------------------------------------------
-#
-# Copy the executable to the run directory.
-#
-#-----------------------------------------------------------------------
-#
- exec_fn="process_NSSL_mosaic.exe"
- exec_fp="$EXECdir/${exec_fn}"
-
- if [ ! -f "${exec_fp}" ]; then
- print_err_msg_exit "\
- The executable specified in exec_fp does not exist:
- exec_fp = \"$exec_fp\"
- Build lightning process and rerun."
- fi
-
-#
-#
-#-----------------------------------------------------------------------
-#
-# Run the process.
-#
-#-----------------------------------------------------------------------
-#
- PREP_STEP
- eval $RUN_CMD_UTILS ${exec_fp} ${REDIRECT_OUT_ERR} || print_info_msg "\
- Call to executable to run radar refl process returned with nonzero exit code."
- POST_STEP
-
-done # done with the timelevel for-loop
-#
-#-----------------------------------------------------------------------
-#
-# Print message indicating successful completion of script.
-#
-#-----------------------------------------------------------------------
-#
-print_info_msg "
-========================================================================
-RADAR REFL PROCESS completed successfully!!!
-Exiting script: \"${scrfunc_fn}\"
-In directory: \"${scrfunc_dir}\"
-========================================================================"
-#
-#-----------------------------------------------------------------------
-#
-# Restore the shell options saved at the beginning of this script/func-
-# tion.
-#
-#-----------------------------------------------------------------------
-#
-{ restore_shell_opts; } > /dev/null 2>&1
diff --git a/scripts/exregional_run_prdgen.sh b/scripts/exregional_run_prdgen.sh
index 2632b659fd..bf7a9b8e83 100755
--- a/scripts/exregional_run_prdgen.sh
+++ b/scripts/exregional_run_prdgen.sh
@@ -186,7 +186,7 @@ DATA=$COMOUT
DATAprdgen=$DATA/prdgen_${fhr}
mkdir_vrfy $DATAprdgen
-wgrib2 ${COMOUT}/rrfs.${cycle}.prslev.f${fhr}.grib2 >& $DATAprdgen/prslevf${fhr}.txt
+wgrib2 ${COMOUT}/${NET}.${cycle}.prslev.f${fhr}.grib2 >& $DATAprdgen/prslevf${fhr}.txt
# Create parm files for subsetting on the fly - do it for each forecast hour
# 10 subpieces for North American grid
@@ -254,9 +254,9 @@ for domain in ${domains[@]}
do
for task in $(seq ${tasks[count]})
do
- cat $DATAprdgen/prdgen_${domain}_${task}/${domain}_${task}.grib2 >> ${COMOUT}/rrfs.${cycle}.prslev.f${fhr}.${domain}.grib2
+ cat $DATAprdgen/prdgen_${domain}_${task}/${domain}_${task}.grib2 >> ${COMOUT}/${NET}.${cycle}.prslev.f${fhr}.${domain}.grib2
done
- wgrib2 ${COMOUT}/rrfs.${cycle}.prslev.f${fhr}.${domain}.grib2 -s > ${COMOUT}/rrfs.${cycle}.prslev.f${fhr}.${domain}.grib2.idx
+ wgrib2 ${COMOUT}/${NET}.${cycle}.prslev.f${fhr}.${domain}.grib2 -s > ${COMOUT}/${NET}.${cycle}.prslev.f${fhr}.${domain}.grib2.idx
count=$count+1
done
diff --git a/scripts/exregional_run_prdgen_subpiece.sh b/scripts/exregional_run_prdgen_subpiece.sh
index c3dd10edd4..0b0b08630a 100755
--- a/scripts/exregional_run_prdgen_subpiece.sh
+++ b/scripts/exregional_run_prdgen_subpiece.sh
@@ -46,7 +46,7 @@ elif [ $domain == "pr" ]; then
fi
# Use different parm file for each subpiece
-wgrib2 $comout/rrfs.t${cyc}z.prslev.f${fhr}.grib2 | grep -F -f ${parmfile} | wgrib2 -i -grib inputs.grib${domain} $comout/rrfs.t${cyc}z.prslev.f${fhr}.grib2
+wgrib2 $comout/${NET}.${cyc}z.prslev.f${fhr}.grib2 | grep -F -f ${parmfile} | wgrib2 -i -grib inputs.grib${domain} $comout/${NET}.${cyc}z.prslev.f${fhr}.grib2
wgrib2 inputs.grib${domain} -new_grid_vectors "UGRD:VGRD:USTM:VSTM" -submsg_uv inputs.grib${domain}.uv
wgrib2 inputs.grib${domain}.uv -set_bitmap 1 -set_grib_type ${compress_type} \
-new_grid_winds grid -new_grid_vectors "UGRD:VGRD:USTM:VSTM" \
diff --git a/sorc/CMakeLists.txt b/sorc/CMakeLists.txt
index 4621c2f2b6..4c076a1ede 100644
--- a/sorc/CMakeLists.txt
+++ b/sorc/CMakeLists.txt
@@ -4,14 +4,10 @@ include(ExternalProject)
option(BUILD_UFS "Build UFS weather model" ON)
option(BUILD_UFS_UTILS "Build UFS utilities" ON)
option(BUILD_UPP "Build UPP" ON)
-option(BUILD_GSI "Build GSI" OFF)
-option(BUILD_RRFS_UTILS "Build RRFS utilities" OFF)
message(STATUS "BUILD_UFS ............... ${BUILD_UFS}")
message(STATUS "BUILD_UFS_UTILS ......... ${BUILD_UFS_UTILS}")
-message(STATUS "BUILD_GSI ............... ${BUILD_GSI}")
message(STATUS "BUILD_UPP ............... ${BUILD_UPP}")
-message(STATUS "BUILD_RRFS_UTILS ........ ${BUILD_RRFS_UTILS}")
message(STATUS "BUILD_NEXUS ............. ${BUILD_NEXUS}")
message(STATUS "BUILD_AQM_UTILS ......... ${BUILD_AQM_UTILS}")
@@ -126,35 +122,6 @@ if (BUILD_UPP)
)
endif()
-# Build GSI
-if (BUILD_GSI)
- list(APPEND TARGET_LIST GSI)
-
- ExternalProject_Add(GSI
- PREFIX ${CMAKE_CURRENT_BINARY_DIR}/GSI
- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/gsi
- INSTALL_DIR ${CMAKE_INSTALL_PREFIX}
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_INSTALL_BINDIR=${CMAKE_INSTALL_BINDIR} -DGSI_MODE=Regional -DENKF_MODE=FV3REG
- BUILD_ALWAYS TRUE
- STEP_TARGETS build
- )
-endif()
-
-# Build rrfs_utl
-if (BUILD_RRFS_UTILS)
- list(APPEND TARGET_LIST RRFS_UTILS)
-
- ExternalProject_Add(RRFS_UTILS
- PREFIX ${CMAKE_CURRENT_BINARY_DIR}/rrfs_utl
- SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/rrfs_utl
- INSTALL_DIR ${CMAKE_INSTALL_PREFIX}
- CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX} -DCMAKE_INSTALL_BINDIR=${CMAKE_INSTALL_BINDIR}
- BUILD_ALWAYS TRUE
- STEP_TARGETS build
- DEPENDS GSI
- )
-endif()
-
if (CPL_AQM)
if (BUILD_NEXUS)
list(APPEND TARGET_LIST NEXUS)
diff --git a/tests/WE2E/machine_suites/coverage.jet b/tests/WE2E/machine_suites/coverage.jet
index aef32252f2..a01d095828 100644
--- a/tests/WE2E/machine_suites/coverage.jet
+++ b/tests/WE2E/machine_suites/coverage.jet
@@ -10,4 +10,3 @@ grid_RRFS_CONUS_13km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v16_plot
grid_RRFS_CONUS_25km_ics_FV3GFS_lbcs_FV3GFS_suite_GFS_v15p2
grid_RRFS_CONUS_3km_ics_FV3GFS_lbcs_FV3GFS_suite_RRFS_v1beta
nco_grid_RRFS_CONUScompact_25km_ics_HRRR_lbcs_RAP_suite_HRRR
-process_obs
diff --git a/tests/WE2E/test_configs/data_assimilation/config.process_obs.yaml b/tests/WE2E/test_configs/data_assimilation/config.process_obs.yaml
deleted file mode 100644
index c35d95fa09..0000000000
--- a/tests/WE2E/test_configs/data_assimilation/config.process_obs.yaml
+++ /dev/null
@@ -1,27 +0,0 @@
-metadata:
- description: |-
- Tests the data retrieval and data preprocessing tasks that are
- precursors to running any data assimialtion components. Datasets
- include bufr, lightning, and radar reflectivity.
-user:
- RUN_ENVIR: community
-workflow:
- PREDEF_GRID_NAME: RRFS_CONUS_3km
- DATE_FIRST_CYCL: '2022072000'
- DATE_LAST_CYCL: '2022072000'
- PREEXISTING_DIR_METHOD: rename
-task_make_ics:
- VCOORD_FILE: "{{ user.PARMdir }}/global_hyblev_fcst_rrfsL65.txt"
-task_make_lbcs:
- VCOORD_FILE: "{{ user.PARMdir }}/global_hyblev_fcst_rrfsL65.txt"
-rocoto:
- entities:
- START_TIME_NSSLMOSAIC: "00:45:00"
- START_TIME_LIGHTNING: "00:45:00"
- START_TIME_CONVENTIONAL: "00:40:00"
- cycledefs:
- at_start:
- tasks:
- taskgroups: '{{ ["parm/wflow/da_data_preproc.yaml"]|include }}'
- metatask_process_obs_cycle_type:
- task_process_lightning_#cycle_type#:
diff --git a/tests/WE2E/test_configs/verification/config.MET_ensemble_verification_only_vx.yaml b/tests/WE2E/test_configs/verification/config.MET_ensemble_verification_only_vx.yaml
index 0c7088f7f8..1e62a4a055 100644
--- a/tests/WE2E/test_configs/verification/config.MET_ensemble_verification_only_vx.yaml
+++ b/tests/WE2E/test_configs/verification/config.MET_ensemble_verification_only_vx.yaml
@@ -8,6 +8,9 @@ metadata:
user:
RUN_ENVIR: community
+nco:
+ NET_default: rrfs
+
workflow:
PREDEF_GRID_NAME: RRFS_CONUS_25km
DATE_FIRST_CYCL: '2019061500'
diff --git a/tests/WE2E/test_configs/verification/config.MET_verification_only_vx.yaml b/tests/WE2E/test_configs/verification/config.MET_verification_only_vx.yaml
index 9bc5ec505a..4107bd4070 100644
--- a/tests/WE2E/test_configs/verification/config.MET_verification_only_vx.yaml
+++ b/tests/WE2E/test_configs/verification/config.MET_verification_only_vx.yaml
@@ -8,6 +8,9 @@ metadata:
user:
RUN_ENVIR: community
+nco:
+ NET_default: rrfs
+
workflow:
PREDEF_GRID_NAME: RRFS_CONUS_25km
DATE_FIRST_CYCL: '2019061500'
diff --git a/tests/build.sh b/tests/build.sh
index eccfca8830..7d03aa41ab 100755
--- a/tests/build.sh
+++ b/tests/build.sh
@@ -89,37 +89,6 @@ declare -a executables_created=( chgres_cube \
ufs_model \
vcoord_gen )
-
-if [ $components = "all" ]; then
- #-----------------------------------------------------------------------
- # Array of all optional GSI executables built
- #-----------------------------------------------------------------------
- executables_created+=( enkf.x \
- gsi.x )
-
- #-----------------------------------------------------------------------
- # Array of all optional rrfs_utl executables built
- #-----------------------------------------------------------------------
- executables_created+=( adjust_soiltq.exe \
- check_imssnow_fv3lam.exe \
- fv3lam_nonvarcldana.exe \
- gen_annual_maxmin_GVF.exe \
- gen_cs.exe \
- gen_ensmean_recenter.exe \
- lakesurgery.exe \
- process_imssnow_fv3lam.exe \
- process_larccld.exe \
- process_Lightning.exe \
- process_metarcld.exe \
- process_NSSL_mosaic.exe \
- process_updatesst.exe \
- ref2tten.exe \
- update_bc.exe \
- update_GVF.exe \
- update_ice.exe \
- use_raphrrr_sfc.exe )
-fi
-
#-----------------------------------------------------------------------
# Set up the build environment and run the build script.
#-----------------------------------------------------------------------
diff --git a/ufs_srweather_app.settings.in b/ufs_srweather_app.settings.in
index fc36a1f84f..7958d2706f 100644
--- a/ufs_srweather_app.settings.in
+++ b/ufs_srweather_app.settings.in
@@ -19,7 +19,3 @@ Shared Library: @enable_shared@
Static Library: @enable_static@
Extra libraries: @LIBS@
-# Features
-----------
-Parallel Support: @HAS_PARALLEL@
-RRFS Components: @ENABLE_RRFS@
diff --git a/ush/config.da_cycling.yaml b/ush/config.da_cycling.yaml
deleted file mode 100644
index 105a813f2c..0000000000
--- a/ush/config.da_cycling.yaml
+++ /dev/null
@@ -1,45 +0,0 @@
-metadata:
- description: >-
- Work-in-progress prototype for DA cycling configuration file
-user:
- RUN_ENVIR: community
- MACHINE: hera
- ACCOUNT: an_account
-platform:
- CCPA_OBS_DIR: ""
- MRMS_OBS_DIR: ""
- NDAS_OBS_DIR: ""
-workflow:
- USE_CRON_TO_RELAUNCH: false
- EXPT_SUBDIR: test_da_cycling
- CCPP_PHYS_SUITE: FV3_HRRR
- PREDEF_GRID_NAME: RRFS_CONUS_3km
- DATE_FIRST_CYCL: '2022072006'
- DATE_LAST_CYCL: '2022072006'
- FCST_LEN_HRS: 6
- PREEXISTING_DIR_METHOD: rename
- VERBOSE: true
- COMPILER: intel
-task_get_extrn_ics:
- EXTRN_MDL_NAME_ICS: FV3GFS
- FV3GFS_FILE_FMT_ICS: grib2
-task_get_extrn_lbcs:
- EXTRN_MDL_NAME_LBCS: FV3GFS
- LBC_SPEC_INTVL_HRS: 6
- FV3GFS_FILE_FMT_LBCS: grib2
-task_run_fcst:
- QUILTING: true
-task_plot_allvars:
- COMOUT_REF: ""
-rocoto:
- entities:
- START_TIME_NSSLMOSAIC: 00:45:00
- START_TIME_LIGHTNING: 00:45:00
- START_TIME_CONVENTIONAL: 00:40:00
- tasks:
- taskgroups: '{{ ["parm/wflow/prep.yaml", "parm/wflow/da_data_preproc.yaml", "parm/wflow/coldstart.yaml", "parm/wflow/post.yaml"]|include }}'
- metatask_process_obs_cycle_type:
- task_process_lightning_#cycle_type#:
- metatask_run_ensemble:
- task_run_fcst_mem#mem#:
- walltime: 02:00:00
diff --git a/ush/config.nco.yaml b/ush/config.nco.yaml
index 8339f5d9a6..afcce0ba8a 100644
--- a/ush/config.nco.yaml
+++ b/ush/config.nco.yaml
@@ -17,9 +17,8 @@ workflow:
VERBOSE: true
COMPILER: intel
nco:
- NET_default: rrfs
model_ver_default: v1.0
- RUN_default: rrfs_test
+ RUN_default: srw_test
task_get_extrn_ics:
EXTRN_MDL_NAME_ICS: FV3GFS
FV3GFS_FILE_FMT_ICS: grib2
diff --git a/ush/config_defaults.yaml b/ush/config_defaults.yaml
index 3a6a90929c..f7a62138e9 100644
--- a/ush/config_defaults.yaml
+++ b/ush/config_defaults.yaml
@@ -5,7 +5,6 @@ metadata:
description: >-
Default configuration for an experiment. The valid values for most of the
parameters are specified in valid_param_vals.yaml
- version: !!str '1.0'
#----------------------------
# USER config parameters
#----------------------------
@@ -336,9 +335,6 @@ platform:
# FIXsfc:
# System directory where surface climatology data is located
#
- # FIXgsi:
- # System directory where GSI fixed files are located
- #
# FIXcrtm:
# System directory where CRTM fixed files are located
#
@@ -353,7 +349,6 @@ platform:
FIXorg: ""
FIXsfc: ""
FIXshp: ""
- FIXgsi: ""
FIXcrtm: ""
FIXcrtmupp: ""
#
@@ -591,10 +586,7 @@ workflow:
FIELD_TABLE_FP: '{{ [EXPTDIR, FIELD_TABLE_FN]|path_join }}'
NEMS_CONFIG_FP: '{{ [EXPTDIR, NEMS_CONFIG_FN]|path_join }}'
FV3_NML_FP: '{{ [EXPTDIR, FV3_NML_FN]|path_join }}'
- FV3_NML_CYCSFC_FP: '{{ [EXPTDIR, [FV3_NML_FN, "_cycsfc"]|join ]|path_join }}'
- FV3_NML_RESTART_FP: '{{ [EXPTDIR, [FV3_NML_FN, "_restart"]|join ]|path_join }}'
FV3_NML_STOCH_FP: '{{ [EXPTDIR, [FV3_NML_FN, "_stoch"]|join ]|path_join }}'
- FV3_NML_RESTART_STOCH_FP: '{{ [EXPTDIR, [FV3_NML_FN, "_restart_stoch"]|join ]|path_join }}'
FCST_MODEL: "ufs-weather-model"
WFLOW_XML_FN: "FV3LAM_wflow.xml"
@@ -633,7 +625,7 @@ workflow:
# be used to generate approximate versions of the aerosol fields
# needed by Thompson microphysics. This file will be used to
# generate such approximate aerosol fields in the ICs and LBCs if
- # Thompson MP is included in the physics suite and if the exteranl
+ # Thompson MP is included in the physics suite and if the external
# model for ICs or LBCs does not already provide these fields.
#
#-----------------------------------------------------------------------
@@ -786,22 +778,6 @@ workflow:
# run. By default, set it to a 1-item list containing the standard
# fcst length.
#
- # CYCL_HRS_SPINSTART:
- # An array containing the hours of the day at which the spin up cycle starts.
- #
- # CYCL_HRS_PRODSTART:
- # An array containing the hours of the day at which the product cycle starts,
- # from cold start input or from spin-up cycle forcast
- #
- # BOUNDARY_LEN_HRS
- # The length of boundary condition for normal forecast, in integer hours.
- #
- # BOUNDARY_LONG_LEN_HRS
- # The length of boundary condition for long forecast, in integer hours.
- #
- # BOUNDARY_PROC_GROUP_NUM
- # The number of groups used to run make_lbcs, in integer from 1 to forecast longest hours.
- #
#-----------------------------------------------------------------------
#
DATE_FIRST_CYCL: "YYYYMMDDHH"
@@ -812,11 +788,6 @@ workflow:
- '{{ FCST_LEN_HRS }}'
LONG_FCST_LEN: '{% if FCST_LEN_HRS < 0 %}{{ FCST_LEN_CYCL|max }}{% else %}{{ FCST_LEN_HRS }}{% endif %}'
- CYCL_HRS_SPINSTART: []
- CYCL_HRS_PRODSTART: []
- BOUNDARY_LEN_HRS: 0
- BOUNDARY_LONG_LEN_HRS: 0
- BOUNDARY_PROC_GROUP_NUM: 1
#
#-----------------------------------------------------------------------
#
@@ -956,12 +927,6 @@ nco:
# LOGBASEDIR_default:
# Directory in which the log files from the workflow tasks will be placed.
#
- # NWGES:
- # The beginning portion of the directory that will contain the output
- # files from the forecast for a given cycle. For a cycle
- # that starts on the date specified by yyyymmdd and hour specified by hh
- # ${NWGES}/yyyymmddhh
- #
# For more information on NCO standards
#
# https://www.nco.ncep.noaa.gov/idsb/implementation_standards/ImplementationStandards.v11.0.0.pdf
@@ -969,8 +934,8 @@ nco:
#-----------------------------------------------------------------------
#
envir_default: "para"
- NET_default: "rrfs"
- RUN_default: "rrfs"
+ NET_default: "srw"
+ RUN_default: "srw"
model_ver_default: "v1.0.0"
OPSROOT_default: '{{ workflow.EXPT_BASEDIR }}/../nco_dirs'
@@ -981,12 +946,6 @@ nco:
COMIN_BASEDIR: '{{ COMROOT_default }}/{{ NET_default }}/{{ model_ver_default }}'
COMOUT_BASEDIR: '{{ COMROOT_default }}/{{ NET_default }}/{{ model_ver_default }}'
- #
- # New additions from RRFS_dev1
- #
- NWGES: '{{ OPSROOT_default }}/nwges'
- NWGES_BASEDIR: '{{ NWGES }}'
-
DBNROOT_default: ""
SENDECF_default: false
SENDDBN_default: false
@@ -997,126 +956,6 @@ nco:
MAILTO_default: ""
MAILCC_default: ""
-#----------------------------------
-# GSI namelist parameters
-#----------------------------------
-gsi:
- #
- #-------------------------------------------------------------------------------------
- # GSI Namelist parameters configurable across differnt applications
- # if we need to tune one GSI namelist parameter, we can elevate it to a shell variable
- # and assign value in config.sh and give it a default value in config_default.sh
- # In realtime testing, don't need to regenerate the whole workflow, you can tweak
- # $EXPTDIR/var_defns.sh and $FIX_GSI/gsiparm.anl.sh to make sure the change is
- # expected and then put it back into config.sh and config_default.sh
- # (need to follow FORTRAN namelist convetion)
- #-------------------------------------------------------------------------------------
- # &SETUP and &BKGERR
- niter1: 50
- niter2: 50
- l_obsprvdiag: .false.
- diag_radardbz: .false.
- write_diag_2: .false.
- bkgerr_vs: 1.0
- bkgerr_hzscl: 0.7,1.4,2.80 #no trailing ,
- usenewgfsberror: .true.
- netcdf_diag: .false.
- binary_diag: .true.
-
- # &HYBRID_ENSEMBLE
- readin_localization: .true. #if true, it overwrites the "beta1_inv/ens_h/ens_v" setting
- beta1_inv: 0.15 #beata_inv is 1-ensemble_wgt
- ens_h: 110
- ens_v: 3
- regional_ensemble_option: 1 #1 for GDAS ; 5 for FV3LAM ensemble
- grid_ratio_fv3: 2.0 #fv3 resolution 3km, so analysis: 3*2: 6km
- grid_ratio_ens: 3 #if analysis is 3km, then ensemble: 3*3: 9km. GDAS ensemble is 20km
- i_en_perts_io: 1 #0 or 1: original file 3: pre-processed ensembles
- q_hyb_ens: .false.
- ens_fast_read: .false.
-
- # &RAPIDREFRESH_CLDSURF
- l_PBL_pseudo_SurfobsT: .false.
- l_PBL_pseudo_SurfobsQ: .false.
- i_use_2mQ4B: 0
- i_use_2mT4B: 0
- i_T_Q_adjust: 1
- l_rtma3d: .false.
- i_precip_vertical_check: 0
- #-----------------------------------------------------------------------
- # HYBENSMEM_NMIN:
- # Minimum number of ensemble members required a hybrid GSI analysis
- #-----------------------------------------------------------------------
- HYBENSMEM_NMIN: 80
- ANAVINFO_FN: "anavinfo.rrfs"
- ANAVINFO_DBZ_FN: "anavinfo.rrfs_dbz"
- ENKF_ANAVINFO_FN: "anavinfo.rrfs"
- ENKF_ANAVINFO_DBZ_FN: "anavinfo.enkf.rrfs_dbz"
- CONVINFO_FN: "convinfo.rrfs"
- BERROR_FN: "rap_berror_stats_global_RAP_tune" #under $FIX_GSI
- OBERROR_FN: "errtable.rrfs"
- HYBENSINFO_FN: "hybens_info.rrfs"
- #
- #-----------------------------------------------------------------------
- # default namelist for nonvar cloud analysis
- #-----------------------------------------------------------------------
- cld_bld_hgt: 1200.0
- l_precip_clear_only: .false.
- l_qnr_from_qr: .false.
- #
- #-----------------------------------------------------------------------
- # default weighting for control analysis in ensemble recentering
- #-----------------------------------------------------------------------
- beta_recenter: 1.0
-
-#----------------------------
-# DO_ parameters. These look like workflow switches since some
-# of them are used in FV3LAM_wflow.xml
-#-----------------------------
-rrfs:
- #
- #-----------------------------------------------------------------------
- #
- # Set parameters associated with running retrospective experiments. Definitions:
- #
- # DO_RRFS_DEV:
- # Flag to turn on RRFS dev workflow. Should be removed
- # in the future once SRW and RRFS dev workflows are completely integrated
- #
- # DO_NLDN_LGHT
- # Flag turn on processing NLDN NetCDF lightning data
- #
- #-----------------------------------------------------------------------
- #
- DO_RRFS_DEV: false # Turn this on to test RRFS dev workflow
- DO_NLDN_LGHT: false
- #
- #-----------------------------------------------------------------------
- #
- # Set switches associated with ensembles. Definitions:
- #
- # DO_ENKFUPDATE:
- # Decide whether or not to run EnKF update for the ensemble members
- #
- #-----------------------------------------------------------------------
- #
- DO_ENKFUPDATE: false
- #
- #-----------------------------------------------------------------------
- #
- # Set switches associated with running data assimilation. Definitions:
- #
- # DO_DACYCLE:
- # Flag that determines whether to run a data assimilation cycle.
- #
- # DO_SURFACE_CYCLE:
- # Flag that determines whether to continue cycle surface fields.
- #
- #-----------------------------------------------------------------------
- #
- DO_DACYCLE: false
- DO_SURFACE_CYCLE: false
-
#----------------------------
# MAKE GRID config parameters
#-----------------------------
@@ -1552,26 +1391,6 @@ task_get_extrn_lbcs:
LBC_SPEC_INTVL_HRS: 6
EXTRN_MDL_LBCS_OFFSET_HRS: '{{ 3 if EXTRN_MDL_NAME_LBCS == "RAP" else 0 }}'
FV3GFS_FILE_FMT_LBCS: "nemsio"
- #
- #-----------------------------------------------------------------------
- #
- # LBCS_SEARCH_HRS:
- # When search boundary conditions tasks from previous cycles in prep_cyc step,
- # For example: 0 means search start for the same cycle lbcs task.
- # 1 means search start for 1-h previous cycle lbcs task.
- # 2 means search start for 2-h previous cycle lbcs task.
- #
- # EXTRN_MDL_LBCS_SEARCH_OFFSET_HRS:
- # When search boundary conditions from previous cycles in prep_start step,
- # the search will start at cycle before (this parameter) of current cycle.
- # For example: 0 means search start at the same cycle lbcs directory.
- # 1 means search start at 1-h previous cycle lbcs directory.
- # 2 means search start at 2-h previous cycle lbcs directory.
- #
- #-----------------------------------------------------------------------
- #
- LBCS_SEARCH_HRS: 6
- EXTRN_MDL_LBCS_SEARCH_OFFSET_HRS: 0
#-----------------------------------------------------------------------
#
# EXTRN_MDL_SYSBASEDIR_LBCS:
@@ -2060,87 +1879,6 @@ task_plot_allvars:
#-------------------------------------------------------------------------------
PLOT_DOMAINS: ["conus"]
-#----------------------------
-# ANALYSIS config parameters
-#-----------------------------
-task_analysis_gsi:
- TN_ANALYSIS_GSI: "analysis_gsi_input"
- TN_OBSERVER_GSI: "observer_gsi"
- TN_OBSERVER_GSI_ENSMEAN: "observer_gsi_ensmean"
- KMP_AFFINITY_ANALYSIS: "scatter"
- OMP_NUM_THREADS_ANALYSIS: 1
- OMP_STACKSIZE_ANALYSIS: "1024m"
- #
- #-----------------------------------------------------------------------
- #
- # observation file templates used in analalysis
- #
- #-----------------------------------------------------------------------
- #
- OBSPATH_TEMPLATE: '${OBSPATH}/${YYYYMMDDHH}.${obs_source}'
-
-#----------------------------
-# PROCESS RADARREF config parameters
-#-----------------------------
-task_process_radarref:
- RADAR_REF_THINNING: 1
- #
- #-----------------------------------------------------------------------
- #
- # Parameters for observation preprocess.
- # RADARREFL_MINS:
- # minute from the hour that the NSSL mosaic files will be searched for
- # data preprocess
- # RADARREFL_TIMELEVEL:
- # time level (minute) from the hour that the NSSL mosaic files will be generated
- #
- # OBS_SUFFIX
- # machine specific grib2 file name extension (grib2 or grib2.gz)
- #
- #-----------------------------------------------------------------------
- #
- RADARREFL_MINS: [0, 1, 2, 3]
- RADARREFL_TIMELEVEL: [0]
- OBS_SUFFIX: grib2.gz
-
-#----------------------------
-# Parameters needed for retrieving DA obs
-#-----------------------------
-task_get_da_obs:
-
- #
- #-----------------------------------------------------------------------
- #
- # NLDN_NEEDED
- # whether to use NLDN observations in DA or not.
- #
- # NLDN_LIGHTNING
- # NSSLMOSAIC
- # RAP_OBS_BUFR
- # paths to data on disk. Defaults for supported data streams on
- # certain platforms have defaults set in the respective machine
- # files.
- #
- #-----------------------------------------------------------------------
- #
- NLDN_NEEDED: False
- NLDN_LIGHTNING: ""
- NSSLMOSAIC: ""
- RAP_OBS_BUFR: ""
-#----------------------------
-# PROCESS BUFR config parameters
-#-----------------------------
-task_process_bufrobs:
- #
- #-----------------------------------------------------------------------
- #
- # OBSPATH_TEMPLATE
- # observation file templates used in process_bufrobs
- #
- #-----------------------------------------------------------------------
- #
- OBSPATH_TEMPLATE: '${OBSPATH}/${YYYYMMDDHH}.${obs_source}'
-
#-----------------------------
# NEXUS_EMISSION config parameters
#-----------------------------
diff --git a/ush/generate_FV3LAM_wflow.py b/ush/generate_FV3LAM_wflow.py
index 85408ef967..516cbf94cb 100755
--- a/ush/generate_FV3LAM_wflow.py
+++ b/ush/generate_FV3LAM_wflow.py
@@ -352,8 +352,6 @@ def generate_FV3LAM_wflow(
"target_lon": LON_CTR,
"target_lat": LAT_CTR,
"nrows_blend": HALO_BLEND,
- "regional_bcs_from_gsi": False,
- "write_restart_with_bcs": False,
#
# Question:
# For a ESGgrid type grid, what should stretch_fac be set to? This depends
@@ -534,75 +532,6 @@ def generate_FV3LAM_wflow(
#
# -----------------------------------------------------------------------
#
- # Generate namelist for surface cycle
- # Deleted in newer RRFS_dev version so here for testing only
- #
- # -----------------------------------------------------------------------
- #
- if DO_SURFACE_CYCLE:
- if SDF_USES_RUC_LSM:
- lsoil=9
- settings = {}
- settings["gfs_physics_nml"] = {
- "lsoil": lsoil or None
- }
-
- settings_str = cfg_to_yaml_str(settings)
- #
- # populate the namelist file
- #
- args=[ "-n", FV3_NML_FP,
- "-u", settings_str,
- "-o", FV3_NML_CYCSFC_FP,
- ]
- if not debug:
- args.append("-q")
- set_namelist(args)
- #
- # -----------------------------------------------------------------------
- #
- # Generate namelist for DA cycle
- #
- # -----------------------------------------------------------------------
- #
- if DO_DACYCLE or DO_ENKFUPDATE:
-
- if SDF_USES_RUC_LSM:
- lsoil = 9
-
- lupdatebc = False
- if DO_UPDATE_BC:
- lupdatebc = False # not ready for setting this to true yet
-
- settings = {}
- settings["fv_core_nml"] = {
- "external_ic": False,
- "make_nh": False,
- "na_init": 0,
- "nggps_ic": False,
- "mountain": True,
- "regional_bcs_from_gsi": lupdatebc,
- "warm_start": True,
- }
- settings["gfs_physics_nml"] = {
- "lsoil": lsoil or None
- #"fh_dfi_radar": FH_DFI_RADAR # commented out untile develop gets radar tten code
- }
-
- settings_str = cfg_to_yaml_str(settings)
- #
- # populate the namelist file
- #
- args=[ "-n", FV3_NML_FP,
- "-u", settings_str,
- "-o", FV3_NML_RESTART_FP,
- ]
- if not debug:
- args.append("-q")
- set_namelist(args)
- #
- # -----------------------------------------------------------------------
- #
# Add the relevant tendency-based stochastic physics namelist variables to
# "settings" when running with SPPT, SHUM, or SKEB turned on. If running
# with SPP or LSM SPP, set the "new_lscale" variable. Otherwise only
@@ -721,14 +650,6 @@ def generate_FV3LAM_wflow(
args.append("-q")
set_namelist(args)
- if DO_DACYCLE or DO_ENKFUPDATE:
- args=[ "-n", FV3_NML_RESTART_FP,
- "-u", settings_str,
- "-o", FV3_NML_RESTART_STOCH_FP,
- ]
- if not debug:
- args.append("-q")
- set_namelist(args)
#
# -----------------------------------------------------------------------
#
diff --git a/ush/machine/cheyenne.yaml b/ush/machine/cheyenne.yaml
index c4aa39d816..482994235f 100644
--- a/ush/machine/cheyenne.yaml
+++ b/ush/machine/cheyenne.yaml
@@ -24,7 +24,6 @@ platform:
TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /glade/work/epicufsrt/contrib/UFS_SRW_data/develop/dummy_FV3GFS_sys_dir
TEST_VX_FCST_INPUT_BASEDIR: '{{ "/glade/work/epicufsrt/contrib/UFS_SRW_data/develop/output_data/fcst_" }}{{ "ens" if (global.NUM_ENS_MEMBERS > 0) else "det" }}{{ "/{{workflow.PREDEF_GRID_NAME}}" }}{% raw %}{% endraw %}'
FIXaer: /glade/work/epicufsrt/contrib/UFS_SRW_data/develop/fix/fix_aer
- FIXgsi: /glade/work/epicufsrt/contrib/UFS_SRW_data/develop/fix/fix_gsi
FIXgsm: /glade/work/epicufsrt/contrib/UFS_SRW_data/develop/fix/fix_am
FIXlut: /glade/work/epicufsrt/contrib/UFS_SRW_data/develop/fix/fix_lut
FIXorg: /glade/work/epicufsrt/contrib/UFS_SRW_data/develop/fix/fix_orog
diff --git a/ush/machine/gaea.yaml b/ush/machine/gaea.yaml
index 507847168c..8687fd9924 100644
--- a/ush/machine/gaea.yaml
+++ b/ush/machine/gaea.yaml
@@ -25,7 +25,6 @@ platform:
TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /lustre/f2/dev/role.epic/contrib/UFS_SRW_data/develop/dummy_FV3GFS_sys_dir
TEST_VX_FCST_INPUT_BASEDIR: '{{ "/lustre/f2/dev/role.epic/contrib/UFS_SRW_data/develop/output_data/fcst_" }}{{ "ens" if (global.NUM_ENS_MEMBERS > 0) else "det" }}{{ "/{{workflow.PREDEF_GRID_NAME}}" }}{% raw %}{% endraw %}'
FIXaer: /lustre/f2/dev/role.epic/contrib/UFS_SRW_data/develop/fix/fix_aer
- FIXgsi: /lustre/f2/dev/role.epic/contrib/UFS_SRW_data/develop/fix/fix_gsi
FIXgsm: /lustre/f2/dev/role.epic/contrib/UFS_SRW_data/develop/fix/fix_am
FIXlut: /lustre/f2/dev/role.epic/contrib/UFS_SRW_data/develop/fix/fix_lut
FIXorg: /lustre/f2/dev/role.epic/contrib/UFS_SRW_data/develop/fix/fix_orog
diff --git a/ush/machine/hera.yaml b/ush/machine/hera.yaml
index 5640917721..545c9320af 100644
--- a/ush/machine/hera.yaml
+++ b/ush/machine/hera.yaml
@@ -28,18 +28,12 @@ platform:
TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /scratch1/NCEPDEV/nems/role.epic/UFS_SRW_data/develop/dummy_FV3GFS_sys_dir
TEST_VX_FCST_INPUT_BASEDIR: '{{ "/scratch1/NCEPDEV/nems/role.epic/UFS_SRW_data/develop/output_data/fcst_" }}{{ "ens" if (global.NUM_ENS_MEMBERS > 0) else "det" }}{{ "/{{workflow.PREDEF_GRID_NAME}}" }}{% raw %}{% endraw %}'
FIXaer: /scratch1/NCEPDEV/nems/role.epic/UFS_SRW_data/develop/fix/fix_aer
- FIXgsi: /scratch1/NCEPDEV/nems/role.epic/UFS_SRW_data/develop/fix/fix_gsi
FIXgsm: /scratch1/NCEPDEV/nems/role.epic/UFS_SRW_data/develop/fix/fix_am
FIXlut: /scratch1/NCEPDEV/nems/role.epic/UFS_SRW_data/develop/fix/fix_lut
FIXorg: /scratch1/NCEPDEV/nems/role.epic/UFS_SRW_data/develop/fix/fix_orog
FIXsfc: /scratch1/NCEPDEV/nems/role.epic/UFS_SRW_data/develop/fix/fix_sfc_climo
FIXshp: /scratch1/NCEPDEV/nems/role.epic/UFS_SRW_data/develop/NaturalEarth
EXTRN_MDL_DATA_STORES: hpss aws nomads
-task_get_da_obs:
- NLDN_LIGHTNING: /scratch1/NCEPDEV/nems/role.epic/UFS_SRW_data/develop/rrfs_retro_data/lightning/vaisala/netcdf
- NSSLMOSAIC: /scratch2/BMC/public/data/radar/nssl/mrms/conus
- RAP_OBS_BUFR: /scratch2/BMC/public/data/grids/rap/obs
- OBS_SUFFIX: grib2
cpl_aqm_parm:
AQM_CONFIG_DIR: /scratch2/NCEPDEV/naqfc/RRFS_CMAQ/aqm/epa/data
diff --git a/ush/machine/jet.yaml b/ush/machine/jet.yaml
index a110f02614..92c78aa698 100644
--- a/ush/machine/jet.yaml
+++ b/ush/machine/jet.yaml
@@ -25,18 +25,12 @@ platform:
TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /mnt/lfs4/HFIP/hfv3gfs/role.epic/UFS_SRW_data/develop/dummy_FV3GFS_sys_dir
TEST_VX_FCST_INPUT_BASEDIR: '{{ "/mnt/lfs4/HFIP/hfv3gfs/role.epic/UFS_SRW_data/develop/output_data/fcst_" }}{{ "ens" if (global.NUM_ENS_MEMBERS > 0) else "det" }}{{ "/{{workflow.PREDEF_GRID_NAME}}" }}{% raw %}{% endraw %}'
FIXaer: /mnt/lfs4/HFIP/hfv3gfs/role.epic/UFS_SRW_data/develop/fix/fix_aer
- FIXgsi: /mnt/lfs4/HFIP/hfv3gfs/role.epic/UFS_SRW_data/develop/fix/fix_gsi
FIXgsm: /mnt/lfs4/HFIP/hfv3gfs/role.epic/UFS_SRW_data/develop/fix/fix_am
FIXlut: /mnt/lfs4/HFIP/hfv3gfs/role.epic/UFS_SRW_data/develop/fix/fix_lut
FIXorg: /mnt/lfs4/HFIP/hfv3gfs/role.epic/UFS_SRW_data/develop/fix/fix_orog
FIXsfc: /mnt/lfs4/HFIP/hfv3gfs/role.epic/UFS_SRW_data/develop/fix/fix_sfc_climo
FIXshp: /mnt/lfs4/HFIP/hfv3gfs/role.epic/UFS_SRW_data/develop/NaturalEarth
EXTRN_MDL_DATA_STORES: hpss aws nomads
-task_get_da_obs:
- NSSLMOSIAC: /mnt/lfs4/BMC/public/data/radar/nssl/mrms/conus
- NLDN_LIGHTNING: /mnt/lfs4/HFIP/hfv3gfs/role.epic/UFS_SRW_data/develop/rrfs_retro_data/lightning/vaisala/netcdf
- RAP_OBS_BUFR: /mnt/lfs4/BMC/public/data/grids/rap/obs
- OBS_SUFFIX: grib2
data:
ics_lbcs:
FV3GFS:
diff --git a/ush/machine/noaacloud.yaml b/ush/machine/noaacloud.yaml
index 317f69a5d5..f548c119a8 100644
--- a/ush/machine/noaacloud.yaml
+++ b/ush/machine/noaacloud.yaml
@@ -19,13 +19,11 @@ platform:
TEST_ALT_EXTRN_MDL_SYSBASEDIR_LBCS: /contrib/EPIC/UFS_SRW_data/develop/dummy_FV3GFS_sys_dir
TEST_VX_FCST_INPUT_BASEDIR: '{{ "/contrib/EPIC/UFS_SRW_data/develop/output_data/fcst_" }}{{ "ens" if (global.NUM_ENS_MEMBERS > 0) else "det" }}{{ "/{{workflow.PREDEF_GRID_NAME}}" }}{% raw %}{% endraw %}'
FIXaer: /contrib/EPIC/UFS_SRW_data/develop/fix/fix_aer
- FIXgsi: /contrib/EPIC/UFS_SRW_data/develop/fix/fix_gsi
FIXgsm: /contrib/EPIC/UFS_SRW_data/develop/fix/fix_am
FIXlut: /contrib/EPIC/UFS_SRW_data/develop/fix/fix_lut
FIXorg: /contrib/EPIC/UFS_SRW_data/develop/fix/fix_orog
FIXsfc: /contrib/EPIC/UFS_SRW_data/develop/fix/fix_sfc_climo
FIXshp: /contrib/EPIC/UFS_SRW_data/develop/NaturalEarth
- FIXgsi: /contrib/EPIC/UFS_SRW_data/develop/fix/fix_gsi
EXTRN_MDL_DATA_STORES: aws nomads
data:
ics_lbcs:
diff --git a/ush/machine/orion.yaml b/ush/machine/orion.yaml
index 5565cd703d..8e36d8c025 100644
--- a/ush/machine/orion.yaml
+++ b/ush/machine/orion.yaml
@@ -26,14 +26,9 @@ platform:
TEST_PREGEN_BASEDIR: /work/noaa/epic/role-epic/contrib/UFS_SRW_data/develop/FV3LAM_pregen
TEST_VX_FCST_INPUT_BASEDIR: '{{ "/work/noaa/epic-ps/role-epic-ps/UFS_SRW_data/develop/output_data/fcst_" }}{{ "ens" if (global.NUM_ENS_MEMBERS > 0) else "det" }}{{ "/{{workflow.PREDEF_GRID_NAME}}" }}{% raw %}{% endraw %}'
FIXaer: /work/noaa/epic/role-epic/contrib/UFS_SRW_data/develop/fix/fix_aer
- FIXgsi: /work/noaa/epic/role-epic/contrib/UFS_SRW_data/develop/fix/fix_gsi
FIXgsm: /work/noaa/epic/role-epic/contrib/UFS_SRW_data/develop/fix/fix_am
FIXlut: /work/noaa/epic/role-epic/contrib/UFS_SRW_data/develop/fix/fix_lut
FIXorg: /work/noaa/epic/role-epic/contrib/UFS_SRW_data/develop/fix/fix_orog
FIXsfc: /work/noaa/epic/role-epic/contrib/UFS_SRW_data/develop/fix/fix_sfc_climo
FIXshp: /work/noaa/epic/role-epic/contrib/UFS_SRW_data/develop/NaturalEarth
EXTRN_MDL_DATA_STORES: aws nomads
-task_process_bufr:
- OBSPATH_TEMPLATE: '${OBSPATH}/${YYYYMMDD}.rap/rap'
-task_analysis_gsi:
- OBSPATH_TEMPLATE: '${OBSPATH}/${YYYYMMDD}.rap/rap'
diff --git a/ush/machine/wcoss2.yaml b/ush/machine/wcoss2.yaml
index c9db727f3c..d813b8f772 100644
--- a/ush/machine/wcoss2.yaml
+++ b/ush/machine/wcoss2.yaml
@@ -33,12 +33,6 @@ platform:
COMINgfs: /lfs/h1/ops/prod/com/gfs/v16.3
COMINgefs: /lfs/h1/ops/prod/com/gefs/v12.3
COMINairnow: /lfs/h1/ops/prod/dcom
-task_process_radarref:
- OBS_SUFFIX: grib2.gz
-task_process_bufr:
- OBSPATH_TEMPLATE: '${OBSPATH}/${obs_source}.${YYYYMMDD}/${obs_source}'
-task_analysis_gsi:
- OBSPATH_TEMPLATE: '${OBSPATH}/${obs_source}.${YYYYMMDD}/${obs_source}'
data:
ics_lbcs:
GSMGFS: compath.py ${envir}/gsmgfs/${gsmgfs_ver}/gsmgfs.${PDYext}
diff --git a/ush/valid_param_vals.yaml b/ush/valid_param_vals.yaml
index b838e5b95c..d190b90d82 100644
--- a/ush/valid_param_vals.yaml
+++ b/ush/valid_param_vals.yaml
@@ -78,7 +78,6 @@ valid_vals_DO_AQM_CHEM_LBCS: [True, False]
valid_vals_DO_AQM_GEFS_LBCS: [True, False]
valid_vals_DO_AQM_SAVE_AIRNOW_HIST: [True, False]
valid_vals_COLDSTART: [True, False]
-valid_vals_DO_NLDN_LGHT: [True, False]
valid_vals_VX_FIELDS: [ "APCP", "ASNOW", "REFC", "RETOP", "SFC", "UPA" ]
valid_vals_VX_APCP_ACCUMS_HRS: [ 1, 3, 6, 24 ]
valid_vals_VX_ASNOW_ACCUMS_HRS: [ 6, 24 ]
diff --git a/versions/build.ver.wcoss2 b/versions/build.ver.wcoss2
index 4c972e0a4e..c2ce8dc81e 100644
--- a/versions/build.ver.wcoss2
+++ b/versions/build.ver.wcoss2
@@ -33,8 +33,5 @@ export nemsio_ver=2.5.2
export sigio_ver=2.3.2
export sfcio_ver=1.4.1
export wrf_io_ver=1.2.0
-export ncdiag_ver=1.0.0
-export ncio_ver=1.1.2
export wgrib2_ver=2.0.8_wmo
-export bufr_ver=11.7.0
export nemsiogfs_ver=2.5.3
diff --git a/versions/run.ver.wcoss2 b/versions/run.ver.wcoss2
index 3a374528a1..ad278233d5 100644
--- a/versions/run.ver.wcoss2
+++ b/versions/run.ver.wcoss2
@@ -31,7 +31,6 @@ export nemsio_ver=2.5.2
export sigio_ver=2.3.2
export sfcio_ver=1.4.1
export wrf_io_ver=1.2.0
-export bufr_ver=11.7.0
export nemsiogfs_ver=2.5.3
export python_ver=3.8.6