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