diff --git a/scripts/exregional_make_ics.sh b/scripts/exregional_make_ics.sh
index f22fa9d05..758851685 100755
--- a/scripts/exregional_make_ics.sh
+++ b/scripts/exregional_make_ics.sh
@@ -403,6 +403,8 @@ case "${EXTRN_MDL_NAME_ICS}" in
fn_grib2="${EXTRN_MDL_FNS[0]}"
input_type="grib2"
convert_nst=False
+ fn_atm_nemsio="${EXTRN_MDL_FNS[0]}"
+ fn_sfc_nemsio="${EXTRN_MDL_FNS[1]}"
fi
vgtyp_from_climo=True
sotyp_from_climo=True
diff --git a/scripts/exregional_run_analysis.sh b/scripts/exregional_run_analysis.sh
index 2c39f0f54..24021169c 100755
--- a/scripts/exregional_run_analysis.sh
+++ b/scripts/exregional_run_analysis.sh
@@ -78,31 +78,17 @@ case $MACHINE in
#
"WCOSS_C" | "WCOSS")
#
-
- if [ "${USE_CCPP}" = "TRUE" ]; then
-
-# Needed to change to the experiment directory because the module files
-# for the CCPP-enabled version of FV3 have been copied to there.
-
- cd_vrfy ${cycle_dir}
-
- set +x
- source ./module-setup.sh
- module use $( pwd -P )
- module load modules.fv3
- module list
- set -x
-
- else
-
- . /apps/lmod/lmod/init/sh
- module purge
- module use /scratch4/NCEPDEV/nems/noscrub/emc.nemspara/soft/modulefiles
- module load intel/16.1.150 impi/5.1.1.109 netcdf/4.3.0
- module list
-
- fi
-
+ module load NCO/4.7.0
+ module list
+ ulimit -s unlimited
+ ulimit -a
+ APRUN="mpirun -l -np ${PE_MEMBER01}"
+ ;;
+#
+"WCOSS_DELL_P3")
+#
+ module load NCO/4.7.0
+ module list
ulimit -s unlimited
ulimit -a
APRUN="mpirun -l -np ${PE_MEMBER01}"
@@ -110,32 +96,6 @@ case $MACHINE in
#
"THEIA")
#
-
- if [ "${USE_CCPP}" = "TRUE" ]; then
-
-# Need to change to the experiment directory to correctly load necessary
-# modules for CCPP-version of FV3LAM in lines below
- cd_vrfy ${EXPTDIR}
-
- set +x
- source ./module-setup.sh
- module use $( pwd -P )
- module load modules.fv3
- module load contrib wrap-mpi
- module list
- set -x
-
- else
-
- . /apps/lmod/lmod/init/sh
- module purge
- module use /scratch4/NCEPDEV/nems/noscrub/emc.nemspara/soft/modulefiles
- module load intel/16.1.150 impi/5.1.1.109 netcdf/4.3.0
- module load contrib wrap-mpi
- module list
-
- fi
-
ulimit -s unlimited
ulimit -a
np=${SLURM_NTASKS}
@@ -146,14 +106,12 @@ case $MACHINE in
ulimit -s unlimited
ulimit -a
APRUN="srun"
- LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
;;
#
"JET")
ulimit -s unlimited
ulimit -a
APRUN="srun"
- LD_LIBRARY_PATH="${UFS_WTHR_MDL_DIR}/FV3/ccpp/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}"
NCKS=ncks
;;
#
@@ -175,10 +133,10 @@ esac
#
#-----------------------------------------------------------------------
#
-START_DATE=`echo "${CDATE}" | sed 's/\([[:digit:]]\{2\}\)$/ \1/'`
+START_DATE=$(echo "${CDATE}" | sed 's/\([[:digit:]]\{2\}\)$/ \1/')
-YYYYMMDDHH=`date +%Y%m%d%H -d "${START_DATE}"`
-JJJ=`date +%j -d "${START_DATE}"`
+YYYYMMDDHH=$(date +%Y%m%d%H -d "${START_DATE}")
+JJJ=$(date +%j -d "${START_DATE}")
YYYY=${YYYYMMDDHH:0:4}
MM=${YYYYMMDDHH:4:2}
@@ -216,43 +174,82 @@ print_info_msg "$VERBOSE" "background type is is $BKTYPE"
#
#-----------------------------------------------------------------------
-stampcycle=`date -d "${START_DATE}" +%s`
+stampcycle=$(date -d "${START_DATE}" +%s)
minHourDiff=100
loops="009" # or 009s for GFSv15
ens_type="nc" # or nemsio for GFSv15
foundens=false
-for loop in $loops; do
- for timelist in `ls ${ENKF_FCST}/*.gdas.t*z.atmf${loop}.mem080.${ens_type}`; 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}"`
-
- stamp_avail=`date -d "${avail_time} ${loop} 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}
- foundens=true
- fi
+cat "no ens found" >> filelist03
+
+case $MACHINE in
+
+"WCOSS_C" | "WCOSS" | "WCOSS_DELL_P3")
+
+ for loop in $loops; do
+ for timelist in $(ls ${ENKF_FCST}/enkfgdas.*/*/atmos/mem080/gdas*.atmf${loop}.${ens_type}); 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}")
+
+ stamp_avail=$(date -d "${avail_time} ${loop} 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)
+ foundens=true
+ fi
+ done
done
-done
-if [ $foundens ]; then
- ls ${ENKF_FCST}/${enkfcstname}.mem0??.${ens_type} >> filelist03
-else
- cat "no ens found" >> filelist03
-fi
+ if [ ${foundens} ]
+ then
+ ls ${ENKF_FCST}/enkfgdas.${eyyyymmdd}/${ehh}/atmos/mem???/${enkfcstname}.nc > filelist03
+ fi
+
+ ;;
+"JET")
+
+ for loop in $loops; do
+ for timelist in $(ls ${ENKF_FCST}/*.gdas.t*z.atmf${loop}.mem080.${ens_type}); 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}")
+
+ stamp_avail=$(date -d "${avail_time} ${loop} 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}
+ foundens=true
+ fi
+ done
+ done
+
+ if [ $foundens ]; then
+ ls ${ENKF_FCST}/${enkfcstname}.mem0??.${ens_type} >> filelist03
+ fi
+
+esac
#
#-----------------------------------------------------------------------
@@ -268,7 +265,7 @@ ifhyb=.false.
# Determine if hybrid option is available
memname='atmf009'
-nummem=`more filelist03 | wc -l`
+nummem=$(more filelist03 | wc -l)
nummem=$((nummem - 3 ))
if [[ ${nummem} -eq 80 ]]; then
print_info_msg "$VERBOSE" "Do hybrid with ${memname}"
@@ -276,7 +273,6 @@ if [[ ${nummem} -eq 80 ]]; then
print_info_msg "$VERBOSE" " Cycle ${YYYYMMDDHH}: GSI hybrid uses ${memname} with n_ens=${nummem}"
fi
-
#
#-----------------------------------------------------------------------
#
@@ -293,7 +289,7 @@ cp_vrfy ${fixgriddir}/fv3_grid_spec fv3_grid_spec
if [ ${BKTYPE} -eq 1 ]; then # cold start uses background from INPUT
cp_vrfy ${bkpath}/gfs_data.tile7.halo0.nc gfs_data.tile7.halo0.nc_b
- ${NCKS} -A -v phis ${fixgriddir}/phis.nc gfs_data.tile7.halo0.nc_b
+ ncks -A -v phis ${fixgriddir}/phis.nc gfs_data.tile7.halo0.nc_b
cp_vrfy ${bkpath}/sfc_data.tile7.halo0.nc fv3_sfcdata
cp_vrfy gfs_data.tile7.halo0.nc_b fv3_dynvars
@@ -326,13 +322,27 @@ if [[ ${HH} -eq '00' || ${HH} -eq '12' ]]; then
obs_source=rap_e
fi
-obs_files_source[0]=${OBSPATH}/${YYYYMMDDHH}.${obs_source}.t${HH}z.prepbufr.tm00
+case $MACHINE in
+
+"WCOSS_C" | "WCOSS" | "WCOSS_DELL_P3")
+ obsfileprefix=${obs_source}
+ obspath_tmp=${OBSPATH}/${obs_source}.${YYYYMMDD}
+
+ ;;
+"JET")
+ obsfileprefix=${YYYYMMDDHH}.${obs_source}
+ obspath_tmp=${OBSPATH}
+
+esac
+
+
+obs_files_source[0]=${obspath_tmp}/${obsfileprefix}.t${HH}z.prepbufr.tm00
obs_files_target[0]=prepbufr
-obs_files_source[1]=${OBSPATH}/${YYYYMMDDHH}.${obs_source}.t${HH}z.satwnd.tm00.bufr_d
+obs_files_source[1]=${obspath_tmp}/${obsfileprefix}.t${HH}z.satwnd.tm00.bufr_d
obs_files_target[1]=satwndbufr
-obs_files_source[2]=${OBSPATH}/${YYYYMMDDHH}.${obs_source}.t${HH}z.nexrad.tm00.bufr_d
+obs_files_source[2]=${obspath_tmp}/${obsfileprefix}.t${HH}z.nexrad.tm00.bufr_d
obs_files_target[2]=l2rwbufr
obs_number=${#obs_files_source[@]}
@@ -427,7 +437,7 @@ 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
+for file in $(awk '{if($1!~"!"){print $1}}' ./satinfo | sort | uniq) ;do
ln -s ${CRTMFIX}/${file}.SpcCoeff.bin ./
ln -s ${CRTMFIX}/${file}.TauCoeff.bin ./
done
@@ -558,9 +568,9 @@ esac
if [ $binary_diag = ".true." ]; then
listall="conv 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_g12 sndrd2_g12 sndrd3_g12 sndrd4_g12 sndrd1_g13 sndrd2_g13 sndrd3_g13 sndrd4_g13 hirs3_n15 hirs3_n16 hirs3_n17 amsua_n15 amsua_n16 amsua_n17 amsub_n15 amsub_n16 amsub_n17 hsb_aqua airs_aqua amsua_aqua imgr_g08 imgr_g11 imgr_g12 pcp_ssmi_dmsp pcp_tmi_trmm sbuv2_n16 sbuv2_n17 sbuv2_n18 omi_aura ssmi_f13 ssmi_f14 ssmi_f15 hirs4_n18 hirs4_metop-a amsua_n18 amsua_metop-a mhs_n18 mhs_metop-a amsre_low_aqua amsre_mid_aqua amsre_hig_aqua ssmis_las_f16 ssmis_uas_f16 ssmis_img_f16 ssmis_env_f16 iasi_metop-a"
for type in $listall; do
- count=`ls pe*.${type}_${loop} | wc -l`
+ count=$(ls pe*.${type}_${loop} | wc -l)
if [[ $count -gt 0 ]]; then
- `cat pe*.${type}_${loop} > diag_${type}_${string}.${YYYYMMDDHH}`
+ $(cat pe*.${type}_${loop} > diag_${type}_${string}.${YYYYMMDDHH})
fi
done
fi
@@ -582,7 +592,7 @@ if [ $netcdf_diag = ".true." ]; then
fi
for type in $listallnc; do
- count=`ls pe*.${type}_${loop}.nc4 | wc -l`
+ count=$(ls pe*.${type}_${loop}.nc4 | wc -l)
if [[ $count -gt 0 ]]; then
./ncdiag_cat.x -o ncdiag_${type}_${string}.nc4.${YYYYMMDDHH} pe*.${type}_${loop}.nc4
fi
diff --git a/scripts/exregional_run_post.sh b/scripts/exregional_run_post.sh
index 14a9bbee1..ea5d0fe41 100755
--- a/scripts/exregional_run_post.sh
+++ b/scripts/exregional_run_post.sh
@@ -345,8 +345,12 @@ if [ ${#ADDNL_OUTPUT_GRIDS[@]} -gt 0 ]; then
# Remove temporary files
rm -f ${subdir}/${fhr}/tmp_${grid}.grib2
+ # Save to com directory
+ mkdir -p ${comout}/${grid}_grid
+ cp_vrfy ${bg_remap} ${comout}/${grid}_grid/${NET}.t${cyc}z.bg${leveltype}f${fhr}.${tmmark}.grib2
+
# Link output for transfer from Jet to web
- ln -fs ${bg_remap} ${subdir}/BG${leveltype^^}_${basetime}${post_fhr}00
+ ln_vrfy -fs --relative ${comout}/${grid}_grid/${NET}.t${cyc}z.bg${leveltype}f${fhr}.${tmmark}.grib2 ${comout}/${grid}_grid/BG${leveltype^^}_${basetime}${post_fhr}00
done
done
fi
diff --git a/ush/config.sh.RRFS_AK_dev1 b/ush/config.sh.RRFS_AK_dev1
index 8889e95f0..a8fbd8b35 100644
--- a/ush/config.sh.RRFS_AK_dev1
+++ b/ush/config.sh.RRFS_AK_dev1
@@ -28,6 +28,8 @@ PREEXISTING_DIR_METHOD="rename"
PREDEF_GRID_NAME=RRFS_AK_3km
DO_DACYCLE="true"
+#DO_RETRO="true"
+#LBCS_ICS_ONLY="true"
QUILTING="TRUE"
CCPP_PHYS_SUITE="FV3_HRRR"
@@ -39,18 +41,39 @@ LBC_SPEC_INTVL_HRS="1"
EXTRN_MDL_LBCS_OFFSET_HRS="0"
EXTRN_MDL_LBCS_SEARCH_OFFSET_HRS="0"
-#CYCLEDAY="1-4"
+DATE_FIRST_CYCL="20210401"
+DATE_LAST_CYCL="20211231"
+CYCL_HRS=( "00" "12" )
CYCLEMONTH="5-7"
-INITIAL_CYCLEDEF="00 09,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-BOUNDARY_CYCLEDEF="00 00-02,04-08,10-14,16-20,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-BOUNDARY_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-PREP_COLDSTART_CYCLEDEF="00 09,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-PREP_WARMSTART_CYCLEDEF="00 00-08,10-20,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-ANALYSIS_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-FORECAST_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-POSTPROC_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-POSTPROC_LONG_CYCLEDEF="00 00-23/03 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-ARCHIVE_CYCLEDEF="00 07 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+#CYCLEDAY="1-4"
+
+if [[ $DO_RETRO == "true" ]] ; then
+ if [[ $LBCS_ICS_ONLY == "true" ]]; then
+ PREEXISTING_DIR_METHOD="rename"
+ INITIAL_CYCLEDEF="00 09,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00-02,04-08,10-14,16-20,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ else
+ PREEXISTING_DIR_METHOD="overwrite"
+ PREP_COLDSTART_CYCLEDEF="00 09,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-08,10-20,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 00-23/03 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ fi
+else
+ INITIAL_CYCLEDEF="00 09,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00-02,04-08,10-14,16-20,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_COLDSTART_CYCLEDEF="00 09,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-08,10-20,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 00-23/03 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ARCHIVE_CYCLEDEF="00 07 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+fi
FCST_LEN_HRS="18"
POSTPROC_LEN_HRS="3"
@@ -74,11 +97,7 @@ if [[ -n $RESERVATION ]] ; then
fi
WTIME_RUN_FCST="03:00:00"
-DT_ATMOS=20
-
-DATE_FIRST_CYCL="20210401"
-DATE_LAST_CYCL="20211231"
-CYCL_HRS=( "00" "12" )
+DT_ATMOS=30
EXTRN_MDL_NAME_ICS="RAP"
EXTRN_MDL_NAME_LBCS="RAP"
diff --git a/ush/config.sh.RRFS_AK_dev2 b/ush/config.sh.RRFS_AK_dev2
new file mode 100644
index 000000000..791a1464b
--- /dev/null
+++ b/ush/config.sh.RRFS_AK_dev2
@@ -0,0 +1,146 @@
+MACHINE="jet"
+ACCOUNT="nrtrr"
+#RESERVATION="rrfsdet"
+EXPT_BASEDIR="/home/rtrr/RRFS"
+EXPT_SUBDIR="RRFS_AK_dev2"
+
+if [[ -n $RESERVATION ]] ; then
+ ACCOUNT=rtrr
+ SERVICE_ACCOUNT=nrtrr
+ PARTITION_DEFAULT=kjet
+ PARTITION_FCST=kjet
+ PARTITION_GRAPHICS=kjet
+ PARTITION_ANALYSIS=kjet
+fi
+
+FIXLAM_NCO_BASEDIR=/mnt/lfs4/BMC/nrtrr/RRFS/fix/fix_lam.20210128
+FIXgsm=/mnt/lfs4/BMC/nrtrr/RRFS/fix/fix_am.20210128
+GWD_HRRRsuite_BASEDIR=/mnt/lfs4/BMC/nrtrr/RRFS/fix/fix_lam.20210128
+
+FIX_GSI=/mnt/lfs4/BMC/nrtrr/RRFS/fix/fix_gsi
+FIX_CRTM=/home/rtrr/FIX_EXEC_MODULE/crtm/CRTM_v2.3.0
+
+VERBOSE="TRUE"
+
+RUN_ENVIR="nco"
+PREEXISTING_DIR_METHOD="rename"
+
+PREDEF_GRID_NAME=RRFS_AK_3km
+
+DO_DACYCLE="true"
+#DO_RETRO="true"
+#LBCS_ICS_ONLY="true"
+
+QUILTING="TRUE"
+CCPP_PHYS_SUITE="FV3_HRRR"
+
+EXTRN_MDL_ICS_OFFSET_HRS="0"
+BOUNDARY_LEN_HRS="21"
+BOUNDARY_LONG_LEN_HRS="27"
+LBC_SPEC_INTVL_HRS="1"
+EXTRN_MDL_LBCS_OFFSET_HRS="0"
+EXTRN_MDL_LBCS_SEARCH_OFFSET_HRS="0"
+
+DATE_FIRST_CYCL="20210401"
+DATE_LAST_CYCL="20211231"
+CYCL_HRS=( "00" "12" )
+CYCLEMONTH="5-7"
+#CYCLEDAY="1-4"
+
+if [[ $DO_RETRO == "true" ]] ; then
+ if [[ $LBCS_ICS_ONLY == "true" ]]; then
+ PREEXISTING_DIR_METHOD="rename"
+ INITIAL_CYCLEDEF="00 09,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00-02,04-08,10-14,16-20,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ else
+ PREEXISTING_DIR_METHOD="overwrite"
+ PREP_COLDSTART_CYCLEDEF="00 09,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-08,10-20,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 00-23/03 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ fi
+else
+ INITIAL_CYCLEDEF="00 09,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00-02,04-08,10-14,16-20,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_COLDSTART_CYCLEDEF="00 09,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-08,10-20,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 00-23/03 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ARCHIVE_CYCLEDEF="00 07 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+fi
+
+FCST_LEN_HRS="18"
+POSTPROC_LEN_HRS="3"
+POSTPROC_LONG_LEN_HRS="18"
+#FCST_LEN_HRS_CYCLES=(18 3 3 18 3 3 18 3 3 18 3 3 18 3 3 18 3 3 18 3 3 18 3 3)
+for i in {0..23}; do FCST_LEN_HRS_CYCLES[$i]=3; done
+for i in {0..23..3}; do FCST_LEN_HRS_CYCLES[$i]=18; done
+DA_CYCLE_INTERV="1"
+RESTART_INTERVAL="1 2 3 4 5 6"
+
+NCORES_RUN_ANAL=240
+HALO_BLEND=10
+
+if [[ -n $RESERVATION ]] ; then
+ NNODES_MAKE_ICS="3"
+ PPN_MAKE_ICS="20"
+ NNODES_MAKE_LBCS="3"
+ PPN_MAKE_LBCS="20"
+ NNODES_RUN_POST="1"
+ PPN_RUN_POST="40"
+fi
+
+WTIME_RUN_FCST="03:00:00"
+DT_ATMOS=30
+
+EXTRN_MDL_NAME_ICS="RAP"
+EXTRN_MDL_NAME_LBCS="RAP"
+
+envir="para"
+
+NET="RRFS_AK"
+TAG="RRFS_dev1_AK"
+
+ARCHIVEDIR="/5year/BMC/wrfruc/rrfs_ak_dev1"
+NCARG_ROOT="/apps/ncl/6.5.0-CentOS6.10_64bit_nodap_gnu447"
+NCL_HOME="/home/rtrr/RRFS/graphics"
+NCL_REGION="alaska"
+MODEL="RRFS_AK (dev1)"
+
+#
+# In NCO mode, the following don't need to be explicitly set to "FALSE"
+# in this configuration file because the experiment generation script
+# will do this (along with printing out an informational message).
+#
+#RUN_TASK_MAKE_GRID="FALSE"
+#RUN_TASK_MAKE_OROG="FALSE"
+#RUN_TASK_MAKE_SFC_CLIMO="FALSE"
+
+RUN="RRFS_AK"
+COMINgfs=""
+
+STMP="/lfs4/BMC/nrtrr/NCO_dirs/stmp" # Path to directory STMP that mostly contains input files.
+PTMP="/lfs4/BMC/nrtrr/NCO_dirs/ptmp" # Path to directory STMP that mostly contains input files.
+
+
+#
+# In NCO mode, the user must manually (e.g. after doing the build step)
+# create the symlink "${FIXrrfs}/fix_sar" that points to EMC's FIXLAM
+# directory on the machine. For example, on hera, the symlink's target
+# needs to be
+#
+# /scratch2/NCEPDEV/fv3-cam/emc.campara/fix_fv3cam/fix_sar
+#
+# The experiment generation script will then set FIXLAM to
+#
+# FIXLAM="${FIXrrfs}/fix_lam/${EMC_GRID_NAME}"
+#
+# where EMC_GRID_NAME has the value set above.
+#
+
diff --git a/ush/config.sh.RRFS_NA_13km b/ush/config.sh.RRFS_NA_13km
index 5fb4faf77..280cb686c 100644
--- a/ush/config.sh.RRFS_NA_13km
+++ b/ush/config.sh.RRFS_NA_13km
@@ -29,6 +29,8 @@ PREDEF_GRID_NAME=GSD_RAP13km
ADDNL_OUTPUT_GRIDS=( "130" "242" )
DO_DACYCLE="true"
+#DO_RETRO="true"
+#LBCS_ICS_ONLY="true"
QUILTING="TRUE"
CCPP_PHYS_SUITE="FV3_RAP"
@@ -40,17 +42,37 @@ LBC_SPEC_INTVL_HRS="1"
EXTRN_MDL_LBCS_OFFSET_HRS="0"
EXTRN_MDL_LBCS_SEARCH_OFFSET_HRS="0"
-#CYCLEDAY="1-4"
+DATE_FIRST_CYCL="20210419"
+DATE_LAST_CYCL="20220419"
+CYCL_HRS=( "00" "06" "12" "18" )
CYCLEMONTH="5-7"
-INITIAL_CYCLEDEF="00 03,15 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-BOUNDARY_CYCLEDEF="00 00,06,12,18 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-PREP_COLDSTART_CYCLEDEF="00 03,15 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-PREP_WARMSTART_CYCLEDEF="00 00-02,04-14,16-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-FORECAST_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-POSTPROC_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-POSTPROC_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-ARCHIVE_CYCLEDEF="00 07 * * 2021 *"
+#CYCLEDAY="1-4"
+
+if [[ $DO_RETRO == "true" ]] ; then
+ if [[ $LBCS_ICS_ONLY == "true" ]]; then
+ PREEXISTING_DIR_METHOD="rename"
+ INITIAL_CYCLEDEF="00 03,15 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00,06,12,18 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ else
+ PREEXISTING_DIR_METHOD="overwrite"
+ PREP_COLDSTART_CYCLEDEF="00 03,15 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-02,04-14,16-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ fi
+else
+ INITIAL_CYCLEDEF="00 03,15 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00,06,12,18 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_COLDSTART_CYCLEDEF="00 03,15 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-02,04-14,16-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ARCHIVE_CYCLEDEF="00 07 * * 2021 *"
+fi
FCST_LEN_HRS="21"
POSTPROC_LEN_HRS="21"
@@ -69,10 +91,6 @@ WTIME_MAKE_LBCS="02:30:00"
NNODES_RUN_POST="1"
-DATE_FIRST_CYCL="20210419"
-DATE_LAST_CYCL="20220419"
-CYCL_HRS=( "00" "06" "12" "18" )
-
EXTRN_MDL_NAME_ICS="FV3GFS"
EXTRN_MDL_NAME_LBCS="FV3GFS"
diff --git a/ush/config.sh.RRFS_NA_3km b/ush/config.sh.RRFS_NA_3km
index ae29b516e..1a153aa7d 100644
--- a/ush/config.sh.RRFS_NA_3km
+++ b/ush/config.sh.RRFS_NA_3km
@@ -30,6 +30,8 @@ PREEXISTING_DIR_METHOD="rename"
PREDEF_GRID_NAME=RRFS_NA_3km
DO_DACYCLE="FALSE"
+#DO_RETRO="true"
+#LBCS_ICS_ONLY="true"
QUILTING="TRUE"
CCPP_PHYS_SUITE="FV3_HRRR"
@@ -41,17 +43,37 @@ LBC_SPEC_INTVL_HRS="3"
EXTRN_MDL_LBCS_OFFSET_HRS="6"
EXTRN_MDL_LBCS_SEARCH_OFFSET_HRS="0"
-#CYCLEDAY="1-4"
+DATE_FIRST_CYCL="20210430"
+DATE_LAST_CYCL="20210430"
+CYCL_HRS=( "00" )
#CYCLEMONTH="5-7"
-INITIAL_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-BOUNDARY_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-PREP_COLDSTART_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-#PREP_WARMSTART_CYCLEDEF="00 00-02,04-14,16-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-#ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-FORECAST_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-POSTPROC_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-#POSTPROC_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-ARCHIVE_CYCLEDEF="00 07 * * 2021 *"
+#CYCLEDAY="1-4"
+#
+if [[ $DO_RETRO == "true" ]] ; then
+ if [[ $LBCS_ICS_ONLY == "true" ]]; then
+ PREEXISTING_DIR_METHOD="rename"
+ INITIAL_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ else
+ PREEXISTING_DIR_METHOD="overwrite"
+ PREP_COLDSTART_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ #PREP_WARMSTART_CYCLEDEF="00 00-02,04-14,16-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ #ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ #POSTPROC_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ fi
+else
+ INITIAL_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_COLDSTART_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ #PREP_WARMSTART_CYCLEDEF="00 00-02,04-14,16-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ #ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00,12 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ #POSTPROC_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ARCHIVE_CYCLEDEF="00 07 * * 2021 *"
+fi
FCST_LEN_HRS="30"
POSTPROC_LEN_HRS="30"
@@ -75,10 +97,6 @@ WTIME_RUN_FCST="08:00:00"
NNODES_RUN_POST="6"
-DATE_FIRST_CYCL="20210430"
-DATE_LAST_CYCL="20210430"
-CYCL_HRS=( "00" )
-
EXTRN_MDL_NAME_ICS="FV3GFS"
EXTRN_MDL_NAME_LBCS="FV3GFS"
diff --git a/ush/config.sh.RRFS_dev1 b/ush/config.sh.RRFS_dev1
index bce59de8c..b3ea85d73 100644
--- a/ush/config.sh.RRFS_dev1
+++ b/ush/config.sh.RRFS_dev1
@@ -31,6 +31,8 @@ PREDEF_GRID_NAME=RRFS_CONUS_3km
ADDNL_OUTPUT_GRIDS=( "hrrr" )
DO_DACYCLE="true"
+#DO_RETRO="true"
+#LBCS_ICS_ONLY="true"
DO_NONVAR_CLDANAL="true"
DO_REFL2TTEN="true"
@@ -44,18 +46,39 @@ LBC_SPEC_INTVL_HRS="1"
EXTRN_MDL_LBCS_OFFSET_HRS="0"
EXTRN_MDL_LBCS_SEARCH_OFFSET_HRS="0"
-#CYCLEDAY="1-4"
+DATE_FIRST_CYCL="20210414"
+DATE_LAST_CYCL="20210415"
+CYCL_HRS=( "00" "12" )
CYCLEMONTH="5-7"
-INITIAL_CYCLEDEF="00 10,22 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-BOUNDARY_CYCLEDEF="00 00-02/01,04-08/01,10-14/01,16-20/01,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-BOUNDARY_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-PREP_COLDSTART_CYCLEDEF="00 10,22 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-PREP_WARMSTART_CYCLEDEF="00 00-09/01,11-21/01,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-FORECAST_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-POSTPROC_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-POSTPROC_LONG_CYCLEDEF="00 00,06,12,18 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
-ARCHIVE_CYCLEDEF="00 07 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+#CYCLEDAY="1-4"
+
+if [[ $DO_RETRO == "true" ]] ; then
+ if [[ $LBCS_ICS_ONLY == "true" ]]; then
+ PREEXISTING_DIR_METHOD="rename"
+ INITIAL_CYCLEDEF="00 10,22 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00-02/01,04-08/01,10-14/01,16-20/01,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ else
+ PREEXISTING_DIR_METHOD="overwrite"
+ PREP_COLDSTART_CYCLEDEF="00 10,22 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-09/01,11-21/01,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 00,06,12,18 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ fi
+else
+ INITIAL_CYCLEDEF="00 10,22 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00-02/01,04-08/01,10-14/01,16-20/01,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_COLDSTART_CYCLEDEF="00 10,22 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-09/01,11-21/01,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 00,06,12,18 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ARCHIVE_CYCLEDEF="00 07 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+fi
FCST_LEN_HRS="18"
POSTPROC_LEN_HRS="18"
@@ -81,10 +104,6 @@ fi
WTIME_RUN_FCST="07:45:00"
WTIME_MAKE_LBCS="02:00:00"
-DATE_FIRST_CYCL="20210414"
-DATE_LAST_CYCL="20210415"
-CYCL_HRS=( "00" "12" )
-
EXTRN_MDL_NAME_ICS="HRRR"
EXTRN_MDL_NAME_LBCS="RAP"
diff --git a/ush/config.sh.RRFS_dev2 b/ush/config.sh.RRFS_dev2
new file mode 100644
index 000000000..0a70f12dd
--- /dev/null
+++ b/ush/config.sh.RRFS_dev2
@@ -0,0 +1,152 @@
+MACHINE="jet"
+ACCOUNT="nrtrr"
+#RESERVATION="rrfsdet"
+EXPT_BASEDIR="/home/rtrr/RRFS"
+EXPT_SUBDIR="RRFS_dev2"
+
+if [[ -n $RESERVATION ]] ; then
+ ACCOUNT=rtrr
+ SERVICE_ACCOUNT=nrtrr
+ PARTITION_DEFAULT=kjet
+ PARTITION_FCST=kjet
+ PARTITION_GRAPHICS=kjet
+ PARTITION_ANALYSIS=kjet
+fi
+
+FIXLAM_NCO_BASEDIR=/mnt/lfs4/BMC/nrtrr/RRFS/fix/fix_lam.20210128
+FIXgsm=/mnt/lfs4/BMC/nrtrr/RRFS/fix/fix_am.20210128
+GWD_HRRRsuite_BASEDIR=/mnt/lfs4/BMC/nrtrr/RRFS/fix/fix_lam.20210128
+
+FIX_GSI=/mnt/lfs4/BMC/nrtrr/RRFS/fix/fix_gsi
+FIX_CRTM=/home/rtrr/FIX_EXEC_MODULE/crtm/CRTM_v2.3.0
+OBSPATH_NSSLMOSIAC=/public/data/radar/nssl/mrms/conus
+RADARREFL_TIMELEVEL=(0 15 30 45)
+
+VERBOSE="TRUE"
+
+RUN_ENVIR="nco"
+PREEXISTING_DIR_METHOD="rename"
+
+PREDEF_GRID_NAME=RRFS_CONUS_3km
+ADDNL_OUTPUT_GRIDS=( "hrrr" )
+
+DO_DACYCLE="true"
+#DO_RETRO="true"
+#LBCS_ICS_ONLY="true"
+DO_NONVAR_CLDANAL="true"
+DO_REFL2TTEN="true"
+
+QUILTING="TRUE"
+CCPP_PHYS_SUITE="FV3_HRRR"
+
+EXTRN_MDL_ICS_OFFSET_HRS="0"
+BOUNDARY_LEN_HRS="15"
+BOUNDARY_LONG_LEN_HRS="18"
+LBC_SPEC_INTVL_HRS="1"
+EXTRN_MDL_LBCS_OFFSET_HRS="0"
+EXTRN_MDL_LBCS_SEARCH_OFFSET_HRS="0"
+
+DATE_FIRST_CYCL="20210414"
+DATE_LAST_CYCL="20210415"
+CYCL_HRS=( "00" "12" )
+CYCLEMONTH="5"
+CYCLEDAY="14-28"
+
+if [[ $DO_RETRO == "true" ]] ; then
+ if [[ $LBCS_ICS_ONLY == "true" ]]; then
+ PREEXISTING_DIR_METHOD="rename"
+ INITIAL_CYCLEDEF="00 10,22 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00-02/01,04-08/01,10-14/01,16-20/01,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ else
+ PREEXISTING_DIR_METHOD="overwrite"
+ PREP_COLDSTART_CYCLEDEF="00 10,22 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-09/01,11-21/01,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 00,06,12,18 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ fi
+else
+ INITIAL_CYCLEDEF="00 10,22 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00-02/01,04-08/01,10-14/01,16-20/01,22,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_LONG_CYCLEDEF="00 03,09,15,21 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_COLDSTART_CYCLEDEF="00 10,22 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-09/01,11-21/01,23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 00,06,12,18 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ARCHIVE_CYCLEDEF="00 07 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+fi
+
+FCST_LEN_HRS="12"
+POSTPROC_LEN_HRS="3"
+POSTPROC_LONG_LEN_HRS="12"
+#FCST_LEN_HRS_CYCLES=(48 18 18 18 18 18 48 18 18 18 18 18 48 18 18 18 18 18 48 18 18 18 18 18)
+for i in {0..23}; do FCST_LEN_HRS_CYCLES[$i]=3; done
+for i in {0..23..3}; do FCST_LEN_HRS_CYCLES[$i]=12; done
+DA_CYCLE_INTERV="1"
+RESTART_INTERVAL="1 2 3 4 5 6"
+
+NCORES_RUN_ANAL=240
+HALO_BLEND=10
+
+if [[ -n $RESERVATION ]] ; then
+ NNODES_MAKE_ICS="3"
+ PPN_MAKE_ICS="20"
+ NNODES_MAKE_LBCS="3"
+ PPN_MAKE_LBCS="20"
+ NNODES_RUN_POST="1"
+ PPN_RUN_POST="40"
+fi
+
+WTIME_RUN_FCST="02:45:00"
+WTIME_MAKE_LBCS="02:00:00"
+
+EXTRN_MDL_NAME_ICS="RAP"
+EXTRN_MDL_NAME_LBCS="RAP"
+
+envir="para"
+
+NET="RRFS_CONUS"
+TAG="RRFS_dev2_CONUS"
+
+USE_CUSTOM_POST_CONFIG_FILE="TRUE"
+CUSTOM_POST_CONFIG_FP="/mnt/lfs4/BMC/nrtrr/RRFS/dev1-ufs-srweather-app/src/EMC_post/parm/postxconfig-NT-fv3lam_rrfs.txt"
+ARCHIVEDIR="/5year/BMC/wrfruc/rrfs_dev1"
+NCARG_ROOT="/apps/ncl/6.5.0-CentOS6.10_64bit_nodap_gnu447"
+NCL_HOME="/home/rtrr/RRFS/graphics"
+NCL_REGION="conus"
+MODEL="RRFS_dev2"
+
+#
+# In NCO mode, the following don't need to be explicitly set to "FALSE"
+# in this configuration file because the experiment generation script
+# will do this (along with printing out an informational message).
+#
+#RUN_TASK_MAKE_GRID="FALSE"
+#RUN_TASK_MAKE_OROG="FALSE"
+#RUN_TASK_MAKE_SFC_CLIMO="FALSE"
+
+RUN="RRFS_dev2"
+COMINgfs=""
+
+STMP="/lfs4/BMC/nrtrr/NCO_dirs/stmp" # Path to directory STMP that mostly contains input files.
+PTMP="/lfs4/BMC/nrtrr/NCO_dirs/ptmp" # Path to directory STMP that mostly contains input files.
+
+#
+# In NCO mode, the user must manually (e.g. after doing the build step)
+# create the symlink "${FIXrrfs}/fix_sar" that points to EMC's FIXLAM
+# directory on the machine. For example, on hera, the symlink's target
+# needs to be
+#
+# /scratch2/NCEPDEV/fv3-cam/emc.campara/fix_fv3cam/fix_sar
+#
+# The experiment generation script will then set FIXLAM to
+#
+# FIXLAM="${FIXrrfs}/fix_lam/${EMC_GRID_NAME}"
+#
+# where EMC_GRID_NAME has the value set above.
+#
+
diff --git a/ush/config.sh.RRFS_wcoss b/ush/config.sh.RRFS_wcoss
new file mode 100644
index 000000000..8d61b4199
--- /dev/null
+++ b/ush/config.sh.RRFS_wcoss
@@ -0,0 +1,150 @@
+MACHINE="WCOSS_DELL_P3"
+ACCOUNT="HRRR-T2O"
+#RESERVATION="rrfsdet"
+EXPT_BASEDIR="/gpfs/dell2/emc/modeling/noscrub/Ming.Hu/rrfs"
+EXPT_SUBDIR="RRFS_dev2"
+
+if [[ -n $RESERVATION ]] ; then
+ ACCOUNT=rtrr
+ PARTITION_DEFAULT=kjet
+ PARTITION_FCST=kjet
+ PARTITION_GRAPHICS=kjet
+ PARTITION_ANALYSIS=kjet
+fi
+
+FIXLAM_NCO_BASEDIR=/gpfs/hps3/emc/meso/save/Ming.Hu/rrfs/fix/fix_lam.20210128
+FIXgsm=/gpfs/hps3/emc/meso/save/Ming.Hu/rrfs/fix/fix_am.20210128
+GWD_HRRRsuite_BASEDIR=/gpfs/hps3/emc/meso/save/Ming.Hu/rrfs/fix/fix_lam.20210128
+
+FIX_GSI=/gpfs/hps3/emc/meso/save/Ming.Hu/rrfs/fix/fix_gsi
+FIX_CRTM=/gpfs/hps3/emc/meso/save/Ming.Hu/rrfs/fix/CRTM_v2.3.0
+AIRCRAFT_REJECT=${FIX_GSI}
+SFCOBS_USELIST=${FIX_GSI}
+
+VERBOSE="TRUE"
+
+RUN_ENVIR="nco"
+PREEXISTING_DIR_METHOD="rename"
+
+PREDEF_GRID_NAME=RRFS_CONUS_3km
+
+DO_DACYCLE="true"
+#DO_RETRO="true"
+#LBCS_ICS_ONLY="true"
+
+QUILTING="TRUE"
+CCPP_PHYS_SUITE="FV3_HRRR"
+
+EXTRN_MDL_ICS_OFFSET_HRS="3"
+BOUNDARY_LEN_HRS="24"
+BOUNDARY_LONG_LEN_HRS="01"
+LBC_SPEC_INTVL_HRS="1"
+EXTRN_MDL_LBCS_OFFSET_HRS="0"
+EXTRN_MDL_LBCS_SEARCH_OFFSET_HRS="3"
+
+DATE_FIRST_CYCL="20210510"
+DATE_LAST_CYCL="20210511"
+CYCLEMONTH="5"
+CYCLEDAY="12"
+CYCL_HRS=( "00" "12" )
+if [[ $DO_RETRO == "true" ]] ; then
+ if [[ $LBCS_ICS_ONLY == "true" ]]; then
+ PREEXISTING_DIR_METHOD="rename"
+ INITIAL_CYCLEDEF="${DATE_FIRST_CYCL}0300 ${DATE_LAST_CYCL}2300 12:00:00"
+ BOUNDARY_CYCLEDEF="${DATE_FIRST_CYCL}0000 ${DATE_LAST_CYCL}2300 06:00:00"
+ else
+ PREEXISTING_DIR_METHOD="overwrite"
+ PREP_COLDSTART_CYCLEDEF="00 03,15 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-02,04-14,16-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 00,06,12,18 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ fi
+else
+ INITIAL_CYCLEDEF="00 03,15 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ BOUNDARY_CYCLEDEF="00 00,06,12,18 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_COLDSTART_CYCLEDEF="00 03,15 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ PREP_WARMSTART_CYCLEDEF="00 00-02,04-14,16-23 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ANALYSIS_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ FORECAST_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_CYCLEDEF="00 00-23/01 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ POSTPROC_LONG_CYCLEDEF="00 00,06,12,18 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+ ARCHIVE_CYCLEDEF="00 07 ${CYCLEDAY} ${CYCLEMONTH} 2021 *"
+fi
+
+FCST_LEN_HRS="12"
+POSTPROC_LEN_HRS="3"
+POSTPROC_LONG_LEN_HRS="12"
+FCST_LEN_HRS_CYCLES=(12 3 3 06 3 3 12 3 3 6 3 3 12 3 3 6 3 3 12 3 3 6 3 3)
+for i in {0..23}; do FCST_LEN_HRS_CYCLES[$i]=3; done
+for i in {0..23..6}; do FCST_LEN_HRS_CYCLES[$i]=12; done
+DA_CYCLE_INTERV="1"
+RESTART_INTERVAL="1 2 3 4 5 6"
+
+NCORES_RUN_ANAL=240
+QUEUE_ANALYSIS="dev"
+QUEUE_HPSS="dev"
+HALO_BLEND=10
+
+if [[ -n $RESERVATION ]] ; then
+ NNODES_MAKE_LBCS="3"
+ PPN_MAKE_ICS="20"
+ NNODES_MAKE_LBCS="3"
+ PPN_MAKE_LBCS="20"
+ NNODES_RUN_POST="1"
+ PPN_RUN_POST="40"
+fi
+
+WTIME_RUN_FCST="02:45:00"
+
+EXTRN_MDL_NAME_ICS="FV3GFS"
+EXTRN_MDL_NAME_LBCS="FV3GFS"
+FV3GFS_FILE_FMT_ICS="grib2"
+FV3GFS_FILE_FMT_LBCS="grib2"
+
+envir="para"
+
+NET="RRFS_CONUS"
+TAG="RRFS_dev2_CONUS"
+
+OBSPATH="/gpfs/hps/nco/ops/com/rap/prod"
+ENKF_FCST="/gpfs/dell1/nco/ops/com/gfs/prod"
+#USE_CUSTOM_POST_CONFIG_FILE="TRUE"
+#CUSTOM_POST_CONFIG_FP="/mnt/lfs4/BMC/nrtrr/RRFS/dev1-ufs-srweather-app/src/EMC_post/parm/postxconfig-NT-fv3lam_rrfs.txt"
+ARCHIVEDIR="/5year/BMC/wrfruc/rrfs_dev1"
+NCARG_ROOT="/apps/ncl/6.5.0-CentOS6.10_64bit_nodap_gnu447"
+NCL_HOME="/gpfs/hps3/ptmp/Ming.Hu/ptmp"
+NCL_REGION="conus"
+MODEL="RRFS_dev2"
+
+#
+# In NCO mode, the following don't need to be explicitly set to "FALSE"
+# in this configuration file because the experiment generation script
+# will do this (along with printing out an informational message).
+#
+#RUN_TASK_MAKE_GRID="FALSE"
+#RUN_TASK_MAKE_OROG="FALSE"
+#RUN_TASK_MAKE_SFC_CLIMO="FALSE"
+
+RUN="RRFS_dev2"
+COMINgfs=""
+
+STMP="/gpfs/hps3/ptmp/Ming.Hu/stmp" # Path to directory STMP that mostly contains input files.
+PTMP="/gpfs/hps3/ptmp/Ming.Hu/ptmp" # Path to directory STMP that mostly contains input files.
+
+#
+# In NCO mode, the user must manually (e.g. after doing the build step)
+# create the symlink "${FIXrrfs}/fix_sar" that points to EMC's FIXLAM
+# directory on the machine. For example, on hera, the symlink's target
+# needs to be
+#
+# /scratch2/NCEPDEV/fv3-cam/emc.campara/fix_fv3cam/fix_sar
+#
+# The experiment generation script will then set FIXLAM to
+#
+# FIXLAM="${FIXrrfs}/fix_lam/${EMC_GRID_NAME}"
+#
+# where EMC_GRID_NAME has the value set above.
+#
+
diff --git a/ush/config_defaults.sh b/ush/config_defaults.sh
index 4d2314a94..4d7e48e2a 100644
--- a/ush/config_defaults.sh
+++ b/ush/config_defaults.sh
@@ -1610,7 +1610,12 @@ DO_DACYCLE="FALSE"
# DO_RETRO:
# Flag turn on the retrospective experiments.
#
+# LBCS_ICS_ONLY:
+# Flag turn on the runs prepare boundary and cold start initial conditions in
+# retrospective experiments.
+#
DO_RETRO="FALSE"
+LBCS_ICS_ONLY="FALSE"
#
#-----------------------------------------------------------------------
#
diff --git a/ush/get_extrn_mdl_file_dir_info.sh b/ush/get_extrn_mdl_file_dir_info.sh
index 76e3c4dc5..f924990e7 100755
--- a/ush/get_extrn_mdl_file_dir_info.sh
+++ b/ush/get_extrn_mdl_file_dir_info.sh
@@ -391,9 +391,9 @@ fi
if [ "${MACHINE}" = "JET" ]; then
fns_on_disk=( "${yy}${ddd}${hh}0${fcst_mn}0${fcst_hh}" )
else
- fns_on_disk=( "gfs.t${hh}z.pgrb2.0p25.f${fcst_hh}" ) # Get only 0.25 degree files for now.
+ fns_on_disk=( "gfs.t${hh}z.pgrb2.0p25.f0${fcst_hh}" "gfs.t${hh}z.sfcf0${fcst_hh}.nc") # use netcdf
fi
- fns_in_arcv=( "gfs.t${hh}z.pgrb2.0p25.f${fcst_hh}" ) # Get only 0.25 degree files for now.
+ fns_in_arcv=( "gfs.t${hh}z.pgrb2.0p25.f0${fcst_hh}" ) # Get only 0.25 degree files for now.
fi
;;
@@ -603,10 +603,10 @@ has not been specified for this external model and machine combination:
"FV3GFS")
case "$MACHINE" in
"WCOSS_CRAY")
- sysdir="$sysbasedir/gfs.${yyyymmdd}/${hh}"
+ sysdir="$sysbasedir/gfs.${yyyymmdd}/${hh}/atmos"
;;
"WCOSS_DELL_P3")
- sysdir="$sysbasedir/gfs.${yyyymmdd}/${hh}"
+ sysdir="$sysbasedir/gfs.${yyyymmdd}/${hh}/atmos"
;;
"HERA")
sysdir="$sysbasedir/gfs.${yyyymmdd}/${hh}"
diff --git a/ush/launch_FV3LAM_wflow.sh b/ush/launch_FV3LAM_wflow.sh
index 8d42ab976..46b08b1f4 100755
--- a/ush/launch_FV3LAM_wflow.sh
+++ b/ush/launch_FV3LAM_wflow.sh
@@ -100,7 +100,7 @@ elif [ "$MACHINE" = "WCOSS_DELL_P3" ]; then
module purge
module load lsf/10.1
module use /gpfs/dell3/usrx/local/dev/emc_rocoto/modulefiles/
- module load ruby/2.5.1 rocoto/1.2.4
+ module load ruby/2.5.1 rocoto/1.3.0rc2 #rocoto/1.2.4
elif [ "$MACHINE" = "WCOSS_CRAY" ]; then
module purge
module load xt-lsfhpc/9.1.3
diff --git a/ush/templates/FV3LAM_wflow.xml b/ush/templates/FV3LAM_wflow.xml
index b586d2095..981cb1a68 100644
--- a/ush/templates/FV3LAM_wflow.xml
+++ b/ush/templates/FV3LAM_wflow.xml
@@ -125,18 +125,30 @@ tasks; and the "FCST" type is used for the RUN_FCST_TN task.
+{%- if do_retro %}
+
+
+
+
+
+
+{% else %}
@Y@m@d@H@M'>
@Y@m@d@H@M'>
@Y@m@d@H@M'>
@Y@m@d@H@M'>
@Y@m@d@H@M'>
@Y@m@d@H@M'>
-
+{% endif %}
]>
+{%- if do_retro %}
+
+{% else %}
+{%- endif %}
{# Double quotes are required inside the strftime! Expect an error from reading the template if using single quotes. #}
{{ at_start_cycledef }}
@@ -306,7 +318,11 @@ MODULES_RUN_TASK_FP script.
ICS_OR_LBCSICS
+ {%- if machine in ["WCOSS_DELL_P3", "WCOSS_CRAY"] %}
+ {{ extrn_mdl_sysbasedir_ics }}/gfs.@Y@m@d/@H/atmos/gfs.t@Hz.pgrb2.0p25.f{{ "%03d" % extrn_mdl_ics_offset_hrs }}
+ {% else %}
{{ extrn_mdl_sysbasedir_ics }}/@y@j@H000{{ "%03d" % extrn_mdl_ics_offset_hrs }}
+ {%- endif %}
@@ -342,7 +358,11 @@ MODULES_RUN_TASK_FP script.
{%- for h in range(extrn_mdl_lbcs_offset_hrs, boundary_len_hrs+extrn_mdl_lbcs_offset_hrs+1, bc_update_interval) %}
+ {%- if machine in ["WCOSS_DELL_P3", "WCOSS_CRAY"] %}
+ {{ extrn_mdl_sysbasedir_ics }}/gfs.@Y@m@d/@H/atmos/gfs.t@Hz.pgrb2.0p25.f{{ "%03d" % h }}
+ {%- else %}
{{ extrn_mdl_sysbasedir_lbcs }}/@y@j@H000{{ "%03d" % h }}
+ {%- endif %}
{%- endfor %}
@@ -380,7 +400,11 @@ MODULES_RUN_TASK_FP script.
{%- for h in range(extrn_mdl_lbcs_offset_hrs, boundary_long_len_hrs+extrn_mdl_lbcs_offset_hrs+1, bc_update_interval) %}
+ {%- if machine in ["WCOSS_DELL_P3", "WCOSS_CRAY"] %}
+ {{ extrn_mdl_sysbasedir_ics }}/gfs.@Y@m@d/@H/atmos/gfs.t@Hz.pgrb2.0p25.f{{ "%03d" % h }}
+ {%- else %}
{{ extrn_mdl_sysbasedir_lbcs }}/@y@j@H000{{ "%03d" % h }}
+ {%- endif %}
{%- endfor %}
@@ -513,6 +537,9 @@ MODULES_RUN_TASK_FP script.
BKTYPE1
+{%- if do_retro %}
+ &FG_ROOT;/@Y@m@d@H/ics/gfs_data.tile7.halo0.nc
+{% else %}
@Y@m@d@H@M00
@@ -520,6 +547,7 @@ MODULES_RUN_TASK_FP script.
{%- endif %}
+{%- endif %}
@@ -550,6 +578,9 @@ MODULES_RUN_TASK_FP script.
BKTYPE0
+{%- if do_retro %}
+ &FG_ROOT;/@Y@m@d@H/fcst_fv3lam/dynf00{{ da_cycle_interval_hrs }}.nc
+{% else %}
@Y@m@d@H@M00
@@ -564,6 +595,7 @@ MODULES_RUN_TASK_FP script.
+{%- endif %}
@@ -859,6 +891,7 @@ MODULES_RUN_TASK_FP script.
{% endif %}
+{%- if machine in ["JET", "HERA"] %}