From 4c4742ff9cc93d5894bbc471c3e38c4638510218 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Wed, 4 Jun 2025 00:44:22 +0000 Subject: [PATCH 01/22] port to ursa intel llvm (called "intel" in modulefiles and scripts) --- ci/cmp_grib2_grib2.sh | 13 ++ ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh | 76 +++++++++ ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh | 76 +++++++++ ci/jobs-dev/run_post_3drtma_URSA.sh | 149 ++++++++++++++++++ ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh | 149 ++++++++++++++++++ ci/jobs-dev/run_post_fv3gefs_URSA.sh | 137 ++++++++++++++++ ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh | 136 ++++++++++++++++ ci/jobs-dev/run_post_fv3gfs_URSA.sh | 146 +++++++++++++++++ ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh | 148 +++++++++++++++++ ci/jobs-dev/run_post_fv3hafs_URSA.sh | 121 ++++++++++++++ ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh | 121 ++++++++++++++ ci/jobs-dev/run_post_fv3r_URSA.sh | 143 +++++++++++++++++ ci/jobs-dev/run_post_fv3r_ifi_URSA.sh | 120 ++++++++++++++ ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh | 120 ++++++++++++++ ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh | 143 +++++++++++++++++ ci/jobs-dev/run_post_hrrr_URSA.sh | 128 +++++++++++++++ ci/jobs-dev/run_post_hrrr_ifi_URSA.sh | 121 ++++++++++++++ ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh | 135 ++++++++++++++++ ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh | 141 +++++++++++++++++ .../run_post_nmmb_Grib2_pe_test_URSA.sh | 142 +++++++++++++++++ ci/jobs-dev/run_post_rap_URSA.sh | 125 +++++++++++++++ ci/jobs-dev/run_post_rap_pe_test_URSA.sh | 134 ++++++++++++++++ ci/rt.sh | 9 ++ modulefiles/ursa.lua | 51 ++++++ tests/detect_machine.sh | 3 + 25 files changed, 2787 insertions(+) create mode 100755 ci/cmp_grib2_grib2.sh create mode 100644 ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh create mode 100644 ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh create mode 100644 ci/jobs-dev/run_post_3drtma_URSA.sh create mode 100644 ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh create mode 100644 ci/jobs-dev/run_post_fv3gefs_URSA.sh create mode 100644 ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh create mode 100644 ci/jobs-dev/run_post_fv3gfs_URSA.sh create mode 100644 ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh create mode 100644 ci/jobs-dev/run_post_fv3hafs_URSA.sh create mode 100644 ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh create mode 100644 ci/jobs-dev/run_post_fv3r_URSA.sh create mode 100644 ci/jobs-dev/run_post_fv3r_ifi_URSA.sh create mode 100644 ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh create mode 100644 ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh create mode 100644 ci/jobs-dev/run_post_hrrr_URSA.sh create mode 100644 ci/jobs-dev/run_post_hrrr_ifi_URSA.sh create mode 100644 ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh create mode 100644 ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh create mode 100644 ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh create mode 100644 ci/jobs-dev/run_post_rap_URSA.sh create mode 100644 ci/jobs-dev/run_post_rap_pe_test_URSA.sh create mode 100644 modulefiles/ursa.lua diff --git a/ci/cmp_grib2_grib2.sh b/ci/cmp_grib2_grib2.sh new file mode 100755 index 000000000..e4a391776 --- /dev/null +++ b/ci/cmp_grib2_grib2.sh @@ -0,0 +1,13 @@ +#!/bin/sh +# +# this routine compares two grib2 files +# the files must have the same fields in the same order +# +#set -x + + # for wgrib2 v2.0.7beta2 5/2017 + wgrib2 $2 -var -lev -rpn "sto_1" -import_grib $1 -rpn "rcl_1:print_corr:print_rms" | \ + egrep -v "rpn_corr=1" +# egrep -v "rpn_corr=1|rpn_rms=undefined" + + # use rpn_corr=0 for all fields diff --git a/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh b/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh new file mode 100644 index 000000000..34aa5062b --- /dev/null +++ b/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh @@ -0,0 +1,76 @@ +#!/bin/sh + +#SBATCH -o out.post.ifi_standalone_fv3r +#SBATCH -e out.post.ifi_standalone_fv3r +#SBATCH -J ifi_standalone_fv3r_test +#SBATCH -t 00:30:00 +#SBATCH --ntasks=1 +#SBATCH --cpus-per-task=40 +#SBATCH --exclusive +#SBATCH --partition bigmem +#SBATCH -q batch +#SBATCH -A ovp + +# specify computation resource +export threads=40 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export OMP_STACKSIZE=128M +export APRUN="srun" + +############################################ +# Loading module +############################################ + +# EXPORT list here + +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +ulimit -s unlimited +ulimit + +msg="Starting ifi_standalone_fv3r test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +FIPEXEC=${svndir}/exec/fip2-lookalike.x + +# use the UPP run directory so we get the input files in the expected format +export startdate=2023062800 +export DATA=$rundir/fv3r_ifi_${startdate} +cd $DATA + +upp_output=cat_vars_0.nc +ifi_standalone_output=icing-category-output.nc +diff_file=cat_vars_0.nc.diff + +$APRUN --cpus-per-task=$OMP_NUM_THREADS --nodes=1 --ntasks=1 --exclusive \ + "$FIPEXEC" -u hybr_vars_0.nc hybr_vars_0.nc . + +nccmp -n 20 -dfc1 -v ICE_PROB,ICE_SEV_CAT,SLD,WMO_ICE_SEV_CAT "$upp_output" "$ifi_standalone_output" 2>&1 | tee "$diff_file" +export err1=$? + +if [ -s "$ifi_standalone_output" ] ; then + if [ $err1 -eq 0 ] && ! [ -s "$diff_file" ] ; then + msg="ifi standalone_fv3r test: Passed. libIFI standalone program and IFI in UPP produce identical results" + rm -f "$diff_file" + echo $msg + else + msg="ifi standalone_fv3r test: Failed. Differences detected between libIFI standalone and UPP IFI output." + echo $msg + fi +else + msg="ifi standalone_fv3r test: Failed. ifi standalone failed using your new executable to generate $ifi_standalone_output" + echo $msg 2>&1 | tee -a TEST_ERROR +fi +postmsg "$logfile" "$msg" + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending ifi_standalone_fv3r test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh b/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh new file mode 100644 index 000000000..79ebe41b5 --- /dev/null +++ b/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh @@ -0,0 +1,76 @@ +#!/bin/sh + +#SBATCH -o out.post.ifi_standalone_hrrr +#SBATCH -e out.post.ifi_standalone_hrrr +#SBATCH -J ifi_standalone_hrrr_test +#SBATCH -t 00:30:00 +#SBATCH --ntasks=1 +#SBATCH --cpus-per-task=40 +#SBATCH --exclusive +#SBATCH --partition bigmem +#SBATCH -q batch +#SBATCH -A ovp + +# specify computation resource +export threads=40 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export OMP_STACKSIZE=512M +export APRUN="srun" + +############################################ +# Loading module +############################################ + +# EXPORT list here + +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +ulimit -s unlimited +ulimit + +msg="Starting ifi_standalone_hrrr test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +FIPEXEC=${svndir}/exec/fip2-lookalike.x + +# use the UPP run directory so we get the input files in the expected format +export startdate=2020060118 +export DATA=$rundir/hrrr_ifi_${startdate} +cd $DATA + +upp_output=cat_vars_0.nc +ifi_standalone_output=icing-category-output.nc +diff_file=cat_vars_0.nc.diff + +$APRUN --cpus-per-task=$OMP_NUM_THREADS --nodes=1 --ntasks=1 --exclusive \ + "$FIPEXEC" -u hybr_vars_0.nc hybr_vars_0.nc . + +nccmp -n 20 -dfc1 -v ICE_PROB,ICE_SEV_CAT,SLD,WMO_ICE_SEV_CAT "$upp_output" "$ifi_standalone_output" 2>&1 | tee "$diff_file" +export err1=$? + +if [ -s "$ifi_standalone_output" ] ; then + if [ $err1 -eq 0 ] && ! [ -s "$diff_file" ] ; then + msg="ifi standalone_fv3r test: Passed. libIFI standalone program and IFI in UPP produce identical results" + rm -f "$diff_file" + echo $msg + else + msg="ifi standalone_fv3r test: Failed. Differences detected between libIFI standalone and UPP IFI output." + echo $msg + fi +else + msg="ifi standalone_fv3r test: Failed. ifi standalone failed using your new executable to generate $ifi_standalone_output" + echo $msg 2>&1 | tee -a TEST_ERROR +fi +postmsg "$logfile" "$msg" + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending ifi_standalone_hrrr test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_3drtma_URSA.sh b/ci/jobs-dev/run_post_3drtma_URSA.sh new file mode 100644 index 000000000..061a429ae --- /dev/null +++ b/ci/jobs-dev/run_post_3drtma_URSA.sh @@ -0,0 +1,149 @@ +#!/bin/sh + +#SBATCH -o out.post.rtma +#SBATCH -e out.post.rtma +#SBATCH -J rtma_test +#SBATCH -t 00:20:00 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp +#SBATCH -N 8 --ntasks-per-node=12 + +set -x + +# specify computation resource +export MP_LABELIO=yes +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +###################################################################### +# Purpose: to run RAP post processing +###################################################################### + +# EXPORT list here + + +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting rtma test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# CALL executable job script here + +# specify your running and output directory +export startdate=2023040400 +export fhr=000 +export tmmark=tm00 +export DATA=$rundir/rtma_${startdate} + +export NEWDATE=$startdate + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +cat > itag < wrfpost2.out +${APRUN} ${POSTGPEXEC} < itag > wrfpost2.out + +# operational rtma post processing generates 2 files +filelist="NATLEV00.tm00 \ + PRSLEV00.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational rtma post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/3drtma/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rtma test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="rtma test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + + msg="rtma test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rtma test" +postmsg "$logfile" "$msg" + + diff --git a/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh b/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh new file mode 100644 index 000000000..10a529c45 --- /dev/null +++ b/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh @@ -0,0 +1,149 @@ +#!/bin/sh + +#SBATCH -o out.post.rtma_pe_test +#SBATCH -e out.post.rtma_pe_test +#SBATCH -J rtma_pe_test +#SBATCH -t 00:20:00 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp +#SBATCH -N 5 --ntasks-per-node=24 + +set -x + +# specify computation resource +export MP_LABELIO=yes +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +###################################################################### +# Purpose: to run RAP post processing +###################################################################### + +# EXPORT list here + + +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting rtma pe test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# CALL executable job script here + +# specify your running and output directory +export startdate=2023040400 +export fhr=000 +export tmmark=tm00 +export DATA=$rundir/rtma_${startdate}_pe_test + +export NEWDATE=$startdate + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +cat > itag < wrfpost2.out +${APRUN} ${POSTGPEXEC} < itag > wrfpost2.out + +# operational rtma post processing generates 2 files +filelist="NATLEV00.tm00 \ + PRSLEV00.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational rtma post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/3drtma/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rtma pe test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="rtma pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + + msg="rtma pe test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rtma pe test" +postmsg "$logfile" "$msg" + + diff --git a/ci/jobs-dev/run_post_fv3gefs_URSA.sh b/ci/jobs-dev/run_post_fv3gefs_URSA.sh new file mode 100644 index 000000000..353f49f94 --- /dev/null +++ b/ci/jobs-dev/run_post_fv3gefs_URSA.sh @@ -0,0 +1,137 @@ +#!/bin/sh + +#SBATCH -o out.fv3gefs +#SBATCH -e out.fv3gefs +#SBATCH -J fv3gefs_test +#SBATCH -t 00:30:00 +#SBATCH --ntasks 120 +#SBATCH --tasks-per-node 20 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +############################################ +# Loading module +############################################ +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting fv3gefs test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2022042400 +export fhr=060 +export CC=`echo $startdate | cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/fv3gefs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < ./postxconfig-NT.txt + +cp ${svndir}/parm/params_grib2_tbl_new ./params_grib2_tbl_new + +cp ${svndir}/fix/chem/optics_luts_DUST.dat ./optics_luts_DUST.dat +cp ${svndir}/fix/chem/optics_luts_SALT.dat ./optics_luts_SALT.dat +cp ${svndir}/fix/chem/optics_luts_SOOT.dat ./optics_luts_SOOT.dat +cp ${svndir}/fix/chem/optics_luts_SUSO.dat ./optics_luts_SUSO.dat +cp ${svndir}/fix/chem/optics_luts_WASO.dat ./optics_luts_WASO.dat + + +export PGBOUT=pgbfile +${APRUN} ${POSTGPEXEC} < itag > outpost_nems_${NEWDATE} + +#$COPYGB2 -x -i'4,0,80' -k'1 3 0 7*-9999 101 0 0' $PGBOUT tfile +#$WGRIB2 tfile -set_byte 4 11 1 -grib prmsl +#$COPYGB2 -x -i'4,1,5' -k'1 3 5 7*-9999 100 0 50000' $PGBOUT tfile +#$WGRIB2 tfile -set_byte 4 11 193 -grib h5wav +#cat prmsl h5wav >> $PGBOUT +mv $PGBOUT geaer.t${CC}z.master.grb2f${fhr} + +fhr2=`printf "%02d" $fhr` + +filelist="geaer.t${CC}z.master.grb2f${fhr}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/gefs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3gefs test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="fv3gefs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/gefs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3gefs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3gefs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh new file mode 100644 index 000000000..101f21953 --- /dev/null +++ b/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh @@ -0,0 +1,136 @@ +#!/bin/sh + +#SBATCH -o out.fv3gefs_pe_test +#SBATCH -e out.fv3gefs_pe_test +#SBATCH -J fv3gefs_pe_test +#SBATCH -t 00:30:00 +#SBATCH --ntasks 200 +#SBATCH --tasks-per-node 20 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +############################################ +# Loading module +############################################ +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting fv3gefs test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2022042400 +export fhr=060 +export CC=`echo $startdate | cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/fv3gefs_${startdate}_pe_test +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < ./postxconfig-NT.txt + +cp ${svndir}/parm/params_grib2_tbl_new ./params_grib2_tbl_new + +cp ${svndir}/fix/chem/optics_luts_DUST.dat ./optics_luts_DUST.dat +cp ${svndir}/fix/chem/optics_luts_SALT.dat ./optics_luts_SALT.dat +cp ${svndir}/fix/chem/optics_luts_SOOT.dat ./optics_luts_SOOT.dat +cp ${svndir}/fix/chem/optics_luts_SUSO.dat ./optics_luts_SUSO.dat +cp ${svndir}/fix/chem/optics_luts_WASO.dat ./optics_luts_WASO.dat + +export PGBOUT=pgbfile +${APRUN} ${POSTGPEXEC} < itag > outpost_nems_${NEWDATE} + +#$COPYGB2 -x -i'4,0,80' -k'1 3 0 7*-9999 101 0 0' $PGBOUT tfile +#$WGRIB2 tfile -set_byte 4 11 1 -grib prmsl +#$COPYGB2 -x -i'4,1,5' -k'1 3 5 7*-9999 100 0 50000' $PGBOUT tfile +#$WGRIB2 tfile -set_byte 4 11 193 -grib h5wav +#cat prmsl h5wav >> $PGBOUT +mv $PGBOUT geaer.t${CC}z.master.grb2f${fhr} + +fhr2=`printf "%02d" $fhr` + +filelist="geaer.t${CC}z.master.grb2f${fhr}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/gefs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3gefs pe test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="fv3gefs pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/gefs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3gefs pe test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3gefs pe test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3gfs_URSA.sh b/ci/jobs-dev/run_post_fv3gfs_URSA.sh new file mode 100644 index 000000000..be50ba5ef --- /dev/null +++ b/ci/jobs-dev/run_post_fv3gfs_URSA.sh @@ -0,0 +1,146 @@ +#!/bin/sh + +#SBATCH -o out.post.fv3gfs +#SBATCH -e out.post.fv3gfs +#SBATCH -J fv3gfs_test +#SBATCH -t 00:30:00 +#SBATCH --ntasks 360 +#SBATCH --tasks-per-node 20 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +############################################ +# Loading module +############################################ +module purge +. $MODULESHOME/init/sh +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting fv3gfs test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + + +# specify forecast start time and hour for running your post job +export startdate=2019083000 +export fhr=006 +export cyc=`echo $startdate |cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/fv3gfs_${startdate} +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_master_${NEWDATE} + +#Generate goes file +cp ${svndir}/parm/gfs/postxconfig-NT-gfs-goes.txt ./postxconfig-NT.txt +${APRUN} ${POSTGPEXEC} < itag > outpost_goes_${NEWDATE} + +FH3=$(printf %03i $fhr) +FH2=$(printf %02i $fhr) +mv GFSPRS.GrbF${FH2} gfs.t${cyc}z.master.grb2f${FH3} +mv GFSFLX.GrbF${FH2} gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 +mv GFSGOES.GrbF${FH2} gfs.t${cyc}z.special.grb2f${FH3} + +filelist="gfs.t${cyc}z.master.grb2f${FH3} \ + gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 \ + gfs.t${cyc}z.special.grb2f${FH3} " + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/gfs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3gfs test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="fv3gfs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/gfs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3gfs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3gfs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh new file mode 100644 index 000000000..26560a55d --- /dev/null +++ b/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh @@ -0,0 +1,148 @@ +#!/bin/sh + +#SBATCH -o out.post.fv3gfs_pe_test +#SBATCH -e out.post.fv3gfs_pe_test +#SBATCH -J fv3gfs_pe_test +#SBATCH -t 00:30:00 +#SBATCH --ntasks 480 +#SBATCH --tasks-per-node 20 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +############################################ +# Loading module +############################################ +module purge +. $MODULESHOME/init/sh +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting fv3gfs pe test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + + +# specify forecast start time and hour for running your post job +export startdate=2019083000 +export fhr=006 +export cyc=`echo $startdate |cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/fv3gfs_${startdate}_pe_test +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_master_${NEWDATE} + +#Generate goes file +cp ${svndir}/parm/gfs/postxconfig-NT-gfs-goes.txt ./postxconfig-NT.txt +${APRUN} ${POSTGPEXEC} < itag > outpost_goes_${NEWDATE} + +FH3=$(printf %03i $fhr) +FH2=$(printf %02i $fhr) +mv GFSPRS.GrbF${FH2} gfs.t${cyc}z.master.grb2f${FH3} +mv GFSFLX.GrbF${FH2} gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 +mv GFSGOES.GrbF${FH2} gfs.t${cyc}z.special.grb2f${FH3} + +filelist="gfs.t${cyc}z.master.grb2f${FH3} \ + gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 \ + gfs.t${cyc}z.special.grb2f${FH3} " + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/gfs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3gfs pe test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="fv3gfs pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/gfs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3gfs pe test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3gfs pe test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3hafs_URSA.sh b/ci/jobs-dev/run_post_fv3hafs_URSA.sh new file mode 100644 index 000000000..86a78efb6 --- /dev/null +++ b/ci/jobs-dev/run_post_fv3hafs_URSA.sh @@ -0,0 +1,121 @@ +#!/bin/sh + +#SBATCH -o out.fv3hafs +#SBATCH -e out.fv3hafs +#SBATCH -J fv3hafs_test +#SBATCH -t 00:20:00 +#SBATCH --ntasks 480 +#SBATCH --tasks-per-node 16 +#SBATCH -q batch +#SBATCH -A ovp + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +############################################ +# Loading module +############################################ +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting fv3hafs test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2022092800 +export fhr=009 +export CC=`echo $startdate | cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/fv3hafs_${startdate} +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +filelist="HURPRS${fhr2}.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/hafs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3hafs test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="fv3hafs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/hafs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3hafs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3hafs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh new file mode 100644 index 000000000..65864f7a6 --- /dev/null +++ b/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh @@ -0,0 +1,121 @@ +#!/bin/sh + +#SBATCH -o out.fv3hafs.pe_test +#SBATCH -e out.fv3hafs.pe_test +#SBATCH -J fv3hafs_pe_test +#SBATCH -t 00:20:00 +#SBATCH --ntasks 288 +#SBATCH --tasks-per-node 16 +#SBATCH -q batch +#SBATCH -A ovp + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +############################################ +# Loading module +############################################ +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting fv3hafs pe test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2022092800 +export fhr=009 +export CC=`echo $startdate | cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/fv3hafs_${startdate}_pe_test +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +filelist="HURPRS${fhr2}.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/hafs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3hafs pe test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="fv3hafs pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/hafs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3hafs pe test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3hafs pe test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3r_URSA.sh b/ci/jobs-dev/run_post_fv3r_URSA.sh new file mode 100644 index 000000000..ee67ea64d --- /dev/null +++ b/ci/jobs-dev/run_post_fv3r_URSA.sh @@ -0,0 +1,143 @@ +#!/bin/sh + +#SBATCH -o out.post.fv3r +#SBATCH -e out.post.fv3r +#SBATCH -J fv3r_test +#SBATCH -t 00:30:00 +#SBATCH -N 8 --ntasks-per-node=12 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +############################################ +# Loading module +############################################ +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting fv3r test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + + +# specify forecast start time and hour for running your post job +export startdate=2023062800 +export fhr=010 + +# specify your running and output directory +export DATA=$rundir/fv3r_${startdate} +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +filelist="PRSLEV${fhr2}.tm00 \ + NATLEV${fhr2}.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/fv3r/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3r test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/fv3r/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3r test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3r test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh b/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh new file mode 100644 index 000000000..f29015dc1 --- /dev/null +++ b/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh @@ -0,0 +1,120 @@ +#!/bin/sh + +#SBATCH -o out.post.fv3r_ifi +#SBATCH -e out.post.fv3r_ifi +#SBATCH -J fv3r_ifi_test +#SBATCH -t 00:30:00 +#SBATCH -N 8 --ntasks-per-node=12 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +############################################ +# Loading module +############################################ +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting fv3r_ifi test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2023062800 +export fhr=010 + +# specify your running and output directory +export DATA=$rundir/fv3r_ifi_${startdate} +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +filelist="IFIFIP10.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/fv3r_ifi/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3r test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/fv3r_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3r test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3r test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh b/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh new file mode 100644 index 000000000..9ba427249 --- /dev/null +++ b/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh @@ -0,0 +1,120 @@ +#!/bin/sh + +#SBATCH -o out.post.fv3r_ifi_missing +#SBATCH -e out.post.fv3r_ifi_missing +#SBATCH -J fv3r_ifi_missing +#SBATCH -t 00:30:00 +#SBATCH -N 8 --ntasks-per-node=12 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +############################################ +# Loading module +############################################ +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting fv3r_ifi_missing test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp_no_ifi.x + +# specify forecast start time and hour for running your post job +export startdate=2023062800 +export fhr=010 + +# specify your running and output directory +export DATA=$rundir/fv3r_ifi_missing_${startdate} +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +filelist="IFIFIP${fhr2}.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/fv3r_ifi_missing/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3r_ifi_missing test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="fv3r_ifi_missing test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/fv3r_ifi_missing/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3r_ifi_missing test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3r_ifi_missing test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh new file mode 100644 index 000000000..deab84e9d --- /dev/null +++ b/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh @@ -0,0 +1,143 @@ +#!/bin/sh + +#SBATCH -o out.post.fv3r_pe_test +#SBATCH -e out.post.fv3r_pe_test +#SBATCH -J fv3r_pe_test +#SBATCH -t 00:30:00 +#SBATCH -N 7 --ntasks-per-node=12 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +############################################ +# Loading module +############################################ +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting fv3r pe test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + + +# specify forecast start time and hour for running your post job +export startdate=2023062800 +export fhr=010 + +# specify your running and output directory +export DATA=$rundir/fv3r_${startdate}_pe_test +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +filelist="PRSLEV${fhr2}.tm00 \ + NATLEV${fhr2}.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/fv3r/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3r pe test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="fv3r pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/fv3r/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3r pe test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3r pe test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_hrrr_URSA.sh b/ci/jobs-dev/run_post_hrrr_URSA.sh new file mode 100644 index 000000000..506bbbb7f --- /dev/null +++ b/ci/jobs-dev/run_post_hrrr_URSA.sh @@ -0,0 +1,128 @@ +#!/bin/sh + +#SBATCH -o out.post.hrrr +#SBATCH -e out.post.hrrr +#SBATCH -J hrrr_test +#SBATCH -t 00:20:00 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp +#SBATCH -N 2 --ntasks-per-node=24 + +set -x + +# specify computation resource +export MP_LABELIO=yes +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +###################################################################### +# Purpose: to run RAP post processing +###################################################################### + +# EXPORT list here + + +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting hrrr test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# CALL executable job script here + +# specify your running and output directory +export startdate=2020060118 +export fhr=04 +export DATA=$rundir/hrrr_${startdate} + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +cat > itag < wrfpost2.out + +# operational hrrr post processing generates 3 files +filelist="WRFTWO.GrbF04 \ + WRFPRS.GrbF04 \ + WRFNAT.GrbF04" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational hrrr post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/hrrr/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="hrrr test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="hrrr test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/hrrr/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + + msg="hrrr test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending hrrr test" +postmsg "$logfile" "$msg" + + diff --git a/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh b/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh new file mode 100644 index 000000000..58f45ba08 --- /dev/null +++ b/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh @@ -0,0 +1,121 @@ +#!/bin/sh + +#SBATCH -o out.post.hrrr_ifi +#SBATCH -e out.post.hrrr_ifi +#SBATCH -J hrrr_ifi_test +#SBATCH -t 00:30:00 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp +#SBATCH -N 2 --ntasks-per-node=24 + +# specify computation resource +export MP_LABELIO=yes +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +###################################################################### +# Purpose: to run RAP post processing +###################################################################### + +# EXPORT list here + +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting hrrr_ifi test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# CALL executable job script here + +# specify your running and output directory +export startdate=2020060118 +export fhr=04 +export DATA=$rundir/hrrr_ifi_${startdate} + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +cat > itag < wrfpost2.out + +# operational hrrr post processing generates 3 files +filelist="IFIFIP.GrbF04" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational hrrr post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/hrrr_ifi/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="hrrr_ifi test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="hrrr_ifi test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/hrrr_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + + msg="hrrr_ifi test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending hrrr_ifi test" +postmsg "$logfile" "$msg" + + diff --git a/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh b/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh new file mode 100644 index 000000000..198862d5c --- /dev/null +++ b/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh @@ -0,0 +1,135 @@ +#!/bin/sh + +#SBATCH -o out.post.hrrr_pe_test +#SBATCH -e out.post.hrrr_pe_test +#SBATCH -J hrrr_pe_test +#SBATCH -t 00:20:00 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp +#SBATCH -N 3 --ntasks-per-node=24 + +set -x + +# specify computation resource +export MP_LABELIO=yes +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +###################################################################### +# Purpose: to run RAP post processing +###################################################################### + +# EXPORT list here + +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting hrrr pe test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# CALL executable job script here + +# specify your running and output directory +export startdate=2020060118 +export fhr=04 +export DATA=$rundir/hrrr_${startdate}_pe_test + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +cat > itag < wrfpost2.out + +# operational hrrr post processing generates 3 files +filelist="WRFTWO.GrbF04 \ + WRFPRS.GrbF04 \ + WRFNAT.GrbF04" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational hrrr post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/hrrr/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="hrrr pe test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + #msg="hrrr pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" + #echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/hrrr/${filein2}.${machine} ${filein2} > ${filein2}.diff + export err2=$? + if [ $err2 -eq 0 ] ; then + msg="hrrr pe test: your new post executable is fine in ${filein2}" + echo $msg + else + msg="hrrr pe test: your new post executable did generate changed results in ${filein2}" + echo $msg + fi + fi + + +else + + msg="hrrr pe test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending hrrr pe test" +postmsg "$logfile" "$msg" + + diff --git a/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh b/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh new file mode 100644 index 000000000..22ab2c3cd --- /dev/null +++ b/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh @@ -0,0 +1,141 @@ +#!/bin/sh + +#SBATCH -o out.post.nmmb_Grib2 +#SBATCH -e out.post.nmmb_Grib2 +#SBATCH -J nmmb_test +#SBATCH -t 00:20:00 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -N 7 --ntasks-per-node=4 +#SBATCH -A ovp + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading module +############################################ +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting nmmb test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new + +# specify user's own post executable for testing +#export svndir=/u/Wen.Meng/save/ncep_post/trunk +export POSTGPEXEC=${svndir}/exec/upp.x + + +# specify forecast start time and hour for running your post job +export startdate=2014120818 +export fhr=03 + +# specify your running and output directory +export DATA=$rundir/post_nmmb_meso_${startdate}_Grib2 + +# specify your home directory +#export homedir=`pwd`/.. + +export tmmark=tm00 + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +echo $homedir +echo $NDATE +export NEWDATE=`$NDATE +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +mv BGDAWP${fhr}.tm00 BGDAWP${fhr}.tm00.Grib2 +mv BGRD3D${fhr}.tm00 BGRD3D${fhr}.tm00.Grib2 +mv BGRDSF${fhr}.tm00 BGRDSF${fhr}.tm00.Grib2 + +# operational NMMB post processing generates 3 files +filelist="BGDAWP${fhr}.tm00.Grib2 \ + BGRD3D${fhr}.tm00.Grib2 \ + BGRDSF${fhr}.tm00.Grib2" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational NMMB post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/nmmb/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="nmmb test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="nmmb test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + msg="nmmb test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending nmmb test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh b/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh new file mode 100644 index 000000000..949aca4b2 --- /dev/null +++ b/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh @@ -0,0 +1,142 @@ +#!/bin/sh + +#SBATCH -o out.post.nmmb_Grib2_pe +#SBATCH -e out.post.nmmb_Grib2_pe +#SBATCH -J nmmb_pe_test +#SBATCH -t 00:20:00 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -N 5 --ntasks-per-node=4 +#SBATCH -A ovp + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading module +############################################ +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting nmmb pe test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new + +# specify user's own post executable for testing +#export svndir=/u/Wen.Meng/save/ncep_post/trunk +export POSTGPEXEC=${svndir}/exec/upp.x + + +# specify forecast start time and hour for running your post job +export startdate=2014120818 +export fhr=03 + +# specify your running and output directory +export DATA=$rundir/post_nmmb_meso_${startdate}_Grib2_pe_test + +# specify your home directory +#export homedir=`pwd`/.. + +export tmmark=tm00 + + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +echo $homedir +echo $NDATE +export NEWDATE=`$NDATE +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +mv BGDAWP${fhr}.tm00 BGDAWP${fhr}.tm00.Grib2 +mv BGRD3D${fhr}.tm00 BGRD3D${fhr}.tm00.Grib2 +mv BGRDSF${fhr}.tm00 BGRDSF${fhr}.tm00.Grib2 + +# operational NMMB post processing generates 3 files +filelist="BGDAWP${fhr}.tm00.Grib2 \ + BGRD3D${fhr}.tm00.Grib2 \ + BGRDSF${fhr}.tm00.Grib2" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational NMMB post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/nmmb/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="nmmb pe test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="nmmb pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + msg="nmmb pe test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending nmmb pe test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_rap_URSA.sh b/ci/jobs-dev/run_post_rap_URSA.sh new file mode 100644 index 000000000..901bee280 --- /dev/null +++ b/ci/jobs-dev/run_post_rap_URSA.sh @@ -0,0 +1,125 @@ +#!/bin/sh + +#SBATCH -o out.post.rap +#SBATCH -e out.post.rap +#SBATCH -J rap_test +#SBATCH -t 00:20:00 +#SBATCH -N 4 --ntasks-per-node=12 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp + +set -x + +# specify computation resource +export MP_LABELIO=yes +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +###################################################################### +# Purpose: to run RAP post processing +###################################################################### + +# EXPORT list here + +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting rap test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# CALL executable job script here + +# specify your running and output directory +export startdate=2020072316 +export fhr=16 +export DATA=$rundir/rap_${startdate} + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +cat > itag < wrfpost2.out + +# operational rap post processing generates 3 files +filelist="WRFPRS.GrbF16 \ + WRFNAT.GrbF16" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational rap post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/rap/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rap test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + msg="rap test: your new post executable did not generate bit-identical ${filein2} as the trunk" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/rap/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + + msg="rap test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rap test" +postmsg "$logfile" "$msg" + + diff --git a/ci/jobs-dev/run_post_rap_pe_test_URSA.sh b/ci/jobs-dev/run_post_rap_pe_test_URSA.sh new file mode 100644 index 000000000..994aaa1c8 --- /dev/null +++ b/ci/jobs-dev/run_post_rap_pe_test_URSA.sh @@ -0,0 +1,134 @@ +#!/bin/sh + +#SBATCH -o out.post.rap_pe_test +#SBATCH -e out.post.rap_pe_test +#SBATCH -J rap_pe_test +#SBATCH -t 00:20:00 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -A ovp +#SBATCH -N 5 --ntasks-per-node=8 + +set -x + +# specify computation resource +export MP_LABELIO=yes +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +###################################################################### +# Purpose: to run RAP post processing +###################################################################### + +# EXPORT list here + +module purge +module use $svndir/modulefiles +module load ursa +module load wgrib2/3.6.0 +module load prod_util/2.1.1 +module load nccmp/1.9.1.0 +module list + +msg="Starting rap pe test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# CALL executable job script here + +# specify your running and output directory +export startdate=2020072316 +export fhr=16 +export DATA=$rundir/rap_${startdate}_pe_test + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +cat > itag < wrfpost2.out + +# operational rap post processing generates 3 files +filelist="WRFPRS.GrbF16 \ + WRFNAT.GrbF16" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational rap post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/rap/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rap pe test: your new post executable generates bit-identical ${filein2} as the trunk" + echo $msg + else + #msg="rap pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" + #echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/rap/${filein2}.${machine} ${filein2} > ${filein2}.diff + cmp ${filein2}.diff $homedir/data_out/rap/${filein2}.diff + export err2=$? + if [ $err2 -eq 0 ] ; then + msg="rap pe test: your new post executable is fine in ${filein2}" + echo $msg + else + msg="rap pe test: your new post executable did generate changed results in ${filein2}" + echo $msg + fi + fi + + +else + + msg="rap pe test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rap pe test" +postmsg "$logfile" "$msg" + + diff --git a/ci/rt.sh b/ci/rt.sh index b1254af2d..33293bd1e 100755 --- a/ci/rt.sh +++ b/ci/rt.sh @@ -94,6 +94,15 @@ if [ $mac2 = hf ]; then # for HERA module load stack-intel/2021.5.0 module load stack-intel-oneapi-mpi/2021.5.1 module load prod_util/2.1.1 +elif [ $mac2 = uf ]; then # for Ursa + export machine=URSA + export homedir=${homedir:-"/scratch3/BMC/wrfruc/Samuel.Trahan/upp-ursa/test_suite"} + export rundir=${rundir:-"/scratch3/BMC/wrfruc/Samuel.Trahan/scrub"} + module use /contrib/spack-stack/spack-stack-1.9.1/envs/ue-oneapi-2024.2.1/install/modulefiles/Core + module load stack-oneapi/2024.2.1 + module load stack-intel-oneapi-mpi/2021.13 + module load prod_util/2.1.1 + module load python/3.11.7 elif [ $mac3 = orio ] ; then export machine=ORION export homedir=${homedir:-"/work/noaa/epic/UPP"} diff --git a/modulefiles/ursa.lua b/modulefiles/ursa.lua new file mode 100644 index 000000000..5ff3f5eab --- /dev/null +++ b/modulefiles/ursa.lua @@ -0,0 +1,51 @@ +help([[ +Load environment to build UPP on ursa +]]) + + +prepend_path("MODULEPATH", "/contrib/spack-stack/spack-stack-1.9.1/envs/ue-oneapi-2024.2.1/install/modulefiles/Core") + +stack_oneapi_ver=os.getenv("stack_oneapi_ver") or "2024.2.1" +load(pathJoin("stack-oneapi", stack_oneapi_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.13" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +local ufs_modules = { + {["jasper"] = "2.0.32" }, + {["zlib"] = "1.2.13" }, + {["libpng"] = "1.6.37" }, + {["hdf5"] = "1.14.3" }, + {["netcdf-c"] = "4.9.2" }, + {["netcdf-fortran"] = "4.6.1" }, + {["bacio"] = "2.4.1" }, + {["crtm"] = "2.4.0.1"}, + {["g2"] = "3.5.1" }, + {["g2tmpl"] = "1.13.0" }, + {["ip"] = "5.1.0" }, + {["w3emc"] = "2.10.0" }, + {["nemsio"] = "2.5.4" }, + {["sigio"] = "2.3.3" }, + {["wrf-io"] = "1.2.0" }, +} + +for i = 1, #ufs_modules do + for name, default_version in pairs(ufs_modules[i]) do + local env_version_name = string.gsub(name, "-", "_") .. "_ver" + load(pathJoin(name, os.getenv(env_version_name) or default_version)) + end +end + +setenv("CC", "mpiicx") +setenv("CXX", "mpiicpx") +setenv("FC", "mpiifx") +setenv("I_MPI_CC", "icx") +setenv("I_MPI_CXX", "icpx") +setenv("I_MPI_FC", "ifx") +setenv("I_MPI_F90", "ifx") +setenv("I_MPI_F77", "ifx") + +whatis("Description: UPP build environment") diff --git a/tests/detect_machine.sh b/tests/detect_machine.sh index eb7237f82..96c182276 100755 --- a/tests/detect_machine.sh +++ b/tests/detect_machine.sh @@ -31,6 +31,9 @@ case $(hostname -f) in hfe1[01]) MACHINE_ID=hera ;; ### hera10-11 hecflow01) MACHINE_ID=hera ;; ### heraecflow01 + ufe[0-9][0-9]) MACHINE_ID=ursa ;; + uecflow*) MACHINE_ID=ursa ;; + s4-submit.ssec.wisc.edu) MACHINE_ID=s4 ;; ### s4 fe[1-8]) MACHINE_ID=jet ;; ### jet1-8 From e975ea9b38b43c4c29f8b9b7ff62715a89308ee6 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Wed, 4 Jun 2025 00:44:41 +0000 Subject: [PATCH 02/22] use the same KPO list for fv3gefs pe and non-pe tests on HERA --- ci/jobs-dev/run_post_fv3gefs_pe_test_HERA.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/jobs-dev/run_post_fv3gefs_pe_test_HERA.sh b/ci/jobs-dev/run_post_fv3gefs_pe_test_HERA.sh index 9229fd3d9..586c5a591 100755 --- a/ci/jobs-dev/run_post_fv3gefs_pe_test_HERA.sh +++ b/ci/jobs-dev/run_post_fv3gefs_pe_test_HERA.sh @@ -64,7 +64,7 @@ MODELNAME='GFS' fileNameFlux='$homedir/data_in/gefs/geaer.t${CC}z.sfcf${fhr}.nemsio' / &NAMPGB - KPO=47,PO=1000.,975.,950.,925.,900.,875.,850.,825.,800.,775.,750.,725.,700.,675.,650.,625.,600.,575.,550.,525.,500.,475.,450.,425.,400.,375.,350.,325.,300.,275.,250.,225.,200.,175.,150.,125.,100.,70.,50.,30.,20.,10.,7.,5.,3.,2.,1.,gocart_on=.true., + KPO=47,PO=1000.,975.,950.,925.,900.,875.,850.,825.,800.,775.,750.,725.,700.,675.,650.,625.,600.,575.,550.,525.,500.,475.,450.,425.,400.,375.,350.,325.,300.,275.,250.,225.,200.,175.,150.,125.,100.,70.,50.,30.,20.,10.,7.,5.,3.,2.,1.,0.4,gocart_on=.true., / EOF From 0c53c48f82625b9577e0eeffccfd9dcb13d4f6db Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Wed, 4 Jun 2025 14:51:56 +0000 Subject: [PATCH 03/22] compiler is in all modulefile names and is an argument to rt.sh (mandatory on ursa) --- ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh | 2 +- ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh | 2 +- ci/jobs-dev/run_post_3drtma_URSA.sh | 6 +++--- ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh | 6 +++--- ci/jobs-dev/run_post_fv3gefs_URSA.sh | 6 +++--- ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh | 6 +++--- ci/jobs-dev/run_post_fv3gfs_URSA.sh | 6 +++--- ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh | 6 +++--- ci/jobs-dev/run_post_fv3hafs_URSA.sh | 6 +++--- ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh | 6 +++--- ci/jobs-dev/run_post_fv3r_URSA.sh | 6 +++--- ci/jobs-dev/run_post_fv3r_ifi_URSA.sh | 6 +++--- ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh | 6 +++--- ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh | 6 +++--- ci/jobs-dev/run_post_hrrr_URSA.sh | 6 +++--- ci/jobs-dev/run_post_hrrr_ifi_URSA.sh | 6 +++--- ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh | 6 +++--- ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh | 6 +++--- ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh | 6 +++--- ci/jobs-dev/run_post_rap_URSA.sh | 6 +++--- ci/jobs-dev/run_post_rap_pe_test_URSA.sh | 8 ++++---- ci/rt.sh | 11 +++++++++-- modulefiles/{gaea.lua => gaea_intel.lua} | 0 modulefiles/{hera.lua => hera_intel.lua} | 0 ...a_external_ifi.lua => hera_intel_external_ifi.lua} | 0 ...st_prereqs.lua => hera_intel_ifi_test_prereqs.lua} | 0 modulefiles/{hercules.lua => hercules_intel.lua} | 0 modulefiles/{jet.lua => jet_intel.lua} | 0 ...et_external_ifi.lua => jet_intel_external_ifi.lua} | 0 ...est_prereqs.lua => jet_intel_ifi_test_prereqs.lua} | 0 modulefiles/{noaacloud.lua => noaacloud_intel.lua} | 0 modulefiles/{orion.lua => orion_intel.lua} | 0 modulefiles/{s4.lua => s4_intel.lua} | 0 modulefiles/{upp_common.lua => upp_common_intel.lua} | 0 modulefiles/{ursa.lua => ursa_intelllvm.lua} | 1 - modulefiles/{wcoss2_a.lua => wcoss2_a_intel.lua} | 0 modulefiles/{wcoss2.lua => wcoss2_intel.lua} | 0 tests/compile_upp.sh | 6 +----- 38 files changed, 70 insertions(+), 68 deletions(-) rename modulefiles/{gaea.lua => gaea_intel.lua} (100%) rename modulefiles/{hera.lua => hera_intel.lua} (100%) rename modulefiles/{hera_external_ifi.lua => hera_intel_external_ifi.lua} (100%) rename modulefiles/{hera_ifi_test_prereqs.lua => hera_intel_ifi_test_prereqs.lua} (100%) rename modulefiles/{hercules.lua => hercules_intel.lua} (100%) rename modulefiles/{jet.lua => jet_intel.lua} (100%) rename modulefiles/{jet_external_ifi.lua => jet_intel_external_ifi.lua} (100%) rename modulefiles/{jet_ifi_test_prereqs.lua => jet_intel_ifi_test_prereqs.lua} (100%) rename modulefiles/{noaacloud.lua => noaacloud_intel.lua} (100%) rename modulefiles/{orion.lua => orion_intel.lua} (100%) rename modulefiles/{s4.lua => s4_intel.lua} (100%) rename modulefiles/{upp_common.lua => upp_common_intel.lua} (100%) rename modulefiles/{ursa.lua => ursa_intelllvm.lua} (99%) rename modulefiles/{wcoss2_a.lua => wcoss2_a_intel.lua} (100%) rename modulefiles/{wcoss2.lua => wcoss2_intel.lua} (100%) diff --git a/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh b/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh index 34aa5062b..e371fb14e 100644 --- a/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh +++ b/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh @@ -26,7 +26,7 @@ export APRUN="srun" module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 diff --git a/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh b/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh index 79ebe41b5..a499becf0 100644 --- a/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh +++ b/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh @@ -26,7 +26,7 @@ export APRUN="srun" module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 diff --git a/ci/jobs-dev/run_post_3drtma_URSA.sh b/ci/jobs-dev/run_post_3drtma_URSA.sh index 061a429ae..f2dee8d77 100644 --- a/ci/jobs-dev/run_post_3drtma_URSA.sh +++ b/ci/jobs-dev/run_post_3drtma_URSA.sh @@ -29,7 +29,7 @@ date module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -117,7 +117,7 @@ if [ $err = "0" ] ; then # operational rtma post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/3drtma/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/3drtma/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -129,7 +129,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff fi diff --git a/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh b/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh index 10a529c45..bb8e79259 100644 --- a/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh @@ -29,7 +29,7 @@ date module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -117,7 +117,7 @@ if [ $err = "0" ] ; then # operational rtma post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/3drtma/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/3drtma/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -129,7 +129,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff fi diff --git a/ci/jobs-dev/run_post_fv3gefs_URSA.sh b/ci/jobs-dev/run_post_fv3gefs_URSA.sh index 353f49f94..a960fa287 100644 --- a/ci/jobs-dev/run_post_fv3gefs_URSA.sh +++ b/ci/jobs-dev/run_post_fv3gefs_URSA.sh @@ -23,7 +23,7 @@ export APRUN="srun" ############################################ module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -108,7 +108,7 @@ export err=$? if [ $err = "0" ] ; then # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/gefs/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/gefs/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -120,7 +120,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/gefs/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/gefs/${filein2}.${machine} ${filein2} > ${filein2}.diff fi else diff --git a/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh index 101f21953..5b2918c3b 100644 --- a/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh @@ -23,7 +23,7 @@ export APRUN="srun" ############################################ module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -107,7 +107,7 @@ export err=$? if [ $err = "0" ] ; then # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/gefs/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/gefs/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -119,7 +119,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/gefs/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/gefs/${filein2}.${machine} ${filein2} > ${filein2}.diff fi else diff --git a/ci/jobs-dev/run_post_fv3gfs_URSA.sh b/ci/jobs-dev/run_post_fv3gfs_URSA.sh index be50ba5ef..eee617de3 100644 --- a/ci/jobs-dev/run_post_fv3gfs_URSA.sh +++ b/ci/jobs-dev/run_post_fv3gfs_URSA.sh @@ -24,7 +24,7 @@ export APRUN="srun" module purge . $MODULESHOME/init/sh module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -117,7 +117,7 @@ export err=$? if [ $err = "0" ] ; then # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/gfs/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/gfs/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -129,7 +129,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/gfs/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/gfs/${filein2}.${machine} ${filein2} > ${filein2}.diff fi else diff --git a/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh index 26560a55d..828a19c35 100644 --- a/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh @@ -24,7 +24,7 @@ export APRUN="srun" module purge . $MODULESHOME/init/sh module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -119,7 +119,7 @@ export err=$? if [ $err = "0" ] ; then # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/gfs/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/gfs/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -131,7 +131,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/gfs/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/gfs/${filein2}.${machine} ${filein2} > ${filein2}.diff fi else diff --git a/ci/jobs-dev/run_post_fv3hafs_URSA.sh b/ci/jobs-dev/run_post_fv3hafs_URSA.sh index 86a78efb6..351084831 100644 --- a/ci/jobs-dev/run_post_fv3hafs_URSA.sh +++ b/ci/jobs-dev/run_post_fv3hafs_URSA.sh @@ -22,7 +22,7 @@ export APRUN="srun" ############################################ module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -92,7 +92,7 @@ export err=$? if [ $err = "0" ] ; then # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/hafs/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/hafs/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -104,7 +104,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/hafs/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/hafs/${filein2}.${machine} ${filein2} > ${filein2}.diff fi else diff --git a/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh index 65864f7a6..5292bc91e 100644 --- a/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh @@ -22,7 +22,7 @@ export APRUN="srun" ############################################ module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -92,7 +92,7 @@ export err=$? if [ $err = "0" ] ; then # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/hafs/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/hafs/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -104,7 +104,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/hafs/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/hafs/${filein2}.${machine} ${filein2} > ${filein2}.diff fi else diff --git a/ci/jobs-dev/run_post_fv3r_URSA.sh b/ci/jobs-dev/run_post_fv3r_URSA.sh index ee67ea64d..84172d9af 100644 --- a/ci/jobs-dev/run_post_fv3r_URSA.sh +++ b/ci/jobs-dev/run_post_fv3r_URSA.sh @@ -22,7 +22,7 @@ export APRUN="srun" ############################################ module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -114,7 +114,7 @@ export err=$? if [ $err = "0" ] ; then # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/fv3r/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/fv3r/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -126,7 +126,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/fv3r/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/fv3r/${filein2}.${machine} ${filein2} > ${filein2}.diff fi else diff --git a/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh b/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh index f29015dc1..8dc6153b0 100644 --- a/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh +++ b/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh @@ -20,7 +20,7 @@ export APRUN="srun" ############################################ module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -91,7 +91,7 @@ export err=$? if [ $err = "0" ] ; then # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/fv3r_ifi/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/fv3r_ifi/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -103,7 +103,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/fv3r_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/fv3r_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff fi else diff --git a/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh b/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh index 9ba427249..df34472b8 100644 --- a/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh +++ b/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh @@ -20,7 +20,7 @@ export APRUN="srun" ############################################ module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -91,7 +91,7 @@ export err=$? if [ $err = "0" ] ; then # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/fv3r_ifi_missing/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/fv3r_ifi_missing/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -103,7 +103,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/fv3r_ifi_missing/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/fv3r_ifi_missing/${filein2}.${machine} ${filein2} > ${filein2}.diff fi else diff --git a/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh index deab84e9d..5b3f875ed 100644 --- a/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh @@ -22,7 +22,7 @@ export APRUN="srun" ############################################ module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -114,7 +114,7 @@ export err=$? if [ $err = "0" ] ; then # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/fv3r/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/fv3r/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -126,7 +126,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/fv3r/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/fv3r/${filein2}.${machine} ${filein2} > ${filein2}.diff fi else diff --git a/ci/jobs-dev/run_post_hrrr_URSA.sh b/ci/jobs-dev/run_post_hrrr_URSA.sh index 506bbbb7f..a6b15daf9 100644 --- a/ci/jobs-dev/run_post_hrrr_URSA.sh +++ b/ci/jobs-dev/run_post_hrrr_URSA.sh @@ -29,7 +29,7 @@ date module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -96,7 +96,7 @@ if [ $err = "0" ] ; then # operational hrrr post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/hrrr/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/hrrr/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -108,7 +108,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/hrrr/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/hrrr/${filein2}.${machine} ${filein2} > ${filein2}.diff fi diff --git a/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh b/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh index 58f45ba08..dd03e5b0c 100644 --- a/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh +++ b/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh @@ -26,7 +26,7 @@ date module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -89,7 +89,7 @@ if [ $err = "0" ] ; then # operational hrrr post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/hrrr_ifi/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/hrrr_ifi/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -101,7 +101,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/hrrr_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/hrrr_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff fi diff --git a/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh b/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh index 198862d5c..5949d987e 100644 --- a/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh @@ -28,7 +28,7 @@ date module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -95,7 +95,7 @@ if [ $err = "0" ] ; then # operational hrrr post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/hrrr/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/hrrr/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -107,7 +107,7 @@ if [ $err = "0" ] ; then #echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/hrrr/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/hrrr/${filein2}.${machine} ${filein2} > ${filein2}.diff export err2=$? if [ $err2 -eq 0 ] ; then msg="hrrr pe test: your new post executable is fine in ${filein2}" diff --git a/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh b/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh index 22ab2c3cd..8595f2ea2 100644 --- a/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh +++ b/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh @@ -25,7 +25,7 @@ date ############################################ module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -112,7 +112,7 @@ if [ $err = "0" ] ; then # operational NMMB post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/nmmb/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/nmmb/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -124,7 +124,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff fi diff --git a/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh b/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh index 949aca4b2..eec73bbb8 100644 --- a/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh @@ -25,7 +25,7 @@ date ############################################ module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -113,7 +113,7 @@ if [ $err = "0" ] ; then # operational NMMB post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/nmmb/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/nmmb/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -125,7 +125,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff fi diff --git a/ci/jobs-dev/run_post_rap_URSA.sh b/ci/jobs-dev/run_post_rap_URSA.sh index 901bee280..769cc6aa0 100644 --- a/ci/jobs-dev/run_post_rap_URSA.sh +++ b/ci/jobs-dev/run_post_rap_URSA.sh @@ -28,7 +28,7 @@ date module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -93,7 +93,7 @@ if [ $err = "0" ] ; then # operational rap post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/rap/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/rap/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -105,7 +105,7 @@ if [ $err = "0" ] ; then echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/rap/${filein2}.${machine} ${filein2} > ${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/rap/${filein2}.${machine} ${filein2} > ${filein2}.diff fi diff --git a/ci/jobs-dev/run_post_rap_pe_test_URSA.sh b/ci/jobs-dev/run_post_rap_pe_test_URSA.sh index 994aaa1c8..1b01089b3 100644 --- a/ci/jobs-dev/run_post_rap_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_rap_pe_test_URSA.sh @@ -28,7 +28,7 @@ date module purge module use $svndir/modulefiles -module load ursa +module load ursa_$compiler module load wgrib2/3.6.0 module load prod_util/2.1.1 module load nccmp/1.9.1.0 @@ -93,7 +93,7 @@ if [ $err = "0" ] ; then # operational rap post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out/rap/${filein2}.${machine} + cmp ${filein2} $homedir/data_out_$compiler/rap/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? @@ -105,8 +105,8 @@ if [ $err = "0" ] ; then #echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out/rap/${filein2}.${machine} ${filein2} > ${filein2}.diff - cmp ${filein2}.diff $homedir/data_out/rap/${filein2}.diff + $cmp_grib2_grib2 $homedir/data_out_$compiler/rap/${filein2}.${machine} ${filein2} > ${filein2}.diff + cmp ${filein2}.diff $homedir/data_out_$compiler/rap/${filein2}.diff export err2=$? if [ $err2 -eq 0 ] ; then msg="rap pe test: your new post executable is fine in ${filein2}" diff --git a/ci/rt.sh b/ci/rt.sh index 33293bd1e..38f01965e 100755 --- a/ci/rt.sh +++ b/ci/rt.sh @@ -37,6 +37,8 @@ while getopts a:w:h:r:t:b:u:cd opt; do esac done +export compiler=${1:-MISSING} + #UPP working copy test_v=${test_v:-`pwd`/../} if [[ $clone_on == "yes" ]]; then @@ -123,6 +125,11 @@ elif [ $mac3 = herc ] ; then module load python/3.10.8 fi +if [[ "$compiler" == MISSING && "$machine" == URSA ]] ; then + echo "ERROR: Specify compiler when running rt.sh on Ursa." 1>&2 + echo "ERROR: Specify compiler: rt.sh [intel|intelllvm]" 1>&2 +fi + #set working directory export workdir=${workdir:-"`pwd`/work-upp-${machine}"} rm -rf $workdir @@ -144,7 +151,7 @@ if [ "$build_exe" = "yes" ]; then cd ${test_v} mkdir -p ${test_v}/exec cd ${test_v}/tests - ./compile_upp.sh -o upp_no_ifi.x + ./compile_upp.sh -o upp_no_ifi.x -c "$compiler" status=$? if [ $status -eq 0 ]; then msg="Building executable successfully" @@ -155,7 +162,7 @@ if [ "$build_exe" = "yes" ]; then fi if [[ "$have_ifi" == yes && "$disable_ifi" == no ]] ; then - ./compile_upp.sh -a -o upp_with_ifi.x -I -B + ./compile_upp.sh -a -o upp_with_ifi.x -I -B -c "$compiler" status=$? if [ $status -eq 0 ]; then msg="Building UPP+IFI executables successfully" diff --git a/modulefiles/gaea.lua b/modulefiles/gaea_intel.lua similarity index 100% rename from modulefiles/gaea.lua rename to modulefiles/gaea_intel.lua diff --git a/modulefiles/hera.lua b/modulefiles/hera_intel.lua similarity index 100% rename from modulefiles/hera.lua rename to modulefiles/hera_intel.lua diff --git a/modulefiles/hera_external_ifi.lua b/modulefiles/hera_intel_external_ifi.lua similarity index 100% rename from modulefiles/hera_external_ifi.lua rename to modulefiles/hera_intel_external_ifi.lua diff --git a/modulefiles/hera_ifi_test_prereqs.lua b/modulefiles/hera_intel_ifi_test_prereqs.lua similarity index 100% rename from modulefiles/hera_ifi_test_prereqs.lua rename to modulefiles/hera_intel_ifi_test_prereqs.lua diff --git a/modulefiles/hercules.lua b/modulefiles/hercules_intel.lua similarity index 100% rename from modulefiles/hercules.lua rename to modulefiles/hercules_intel.lua diff --git a/modulefiles/jet.lua b/modulefiles/jet_intel.lua similarity index 100% rename from modulefiles/jet.lua rename to modulefiles/jet_intel.lua diff --git a/modulefiles/jet_external_ifi.lua b/modulefiles/jet_intel_external_ifi.lua similarity index 100% rename from modulefiles/jet_external_ifi.lua rename to modulefiles/jet_intel_external_ifi.lua diff --git a/modulefiles/jet_ifi_test_prereqs.lua b/modulefiles/jet_intel_ifi_test_prereqs.lua similarity index 100% rename from modulefiles/jet_ifi_test_prereqs.lua rename to modulefiles/jet_intel_ifi_test_prereqs.lua diff --git a/modulefiles/noaacloud.lua b/modulefiles/noaacloud_intel.lua similarity index 100% rename from modulefiles/noaacloud.lua rename to modulefiles/noaacloud_intel.lua diff --git a/modulefiles/orion.lua b/modulefiles/orion_intel.lua similarity index 100% rename from modulefiles/orion.lua rename to modulefiles/orion_intel.lua diff --git a/modulefiles/s4.lua b/modulefiles/s4_intel.lua similarity index 100% rename from modulefiles/s4.lua rename to modulefiles/s4_intel.lua diff --git a/modulefiles/upp_common.lua b/modulefiles/upp_common_intel.lua similarity index 100% rename from modulefiles/upp_common.lua rename to modulefiles/upp_common_intel.lua diff --git a/modulefiles/ursa.lua b/modulefiles/ursa_intelllvm.lua similarity index 99% rename from modulefiles/ursa.lua rename to modulefiles/ursa_intelllvm.lua index 5ff3f5eab..842f35672 100644 --- a/modulefiles/ursa.lua +++ b/modulefiles/ursa_intelllvm.lua @@ -2,7 +2,6 @@ help([[ Load environment to build UPP on ursa ]]) - prepend_path("MODULEPATH", "/contrib/spack-stack/spack-stack-1.9.1/envs/ue-oneapi-2024.2.1/install/modulefiles/Core") stack_oneapi_ver=os.getenv("stack_oneapi_ver") or "2024.2.1" diff --git a/modulefiles/wcoss2_a.lua b/modulefiles/wcoss2_a_intel.lua similarity index 100% rename from modulefiles/wcoss2_a.lua rename to modulefiles/wcoss2_a_intel.lua diff --git a/modulefiles/wcoss2.lua b/modulefiles/wcoss2_intel.lua similarity index 100% rename from modulefiles/wcoss2.lua rename to modulefiles/wcoss2_intel.lua diff --git a/tests/compile_upp.sh b/tests/compile_upp.sh index 2a9925e10..326ad367a 100755 --- a/tests/compile_upp.sh +++ b/tests/compile_upp.sh @@ -122,11 +122,7 @@ if [[ $MACHINE_ID != "unknown" ]]; then module purge fi module use $PATHTR/modulefiles - if [[ $compiler == "intel" ]]; then - modulefile=${MACHINE_ID} - else - modulefile=${MACHINE_ID}_${compiler} - fi + modulefile=${MACHINE_ID}_${compiler} if [ -f "${PATHTR}/modulefiles/${modulefile}" -o -f "${PATHTR}/modulefiles/${modulefile}.lua" ]; then echo "Building for machine ${MACHINE_ID}, compiler ${compiler}" else From dd946c0bda45d350120d3b19b90d81fa3e45aa11 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Wed, 4 Jun 2025 15:36:41 +0000 Subject: [PATCH 04/22] longer wallclock for 3drtm --- ci/jobs-dev/run_post_3drtma_URSA.sh | 4 +++- ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ci/jobs-dev/run_post_3drtma_URSA.sh b/ci/jobs-dev/run_post_3drtma_URSA.sh index f2dee8d77..f31f88caa 100644 --- a/ci/jobs-dev/run_post_3drtma_URSA.sh +++ b/ci/jobs-dev/run_post_3drtma_URSA.sh @@ -7,7 +7,9 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp -#SBATCH -N 8 --ntasks-per-node=12 +#SBATCH --exclusive +#SBATCH --ntasks 240 +#SBATCH --tasks-per-node 20 set -x diff --git a/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh b/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh index bb8e79259..938df0ebd 100644 --- a/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh @@ -7,7 +7,9 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp -#SBATCH -N 5 --ntasks-per-node=24 +#SBATCH --exclusive +#SBATCH --ntasks 200 +#SBATCH --tasks-per-node 20 set -x From 2f97013f7ecfe38e5a5e65396383ca9641f3678f Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Wed, 4 Jun 2025 15:37:00 +0000 Subject: [PATCH 05/22] all ci jobs are exclusive on ursa --- ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh | 1 + ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh | 1 + ci/jobs-dev/run_post_fv3gefs_URSA.sh | 1 + ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh | 1 + ci/jobs-dev/run_post_fv3gfs_URSA.sh | 1 + ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh | 1 + ci/jobs-dev/run_post_fv3hafs_URSA.sh | 1 + ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh | 1 + ci/jobs-dev/run_post_fv3r_URSA.sh | 1 + ci/jobs-dev/run_post_fv3r_ifi_URSA.sh | 1 + ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh | 1 + ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh | 1 + ci/jobs-dev/run_post_hrrr_URSA.sh | 1 + ci/jobs-dev/run_post_hrrr_ifi_URSA.sh | 1 + ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh | 1 + ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh | 1 + ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh | 1 + ci/jobs-dev/run_post_rap_URSA.sh | 1 + ci/jobs-dev/run_post_rap_pe_test_URSA.sh | 1 + 19 files changed, 19 insertions(+) diff --git a/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh b/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh index e371fb14e..24fa54a59 100644 --- a/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh +++ b/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh @@ -10,6 +10,7 @@ #SBATCH --partition bigmem #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive # specify computation resource export threads=40 diff --git a/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh b/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh index a499becf0..6c94dbdca 100644 --- a/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh +++ b/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh @@ -10,6 +10,7 @@ #SBATCH --partition bigmem #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive # specify computation resource export threads=40 diff --git a/ci/jobs-dev/run_post_fv3gefs_URSA.sh b/ci/jobs-dev/run_post_fv3gefs_URSA.sh index a960fa287..f8e83310e 100644 --- a/ci/jobs-dev/run_post_fv3gefs_URSA.sh +++ b/ci/jobs-dev/run_post_fv3gefs_URSA.sh @@ -9,6 +9,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive set -x diff --git a/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh index 5b2918c3b..346b0b44f 100644 --- a/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh @@ -9,6 +9,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive set -x diff --git a/ci/jobs-dev/run_post_fv3gfs_URSA.sh b/ci/jobs-dev/run_post_fv3gfs_URSA.sh index eee617de3..7578efee0 100644 --- a/ci/jobs-dev/run_post_fv3gfs_URSA.sh +++ b/ci/jobs-dev/run_post_fv3gfs_URSA.sh @@ -9,6 +9,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive set -x diff --git a/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh index 828a19c35..1b1a9c8ea 100644 --- a/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh @@ -9,6 +9,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive set -x diff --git a/ci/jobs-dev/run_post_fv3hafs_URSA.sh b/ci/jobs-dev/run_post_fv3hafs_URSA.sh index 351084831..ff0a8395e 100644 --- a/ci/jobs-dev/run_post_fv3hafs_URSA.sh +++ b/ci/jobs-dev/run_post_fv3hafs_URSA.sh @@ -8,6 +8,7 @@ #SBATCH --tasks-per-node 16 #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive set -x diff --git a/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh index 5292bc91e..20d713b23 100644 --- a/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh @@ -8,6 +8,7 @@ #SBATCH --tasks-per-node 16 #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive set -x diff --git a/ci/jobs-dev/run_post_fv3r_URSA.sh b/ci/jobs-dev/run_post_fv3r_URSA.sh index 84172d9af..b620744de 100644 --- a/ci/jobs-dev/run_post_fv3r_URSA.sh +++ b/ci/jobs-dev/run_post_fv3r_URSA.sh @@ -8,6 +8,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive set -x diff --git a/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh b/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh index 8dc6153b0..1bb9780c9 100644 --- a/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh +++ b/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh @@ -8,6 +8,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive # specify computation resource export threads=1 diff --git a/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh b/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh index df34472b8..2c67845d5 100644 --- a/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh +++ b/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh @@ -8,6 +8,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive # specify computation resource export threads=1 diff --git a/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh index 5b3f875ed..946b16d20 100644 --- a/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh @@ -8,6 +8,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive set -x diff --git a/ci/jobs-dev/run_post_hrrr_URSA.sh b/ci/jobs-dev/run_post_hrrr_URSA.sh index a6b15daf9..ab2bb498e 100644 --- a/ci/jobs-dev/run_post_hrrr_URSA.sh +++ b/ci/jobs-dev/run_post_hrrr_URSA.sh @@ -7,6 +7,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive #SBATCH -N 2 --ntasks-per-node=24 set -x diff --git a/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh b/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh index dd03e5b0c..dfb0b801f 100644 --- a/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh +++ b/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh @@ -7,6 +7,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive #SBATCH -N 2 --ntasks-per-node=24 # specify computation resource diff --git a/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh b/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh index 5949d987e..3f5d2481f 100644 --- a/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh @@ -7,6 +7,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive #SBATCH -N 3 --ntasks-per-node=24 set -x diff --git a/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh b/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh index 8595f2ea2..0f8b43e1f 100644 --- a/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh +++ b/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh @@ -8,6 +8,7 @@ #SBATCH -q batch #SBATCH -N 7 --ntasks-per-node=4 #SBATCH -A ovp +#SBATCH --exclusive set -x diff --git a/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh b/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh index eec73bbb8..bc86ab5cd 100644 --- a/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh @@ -8,6 +8,7 @@ #SBATCH -q batch #SBATCH -N 5 --ntasks-per-node=4 #SBATCH -A ovp +#SBATCH --exclusive set -x diff --git a/ci/jobs-dev/run_post_rap_URSA.sh b/ci/jobs-dev/run_post_rap_URSA.sh index 769cc6aa0..003937b1e 100644 --- a/ci/jobs-dev/run_post_rap_URSA.sh +++ b/ci/jobs-dev/run_post_rap_URSA.sh @@ -8,6 +8,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive set -x diff --git a/ci/jobs-dev/run_post_rap_pe_test_URSA.sh b/ci/jobs-dev/run_post_rap_pe_test_URSA.sh index 1b01089b3..b82a72423 100644 --- a/ci/jobs-dev/run_post_rap_pe_test_URSA.sh +++ b/ci/jobs-dev/run_post_rap_pe_test_URSA.sh @@ -7,6 +7,7 @@ ##SBATCH -q debug #SBATCH -q batch #SBATCH -A ovp +#SBATCH --exclusive #SBATCH -N 5 --ntasks-per-node=8 set -x From 5b6c63c994a65b775d5b5fc59054689b2e8e2259 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Wed, 4 Jun 2025 15:37:20 +0000 Subject: [PATCH 06/22] ursa older intel compiler modulefile --- modulefiles/ursa_intel.lua | 51 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 modulefiles/ursa_intel.lua diff --git a/modulefiles/ursa_intel.lua b/modulefiles/ursa_intel.lua new file mode 100644 index 000000000..c9820807b --- /dev/null +++ b/modulefiles/ursa_intel.lua @@ -0,0 +1,51 @@ +help([[ +Load environment to build UPP on ursa +]]) + +prepend_path("MODULEPATH", "/contrib/spack-stack/spack-stack-1.9.1/envs/ue-oneapi-2024.2.1/install/modulefiles/Core") +prepend_path("MODULEPATH", "/scratch4/NAGAPE/epic/role-epic/modulefiles") + +stack_oneapi_ver=os.getenv("stack_oneapi_ver") or "2024.2.1" +load(pathJoin("stack-oneapi", stack_oneapi_ver)) + +stack_impi_ver=os.getenv("stack_impi_ver") or "2021.13" +load(pathJoin("stack-intel-oneapi-mpi", stack_impi_ver)) + +cmake_ver=os.getenv("cmake_ver") or "3.27.9" +load(pathJoin("cmake", cmake_ver)) + +local ufs_modules = { + {["jasper"] = "2.0.32" }, + {["zlib"] = "1.2.13" }, + {["libpng"] = "1.6.37" }, + {["hdf5"] = "1.14.3" }, + {["netcdf-c"] = "4.9.2" }, + {["netcdf-fortran"] = "4.6.1" }, + {["bacio"] = "2.4.1" }, + {["crtm"] = "2.4.0.1"}, + {["g2"] = "3.5.1" }, + {["g2tmpl"] = "1.13.0" }, + {["ip"] = "5.1.0" }, + {["w3emc"] = "2.10.0" }, + {["nemsio"] = "2.5.4" }, + {["sigio"] = "2.3.3" }, + {["wrf-io"] = "1.2.0" }, +} + +for i = 1, #ufs_modules do + for name, default_version in pairs(ufs_modules[i]) do + local env_version_name = string.gsub(name, "-", "_") .. "_ver" + load(pathJoin(name, os.getenv(env_version_name) or default_version)) + end +end + +setenv("CC", "mpiicx") +setenv("CXX", "mpiicpx") +setenv("FC", "mpiifort") +setenv("I_MPI_CC", "icx") +setenv("I_MPI_CXX", "icpx") +setenv("I_MPI_FC", "ifort") +setenv("I_MPI_F77", "ifort") +setenv("I_MPI_F90", "ifort") + +whatis("Description: UFS build environment") From 8cb6595ef5782e12ed16657bea86e3936f379ac2 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Wed, 4 Jun 2025 15:37:42 +0000 Subject: [PATCH 07/22] put $compiler in runtime.log in rt.sh --- ci/rt.sh | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/ci/rt.sh b/ci/rt.sh index 38f01965e..f316d9fcf 100755 --- a/ci/rt.sh +++ b/ci/rt.sh @@ -125,9 +125,21 @@ elif [ $mac3 = herc ] ; then module load python/3.10.8 fi -if [[ "$compiler" == MISSING && "$machine" == URSA ]] ; then - echo "ERROR: Specify compiler when running rt.sh on Ursa." 1>&2 - echo "ERROR: Specify compiler: rt.sh [intel|intelllvm]" 1>&2 +if [[ "$compiler" == MISSING ]] ; then + if [[ "$machine" == URSA ]] ; then + set +uxe + echo "ERROR: Specify compiler when running rt.sh on Ursa." 1>&2 + echo "ERROR: Specify compiler: rt.sh [intel|intelllvm]" 1>&2 + exit 1 + else + compiler=intel + fi +fi + +if [[ "$machine" == URSA ]] ; then + runtime_log=$homedir/scripts/runtime.log.${machine}_${compiler} +else + runtime_log=$homedir/scripts/runtime.log.$machine fi #set working directory @@ -144,7 +156,6 @@ export logfile=`pwd`/rt.log.$machine if [ -f $logfile ] ; then rm -r $logfile fi -runtime_log=$homedir/scripts/runtime.log.$machine #build executable if [ "$build_exe" = "yes" ]; then From 6877e6c73d43aae1d5f54e309dd6b03fabbc23d5 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Wed, 4 Jun 2025 18:06:56 +0000 Subject: [PATCH 08/22] revert accidental change: upp_common.lua should have no _intel --- modulefiles/{upp_common_intel.lua => upp_common.lua} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename modulefiles/{upp_common_intel.lua => upp_common.lua} (100%) diff --git a/modulefiles/upp_common_intel.lua b/modulefiles/upp_common.lua similarity index 100% rename from modulefiles/upp_common_intel.lua rename to modulefiles/upp_common.lua From 051ecf7cc9786f2018816d7dac60327215264737 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Wed, 4 Jun 2025 19:04:05 +0000 Subject: [PATCH 09/22] put compiler name in rt.log filename --- ci/rt.sh | 21 ++++++++++--------- tests/logs/{rt.log.HERA => rt.log.HERA_intel} | 0 ...{rt.log.HERCULES => rt.log.HERCULES_intel} | 0 .../logs/{rt.log.ORION => rt.log.ORION_intel} | 0 4 files changed, 11 insertions(+), 10 deletions(-) rename tests/logs/{rt.log.HERA => rt.log.HERA_intel} (100%) rename tests/logs/{rt.log.HERCULES => rt.log.HERCULES_intel} (100%) rename tests/logs/{rt.log.ORION => rt.log.ORION_intel} (100%) diff --git a/ci/rt.sh b/ci/rt.sh index f316d9fcf..5da3d5820 100755 --- a/ci/rt.sh +++ b/ci/rt.sh @@ -152,7 +152,8 @@ export rundir="${rundir}/upp-${machine}" test -d "${rundir}" || mkdir -p "${rundir}" #set log file -export logfile=`pwd`/rt.log.$machine +export rt_log=rt.log.${machine}_${compiler} +export logfile=`pwd`/$rt_log if [ -f $logfile ] ; then rm -r $logfile fi @@ -360,7 +361,7 @@ DATE="$(date '+%Y%m%d %T')" cd ${test_v}/ci -cat << EOF > rt.log.${machine}.temp +cat << EOF > $rt_log.temp ===== Start of UPP Regression Testing Log ===== UPP Hash Tested: ${UPP_HASH} @@ -379,16 +380,16 @@ EOF if [ $some_failed = YES ] ; then - echo "Warning: some tests exited with non-zero. status" >> rt.log.${machine}.temp - echo >> rt.log.${machine}.temp + echo "Warning: some tests exited with non-zero. status" >> $rt_log.temp + echo >> $rt_log.temp fi -cat rt.log.${machine} | grep "test:" >> rt.log.${machine}.temp -cat rt.log.${machine} | grep "baseline" >> rt.log.${machine}.temp -python ${test_v}/ci/rt-status.py >> rt.log.${machine}.temp -echo "===== End of UPP Regression Testing Log =====" >> rt.log.${machine}.temp -mv rt.log.${machine}.temp rt.log.${machine} -mv rt.log.${machine} ${test_v}/tests/logs +cat "$rt_log" | grep "test:" >> $rt_log.temp +cat "$rt_log" | grep "baseline" >> $rt_log.temp +python ${test_v}/ci/rt-status.py >> $rt_log.temp +echo "===== End of UPP Regression Testing Log =====" >> $rt_log.temp +mv $rt_log.temp $rt_log +mv $rt_log ${test_v}/tests/logs # should indicate failure to Jenkins if [ $test_results -ne 0 ]; then diff --git a/tests/logs/rt.log.HERA b/tests/logs/rt.log.HERA_intel similarity index 100% rename from tests/logs/rt.log.HERA rename to tests/logs/rt.log.HERA_intel diff --git a/tests/logs/rt.log.HERCULES b/tests/logs/rt.log.HERCULES_intel similarity index 100% rename from tests/logs/rt.log.HERCULES rename to tests/logs/rt.log.HERCULES_intel diff --git a/tests/logs/rt.log.ORION b/tests/logs/rt.log.ORION_intel similarity index 100% rename from tests/logs/rt.log.ORION rename to tests/logs/rt.log.ORION_intel From 1ca8b34e927802798c93e80d4ccda551f794386e Mon Sep 17 00:00:00 2001 From: "samuel.trahan" Date: Wed, 4 Jun 2025 19:30:46 +0000 Subject: [PATCH 10/22] hera tests passed --- tests/logs/rt.log.HERA_intel | 120 +++++++++++++++++++---------------- 1 file changed, 64 insertions(+), 56 deletions(-) diff --git a/tests/logs/rt.log.HERA_intel b/tests/logs/rt.log.HERA_intel index 4d40dd47e..6d6eb27ea 100644 --- a/tests/logs/rt.log.HERA_intel +++ b/tests/logs/rt.log.HERA_intel @@ -1,69 +1,77 @@ ===== Start of UPP Regression Testing Log ===== UPP Hash Tested: -3e89d51c20108c29943fa7183eb17d99815a1012 +051ecf7cc9786f2018816d7dac60327215264737 Submodule hashes: -179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd -3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd -Run directory: /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1220/ci/rundir/upp-HERA +Run directory: /scratch1/NCEPDEV/stmp2/Samuel.Trahan/upp-HERA Baseline directory: /scratch2/NAGAPE/epic/UPP/test_suite -Total runtime: 00h:10m:36s -Test Date: 20250602 03:16:29 +Total runtime: 00h:15m:02s +Test Date: 20250604 19:29:50 Summary Results: -06/02 03:09:06Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk -06/02 03:09:16Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk -06/02 03:09:16Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk -06/02 03:09:19Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk -06/02 03:09:20Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk -06/02 03:09:51Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk -06/02 03:09:52Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk -06/02 03:10:04Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk -06/02 03:10:06Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk -06/02 03:10:07Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk -06/02 03:10:07Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16 -06/02 03:10:08Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk -06/02 03:10:09Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk -06/02 03:10:10Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk -06/02 03:10:10Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk -06/02 03:10:16Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk -06/02 03:10:21Z -rtma pe test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk -06/02 03:10:21Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk -06/02 03:10:23Z -rtma pe test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk -06/02 03:10:24Z -fv3r pe test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk -06/02 03:10:28Z -rtma test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk -06/02 03:10:29Z -fv3r pe test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk -06/02 03:10:32Z -rtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk -06/02 03:10:48Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk -06/02 03:10:49Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk -06/02 03:10:51Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk -06/02 03:11:15Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk -06/02 03:11:16Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk -06/02 03:11:18Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk -06/02 03:15:28Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk -06/02 03:15:31Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk -06/02 03:15:31Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk -06/02 03:16:13Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk -06/02 03:16:16Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk -06/02 03:16:16Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk -06/02 03:10:25Z -Runtime: nmmb_test 00:01:30 -- baseline 00:01:00 -06/02 03:10:25Z -Runtime: nmmb_pe_test 00:01:27 -- baseline 00:01:00 -06/02 03:10:25Z -Runtime: fv3gefs_test 00:00:36 -- baseline 00:40:00 -06/02 03:10:26Z -Runtime: fv3gefs_pe_test 00:00:36 -- baseline 00:40:00 -06/02 03:10:26Z -Runtime: rap_test 00:01:12 -- baseline 00:02:00 -06/02 03:10:26Z -Runtime: rap_pe_test 00:01:28 -- baseline 00:02:00 -06/02 03:11:26Z -Runtime: hrrr_test 00:02:38 -- baseline 00:02:00 -06/02 03:11:26Z -Runtime: hrrr_pe_test 00:02:11 -- baseline 00:02:00 -06/02 03:15:43Z -Runtime: fv3gfs_test 00:06:51 -- baseline 00:15:00 -06/02 03:16:28Z -Runtime: fv3gfs_pe_test 00:07:36 -- baseline 00:15:00 -06/02 03:16:28Z -Runtime: fv3r_test 00:01:41 -- baseline 00:03:00 -06/02 03:16:28Z -Runtime: fv3r_pe_test 00:01:49 -- baseline 00:03:00 -06/02 03:16:29Z -Runtime: fv3r_ifi_missing 00:00:26 -- baseline 00:03:00 -06/02 03:16:29Z -Runtime: fv3hafs_test 00:00:39 -- baseline 00:03:00 -06/02 03:16:29Z -Runtime: fv3hafs_pe_test 00:00:40 -- baseline 00:03:00 -06/02 03:16:29Z -Runtime: rtma_test 00:01:52 -- baseline 00:03:00 -06/02 03:16:29Z -Runtime: rtma_pe_test 00:01:44 -- baseline 00:03:00 +06/04 19:22:15Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk +06/04 19:22:15Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk +06/04 19:22:18Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk +06/04 19:22:25Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk +06/04 19:22:32Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk +06/04 19:22:58Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk +06/04 19:23:02Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk +06/04 19:23:11Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk +06/04 19:23:13Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk +06/04 19:23:14Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk +06/04 19:23:15Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk +06/04 19:23:17Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16 +06/04 19:23:17Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk +06/04 19:23:18Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk +06/04 19:23:18Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk +06/04 19:23:30Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk +06/04 19:23:35Z -fv3r pe test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk +06/04 19:23:35Z -rtma pe test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk +06/04 19:23:36Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk +06/04 19:23:39Z -rtma pe test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk +06/04 19:23:41Z -fv3r pe test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk +06/04 19:23:41Z -rtma test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk +06/04 19:23:44Z -rtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk +06/04 19:23:56Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk +06/04 19:23:58Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk +06/04 19:24:00Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk +06/04 19:24:21Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk +06/04 19:24:23Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk +06/04 19:24:25Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk +06/04 19:24:41Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk +06/04 19:25:12Z -hrrr_ifi test: your new post executable generates bit-identical IFIFIP.GrbF04 as the trunk +06/04 19:27:58Z -ifi standalone_fv3r test: Passed. libIFI standalone program and IFI in UPP produce identical results +06/04 19:28:23Z -ifi standalone_fv3r test: Passed. libIFI standalone program and IFI in UPP produce identical results +06/04 19:28:57Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk +06/04 19:29:00Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk +06/04 19:29:00Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk +06/04 19:29:41Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk +06/04 19:29:44Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk +06/04 19:29:44Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk +06/04 19:25:25Z -Runtime: hrrr_ifi_test 00:03:22 -- baseline 00:05:00 +06/04 19:28:31Z -Runtime: ifi_standalone_hrrr_test 00:03:07 -- baseline +06/04 19:28:31Z -Runtime: fv3r_ifi_test 00:02:50 -- baseline 00:05:00 +06/04 19:28:31Z -Runtime: ifi_standalone_fv3r_test 00:03:15 -- baseline 00:05:00 +06/04 19:28:31Z -Runtime: nmmb_test 00:01:20 -- baseline 00:01:00 +06/04 19:28:32Z -Runtime: nmmb_pe_test 00:01:23 -- baseline 00:01:00 +06/04 19:28:32Z -Runtime: fv3gefs_test 00:00:24 -- baseline 00:40:00 +06/04 19:28:32Z -Runtime: fv3gefs_pe_test 00:00:24 -- baseline 00:40:00 +06/04 19:28:32Z -Runtime: rap_test 00:01:11 -- baseline 00:02:00 +06/04 19:28:32Z -Runtime: rap_pe_test 00:01:27 -- baseline 00:02:00 +06/04 19:28:33Z -Runtime: hrrr_test 00:02:34 -- baseline 00:02:00 +06/04 19:28:33Z -Runtime: hrrr_pe_test 00:02:09 -- baseline 00:02:00 +06/04 19:29:03Z -Runtime: fv3gfs_test 00:07:09 -- baseline 00:15:00 +06/04 19:29:49Z -Runtime: fv3gfs_pe_test 00:07:53 -- baseline 00:15:00 +06/04 19:29:49Z -Runtime: fv3r_test 00:01:45 -- baseline 00:03:00 +06/04 19:29:49Z -Runtime: fv3r_pe_test 00:01:50 -- baseline 00:03:00 +06/04 19:29:49Z -Runtime: fv3r_ifi_missing 00:00:27 -- baseline 00:03:00 +06/04 19:29:50Z -Runtime: fv3hafs_test 00:00:34 -- baseline 00:03:00 +06/04 19:29:50Z -Runtime: fv3hafs_pe_test 00:00:41 -- baseline 00:03:00 +06/04 19:29:50Z -Runtime: rtma_test 00:01:53 -- baseline 00:03:00 +06/04 19:29:50Z -Runtime: rtma_pe_test 00:01:48 -- baseline 00:03:00 No changes in test results detected. ===== End of UPP Regression Testing Log ===== From bbe181db97efc7b96290eb271458276a4729975f Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Wed, 4 Jun 2025 19:36:32 +0000 Subject: [PATCH 11/22] ursa tests passed --- tests/logs/rt.log.URSA_intel | 69 +++++++++++++++++++++++++++++++ tests/logs/rt.log.URSA_intelllvm | 70 ++++++++++++++++++++++++++++++++ 2 files changed, 139 insertions(+) create mode 100644 tests/logs/rt.log.URSA_intel create mode 100644 tests/logs/rt.log.URSA_intelllvm diff --git a/tests/logs/rt.log.URSA_intel b/tests/logs/rt.log.URSA_intel new file mode 100644 index 000000000..ad83a7d2c --- /dev/null +++ b/tests/logs/rt.log.URSA_intel @@ -0,0 +1,69 @@ +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +051ecf7cc9786f2018816d7dac60327215264737 + +Submodule hashes: +-179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd +-3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd + +Run directory: /scratch3/BMC/wrfruc/Samuel.Trahan/scrub/upp-URSA +Baseline directory: /scratch3/BMC/wrfruc/Samuel.Trahan/upp-ursa/test_suite + +Total runtime: 00h:05m:57s +Test Date: 20250604 19:36:13 +Summary Results: + +06/04 19:32:17Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk +06/04 19:32:25Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk +06/04 19:32:27Z -rtma test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk +06/04 19:32:28Z -rtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk +06/04 19:32:39Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk +06/04 19:32:39Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk +06/04 19:32:39Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk +06/04 19:32:49Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk +06/04 19:33:02Z -rtma pe test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk +06/04 19:33:04Z -rtma pe test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk +06/04 19:33:06Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk +06/04 19:33:06Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk +06/04 19:33:07Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk +06/04 19:33:18Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk +06/04 19:33:18Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk +06/04 19:33:19Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk +06/04 19:33:19Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk +06/04 19:33:19Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk +06/04 19:33:20Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk +06/04 19:33:23Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk +06/04 19:33:26Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk +06/04 19:33:29Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk +06/04 19:33:29Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk +06/04 19:33:29Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk +06/04 19:33:41Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16 +06/04 19:33:42Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk +06/04 19:33:42Z -fv3r pe test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk +06/04 19:33:45Z -fv3r pe test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk +06/04 19:33:51Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk +06/04 19:35:14Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk +06/04 19:35:14Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk +06/04 19:35:14Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk +06/04 19:35:57Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk +06/04 19:35:58Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk +06/04 19:35:58Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk +06/04 19:33:36Z -Runtime: nmmb_test 00:00:20 -- baseline 00:01:00 +06/04 19:33:36Z -Runtime: nmmb_pe_test 00:00:24 -- baseline 00:01:00 +06/04 19:33:36Z -Runtime: fv3gefs_test 00:00:08 -- baseline 00:02:00 +06/04 19:33:36Z -Runtime: fv3gefs_pe_test 00:00:07 -- baseline 00:02:00 +06/04 19:33:36Z -Runtime: rap_test 00:00:36 -- baseline 00:02:00 +06/04 19:33:55Z -Runtime: rap_pe_test 00:00:47 -- baseline 00:02:00 +06/04 19:33:55Z -Runtime: hrrr_test 00:01:26 -- baseline 00:04:00 +06/04 19:33:55Z -Runtime: hrrr_pe_test 00:01:13 -- baseline 00:03:00 +06/04 19:36:12Z -Runtime: fv3gfs_test 00:03:40 -- baseline 00:15:00 +06/04 19:36:13Z -Runtime: fv3gfs_pe_test 00:03:20 -- baseline 00:15:00 +06/04 19:36:13Z -Runtime: fv3r_test 00:00:55 -- baseline 00:03:00 +06/04 19:36:13Z -Runtime: fv3r_pe_test 00:00:59 -- baseline 00:03:00 +06/04 19:36:13Z -Runtime: fv3r_ifi_missing 00:00:06 -- baseline 00:03:00 +06/04 19:36:13Z -Runtime: fv3hafs_test 00:00:23 -- baseline 00:03:00 +06/04 19:36:13Z -Runtime: fv3hafs_pe_test 00:00:20 -- baseline 00:03:00 +06/04 19:36:13Z -Runtime: rtma_test 00:00:34 -- baseline 00:03:00 +06/04 19:36:13Z -Runtime: rtma_pe_test 00:00:36 -- baseline 00:03:00 +No changes in test results detected. +===== End of UPP Regression Testing Log ===== diff --git a/tests/logs/rt.log.URSA_intelllvm b/tests/logs/rt.log.URSA_intelllvm new file mode 100644 index 000000000..d374c621e --- /dev/null +++ b/tests/logs/rt.log.URSA_intelllvm @@ -0,0 +1,70 @@ +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +051ecf7cc9786f2018816d7dac60327215264737 + +Submodule hashes: +-179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd +-3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd + +Run directory: /scratch3/BMC/wrfruc/Samuel.Trahan/scrub/upp-URSA +Baseline directory: /scratch3/BMC/wrfruc/Samuel.Trahan/upp-ursa/test_suite + +Total runtime: 00h:04m:27s +Test Date: 20250604 19:27:49 +Summary Results: + +06/04 19:24:37Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk +06/04 19:24:37Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk +06/04 19:24:45Z -rtma test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk +06/04 19:24:45Z -fv3gefs pe test: your new post executable did not generate bit-identical geaer.t00z.master.grb2f060 as the trunk +06/04 19:24:46Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk +06/04 19:24:46Z -rtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk +06/04 19:24:51Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk +06/04 19:25:05Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk +06/04 19:25:06Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk +06/04 19:25:06Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk +06/04 19:25:06Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk +06/04 19:25:07Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk +06/04 19:25:09Z -rtma pe test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk +06/04 19:25:10Z -rtma pe test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk +06/04 19:25:11Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk +06/04 19:25:12Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk +06/04 19:25:12Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk +06/04 19:25:14Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk +06/04 19:25:14Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk +06/04 19:25:15Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk +06/04 19:25:23Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk +06/04 19:25:24Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16 +06/04 19:25:24Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk +06/04 19:25:24Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk +06/04 19:25:25Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk +06/04 19:25:25Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk +06/04 19:25:27Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk +06/04 19:25:37Z -fv3r pe test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk +06/04 19:25:39Z -fv3r pe test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk +06/04 19:27:30Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk +06/04 19:27:31Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk +06/04 19:27:31Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk +06/04 19:27:34Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk +06/04 19:27:35Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk +06/04 19:27:35Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk +06/04 19:25:11Z -Runtime: nmmb_test 00:00:19 -- baseline 00:01:00 +06/04 19:25:26Z -Runtime: nmmb_pe_test 00:00:20 -- baseline 00:01:00 +06/04 19:25:26Z -Runtime: fv3gefs_test 00:00:09 -- baseline 00:02:00 +06/04 19:25:26Z -Runtime: fv3gefs_pe_test 00:00:08 -- baseline 00:02:00 +06/04 19:25:26Z -Runtime: rap_test 00:00:29 -- baseline 00:02:00 +06/04 19:25:26Z -Runtime: rap_pe_test 00:00:38 -- baseline 00:02:00 +06/04 19:25:26Z -Runtime: hrrr_test 00:01:10 -- baseline 00:04:00 +06/04 19:25:26Z -Runtime: hrrr_pe_test 00:01:03 -- baseline 00:03:00 +06/04 19:27:44Z -Runtime: fv3gfs_test 00:03:23 -- baseline 00:15:00 +06/04 19:27:45Z -Runtime: fv3gfs_pe_test 00:03:19 -- baseline 00:15:00 +06/04 19:27:47Z -Runtime: fv3r_test 00:00:50 -- baseline 00:03:00 +06/04 19:27:48Z -Runtime: fv3r_pe_test 00:00:53 -- baseline 00:03:00 +06/04 19:27:48Z -Runtime: fv3r_ifi_missing 00:00:05 -- baseline 00:03:00 +06/04 19:27:48Z -Runtime: fv3hafs_test 00:00:25 -- baseline 00:03:00 +06/04 19:27:48Z -Runtime: fv3hafs_pe_test 00:00:25 -- baseline 00:03:00 +06/04 19:27:49Z -Runtime: rtma_test 00:00:34 -- baseline 00:03:00 +06/04 19:27:49Z -Runtime: rtma_pe_test 00:00:33 -- baseline 00:03:00 +There are changes in results for case fv3gefs_pe_test in /scratch3/BMC/wrfruc/Samuel.Trahan/scrub/upp-URSA/fv3gefs_2022042400_pe_test/geaer.t00z.master.grb2f060 +Refer to .diff files in rundir: /scratch3/BMC/wrfruc/Samuel.Trahan/scrub/upp-URSA for details on differences in results for each case. +===== End of UPP Regression Testing Log ===== From 151b98ccebbb80e451c2c0ac2dc112616cdd757a Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Fri, 6 Jun 2025 14:45:44 +0000 Subject: [PATCH 12/22] revert to develop for ci --- ci/check_runtime.sh | 96 +++++ ci/check_runtime_WCOSS2.sh | 102 ++++++ ci/jobs-dev/run_ifi_standalone_fv3r_HERA.sh | 2 +- ci/jobs-dev/run_ifi_standalone_hrrr_HERA.sh | 2 +- ci/jobs-dev/run_post_3drtma_HERA.sh | 23 +- ci/jobs-dev/run_post_3drtma_HERCULES.sh | 23 +- ci/jobs-dev/run_post_3drtma_ORION.sh | 23 +- ci/jobs-dev/run_post_3drtma_WCOSS2.sh | 141 ++++++++ ci/jobs-dev/run_post_fv3gefs_HERA.sh | 10 +- ci/jobs-dev/run_post_fv3gefs_HERCULES.sh | 10 +- ci/jobs-dev/run_post_fv3gefs_ORION.sh | 10 +- ci/jobs-dev/run_post_fv3gefs_WCOSS2.sh | 132 +++++++ ci/jobs-dev/run_post_fv3gfs_HERA.sh | 6 +- ci/jobs-dev/run_post_fv3gfs_HERCULES.sh | 6 +- ci/jobs-dev/run_post_fv3gfs_ORION.sh | 6 +- ci/jobs-dev/run_post_fv3gfs_WCOSS2.sh | 163 +++++++++ ci/jobs-dev/run_post_fv3hafs_HERA.sh | 10 +- ci/jobs-dev/run_post_fv3hafs_HERCULES.sh | 10 +- ci/jobs-dev/run_post_fv3hafs_ORION.sh | 10 +- ci/jobs-dev/run_post_fv3hafs_WCOSS2.sh | 118 +++++++ ci/jobs-dev/run_post_fv3r_HERA.sh | 6 +- ci/jobs-dev/run_post_fv3r_HERCULES.sh | 6 +- ci/jobs-dev/run_post_fv3r_ORION.sh | 6 +- ci/jobs-dev/run_post_fv3r_WCOSS2.sh | 136 ++++++++ ci/jobs-dev/run_post_fv3r_ifi_HERA.sh | 6 +- ci/jobs-dev/run_post_fv3r_ifi_WCOSS2.sh | 126 +++++++ ci/jobs-dev/run_post_fv3r_ifi_missing_HERA.sh | 8 +- .../run_post_fv3r_ifi_missing_HERCULES.sh | 8 +- .../run_post_fv3r_ifi_missing_ORION.sh | 8 +- .../run_post_fv3r_ifi_missing_WCOSS2.sh | 126 +++++++ ci/jobs-dev/run_post_hrrr_HERA.sh | 6 +- ci/jobs-dev/run_post_hrrr_HERCULES.sh | 6 +- ci/jobs-dev/run_post_hrrr_ORION.sh | 6 +- ci/jobs-dev/run_post_hrrr_WCOSS2.sh | 123 +++++++ ci/jobs-dev/run_post_hrrr_ifi_HERA.sh | 6 +- ci/jobs-dev/run_post_hrrr_ifi_WCOSS2.sh | 122 +++++++ ci/jobs-dev/run_post_nmmb_HERA.sh | 143 ++++++++ ci/jobs-dev/run_post_nmmb_HERCULES.sh | 140 ++++++++ ci/jobs-dev/run_post_nmmb_ORION.sh | 139 ++++++++ ci/jobs-dev/run_post_nmmb_WCOSS2.sh | 133 +++++++ ci/jobs-dev/run_post_rap_HERA.sh | 6 +- ci/jobs-dev/run_post_rap_HERCULES.sh | 6 +- ci/jobs-dev/run_post_rap_ORION.sh | 6 +- ci/jobs-dev/run_post_rap_WCOSS2.sh | 122 +++++++ ci/rt-status.py | 24 +- ci/rt.sh | 327 +++--------------- ci/runtime.log.HERA | 13 + ci/runtime.log.HERCULES | 9 + ci/runtime.log.ORION | 9 + ci/runtime.log.WCOSS2 | 11 + ci/submit_jobs.sh | 36 ++ ci/submit_jobs_WCOSS2.sh | 28 ++ 52 files changed, 2356 insertions(+), 404 deletions(-) create mode 100755 ci/check_runtime.sh create mode 100755 ci/check_runtime_WCOSS2.sh create mode 100755 ci/jobs-dev/run_post_3drtma_WCOSS2.sh create mode 100755 ci/jobs-dev/run_post_fv3gefs_WCOSS2.sh create mode 100755 ci/jobs-dev/run_post_fv3gfs_WCOSS2.sh create mode 100755 ci/jobs-dev/run_post_fv3hafs_WCOSS2.sh create mode 100755 ci/jobs-dev/run_post_fv3r_WCOSS2.sh create mode 100755 ci/jobs-dev/run_post_fv3r_ifi_WCOSS2.sh create mode 100755 ci/jobs-dev/run_post_fv3r_ifi_missing_WCOSS2.sh create mode 100755 ci/jobs-dev/run_post_hrrr_WCOSS2.sh create mode 100755 ci/jobs-dev/run_post_hrrr_ifi_WCOSS2.sh create mode 100755 ci/jobs-dev/run_post_nmmb_HERA.sh create mode 100755 ci/jobs-dev/run_post_nmmb_HERCULES.sh create mode 100755 ci/jobs-dev/run_post_nmmb_ORION.sh create mode 100755 ci/jobs-dev/run_post_nmmb_WCOSS2.sh create mode 100755 ci/jobs-dev/run_post_rap_WCOSS2.sh create mode 100644 ci/runtime.log.HERA create mode 100644 ci/runtime.log.HERCULES create mode 100644 ci/runtime.log.ORION create mode 100644 ci/runtime.log.WCOSS2 create mode 100755 ci/submit_jobs.sh create mode 100755 ci/submit_jobs_WCOSS2.sh diff --git a/ci/check_runtime.sh b/ci/check_runtime.sh new file mode 100755 index 000000000..184f5bc92 --- /dev/null +++ b/ci/check_runtime.sh @@ -0,0 +1,96 @@ +#!/bin/bash +########################################################################## +# This script is used to retrive runtime on R&D machines. +# Wen Meng, 05/2025, First version. +########################################################################## + +#get runtime for each test +export some_failed="NO" +sleep 30 +for job_id in $jobid_list; do + ic=1 + sleep_loop_max=300 + while [ $ic -le $sleep_loop_max ]; do + status=$(sacct --parsable -j "$job_id" --format=jobid,jobname,elapsed,state | awk -F"|" 'FNR == 2 {print $4}') + + if [ "$status" = "COMPLETED" ]; then + break + elif ( echo "$status" | grep -E 'FAIL|TIMEOUT|CANCEL|DEAD|SIGNAL|SPECIAL' > /dev/null ) ; then + some_failed="YES" + echo "? Job $job_id failed with status: $status" + break + else + ((ic++)) + sleep 15 + fi + done + + if [ $ic -lt $sleep_loop_max ]; then + + info=$(sacct --parsable -j "$job_id" --format=jobid,jobname,elapsed,state | awk -F"|" 'FNR == 2') + runtime_fmt=$(echo "$info" | cut -d"|" -f3) + jobname=$(echo "$info" | cut -d"|" -f2) + + runtime_b=$(grep "^${jobname}" "${runtime_log}" | awk '{print $2}') + printf "%-10s %-16s %-10s %s\n" "$runtime_fmt" "$jobname" "baseline:" "$runtime_b" + msg="Runtime: $jobname $runtime_fmt -- baseline ${runtime_b}" + postmsg "$logfile" "$msg" + fi +done + +elapsed_time=$( printf '%02dh:%02dm:%02ds\n' $((SECONDS%86400/3600)) $((SECONDS%3600/60)) $((SECONDS%60)) ) + +python ${test_v}/ci/rt-status.py +test_results=$? + +if [ "$some_failed" = "YES" ] ; then + test_results=99 + echo WARNING: some tests exited with non-zero status. +fi + +# Cleanup rt log +cd ${test_v} + +UPP_HASH=$(git rev-parse HEAD) +SUBMODULE_HASHES=$(git submodule status --recursive) +DATE="$(date '+%Y%m%d %T')" + +cd ${test_v}/ci + +cat << EOF > rt.log.${machine}.temp +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +${UPP_HASH} + +Submodule hashes: +${SUBMODULE_HASHES} + +Run directory: ${rundir} +Baseline directory: ${homedir} + +Total runtime: ${elapsed_time} +Test Date: ${DATE} +Summary Results: + +EOF + +if [ "$some_failed" = "YES" ] ; then + echo "Warning: some tests exited with non-zero. status" >> rt.log.${machine}.temp + echo >> rt.log.${machine}.temp +fi + +cat rt.log.${machine} | grep "test:" >> rt.log.${machine}.temp +cat rt.log.${machine} | grep "baseline" >> rt.log.${machine}.temp +python ${test_v}/ci/rt-status.py >> rt.log.${machine}.temp +echo "===== End of UPP Regression Testing Log =====" >> rt.log.${machine}.temp +mv rt.log.${machine}.temp rt.log.${machine} +mv rt.log.${machine} ${test_v}/tests/logs + +# should indicate failure to Jenkins +if [ $test_results -ne 0 ]; then + python ${test_v}/ci/rt-status.py > changed_results.txt + if [ "$some_failed" = "YES" ]; then + echo "Warning: some tests exited with non-zero status." >> changed_results.txt + fi + exit 1 +fi diff --git a/ci/check_runtime_WCOSS2.sh b/ci/check_runtime_WCOSS2.sh new file mode 100755 index 000000000..9fd260529 --- /dev/null +++ b/ci/check_runtime_WCOSS2.sh @@ -0,0 +1,102 @@ +#!/bin/bash +########################################################################## +# This script is used to retrive runtime on WCOSS2 +# Wen Meng, 05/2025, First version. +########################################################################## + +#get runtime for each test +export some_failed="NO" +sleep 30 +for job_id in $jobid_list; do + ic=1 + sleep_loop_max=300 + while [ $ic -le $sleep_loop_max ]; do + status=$(qstat -x "$job_id" | awk 'FNR == 3 {print $5}') + if [ "$status" = "F" ]; then + break + #elif [ "$status" = "E" ]; then + # export some_failed="YES" + # jobname=`qstat -x ${job_id} | awk 'FNR == 3' | awk '{print $2}'` + # echo "Test $jobname ${job_id} failed $status" + # break + else + ((ic++)) + sleep 15 + fi + done + + if [ $ic -lt $sleep_loop_max ]; then + + stime=$(qstat -xf "$job_id" | awk -F '=' '/stime/ {gsub(/^ +| +$/, "", $2); print $2}') + etime=$(qstat -xf "$job_id" | awk -F '=' '/mtime/ {gsub(/^ +| +$/, "", $2); print $2}') + + stime_sec=$(date -d "$stime" +%s) + etime_sec=$(date -d "$etime" +%s) + runtime_sec=$((etime_sec - stime_sec)) + runtime_fmt=$(date -u -d @"$runtime_sec" +%H:%M:%S) + + jobname=$(qstat -x "$job_id" | awk 'FNR == 3 {print $2}') + runtime_b=$(grep "$jobname" "$runtime_log" | awk '{print $2}') + + printf "%-10s %-16s %-10s %s\n" "$runtime_fmt" "$jobname" "baseline:" "$runtime_b" + msg="Runtime: $jobname $runtime_fmt -- baseline ${runtime_b}" + postmsg "$logfile" "$msg" + fi +done + +elapsed_time=$( printf '%02dh:%02dm:%02ds\n' $((SECONDS%86400/3600)) $((SECONDS%3600/60)) $((SECONDS%60)) ) + +python ${test_v}/ci/rt-status.py +test_results=$? + +if [ "$some_failed" = "YES" ] ; then + test_results=99 + echo WARNING: some tests exited with non-zero status. +fi + +# Cleanup rt log +cd ${test_v} + +UPP_HASH=$(git rev-parse HEAD) +SUBMODULE_HASHES=$(git submodule status --recursive) +DATE="$(date '+%Y%m%d %T')" + +cd ${test_v}/ci + +cat << EOF > rt.log.${machine}.temp +===== Start of UPP Regression Testing Log ===== +UPP Hash Tested: +${UPP_HASH} + +Submodule hashes: +${SUBMODULE_HASHES} + +Run directory: ${rundir} +Baseline directory: ${homedir} + +Total runtime: ${elapsed_time} +Test Date: ${DATE} +Summary Results: + +EOF + +if [ $some_failed = YES ] ; then + echo "Warning: some tests exited with non-zero. status" >> rt.log.${machine}.temp + echo >> rt.log.${machine}.temp +fi + +cat rt.log.${machine} | grep "test:" >> rt.log.${machine}.temp +cat rt.log.${machine} | grep "baseline" >> rt.log.${machine}.temp +python ${test_v}/ci/rt-status.py >> rt.log.${machine}.temp +echo "===== End of UPP Regression Testing Log =====" >> rt.log.${machine}.temp +mv rt.log.${machine}.temp rt.log.${machine} +mv rt.log.${machine} ${test_v}/tests/logs + +# should indicate failure to Jenkins +if [ $test_results -ne 0 ]; then + python ${test_v}/ci/rt-status.py > changed_results.txt + if [ "$some_failed" = "YES" ]; then + echo "Warning: some tests exited with non-zero status." >> changed_results.txt + fi + exit 1 +fi diff --git a/ci/jobs-dev/run_ifi_standalone_fv3r_HERA.sh b/ci/jobs-dev/run_ifi_standalone_fv3r_HERA.sh index b0ededa5f..e050bcb92 100755 --- a/ci/jobs-dev/run_ifi_standalone_fv3r_HERA.sh +++ b/ci/jobs-dev/run_ifi_standalone_fv3r_HERA.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.ifi_standalone_fv3r #SBATCH -e out.post.ifi_standalone_fv3r diff --git a/ci/jobs-dev/run_ifi_standalone_hrrr_HERA.sh b/ci/jobs-dev/run_ifi_standalone_hrrr_HERA.sh index 5d19a1647..cfaff39eb 100755 --- a/ci/jobs-dev/run_ifi_standalone_hrrr_HERA.sh +++ b/ci/jobs-dev/run_ifi_standalone_hrrr_HERA.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.ifi_standalone_hrrr #SBATCH -e out.post.ifi_standalone_hrrr diff --git a/ci/jobs-dev/run_post_3drtma_HERA.sh b/ci/jobs-dev/run_post_3drtma_HERA.sh index a512371bd..fda12896a 100755 --- a/ci/jobs-dev/run_post_3drtma_HERA.sh +++ b/ci/jobs-dev/run_post_3drtma_HERA.sh @@ -1,8 +1,8 @@ -#!/bin/sh +#!/bin/bash -#SBATCH -o out.post.rtma -#SBATCH -e out.post.rtma -#SBATCH -J rtma_test +#SBATCH -o out.post.3drtma +#SBATCH -e out.post.3drtma +#SBATCH -J 3drtma_test #SBATCH -t 00:20:00 ##SBATCH -q debug #SBATCH -q batch @@ -37,7 +37,7 @@ module load prod_util/2.1.1 module load crtm/2.4.0.1 module list -msg="Starting rtma test" +msg="Starting 3drtma test" postmsg "$logfile" "$msg" export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new @@ -49,7 +49,7 @@ export POSTGPEXEC=${svndir}/exec/upp.x export startdate=2023040400 export fhr=000 export tmmark=tm00 -export DATA=$rundir/rtma_${startdate} +export DATA=$rundir/3drtma_${startdate} export NEWDATE=$startdate @@ -106,7 +106,7 @@ done #$APRUN ${POSTGPEXEC} > wrfpost2.out ${APRUN} ${POSTGPEXEC} < itag > wrfpost2.out -# operational rtma post processing generates 2 files +# operational 3drtma post processing generates 2 files filelist="NATLEV00.tm00 \ PRSLEV00.tm00" @@ -117,17 +117,16 @@ export err=$? if [ $err = "0" ] ; then - # operational rtma post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one cmp ${filein2} $homedir/data_out/3drtma/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="rtma test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="3drtma test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="rtma test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="3drtma test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" @@ -137,7 +136,7 @@ if [ $err = "0" ] ; then else - msg="rtma test: post failed using your new post executable to generate ${filein2}" + msg="3drtma test: post failed using your new post executable to generate ${filein2}" echo $msg 2>&1 | tee -a TEST_ERROR fi @@ -145,7 +144,7 @@ postmsg "$logfile" "$msg" done echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending rtma test" +msg="Ending 3drtma test" postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_3drtma_HERCULES.sh b/ci/jobs-dev/run_post_3drtma_HERCULES.sh index d11360c4c..a01fc11d6 100755 --- a/ci/jobs-dev/run_post_3drtma_HERCULES.sh +++ b/ci/jobs-dev/run_post_3drtma_HERCULES.sh @@ -1,8 +1,8 @@ -#!/bin/sh +#!/bin/bash -#SBATCH -o out.post.rtma -#SBATCH -e out.post.rtma -#SBATCH -J rtma_test +#SBATCH -o out.post.3drtma +#SBATCH -e out.post.3drtma +#SBATCH -J 3drtma_test #SBATCH -t 00:30:00 #SBATCH -N 5 --ntasks-per-node=12 #SBATCH -q batch @@ -39,7 +39,7 @@ export WGRIB2=wgrib2 export COMROOT=$rundir #export CRTM_FIX=/apps/contrib/NCEPLIBS/orion/fix/crtm_v2.3.0 -msg="Starting rtma test" +msg="Starting 3drtma test" postmsg "$logfile" "$msg" export cmp_grib2_grib2=/home/wmeng/bin/cmp_grib2_grib2_new @@ -51,7 +51,7 @@ export POSTGPEXEC=${svndir}/exec/upp.x export startdate=2023040400 export fhr=000 export tmmark=tm00 -export DATA=$rundir/rtma_${startdate} +export DATA=$rundir/3drtma_${startdate} export NEWDATE=$startdate @@ -110,7 +110,7 @@ cp ${svndir}/fix/nam_micro_lookup.dat eta_micro_lookup.dat ${APRUN} ${POSTGPEXEC} < itag > wrfpost2.out -# operational rtma post processing generates 2 files +# operational 3drtma post processing generates 2 files filelist="NATLEV00.tm00 \ PRSLEV00.tm00" @@ -121,17 +121,16 @@ export err=$? if [ $err = "0" ] ; then - # operational rtma post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one cmp ${filein2} $homedir/data_out/3drtma/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="rtma test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="3drtma test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="rtma test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="3drtma test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg $cmp_grib2_grib2 $homedir/data_out/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff fi @@ -139,7 +138,7 @@ if [ $err = "0" ] ; then else - msg="rtma test: post failed using your new post executable to generate ${filein2}" + msg="3drtma test: post failed using your new post executable to generate ${filein2}" echo $msg 2>&1 | tee -a TEST_ERROR fi @@ -147,7 +146,7 @@ postmsg "$logfile" "$msg" done echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending rtma test" +msg="Ending 3drtma test" postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_3drtma_ORION.sh b/ci/jobs-dev/run_post_3drtma_ORION.sh index 350699330..ccee630d2 100755 --- a/ci/jobs-dev/run_post_3drtma_ORION.sh +++ b/ci/jobs-dev/run_post_3drtma_ORION.sh @@ -1,8 +1,8 @@ -#!/bin/sh +#!/bin/bash -#SBATCH -o out.post.rtma -#SBATCH -e out.post.rtma -#SBATCH -J rtma_test +#SBATCH -o out.post.3drtma +#SBATCH -e out.post.3drtma +#SBATCH -J 3drtma_test #SBATCH -t 00:30:00 #SBATCH -N 8 --ntasks-per-node=12 #SBATCH -q batch @@ -38,7 +38,7 @@ ulimit -s unlimited export WGRIB2=wgrib2 export COMROOT=$rundir -msg="Starting rtma test" +msg="Starting 3drtma test" postmsg "$logfile" "$msg" export cmp_grib2_grib2=/home/wmeng/bin/cmp_grib2_grib2_new @@ -50,7 +50,7 @@ export POSTGPEXEC=${svndir}/exec/upp.x export startdate=2023040400 export fhr=000 export tmmark=tm00 -export DATA=$rundir/rtma_${startdate} +export DATA=$rundir/3drtma_${startdate} export NEWDATE=$startdate @@ -109,7 +109,7 @@ cp ${svndir}/fix/nam_micro_lookup.dat eta_micro_lookup.dat ${APRUN} ${POSTGPEXEC} < itag > wrfpost2.out -# operational rtma post processing generates 2 files +# operational 3drtma post processing generates 2 files filelist="NATLEV00.tm00 \ PRSLEV00.tm00" @@ -120,17 +120,16 @@ export err=$? if [ $err = "0" ] ; then - # operational rtma post processing generates 3 files, start with BGDAWP first # use cmp to see if new pgb files are identical to the control one cmp ${filein2} $homedir/data_out/3drtma/${filein2}.${machine} # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="rtma test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="3drtma test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="rtma test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="3drtma test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg $cmp_grib2_grib2 $homedir/data_out/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff fi @@ -138,7 +137,7 @@ if [ $err = "0" ] ; then else - msg="rtma test: post failed using your new post executable to generate ${filein2}" + msg="3drtma test: post failed using your new post executable to generate ${filein2}" echo $msg 2>&1 | tee -a TEST_ERROR fi @@ -146,7 +145,7 @@ postmsg "$logfile" "$msg" done echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending rtma test" +msg="Ending 3drtma test" postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_3drtma_WCOSS2.sh b/ci/jobs-dev/run_post_3drtma_WCOSS2.sh new file mode 100755 index 000000000..57cd8b16a --- /dev/null +++ b/ci/jobs-dev/run_post_3drtma_WCOSS2.sh @@ -0,0 +1,141 @@ +#!/bin/bash + +#PBS -o out.post.3drtma +#PBS -e out.post.3drtma +#PBS -N 3drtma.test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l select=4:ncpus=32 +#PBS -V + +set -x + +# specify computation resource +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 128 -ppn 32 --cpu-bind core --depth 1" + +echo "starting time" +date + +############################################ +# Loading module +############################################ +module reset +module load intel/19.1.3.304 +module load PrgEnv-intel/8.1.0 +module load craype/2.7.8 +module load cray-mpich/8.1.7 +module load cray-pals/1.0.12 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load crtm/2.4.0.1 +module load libjpeg/9c +module load prod_util/2.0.8 +module list + +msg="Starting 3drtma test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/u/wen.meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify your running and output directory +export startdate=2023040400 +export fhr=000 +export tmmark=tm00 +export DATA=$rundir/3drtma_${startdate} + +export NEWDATE=$startdate + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` +export min=00 + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +cat > itag < wrfpost2.out + +# operational 3drtma post processing generates 3 files +filelist="NATLEV00.tm00 \ + PRSLEV00.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/3drtma/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="3drtma test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="3drtma test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + $cmp_grib2_grib2 $homedir/data_out/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + + msg="3drtma test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending 3drtma test" +postmsg "$logfile" "$msg" + + diff --git a/ci/jobs-dev/run_post_fv3gefs_HERA.sh b/ci/jobs-dev/run_post_fv3gefs_HERA.sh index ba9546da8..693e51f16 100755 --- a/ci/jobs-dev/run_post_fv3gefs_HERA.sh +++ b/ci/jobs-dev/run_post_fv3gefs_HERA.sh @@ -1,7 +1,7 @@ -#!/bin/sh +#!/bin/bash -#SBATCH -o out.fv3gefs -#SBATCH -e out.fv3gefs +#SBATCH -o out.post.fv3gefs +#SBATCH -e out.post.fv3gefs #SBATCH -J fv3gefs_test #SBATCH -t 00:30:00 #SBATCH -N 3 --ntasks-per-node=12 @@ -114,10 +114,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3gefs test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3gefs test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3gefs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3gefs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3gefs_HERCULES.sh b/ci/jobs-dev/run_post_fv3gefs_HERCULES.sh index b8903fa7b..9961ea1f2 100755 --- a/ci/jobs-dev/run_post_fv3gefs_HERCULES.sh +++ b/ci/jobs-dev/run_post_fv3gefs_HERCULES.sh @@ -1,7 +1,7 @@ -#!/bin/sh +#!/bin/bash -#SBATCH -o out.fv3gefs -#SBATCH -e out.fv3gefs +#SBATCH -o out.post.fv3gefs +#SBATCH -e out.post.fv3gefs #SBATCH -J fv3gefs_test #SBATCH -t 00:30:00 #SBATCH -N 3 --ntasks-per-node=12 @@ -114,10 +114,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3gefs test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3gefs test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3gefs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3gefs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3gefs_ORION.sh b/ci/jobs-dev/run_post_fv3gefs_ORION.sh index b458c59d6..e5c1d7df1 100755 --- a/ci/jobs-dev/run_post_fv3gefs_ORION.sh +++ b/ci/jobs-dev/run_post_fv3gefs_ORION.sh @@ -1,7 +1,7 @@ -#!/bin/sh +#!/bin/bash -#SBATCH -o out.fv3gefs -#SBATCH -e out.fv3gefs +#SBATCH -o out.post.fv3gefs +#SBATCH -e out.post.fv3gefs #SBATCH -J fv3gefs_test #SBATCH -t 00:30:00 #SBATCH -N 3 --ntasks-per-node=12 @@ -115,10 +115,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3gefs test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3gefs test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3gefs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3gefs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3gefs_WCOSS2.sh b/ci/jobs-dev/run_post_fv3gefs_WCOSS2.sh new file mode 100755 index 000000000..fec6d4dd4 --- /dev/null +++ b/ci/jobs-dev/run_post_fv3gefs_WCOSS2.sh @@ -0,0 +1,132 @@ +#!/bin/bash + +#PBS -o out.post.fv3gefs +#PBS -e out.post.fv3gefs +#PBS -N fv3gefs.test +#PBS -l walltime=00:10:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=4:ncpus=12 +#PBS -V + +set -x + +# specify computation resource +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 48 -ppn 12" + +############################################ +# Loading module +############################################ +module reset +module load intel/19.1.3.304 +module load PrgEnv-intel/8.1.0 +module load craype/2.7.8 +module load cray-mpich/8.1.7 +module load cray-pals/1.0.12 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load libjpeg/9c +module load prod_util/2.0.8 +module list + +msg="Starting fv3gefs test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/u/wen.meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2022042400 +export fhr=060 +export CC=`echo $startdate | cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/fv3gefs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < ./postxconfig-NT.txt + +cp ${svndir}/parm/params_grib2_tbl_new ./params_grib2_tbl_new + +cp ${svndir}/fix/chem/optics_luts_DUST.dat ./optics_luts_DUST.dat +cp ${svndir}/fix/chem/optics_luts_SALT.dat ./optics_luts_SALT.dat +cp ${svndir}/fix/chem/optics_luts_SOOT.dat ./optics_luts_SOOT.dat +cp ${svndir}/fix/chem/optics_luts_SUSO.dat ./optics_luts_SUSO.dat +cp ${svndir}/fix/chem/optics_luts_WASO.dat ./optics_luts_WASO.dat + + +export PGBOUT=pgbfile +${APRUN} ${POSTGPEXEC} < itag > outpost_nems_${NEWDATE} + +mv $PGBOUT geaer.t${CC}z.master.grb2f${fhr} + +fhr2=`printf "%02d" $fhr` + +filelist="geaer.t${CC}z.master.grb2f${fhr}" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/gefs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3gefs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="fv3gefs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/gefs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3gefs test: post failed using your new post executable to generate ${filein2}" + echo $msg | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3gefs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3gfs_HERA.sh b/ci/jobs-dev/run_post_fv3gfs_HERA.sh index 4db2b843d..55ebbfffe 100755 --- a/ci/jobs-dev/run_post_fv3gfs_HERA.sh +++ b/ci/jobs-dev/run_post_fv3gfs_HERA.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.fv3gfs #SBATCH -e out.post.fv3gfs @@ -123,10 +123,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3gfs test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3gfs test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3gfs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3gfs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3gfs_HERCULES.sh b/ci/jobs-dev/run_post_fv3gfs_HERCULES.sh index 6576284bf..c94a32aaa 100755 --- a/ci/jobs-dev/run_post_fv3gfs_HERCULES.sh +++ b/ci/jobs-dev/run_post_fv3gfs_HERCULES.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.fv3gfs #SBATCH -e out.post.fv3gfs @@ -131,10 +131,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3gfs test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3gfs test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3gfs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3gfs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3gfs_ORION.sh b/ci/jobs-dev/run_post_fv3gfs_ORION.sh index aec05815d..ac0e1a451 100755 --- a/ci/jobs-dev/run_post_fv3gfs_ORION.sh +++ b/ci/jobs-dev/run_post_fv3gfs_ORION.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.fv3gfs #SBATCH -e out.post.fv3gfs @@ -132,10 +132,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3gfs test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3gfs test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3gfs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3gfs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3gfs_WCOSS2.sh b/ci/jobs-dev/run_post_fv3gfs_WCOSS2.sh new file mode 100755 index 000000000..aaa5c43f6 --- /dev/null +++ b/ci/jobs-dev/run_post_fv3gfs_WCOSS2.sh @@ -0,0 +1,163 @@ +#!/bin/bash + +#PBS -o out.post.fv3gfs +#PBS -e out.post.fv3gfs +#PBS -N fv3gfs.test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=48:mem=300GB +#PBS -V + +set -x + +# specify computation resource +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 96 -ppn 48" +export APRUN_DWN="mpiexec -l -np 24 --cpu-bind verbose,core cfp" + +############################################ +# Loading module +############################################ +module reset +module load intel/19.1.3.304 +module load PrgEnv-intel/8.1.0 +module load craype/2.7.8 +module load cray-mpich/8.1.7 +module load cray-pals/1.0.12 +module load cfp/2.0.4 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load crtm/2.4.0.1 +module load prod_util/2.0.10 +module load prod_envir/2.0.8 +module load libjpeg/9c +module load grib_util/1.2.2 +module load wgrib2/2.0.8 +module list + +#export WGRIB2=wgrib2 + +msg="Starting fv3gfs test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/u/wen.meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=$svndir/exec/upp.x + +# specify forecast start time and hour +export startdate=2019083000 +export fhr=006 +export cyc=`echo $startdate |cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/fv3gfs_${startdate} +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_master_${NEWDATE} + +#Generate goes file +cp ${svndir}/parm/gfs/postxconfig-NT-gfs-goes.txt ./postxconfig-NT.txt +${APRUN} ${POSTGPEXEC} < itag > outpost_goes_${NEWDATE} + +############################################################# + +################################################ +# Compare with baseline data +################################################ +FH3=$(printf %03i $fhr) +FH2=$(printf %02i $fhr) +mv GFSPRS.GrbF${FH2} gfs.t${cyc}z.master.grb2f${FH3} +mv GFSFLX.GrbF${FH2} gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 +mv GFSGOES.GrbF${FH2} gfs.t${cyc}z.special.grb2f${FH3} + +# compare master, flux, simulated goes and wafs files +filelist="gfs.t${cyc}z.master.grb2f${FH3} \ + gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 \ + gfs.t${cyc}z.special.grb2f${FH3} " +# gfs.t${cyc}z.wafs.grb2f${post_times} " + +for file in $filelist; do + +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/gfs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3gfs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="fv3gfs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + + # compare grib message via cmp_grib2_grib2 + $cmp_grib2_grib2 $homedir/data_out/gfs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3gfs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo $? +echo "PROGRAM IS COMPLETE!!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3gfs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3hafs_HERA.sh b/ci/jobs-dev/run_post_fv3hafs_HERA.sh index 6d5f6f813..d8ca26f3a 100755 --- a/ci/jobs-dev/run_post_fv3hafs_HERA.sh +++ b/ci/jobs-dev/run_post_fv3hafs_HERA.sh @@ -1,7 +1,7 @@ -#!/bin/sh +#!/bin/bash -#SBATCH -o out.fv3hafs -#SBATCH -e out.fv3hafs +#SBATCH -o out.post.fv3hafs +#SBATCH -e out.post.fv3hafs #SBATCH -J fv3hafs_test #SBATCH -t 00:20:00 #SBATCH -N 5 --ntasks-per-node=12 @@ -98,10 +98,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3hafs test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3hafs test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3hafs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3hafs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3hafs_HERCULES.sh b/ci/jobs-dev/run_post_fv3hafs_HERCULES.sh index b76675ec8..6edabef01 100755 --- a/ci/jobs-dev/run_post_fv3hafs_HERCULES.sh +++ b/ci/jobs-dev/run_post_fv3hafs_HERCULES.sh @@ -1,7 +1,7 @@ -#!/bin/sh +#!/bin/bash -#SBATCH -o out.fv3hafs -#SBATCH -e out.fv3hafs +#SBATCH -o out.post.fv3hafs +#SBATCH -e out.post.fv3hafs #SBATCH -J fv3hafs_test #SBATCH -t 00:20:00 #SBATCH -N 5 --ntasks-per-node=12 @@ -103,10 +103,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3hafs test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3hafs test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3hafs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3hafs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3hafs_ORION.sh b/ci/jobs-dev/run_post_fv3hafs_ORION.sh index 65b679e28..6ebc9d60d 100755 --- a/ci/jobs-dev/run_post_fv3hafs_ORION.sh +++ b/ci/jobs-dev/run_post_fv3hafs_ORION.sh @@ -1,7 +1,7 @@ -#!/bin/sh +#!/bin/bash -#SBATCH -o out.fv3hafs -#SBATCH -e out.fv3hafs +#SBATCH -o out.post.fv3hafs +#SBATCH -e out.post.fv3hafs #SBATCH -J fv3hafs_test #SBATCH -t 00:20:00 #SBATCH -N 5 --ntasks-per-node=12 @@ -102,10 +102,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3hafs test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3hafs test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3hafs test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3hafs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3hafs_WCOSS2.sh b/ci/jobs-dev/run_post_fv3hafs_WCOSS2.sh new file mode 100755 index 000000000..ff3249dda --- /dev/null +++ b/ci/jobs-dev/run_post_fv3hafs_WCOSS2.sh @@ -0,0 +1,118 @@ +#!/bin/bash + +#PBS -o out.post.fv3hafs +#PBS -e out.post.fv3hafs +#PBS -N hafs.test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=3:ncpus=24 +#PBS -V + +set -x + +# specify computation resource +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 72 -ppn 24" + +############################################ +# Loading module +############################################ +module reset +module load intel/19.1.3.304 +module load PrgEnv-intel/8.1.0 +module load craype/2.7.8 +module load cray-mpich/8.1.7 +module load cray-pals/1.0.12 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load libjpeg/9c +module load prod_util/2.0.8 +module list + +msg="Starting fv3hafs test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/u/wen.meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2022092800 +export fhr=009 +export CC=`echo $startdate | cut -c9-10` + +# specify your running and output directory +export DATA=$rundir/fv3hafs_${startdate} +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_nems_${NEWDATE} + +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +filelist="HURPRS${fhr2}.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/hafs/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3hafs test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="fv3hafs test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/hafs/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3hafs test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3hafs test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3r_HERA.sh b/ci/jobs-dev/run_post_fv3r_HERA.sh index 8bb989fb3..bc9ddb44e 100755 --- a/ci/jobs-dev/run_post_fv3r_HERA.sh +++ b/ci/jobs-dev/run_post_fv3r_HERA.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.fv3r #SBATCH -e out.post.fv3r @@ -121,10 +121,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3r test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3r_HERCULES.sh b/ci/jobs-dev/run_post_fv3r_HERCULES.sh index 8be9eb831..26045fecd 100755 --- a/ci/jobs-dev/run_post_fv3r_HERCULES.sh +++ b/ci/jobs-dev/run_post_fv3r_HERCULES.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.fv3r #SBATCH -e out.post.fv3r @@ -126,10 +126,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3r test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3r_ORION.sh b/ci/jobs-dev/run_post_fv3r_ORION.sh index 474dade2d..62e54f9f8 100755 --- a/ci/jobs-dev/run_post_fv3r_ORION.sh +++ b/ci/jobs-dev/run_post_fv3r_ORION.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.fv3r #SBATCH -e out.post.fv3r @@ -125,10 +125,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3r test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3r_WCOSS2.sh b/ci/jobs-dev/run_post_fv3r_WCOSS2.sh new file mode 100755 index 000000000..6c1f447ea --- /dev/null +++ b/ci/jobs-dev/run_post_fv3r_WCOSS2.sh @@ -0,0 +1,136 @@ +#!/bin/bash + +#PBS -o out.post.fv3r +#PBS -e out.post.fv3r +#PBS -N fv3r.test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=48 +#PBS -V + +set -x + +# specify computation resource +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 96 -ppn 48" + +############################################ +# Loading module +############################################ +module reset +module load intel/19.1.3.304 +module load PrgEnv-intel/8.1.0 +module load craype/2.7.8 +module load cray-mpich/8.1.7 +module load cray-pals/1.0.12 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load libjpeg/9c +module load prod_util/2.0.8 +module load crtm/2.4.0.1 +module list + +msg="Starting fv3r test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/u/wen.meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2023062800 +export fhr=010 + +# specify your running and output directory +export DATA=$rundir/fv3r_${startdate} +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_nems_${NEWDATE} + +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +filelist="PRSLEV${fhr2}.tm00 \ + NATLEV${fhr2}.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/fv3r/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3r test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/fv3r/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3r test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3r test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3r_ifi_HERA.sh b/ci/jobs-dev/run_post_fv3r_ifi_HERA.sh index 8e3b2f055..a6f037e52 100755 --- a/ci/jobs-dev/run_post_fv3r_ifi_HERA.sh +++ b/ci/jobs-dev/run_post_fv3r_ifi_HERA.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.fv3r_ifi #SBATCH -e out.post.fv3r_ifi @@ -98,10 +98,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3r test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3r_ifi_WCOSS2.sh b/ci/jobs-dev/run_post_fv3r_ifi_WCOSS2.sh new file mode 100755 index 000000000..19ea1ef18 --- /dev/null +++ b/ci/jobs-dev/run_post_fv3r_ifi_WCOSS2.sh @@ -0,0 +1,126 @@ +#!/bin/bash + +#PBS -o out.post.fv3r_ifi +#PBS -e out.post.fv3r_ifi +#PBS -N fv3r_ifi_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=48 +#PBS -V + +set -x + +# specify computation resource +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 96 -ppn 48" + +############################################ +# Loading module +############################################ +module reset +module load intel/19.1.3.304 +module load PrgEnv-intel/8.1.0 +module load craype/2.7.8 +module load cray-mpich/8.1.7 +module load cray-pals/1.0.12 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load libjpeg/9c +module load prod_util/2.0.8 +module load crtm/2.4.0.1 +module list + +msg="Starting fv3r_ifi test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/wen.meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify forecast start time and hour for running your post job +export startdate=2023062800 +export fhr=010 + +# specify your running and output directory +export DATA=$rundir/fv3r_ifi_${startdate} +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +filelist="IFIFIP10.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/fv3r_ifi/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3r test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/fv3r_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3r test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3r_ifi test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3r_ifi_missing_HERA.sh b/ci/jobs-dev/run_post_fv3r_ifi_missing_HERA.sh index e99db52e8..67d9c3d4c 100755 --- a/ci/jobs-dev/run_post_fv3r_ifi_missing_HERA.sh +++ b/ci/jobs-dev/run_post_fv3r_ifi_missing_HERA.sh @@ -1,8 +1,8 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.fv3r_ifi_missing #SBATCH -e out.post.fv3r_ifi_missing -#SBATCH -J fv3r_ifi_missing +#SBATCH -J fv3r_ifi_mis #SBATCH -t 00:30:00 #SBATCH -N 8 --ntasks-per-node=12 ##SBATCH -q debug @@ -98,10 +98,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3r_ifi_missing test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3r_ifi_missing test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3r_ifi_missing test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3r_ifi_missing test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3r_ifi_missing_HERCULES.sh b/ci/jobs-dev/run_post_fv3r_ifi_missing_HERCULES.sh index 5afd84976..a0f52317e 100755 --- a/ci/jobs-dev/run_post_fv3r_ifi_missing_HERCULES.sh +++ b/ci/jobs-dev/run_post_fv3r_ifi_missing_HERCULES.sh @@ -1,8 +1,8 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.fv3r_ifi_missing #SBATCH -e out.post.fv3r_ifi_missing -#SBATCH -J fv3r_ifi_missing +#SBATCH -J fv3r_ifi_mis #SBATCH -t 00:30:00 #SBATCH -N 5 --ntasks-per-node=12 ##SBATCH -q batch @@ -108,10 +108,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3r test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3r_ifi_missing_ORION.sh b/ci/jobs-dev/run_post_fv3r_ifi_missing_ORION.sh index b0ea1690b..9fea2f8d5 100755 --- a/ci/jobs-dev/run_post_fv3r_ifi_missing_ORION.sh +++ b/ci/jobs-dev/run_post_fv3r_ifi_missing_ORION.sh @@ -1,8 +1,8 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.fv3r_ifi_missing #SBATCH -e out.post.fv3r_ifi_missing -#SBATCH -J fv3r_ifi_missing +#SBATCH -J fv3r_ifi_mis #SBATCH -t 00:30:00 #SBATCH -N 8 --ntasks-per-node=12 ##SBATCH -q batch @@ -106,10 +106,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="fv3r test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_fv3r_ifi_missing_WCOSS2.sh b/ci/jobs-dev/run_post_fv3r_ifi_missing_WCOSS2.sh new file mode 100755 index 000000000..4dd96bcff --- /dev/null +++ b/ci/jobs-dev/run_post_fv3r_ifi_missing_WCOSS2.sh @@ -0,0 +1,126 @@ +#!/bin/bash + +#PBS -o out.post.fv3r_ifi_missing +#PBS -e out.post.fv3r_ifi_missing +#PBS -N fv3r_ifi_mis +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=48 +#PBS -V + +set -x + +# specify computation resource +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 96 -ppn 48" + +############################################ +# Loading module +############################################ +module reset +module load intel/19.1.3.304 +module load PrgEnv-intel/8.1.0 +module load craype/2.7.8 +module load cray-mpich/8.1.7 +module load cray-pals/1.0.12 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load libjpeg/9c +module load prod_util/2.0.8 +module load crtm/2.4.0.1 +module list + +msg="Starting fv3r_ifi_missing test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/wen.meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp_no_ifi.x + +# specify forecast start time and hour for running your post job +export startdate=2023062800 +export fhr=010 + +# specify your running and output directory +export DATA=$rundir/fv3r_ifi_missing_${startdate} +export tmmark=tm00 +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +fhr=`expr $fhr + 0` +fhr2=`printf "%02d" $fhr` + +filelist="IFIFIP${fhr2}.tm00" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/fv3r_ifi_missing/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="fv3r_ifi_missing test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="fv3r_ifi_missing test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/fv3r_ifi_missing/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + +else + + msg="fv3r_ifi_missing test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending fv3r_ifi_missing test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_hrrr_HERA.sh b/ci/jobs-dev/run_post_hrrr_HERA.sh index dbdb99cec..33377c853 100755 --- a/ci/jobs-dev/run_post_hrrr_HERA.sh +++ b/ci/jobs-dev/run_post_hrrr_HERA.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.hrrr #SBATCH -e out.post.hrrr @@ -103,10 +103,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="hrrr test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="hrrr test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="hrrr test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="hrrr test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_hrrr_HERCULES.sh b/ci/jobs-dev/run_post_hrrr_HERCULES.sh index df9778ea9..1f569bfa3 100755 --- a/ci/jobs-dev/run_post_hrrr_HERCULES.sh +++ b/ci/jobs-dev/run_post_hrrr_HERCULES.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.hrrr #SBATCH -e out.post.hrrr @@ -103,10 +103,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="hrrr test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="hrrr test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="hrrr test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="hrrr test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_hrrr_ORION.sh b/ci/jobs-dev/run_post_hrrr_ORION.sh index df9778ea9..1f569bfa3 100755 --- a/ci/jobs-dev/run_post_hrrr_ORION.sh +++ b/ci/jobs-dev/run_post_hrrr_ORION.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.hrrr #SBATCH -e out.post.hrrr @@ -103,10 +103,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="hrrr test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="hrrr test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="hrrr test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="hrrr test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_hrrr_WCOSS2.sh b/ci/jobs-dev/run_post_hrrr_WCOSS2.sh new file mode 100755 index 000000000..a93213753 --- /dev/null +++ b/ci/jobs-dev/run_post_hrrr_WCOSS2.sh @@ -0,0 +1,123 @@ +#!/bin/bash + +#PBS -o out.post.hrrr +#PBS -e out.post.hrrr +#PBS -N hrrr.test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=24 +#PBS -V + +set -x + +# specify computation resource +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 48 -ppn 24" + +echo "starting time" +date + +############################################ +# Loading module +############################################ +module reset +module load intel/19.1.3.304 +module load PrgEnv-intel/8.1.0 +module load craype/2.7.8 +module load cray-mpich/8.1.7 +module load cray-pals/1.0.12 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load libjpeg/9c +module load prod_util/2.0.8 +module list + +msg="Starting hrrr test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/u/wen.meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify your running and output directory +export startdate=2020060118 +export fhr=04 +export DATA=$rundir/hrrr_${startdate} + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +cat > itag < wrfpost2.out + +# operational hrrr post processing generates 3 files +filelist="WRFTWO.GrbF04 \ + WRFPRS.GrbF04 \ + WRFNAT.GrbF04" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational hrrr post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/hrrr/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="hrrr test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="hrrr test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/hrrr/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + + msg="hrrr test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending hrrr test" +postmsg "$logfile" "$msg" + + diff --git a/ci/jobs-dev/run_post_hrrr_ifi_HERA.sh b/ci/jobs-dev/run_post_hrrr_ifi_HERA.sh index 3f398f6c7..e5e295aff 100755 --- a/ci/jobs-dev/run_post_hrrr_ifi_HERA.sh +++ b/ci/jobs-dev/run_post_hrrr_ifi_HERA.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.hrrr_ifi #SBATCH -e out.post.hrrr_ifi @@ -96,10 +96,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="hrrr_ifi test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="hrrr_ifi test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="hrrr_ifi test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="hrrr_ifi test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_hrrr_ifi_WCOSS2.sh b/ci/jobs-dev/run_post_hrrr_ifi_WCOSS2.sh new file mode 100755 index 000000000..f04f7632d --- /dev/null +++ b/ci/jobs-dev/run_post_hrrr_ifi_WCOSS2.sh @@ -0,0 +1,122 @@ +#!/bin/bash + +#PBS -o out.post.hrrr_ifi +#PBS -e out.post.hrrr_ifi +#PBS -N hrrr_ifi_test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=24 +#PBS -V + +set -x + +# specify computation resource +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 48 -ppn 24" + +echo "starting time" +date + +###################################################################### +# Purpose: to run RAP post processing +###################################################################### +module reset +module load intel/19.1.3.304 +module load PrgEnv-intel/8.1.0 +module load craype/2.7.8 +module load cray-mpich/8.1.7 +module load cray-pals/1.0.12 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load libjpeg/9c +module load prod_util/2.0.8 +module load crtm/2.4.0.1 +module list + +msg="Starting hrrr_ifi test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/wen.meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# CALL executable job script here + +# specify your running and output directory +export startdate=2020060118 +export fhr=04 +export DATA=$rundir/hrrr_ifi_${startdate} + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +cat > itag < wrfpost2.out + +# operational hrrr post processing generates 3 files +filelist="IFIFIP.GrbF04" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational hrrr post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/hrrr_ifi/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="hrrr_ifi test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="hrrr_ifi test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/hrrr_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + + msg="hrrr_ifi test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending hrrr_ifi test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_nmmb_HERA.sh b/ci/jobs-dev/run_post_nmmb_HERA.sh new file mode 100755 index 000000000..dd4a6ef84 --- /dev/null +++ b/ci/jobs-dev/run_post_nmmb_HERA.sh @@ -0,0 +1,143 @@ +#!/bin/bash + +#SBATCH -o out.post.nmmb +#SBATCH -e out.post.nmmb +#SBATCH -J nmmb_test +#SBATCH -t 00:20:00 +##SBATCH -q debug +#SBATCH -q batch +#SBATCH -N 4 --ntasks-per-node=4 +#SBATCH -A ovp + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading module +############################################ +module purge +module use /contrib/spack-stack/spack-stack-1.8.0/envs/ue-intel-2021.5.0/install/modulefiles/Core +module load stack-intel/2021.5.0 +module load stack-intel-oneapi-mpi/2021.5.1 +module load libpng/1.6.37 +module load jasper/2.0.32 +module load prod_util/2.1.1 +module load crtm/2.4.0.1 +module list + +msg="Starting nmmb test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new + +# specify user's own post executable for testing +#export svndir=/u/Wen.Meng/save/ncep_post/develop branch +export POSTGPEXEC=${svndir}/exec/upp.x + + +# specify forecast start time and hour for running your post job +export startdate=2014120818 +export fhr=03 + +# specify your running and output directory +export DATA=$rundir/nmmb_${startdate} + +# specify your home directory +#export homedir=`pwd`/.. + +export tmmark=tm00 + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +echo $homedir +echo $NDATE +export NEWDATE=`$NDATE +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +mv BGDAWP${fhr}.tm00 BGDAWP${fhr}.tm00.Grib2 +mv BGRD3D${fhr}.tm00 BGRD3D${fhr}.tm00.Grib2 +mv BGRDSF${fhr}.tm00 BGRDSF${fhr}.tm00.Grib2 + +# operational NMMB post processing generates 3 files +filelist="BGDAWP${fhr}.tm00.Grib2 \ + BGRD3D${fhr}.tm00.Grib2 \ + BGRDSF${fhr}.tm00.Grib2" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational NMMB post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/nmmb/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="nmmb test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="nmmb test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + msg="nmmb test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending nmmb test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_nmmb_HERCULES.sh b/ci/jobs-dev/run_post_nmmb_HERCULES.sh new file mode 100755 index 000000000..c8785bb3f --- /dev/null +++ b/ci/jobs-dev/run_post_nmmb_HERCULES.sh @@ -0,0 +1,140 @@ +#!/bin/bash + +#SBATCH -o out.post.nmmb +#SBATCH -e out.post.nmmb +#SBATCH -J nmmb_test +#SBATCH -t 00:20:00 +#SBATCH -q debug +#SBATCH -N 2 --ntasks-per-node=8 +#SBATCH -A nems + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading module +############################################ + +module use /apps/contrib/spack-stack/spack-stack-1.8.0/envs/ue-intel-2021.9.0/install/modulefiles/Core +module load stack-intel/2021.9.0 +module load stack-intel-oneapi-mpi/2021.9.0 +module load libpng/1.6.37 +module load jasper/2.0.32 +module load prod_util/2.1.1 +module load crtm/2.4.0.1 +module list + +ulimit -s unlimited +#ulimit -s1900000000 + +msg="Starting nmmb test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/wmeng/bin/cmp_grib2_grib2_new + +# specify user's own post executable for testing +#export svndir=/u/Wen.Meng/save/ncep_post/develop branch +export POSTGPEXEC=${svndir}/exec/upp.x + + +# specify forecast start time and hour for running your post job +export startdate=2014120818 +export fhr=03 + +# specify your running and output directory +export DATA=$rundir/nmmb_${startdate} + +# specify your home directory +#export homedir=`pwd`/.. + +export tmmark=tm00 + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +echo $homedir +echo $NDATE +export NEWDATE=`$NDATE +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +mv BGDAWP${fhr}.tm00 BGDAWP${fhr}.tm00.Grib2 +mv BGRD3D${fhr}.tm00 BGRD3D${fhr}.tm00.Grib2 +mv BGRDSF${fhr}.tm00 BGRDSF${fhr}.tm00.Grib2 + +# operational NMMB post processing generates 3 files +filelist="BGDAWP${fhr}.tm00.Grib2 \ + BGRD3D${fhr}.tm00.Grib2 \ + BGRDSF${fhr}.tm00.Grib2" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational NMMB post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/nmmb/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="nmmb test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="nmmb test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + msg="nmmb test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending nmmb test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_nmmb_ORION.sh b/ci/jobs-dev/run_post_nmmb_ORION.sh new file mode 100755 index 000000000..163b5a003 --- /dev/null +++ b/ci/jobs-dev/run_post_nmmb_ORION.sh @@ -0,0 +1,139 @@ +#!/bin/bash + +#SBATCH -o out.post.nmmb +#SBATCH -e out.post.nmmb +#SBATCH -J nmmb_test +#SBATCH -t 00:20:00 +#SBATCH -q debug +#SBATCH -N 2 --ntasks-per-node=8 +#SBATCH -A nems + +set -x + +# specify computation resource +export threads=1 +export MP_LABELIO=yes +export OMP_NUM_THREADS=$threads +export APRUN="srun" + +echo "starting time" +date + +############################################ +# Loading module +############################################ +module use /apps/contrib/spack-stack/spack-stack-1.8.0/envs/ue-intel-2021.9.0/install/modulefiles/Core +module load stack-intel/2021.9.0 +module load stack-intel-oneapi-mpi/2021.9.0 +module load libpng/1.6.37 +module load jasper/2.0.32 +module load prod_util/2.1.1 +module load crtm/2.4.0.1 +module list + +ulimit -s unlimited +#ulimit -s1900000000 + +msg="Starting nmmb test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/home/wmeng/bin/cmp_grib2_grib2_new + +# specify user's own post executable for testing +#export svndir=/u/Wen.Meng/save/ncep_post/develop branch +export POSTGPEXEC=${svndir}/exec/upp.x + + +# specify forecast start time and hour for running your post job +export startdate=2014120818 +export fhr=03 + +# specify your running and output directory +export DATA=$rundir/nmmb_${startdate} + +# specify your home directory +#export homedir=`pwd`/.. + +export tmmark=tm00 + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +echo $homedir +echo $NDATE +export NEWDATE=`$NDATE +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + + +cat > itag < outpost_nems_${NEWDATE} + +mv BGDAWP${fhr}.tm00 BGDAWP${fhr}.tm00.Grib2 +mv BGRD3D${fhr}.tm00 BGRD3D${fhr}.tm00.Grib2 +mv BGRDSF${fhr}.tm00 BGRDSF${fhr}.tm00.Grib2 + +# operational NMMB post processing generates 3 files +filelist="BGDAWP${fhr}.tm00.Grib2 \ + BGRD3D${fhr}.tm00.Grib2 \ + BGRDSF${fhr}.tm00.Grib2" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational NMMB post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/nmmb/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="nmmb test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="nmmb test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + msg="nmmb test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending nmmb test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_nmmb_WCOSS2.sh b/ci/jobs-dev/run_post_nmmb_WCOSS2.sh new file mode 100755 index 000000000..3c373589b --- /dev/null +++ b/ci/jobs-dev/run_post_nmmb_WCOSS2.sh @@ -0,0 +1,133 @@ +#!/bin/bash + +#PBS -o out.post.nmmb +#PBS -e out.post.nmmb +#PBS -N nmmb.test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=12 +#PBS -V + +set -x + +# specify computation resource +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 24 -ppn 12" + +echo "starting time" +date + +module reset +module load intel/19.1.3.304 +module load PrgEnv-intel/8.1.0 +module load craype/2.7.8 +module load cray-mpich/8.1.7 +module load cray-pals/1.0.12 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load libjpeg/9c +module load prod_util/2.0.8 +module list + + +msg="Starting nmmb test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/u/wen.meng/bin/cmp_grib2_grib2_new +# specify user's own post executable for testing +export POSTGPEXEC=${svndir}/exec/upp.x + + +# specify forecast start time and hour for running your post job +export startdate=2014120818 +export fhr=03 + +# specify your running and output directory +export DATA=$rundir/nmmb_${startdate} + +# specify your home directory +#export homedir=`pwd`/.. + +export tmmark=tm00 + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +echo $homedir +echo $NDATE +export NEWDATE=`$NDATE +${fhr} $startdate` + +export YY=`echo $NEWDATE | cut -c1-4` +export MM=`echo $NEWDATE | cut -c5-6` +export DD=`echo $NEWDATE | cut -c7-8` +export HH=`echo $NEWDATE | cut -c9-10` + +cat > itag < outpost_nems_${NEWDATE} + +mv BGDAWP${fhr}.tm00 BGDAWP${fhr}.tm00.Grib2 +mv BGRD3D${fhr}.tm00 BGRD3D${fhr}.tm00.Grib2 +mv BGRDSF${fhr}.tm00 BGRDSF${fhr}.tm00.Grib2 + +# operational NMMB post processing generates 3 files +filelist="BGDAWP${fhr}.tm00.Grib2 \ + BGRD3D${fhr}.tm00.Grib2 \ + BGRDSF${fhr}.tm00.Grib2" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational NMMB post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/nmmb/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="nmmb test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="nmmb test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + msg="nmmb test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending nmmb test" +postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_rap_HERA.sh b/ci/jobs-dev/run_post_rap_HERA.sh index 0ab94dfba..3d5df5158 100755 --- a/ci/jobs-dev/run_post_rap_HERA.sh +++ b/ci/jobs-dev/run_post_rap_HERA.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.rap #SBATCH -e out.post.rap @@ -100,10 +100,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="rap test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="rap test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="rap test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="rap test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_rap_HERCULES.sh b/ci/jobs-dev/run_post_rap_HERCULES.sh index f32da8a30..e037c29d7 100755 --- a/ci/jobs-dev/run_post_rap_HERCULES.sh +++ b/ci/jobs-dev/run_post_rap_HERCULES.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.rap #SBATCH -e out.post.rap @@ -103,10 +103,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="rap test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="rap test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="rap test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="rap test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_rap_ORION.sh b/ci/jobs-dev/run_post_rap_ORION.sh index f32da8a30..e037c29d7 100755 --- a/ci/jobs-dev/run_post_rap_ORION.sh +++ b/ci/jobs-dev/run_post_rap_ORION.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash #SBATCH -o out.post.rap #SBATCH -e out.post.rap @@ -103,10 +103,10 @@ if [ $err = "0" ] ; then # if not bit-identical, use cmp_grib2_grib2 to compare each grib record export err1=$? if [ $err1 -eq 0 ] ; then - msg="rap test: your new post executable generates bit-identical ${filein2} as the trunk" + msg="rap test: your new post executable generates bit-identical ${filein2} as the develop branch" echo $msg else - msg="rap test: your new post executable did not generate bit-identical ${filein2} as the trunk" + msg="rap test: your new post executable did not generate bit-identical ${filein2} as the develop branch" echo $msg echo " start comparing each grib record and write the comparison result to *diff files" echo " check these *diff files to make sure your new post only change variables which you intend to change" diff --git a/ci/jobs-dev/run_post_rap_WCOSS2.sh b/ci/jobs-dev/run_post_rap_WCOSS2.sh new file mode 100755 index 000000000..1b49a4e18 --- /dev/null +++ b/ci/jobs-dev/run_post_rap_WCOSS2.sh @@ -0,0 +1,122 @@ +#!/bin/bash + +#PBS -o out.post.rap +#PBS -e out.post.rap +#PBS -N rap.test +#PBS -l walltime=00:30:00 +#PBS -q debug +#PBS -A GFS-DEV +#PBS -l place=vscatter,select=2:ncpus=24 +#PBS -V + +set -x + +# specify computation resource +export threads=1 +export OMP_NUM_THREADS=$threads +export APRUN="mpiexec -l -n 48 -ppn 24" + +echo "starting time" +date + +############################################ +# Loading module +############################################ +module reset +module load intel/19.1.3.304 +module load PrgEnv-intel/8.1.0 +module load craype/2.7.8 +module load cray-mpich/8.1.7 +module load cray-pals/1.0.12 +module load hdf5/1.10.6 +module load netcdf/4.7.4 +module load libjpeg/9c +module load prod_util/2.0.8 +module list + +msg="Starting rap test" +postmsg "$logfile" "$msg" + +export cmp_grib2_grib2=/u/wen.meng/bin/cmp_grib2_grib2_new +export POSTGPEXEC=${svndir}/exec/upp.x + +# specify your running and output directory +export startdate=2020072316 +export fhr=16 +export DATA=$rundir/rap_${startdate} + +export NEWDATE=`${NDATE} +${fhr} $startdate` + +export YY=`echo ${NEWDATE} | cut -c1-4` +export MM=`echo ${NEWDATE} | cut -c5-6` +export DD=`echo ${NEWDATE} | cut -c7-8` +export HH=`echo ${NEWDATE} | cut -c9-10` + +rm -rf $DATA; mkdir -p $DATA +cd $DATA + +cat > itag < wrfpost2.out + +# operational rap post processing generates 3 files +filelist="WRFPRS.GrbF16 \ + WRFNAT.GrbF16" +# WRFMSL.GrbF14" + +for file in $filelist; do +export filein2=$file +ls -l ${filein2} +export err=$? + +if [ $err = "0" ] ; then + + # operational rap post processing generates 3 files, start with BGDAWP first + # use cmp to see if new pgb files are identical to the control one + cmp ${filein2} $homedir/data_out/rap/${filein2}.${machine} + + # if not bit-identical, use cmp_grib2_grib2 to compare each grib record + export err1=$? + if [ $err1 -eq 0 ] ; then + msg="rap test: your new post executable generates bit-identical ${filein2} as the develop branch" + echo $msg + else + msg="rap test: your new post executable did not generate bit-identical ${filein2} as the develop branch" + echo $msg + echo " start comparing each grib record and write the comparison result to *diff files" + echo " check these *diff files to make sure your new post only change variables which you intend to change" + $cmp_grib2_grib2 $homedir/data_out/rap/${filein2}.${machine} ${filein2} > ${filein2}.diff + fi + + +else + + msg="rap test: post failed using your new post executable to generate ${filein2}" + echo $msg 2>&1 | tee -a TEST_ERROR + +fi +postmsg "$logfile" "$msg" +done + +echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS +msg="Ending rap test" +postmsg "$logfile" "$msg" + + diff --git a/ci/rt-status.py b/ci/rt-status.py index 994eaf017..5a5589af2 100755 --- a/ci/rt-status.py +++ b/ci/rt-status.py @@ -10,16 +10,20 @@ import sys # files used in result comparison -tests = [ - 'nmmb', - 'gfs', - 'fv3gefs', - 'fv3r', - 'rap', - 'hrrr', - 'fv3hafs', - 'rtma' -] +test_list = os.environ["test_list"] +print('Check tests:') +print(test_list) +tests = test_list +#tests = [ +# 'nmmb', +# 'gfs', +# 'fv3gefs', +# 'fv3r', +# 'rap', +# 'hrrr', +# 'fv3hafs', +# 'rtma' +#] # look for .diff files # every case has its own directory in rundir diff --git a/ci/rt.sh b/ci/rt.sh index 5da3d5820..c38dbd1b3 100755 --- a/ci/rt.sh +++ b/ci/rt.sh @@ -5,6 +5,7 @@ # Fernando Andrade-Maldonado 5/2023 rework for CLI Options # Fernando Andrade-Maldonado / Wen Meng 9/2023 Add Hercules, fix typos, and refactor # Fernando Andrade-Maldonado 4/2024 Additional Log info +# Wen Meng 05/2025 Refactor to support WCOSS2 and R&D machines ###################################################################### set -xue SECONDS=0 @@ -12,9 +13,10 @@ SECONDS=0 git_branch="develop" git_url="https://github.com/NOAA-EMC/UPP.git" clone_on="no" -disable_ifi="no" # don't use libIFI, even if it is present +export disable_ifi="no" # don't use libIFI, even if it is present +build_exe="yes" #build executable -while getopts a:w:h:r:t:b:u:cd opt; do +while getopts a:w:h:r:t:b:u:cde opt; do case $opt in d) disable_ifi=yes ;; @@ -34,13 +36,13 @@ while getopts a:w:h:r:t:b:u:cd opt; do ;; c) clone_on="yes" ;; + e) build_exe="no" # don't build executable + ;; esac done -export compiler=${1:-MISSING} - #UPP working copy -test_v=${test_v:-`pwd`/../} +export test_v=${test_v:-`pwd`/..} if [[ $clone_on == "yes" ]]; then rm -rf $test_v mkdir -p $test_v @@ -49,39 +51,9 @@ fi export svndir=${test_v} if [[ -d $svndir/sorc/libIFI.fd/src/ ]] ; then - have_ifi=yes -else - have_ifi=no -fi - -#Assume a nems account to run with -accnr=${accnr:-"rtrr"} - -#Build UPP executable -build_exe=yes - -#Choose run specific model -run_nmmb=yes -run_gfs=yes -run_gefs=yes -run_fv3r=yes -run_rap=yes -run_hrrr=yes -run_hafs=yes -run_rtma=yes - -# Tests with IFI enabled only work if libIFI is present. -if [[ "$have_ifi" == yes && "$disable_ifi" == no ]] ; then - run_hrrr_ifi=yes - run_ifi_standalone_hrrr=yes - run_fv3r_ifi=yes - run_ifi_standalone_fv3r=yes + export have_ifi=yes else - # Cannot run these without ifi - run_hrrr_ifi=no - run_ifi_standalone_hrrr=no - run_fv3r_ifi=no - run_ifi_standalone_fv3r=no + export have_ifi=no fi #find machine @@ -92,23 +64,18 @@ if [ $mac2 = hf ]; then # for HERA export machine=HERA export homedir=${homedir:-"/scratch2/NAGAPE/epic/UPP/test_suite"} export rundir=${rundir:-"/scratch1/NCEPDEV/stmp2/${USER}"} + export accnr=${accnr:-"rtrr"} + module purge module use /contrib/spack-stack/spack-stack-1.8.0/envs/ue-intel-2021.5.0/install/modulefiles/Core module load stack-intel/2021.5.0 module load stack-intel-oneapi-mpi/2021.5.1 module load prod_util/2.1.1 -elif [ $mac2 = uf ]; then # for Ursa - export machine=URSA - export homedir=${homedir:-"/scratch3/BMC/wrfruc/Samuel.Trahan/upp-ursa/test_suite"} - export rundir=${rundir:-"/scratch3/BMC/wrfruc/Samuel.Trahan/scrub"} - module use /contrib/spack-stack/spack-stack-1.9.1/envs/ue-oneapi-2024.2.1/install/modulefiles/Core - module load stack-oneapi/2024.2.1 - module load stack-intel-oneapi-mpi/2021.13 - module load prod_util/2.1.1 - module load python/3.11.7 elif [ $mac3 = orio ] ; then export machine=ORION export homedir=${homedir:-"/work/noaa/epic/UPP"} export rundir=${rundir:-"/work2/noaa/stmp/$USER"} + export accnr=${accnr:-"rtrr"} + module purge module use /apps/contrib/spack-stack/spack-stack-1.8.0/envs/ue-intel-2021.9.0/install/modulefiles/Core module load stack-intel/2021.9.0 module load stack-intel-oneapi-mpi/2021.9.0 @@ -118,28 +85,25 @@ elif [ $mac3 = herc ] ; then export machine=HERCULES export homedir=${homedir:-"/work/noaa/epic/UPP"} export rundir=${rundir:-"/work2/noaa/stmp/$USER"} + export accnr=${accnr:-"rtrr"} + module purge module use /apps/contrib/spack-stack/spack-stack-1.8.0/envs/ue-intel-2021.9.0/install/modulefiles/Core module load stack-intel/2021.9.0 module load stack-intel-oneapi-mpi/2021.9.0 module load prod_util/2.1.1 module load python/3.10.8 -fi - -if [[ "$compiler" == MISSING ]] ; then - if [[ "$machine" == URSA ]] ; then - set +uxe - echo "ERROR: Specify compiler when running rt.sh on Ursa." 1>&2 - echo "ERROR: Specify compiler: rt.sh [intel|intelllvm]" 1>&2 - exit 1 - else - compiler=intel - fi -fi - -if [[ "$machine" == URSA ]] ; then - runtime_log=$homedir/scripts/runtime.log.${machine}_${compiler} -else - runtime_log=$homedir/scripts/runtime.log.$machine +elif [ $mac = d -o $mac = c ]; then #for WCOSS2 + export machine=WCOSS2 + export homedir=${homedir:-"/u/wen.meng/noscrub/ncep_post/post_regression_test_new"} + export rundir=${rundir:-"/lfs/h2/emc/ptmp/$USER"} + export accnr=${accnr:-"GFS-DEV"} + module reset + module load intel/19.1.3.304 + module load PrgEnv-intel/8.1.0 + module load craype/2.7.8 + module load cray-mpich/8.1.7 + module load prod_util/2.0.14 + module load python/3.12.0 fi #set working directory @@ -149,21 +113,22 @@ mkdir -p $workdir #differentiates for orion and hercules export rundir="${rundir}/upp-${machine}" -test -d "${rundir}" || mkdir -p "${rundir}" +#test -d "${rundir}" || mkdir -p "${rundir}" +rm -rf ${rundir}; mkdir -p ${rundir} #set log file -export rt_log=rt.log.${machine}_${compiler} -export logfile=`pwd`/$rt_log +export logfile=`pwd`/rt.log.$machine if [ -f $logfile ] ; then rm -r $logfile fi +export runtime_log=$svndir/ci/runtime.log.$machine #build executable -if [ "$build_exe" = "yes" ]; then +if [ "$build_exe" == "yes" ]; then cd ${test_v} mkdir -p ${test_v}/exec cd ${test_v}/tests - ./compile_upp.sh -o upp_no_ifi.x -c "$compiler" + ./compile_upp.sh -o upp_no_ifi.x status=$? if [ $status -eq 0 ]; then msg="Building executable successfully" @@ -173,10 +138,15 @@ if [ "$build_exe" = "yes" ]; then exit 2 fi - if [[ "$have_ifi" == yes && "$disable_ifi" == no ]] ; then - ./compile_upp.sh -a -o upp_with_ifi.x -I -B -c "$compiler" - status=$? - if [ $status -eq 0 ]; then + if [[ "$have_ifi" == "yes" && "$disable_ifi" == "no" ]] ; then + if [[ "${machine}" == "WCOSS2" ]]; then ##No ifi standalone executable + ./compile_upp.sh -a -o upp_with_ifi.x -I + status=$? + else + ./compile_upp.sh -a -o upp_with_ifi.x -I -B + status=$? + fi + if [ "$status" -eq 0 ]; then msg="Building UPP+IFI executables successfully" else msg="Building UPP+IFI executables with failure" @@ -191,211 +161,24 @@ if [ "$build_exe" = "yes" ]; then postmsg "$logfile" "$msg" fi -jobid_list="" -set -xe -#execute ifi tests -if [ "${run_hrrr_ifi:-no}" = "yes" ]; then -cd $workdir -cp $svndir/ci/jobs-dev/run_post_hrrr_ifi_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_hrrr_ifi_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -dep_job_id=$job_id - if [ "$run_ifi_standalone_hrrr" = "yes" ]; then - cp $svndir/ci/jobs-dev/run_ifi_standalone_hrrr_${machine}.sh . - job_id=`sbatch --parsable -A ${accnr} --dependency=afterany:$dep_job_id run_ifi_standalone_hrrr_${machine}.sh` - jobid_list=$jobid_list" "${job_id} - fi -fi - -if [ "$run_fv3r_ifi" = "yes" ]; then -cd $workdir -cp $svndir/ci/jobs-dev/run_post_fv3r_ifi_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_fv3r_ifi_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -dep_job_id=$job_id - if [ "$run_ifi_standalone_fv3r" = "yes" ]; then - cp $svndir/ci/jobs-dev/run_ifi_standalone_fv3r_${machine}.sh . - job_id=`sbatch --parsable -A ${accnr} --dependency=afterany:$dep_job_id run_ifi_standalone_fv3r_${machine}.sh` - jobid_list=$jobid_list" "${job_id} - fi -fi - -#execute nmmb grib2 test -if [ "$run_nmmb" = "yes" ]; then -cd $workdir -cp $svndir/ci/jobs-dev/run_post_nmmb_Grib2_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_nmmb_Grib2_${machine}.sh` -jobid_list=$jobid_list" "$job_id -cp $svndir/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_nmmb_Grib2_pe_test_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -fi - -#execute fv3gefs test -if [ "$run_gefs" = "yes" ]; then -cd $workdir -cp $svndir/ci/jobs-dev/run_post_fv3gefs_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_fv3gefs_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -cp $svndir/ci/jobs-dev/run_post_fv3gefs_pe_test_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_fv3gefs_pe_test_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -fi - -#execute rap test -if [ "$run_rap" = "yes" ]; then -cd $workdir -cp $svndir/ci/jobs-dev/run_post_rap_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_rap_${machine}.sh` -jobid_list=$jobid_list" "$job_id -cp $svndir/ci/jobs-dev/run_post_rap_pe_test_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_rap_pe_test_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -fi - -#execute hrrr test -if [ "$run_hrrr" = "yes" ]; then -cd $workdir -cp $svndir/ci/jobs-dev/run_post_hrrr_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_hrrr_${machine}.sh` -jobid_list=$jobid_list" "$job_id -cp $svndir/ci/jobs-dev/run_post_hrrr_pe_test_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_hrrr_pe_test_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -fi - -#execute fv3gfs test -if [ "$run_gfs" = "yes" ]; then -cd $workdir -cp $svndir/ci/jobs-dev/run_post_fv3gfs_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_fv3gfs_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -cp $svndir/ci/jobs-dev/run_post_fv3gfs_pe_test_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_fv3gfs_pe_test_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -fi - -#execute fv3r test -if [ "$run_fv3r" = "yes" ]; then -cd $workdir -cp $svndir/ci/jobs-dev/run_post_fv3r_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_fv3r_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -cp $svndir/ci/jobs-dev/run_post_fv3r_pe_test_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_fv3r_pe_test_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -cp $svndir/ci/jobs-dev/run_post_fv3r_ifi_missing_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_fv3r_ifi_missing_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -fi +#Setting tests +export test_list="nmmb fv3gefs fv3r fv3r_ifi_missing hrrr rap fv3hafs 3drtma fv3gfs" -#execute fv3hafs test -if [ "$run_hafs" = "yes" ]; then -cd $workdir -cp $svndir/ci/jobs-dev/run_post_fv3hafs_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_fv3hafs_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -cp $svndir/ci/jobs-dev/run_post_fv3hafs_pe_test_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_fv3hafs_pe_test_${machine}.sh` -jobid_list=$jobid_list" "${job_id} +#submit test jobs +cd $svndir/ci +if [ "${machine}" = "WCOSS2" ]; then + source "./submit_jobs_${machine}.sh" +else ##R&D machines + source "./submit_jobs.sh" fi -#execute rtma test -if [ "$run_rtma" = "yes" ]; then -cd $workdir -cp $svndir/ci/jobs-dev/run_post_3drtma_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_3drtma_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -cp $svndir/ci/jobs-dev/run_post_3drtma_pe_test_${machine}.sh . -job_id=`sbatch --parsable -A ${accnr} run_post_3drtma_pe_test_${machine}.sh` -jobid_list=$jobid_list" "${job_id} -fi set +xe echo "Job cards submitted for enabled tests, waiting on timestamps for finished jobs..." #get run time for each test -some_failed=NO -sleep 30 -for job_id in $jobid_list; do - ic=1 - sleep_loop_max=300 - while [ $ic -le $sleep_loop_max ]; do - job_id=`echo $job_id | cut -d"." -f1` - status=`sacct --parsable -j $job_id --format=jobid,jobname,elapsed,state | cut -d"|" -f4|awk 'FNR == 2'` - if [ "$status" = "COMPLETED" ]; then - break - elif ( echo "$status" | grep -E 'FAIL|TIMEOUT|CANCEL|DEAD|SIGNAL|SPECIAL' > /dev/null ) ; then - some_failed=YES - break - else - ic=`expr $ic + 1` - sleep 15 - fi - done - if [ $ic -lt $sleep_loop_max ]; then - runtime=`sacct --parsable -j $job_id --format=jobid,jobname,elapsed,state | cut -d"|" -f3|awk 'FNR == 2'` - jobname=`sacct --parsable -j $job_id --format=jobid,jobname,elapsed,state | cut -d"|" -f2|awk 'FNR == 2'` - runtime_b=`grep "^${jobname}" ${runtime_log} | awk '{print $2}'` - echo "$runtime $jobname ${runtime_b}" - msg="Runtime: $jobname $runtime -- baseline ${runtime_b}" - postmsg "$logfile" "$msg" - fi -done - -elapsed_time=$( printf '%02dh:%02dm:%02ds\n' $((SECONDS%86400/3600)) $((SECONDS%3600/60)) $((SECONDS%60)) ) - -python ${test_v}/ci/rt-status.py -test_results=$? - -if [ $some_failed = YES ] ; then - test_results=99 - echo WARNING: some tests exited with non-zero status. -fi - -# Cleanup rt log -cd ${test_v} - -UPP_HASH=$(git rev-parse HEAD) -SUBMODULE_HASHES=$(git submodule status --recursive) -DATE="$(date '+%Y%m%d %T')" - -cd ${test_v}/ci - -cat << EOF > $rt_log.temp -===== Start of UPP Regression Testing Log ===== -UPP Hash Tested: -${UPP_HASH} - -Submodule hashes: -${SUBMODULE_HASHES} - -Run directory: ${rundir} -Baseline directory: ${homedir} - -Total runtime: ${elapsed_time} -Test Date: ${DATE} -Summary Results: - -EOF - - -if [ $some_failed = YES ] ; then - echo "Warning: some tests exited with non-zero. status" >> $rt_log.temp - echo >> $rt_log.temp -fi - -cat "$rt_log" | grep "test:" >> $rt_log.temp -cat "$rt_log" | grep "baseline" >> $rt_log.temp -python ${test_v}/ci/rt-status.py >> $rt_log.temp -echo "===== End of UPP Regression Testing Log =====" >> $rt_log.temp -mv $rt_log.temp $rt_log -mv $rt_log ${test_v}/tests/logs - -# should indicate failure to Jenkins -if [ $test_results -ne 0 ]; then - python ${test_v}/ci/rt-status.py > changed_results.txt - if [ $some_failed = YES ]; then - echo "Warning: some tests exited with non-zero status." >> changed_results.txt - fi - exit 1 +cd $svndir/ci +if [ "${machine}" = "WCOSS2" ]; then + source "./check_runtime_${machine}.sh" +else + source "./check_runtime.sh" fi diff --git a/ci/runtime.log.HERA b/ci/runtime.log.HERA new file mode 100644 index 000000000..829507acd --- /dev/null +++ b/ci/runtime.log.HERA @@ -0,0 +1,13 @@ +nmmb_test 00:02:00 +fv3gefs_test 00:01:00 +rap_test 00:02:00 +hrrr_test 00:03:00 +fv3hafs_test 00:01:00 +fv3gfs_test 00:10:00 +fv3r_test 00:03:00 +fv3r_ifi_missing 00:01:00 +3drtma_test 00:03:00 +hrrr_ifi_test 00:04:00 +ifi_standalone_hrrr_test 00:04:00 +fv3r_ifi_test 00:04:00 +ifi_standalone_fv3r_test 00:04:00 diff --git a/ci/runtime.log.HERCULES b/ci/runtime.log.HERCULES new file mode 100644 index 000000000..ad103bf02 --- /dev/null +++ b/ci/runtime.log.HERCULES @@ -0,0 +1,9 @@ +nmmb_test 00:03:00 +fv3gefs_test 00:01:00 +rap_test 00:02:00 +hrrr_test 00:05:00 +fv3hafs_test 00:01:00 +fv3gfs_test 00:11:00 +fv3r_test 00:03:00 +fv3r_ifi_missing 00:01:00 +3drtma_test 00:03:00 diff --git a/ci/runtime.log.ORION b/ci/runtime.log.ORION new file mode 100644 index 000000000..fc63f9367 --- /dev/null +++ b/ci/runtime.log.ORION @@ -0,0 +1,9 @@ +nmmb_test 00:03:00 +fv3gefs_test 00:01:00 +rap_test 00:02:00 +hrrr_test 00:08:00 +fv3hafs_test 00:01:00 +fv3gfs_test 00:11:00 +fv3r_test 00:03:00 +fv3r_ifi_missing 00:01:00 +3drtma_test 00:03:00 diff --git a/ci/runtime.log.WCOSS2 b/ci/runtime.log.WCOSS2 new file mode 100644 index 000000000..900fb9a84 --- /dev/null +++ b/ci/runtime.log.WCOSS2 @@ -0,0 +1,11 @@ +nmmb_test 00:02:20 +fv3gefs_test 00:01:20 +rap_test 00:02:00 +hrrr_test 00:03:40 +fv3hafs_test 00:02:00 +fv3gfs_test 00:12:00 +fv3r_test 00:06:00 +fv3r_ifi_missing 00:02:00 +3drtma_test 00:03:40 +hrrr_ifi_test 00:02:00 +fv3r_ifi_test 00:02:00 diff --git a/ci/submit_jobs.sh b/ci/submit_jobs.sh new file mode 100755 index 000000000..eccb1b701 --- /dev/null +++ b/ci/submit_jobs.sh @@ -0,0 +1,36 @@ +#!/bin/bash +########################################################################## +# This script is used to submit test jobs on R&D machines. +# # Wen Meng, 05/2025, First version. +# ########################################################################## + +export jobid_list="" + +cd $workdir +for test in ${test_list} +do + cp $svndir/ci/jobs-dev/run_post_${test}_${machine}.sh . + job_id=$(sbatch --parsable -A "${accnr}" run_post_${test}_${machine}.sh) + jobid_list="${jobid_list} ${job_id}" +done + +#Run additional ifi tests +if [[ "$have_ifi" == "yes" && "$disable_ifi" == "no" ]] ; then + for model in hrrr fv3r; do + cp "$svndir/ci/jobs-dev/run_post_${model}_ifi_${machine}.sh" . + job_id=$(sbatch --parsable -A "$accnr" "run_post_${model}_ifi_${machine}.sh") + jobid_list="${jobid_list} $job_id" + + cp "$svndir/ci/jobs-dev/run_ifi_standalone_${model}_${machine}.sh" . + dep_job_id="$job_id" + job_id=$(sbatch --parsable -A "$accnr" --dependency=afterany:"$dep_job_id" \ + "run_ifi_standalone_${model}_${machine}.sh") + jobid_list="${jobid_list} $job_id" + + test_list="${test_list} ${model}_ifi" + done + +fi + +export jobid_list +export test_list diff --git a/ci/submit_jobs_WCOSS2.sh b/ci/submit_jobs_WCOSS2.sh new file mode 100755 index 000000000..beefe52db --- /dev/null +++ b/ci/submit_jobs_WCOSS2.sh @@ -0,0 +1,28 @@ +#!/bin/bash +########################################################################## +# This script is used to submit test jobs on WCOSS2. +# # Wen Meng, 05/2025, First version. +# ########################################################################## + +jobid_list="" + +cd $workdir +for test in ${test_list} +do +cp $svndir/ci/jobs-dev/run_post_${test}_${machine}.sh . +job_id=$(qsub -A "${accnr}" run_post_${test}_${machine}.sh) +jobid_list="${jobid_list} ${job_id}" +done + +#Run additional ifi tests +if [[ "$have_ifi" == "yes" && "$disable_ifi" == "no" ]] ; then + for ifi_test in hrrr_ifi fv3r_ifi; do + cp $svndir/ci/jobs-dev/run_post_${ifi_test}_${machine}.sh . + job_id=$(qsub -A "${accnr}" run_post_${ifi_test}_${machine}.sh) + jobid_list="${jobid_list} ${job_id}" + test_list=${test_list}" ${ifi_test}" + done +fi + +export jobid_list +export test_list From a2917c099958ea06e227c4f51b968fd916518987 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Fri, 6 Jun 2025 14:48:18 +0000 Subject: [PATCH 13/22] remove ursa tests --- ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh | 77 --------- ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh | 77 --------- ci/jobs-dev/run_post_3drtma_URSA.sh | 151 ------------------ ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh | 151 ------------------ ci/jobs-dev/run_post_fv3gefs_URSA.sh | 138 ---------------- ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh | 137 ---------------- ci/jobs-dev/run_post_fv3gfs_URSA.sh | 147 ----------------- ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh | 149 ----------------- ci/jobs-dev/run_post_fv3hafs_URSA.sh | 122 -------------- ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh | 122 -------------- ci/jobs-dev/run_post_fv3r_URSA.sh | 144 ----------------- ci/jobs-dev/run_post_fv3r_ifi_URSA.sh | 121 -------------- ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh | 121 -------------- ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh | 144 ----------------- ci/jobs-dev/run_post_hrrr_URSA.sh | 129 --------------- ci/jobs-dev/run_post_hrrr_ifi_URSA.sh | 122 -------------- ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh | 136 ---------------- ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh | 142 ---------------- .../run_post_nmmb_Grib2_pe_test_URSA.sh | 143 ----------------- ci/jobs-dev/run_post_rap_URSA.sh | 126 --------------- ci/jobs-dev/run_post_rap_pe_test_URSA.sh | 135 ---------------- 21 files changed, 2734 deletions(-) delete mode 100644 ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh delete mode 100644 ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh delete mode 100644 ci/jobs-dev/run_post_3drtma_URSA.sh delete mode 100644 ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh delete mode 100644 ci/jobs-dev/run_post_fv3gefs_URSA.sh delete mode 100644 ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh delete mode 100644 ci/jobs-dev/run_post_fv3gfs_URSA.sh delete mode 100644 ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh delete mode 100644 ci/jobs-dev/run_post_fv3hafs_URSA.sh delete mode 100644 ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh delete mode 100644 ci/jobs-dev/run_post_fv3r_URSA.sh delete mode 100644 ci/jobs-dev/run_post_fv3r_ifi_URSA.sh delete mode 100644 ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh delete mode 100644 ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh delete mode 100644 ci/jobs-dev/run_post_hrrr_URSA.sh delete mode 100644 ci/jobs-dev/run_post_hrrr_ifi_URSA.sh delete mode 100644 ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh delete mode 100644 ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh delete mode 100644 ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh delete mode 100644 ci/jobs-dev/run_post_rap_URSA.sh delete mode 100644 ci/jobs-dev/run_post_rap_pe_test_URSA.sh diff --git a/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh b/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh deleted file mode 100644 index 24fa54a59..000000000 --- a/ci/jobs-dev/run_ifi_standalone_fv3r_URSA.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.ifi_standalone_fv3r -#SBATCH -e out.post.ifi_standalone_fv3r -#SBATCH -J ifi_standalone_fv3r_test -#SBATCH -t 00:30:00 -#SBATCH --ntasks=1 -#SBATCH --cpus-per-task=40 -#SBATCH --exclusive -#SBATCH --partition bigmem -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -# specify computation resource -export threads=40 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export OMP_STACKSIZE=128M -export APRUN="srun" - -############################################ -# Loading module -############################################ - -# EXPORT list here - -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -ulimit -s unlimited -ulimit - -msg="Starting ifi_standalone_fv3r test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -FIPEXEC=${svndir}/exec/fip2-lookalike.x - -# use the UPP run directory so we get the input files in the expected format -export startdate=2023062800 -export DATA=$rundir/fv3r_ifi_${startdate} -cd $DATA - -upp_output=cat_vars_0.nc -ifi_standalone_output=icing-category-output.nc -diff_file=cat_vars_0.nc.diff - -$APRUN --cpus-per-task=$OMP_NUM_THREADS --nodes=1 --ntasks=1 --exclusive \ - "$FIPEXEC" -u hybr_vars_0.nc hybr_vars_0.nc . - -nccmp -n 20 -dfc1 -v ICE_PROB,ICE_SEV_CAT,SLD,WMO_ICE_SEV_CAT "$upp_output" "$ifi_standalone_output" 2>&1 | tee "$diff_file" -export err1=$? - -if [ -s "$ifi_standalone_output" ] ; then - if [ $err1 -eq 0 ] && ! [ -s "$diff_file" ] ; then - msg="ifi standalone_fv3r test: Passed. libIFI standalone program and IFI in UPP produce identical results" - rm -f "$diff_file" - echo $msg - else - msg="ifi standalone_fv3r test: Failed. Differences detected between libIFI standalone and UPP IFI output." - echo $msg - fi -else - msg="ifi standalone_fv3r test: Failed. ifi standalone failed using your new executable to generate $ifi_standalone_output" - echo $msg 2>&1 | tee -a TEST_ERROR -fi -postmsg "$logfile" "$msg" - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending ifi_standalone_fv3r test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh b/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh deleted file mode 100644 index 6c94dbdca..000000000 --- a/ci/jobs-dev/run_ifi_standalone_hrrr_URSA.sh +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.ifi_standalone_hrrr -#SBATCH -e out.post.ifi_standalone_hrrr -#SBATCH -J ifi_standalone_hrrr_test -#SBATCH -t 00:30:00 -#SBATCH --ntasks=1 -#SBATCH --cpus-per-task=40 -#SBATCH --exclusive -#SBATCH --partition bigmem -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -# specify computation resource -export threads=40 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export OMP_STACKSIZE=512M -export APRUN="srun" - -############################################ -# Loading module -############################################ - -# EXPORT list here - -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -ulimit -s unlimited -ulimit - -msg="Starting ifi_standalone_hrrr test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -FIPEXEC=${svndir}/exec/fip2-lookalike.x - -# use the UPP run directory so we get the input files in the expected format -export startdate=2020060118 -export DATA=$rundir/hrrr_ifi_${startdate} -cd $DATA - -upp_output=cat_vars_0.nc -ifi_standalone_output=icing-category-output.nc -diff_file=cat_vars_0.nc.diff - -$APRUN --cpus-per-task=$OMP_NUM_THREADS --nodes=1 --ntasks=1 --exclusive \ - "$FIPEXEC" -u hybr_vars_0.nc hybr_vars_0.nc . - -nccmp -n 20 -dfc1 -v ICE_PROB,ICE_SEV_CAT,SLD,WMO_ICE_SEV_CAT "$upp_output" "$ifi_standalone_output" 2>&1 | tee "$diff_file" -export err1=$? - -if [ -s "$ifi_standalone_output" ] ; then - if [ $err1 -eq 0 ] && ! [ -s "$diff_file" ] ; then - msg="ifi standalone_fv3r test: Passed. libIFI standalone program and IFI in UPP produce identical results" - rm -f "$diff_file" - echo $msg - else - msg="ifi standalone_fv3r test: Failed. Differences detected between libIFI standalone and UPP IFI output." - echo $msg - fi -else - msg="ifi standalone_fv3r test: Failed. ifi standalone failed using your new executable to generate $ifi_standalone_output" - echo $msg 2>&1 | tee -a TEST_ERROR -fi -postmsg "$logfile" "$msg" - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending ifi_standalone_hrrr test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_3drtma_URSA.sh b/ci/jobs-dev/run_post_3drtma_URSA.sh deleted file mode 100644 index f31f88caa..000000000 --- a/ci/jobs-dev/run_post_3drtma_URSA.sh +++ /dev/null @@ -1,151 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.rtma -#SBATCH -e out.post.rtma -#SBATCH -J rtma_test -#SBATCH -t 00:20:00 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive -#SBATCH --ntasks 240 -#SBATCH --tasks-per-node 20 - -set -x - -# specify computation resource -export MP_LABELIO=yes -export threads=1 -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -echo "starting time" -date - -###################################################################### -# Purpose: to run RAP post processing -###################################################################### - -# EXPORT list here - - -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting rtma test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# CALL executable job script here - -# specify your running and output directory -export startdate=2023040400 -export fhr=000 -export tmmark=tm00 -export DATA=$rundir/rtma_${startdate} - -export NEWDATE=$startdate - -export YY=`echo ${NEWDATE} | cut -c1-4` -export MM=`echo ${NEWDATE} | cut -c5-6` -export DD=`echo ${NEWDATE} | cut -c7-8` -export HH=`echo ${NEWDATE} | cut -c9-10` - -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -cat > itag < wrfpost2.out -${APRUN} ${POSTGPEXEC} < itag > wrfpost2.out - -# operational rtma post processing generates 2 files -filelist="NATLEV00.tm00 \ - PRSLEV00.tm00" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # operational rtma post processing generates 3 files, start with BGDAWP first - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/3drtma/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="rtma test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="rtma test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - - -else - - msg="rtma test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending rtma test" -postmsg "$logfile" "$msg" - - diff --git a/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh b/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh deleted file mode 100644 index 938df0ebd..000000000 --- a/ci/jobs-dev/run_post_3drtma_pe_test_URSA.sh +++ /dev/null @@ -1,151 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.rtma_pe_test -#SBATCH -e out.post.rtma_pe_test -#SBATCH -J rtma_pe_test -#SBATCH -t 00:20:00 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive -#SBATCH --ntasks 200 -#SBATCH --tasks-per-node 20 - -set -x - -# specify computation resource -export MP_LABELIO=yes -export threads=1 -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -echo "starting time" -date - -###################################################################### -# Purpose: to run RAP post processing -###################################################################### - -# EXPORT list here - - -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting rtma pe test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# CALL executable job script here - -# specify your running and output directory -export startdate=2023040400 -export fhr=000 -export tmmark=tm00 -export DATA=$rundir/rtma_${startdate}_pe_test - -export NEWDATE=$startdate - -export YY=`echo ${NEWDATE} | cut -c1-4` -export MM=`echo ${NEWDATE} | cut -c5-6` -export DD=`echo ${NEWDATE} | cut -c7-8` -export HH=`echo ${NEWDATE} | cut -c9-10` - -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -cat > itag < wrfpost2.out -${APRUN} ${POSTGPEXEC} < itag > wrfpost2.out - -# operational rtma post processing generates 2 files -filelist="NATLEV00.tm00 \ - PRSLEV00.tm00" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # operational rtma post processing generates 3 files, start with BGDAWP first - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/3drtma/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="rtma pe test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="rtma pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/3drtma/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - - -else - - msg="rtma pe test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending rtma pe test" -postmsg "$logfile" "$msg" - - diff --git a/ci/jobs-dev/run_post_fv3gefs_URSA.sh b/ci/jobs-dev/run_post_fv3gefs_URSA.sh deleted file mode 100644 index f8e83310e..000000000 --- a/ci/jobs-dev/run_post_fv3gefs_URSA.sh +++ /dev/null @@ -1,138 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.fv3gefs -#SBATCH -e out.fv3gefs -#SBATCH -J fv3gefs_test -#SBATCH -t 00:30:00 -#SBATCH --ntasks 120 -#SBATCH --tasks-per-node 20 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -set -x - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -############################################ -# Loading module -############################################ -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting fv3gefs test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# specify forecast start time and hour for running your post job -export startdate=2022042400 -export fhr=060 -export CC=`echo $startdate | cut -c9-10` - -# specify your running and output directory -export DATA=$rundir/fv3gefs_${startdate} -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < ./postxconfig-NT.txt - -cp ${svndir}/parm/params_grib2_tbl_new ./params_grib2_tbl_new - -cp ${svndir}/fix/chem/optics_luts_DUST.dat ./optics_luts_DUST.dat -cp ${svndir}/fix/chem/optics_luts_SALT.dat ./optics_luts_SALT.dat -cp ${svndir}/fix/chem/optics_luts_SOOT.dat ./optics_luts_SOOT.dat -cp ${svndir}/fix/chem/optics_luts_SUSO.dat ./optics_luts_SUSO.dat -cp ${svndir}/fix/chem/optics_luts_WASO.dat ./optics_luts_WASO.dat - - -export PGBOUT=pgbfile -${APRUN} ${POSTGPEXEC} < itag > outpost_nems_${NEWDATE} - -#$COPYGB2 -x -i'4,0,80' -k'1 3 0 7*-9999 101 0 0' $PGBOUT tfile -#$WGRIB2 tfile -set_byte 4 11 1 -grib prmsl -#$COPYGB2 -x -i'4,1,5' -k'1 3 5 7*-9999 100 0 50000' $PGBOUT tfile -#$WGRIB2 tfile -set_byte 4 11 193 -grib h5wav -#cat prmsl h5wav >> $PGBOUT -mv $PGBOUT geaer.t${CC}z.master.grb2f${fhr} - -fhr2=`printf "%02d" $fhr` - -filelist="geaer.t${CC}z.master.grb2f${fhr}" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/gefs/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="fv3gefs test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="fv3gefs test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/gefs/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - -else - - msg="fv3gefs test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending fv3gefs test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh deleted file mode 100644 index 346b0b44f..000000000 --- a/ci/jobs-dev/run_post_fv3gefs_pe_test_URSA.sh +++ /dev/null @@ -1,137 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.fv3gefs_pe_test -#SBATCH -e out.fv3gefs_pe_test -#SBATCH -J fv3gefs_pe_test -#SBATCH -t 00:30:00 -#SBATCH --ntasks 200 -#SBATCH --tasks-per-node 20 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -set -x - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -############################################ -# Loading module -############################################ -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting fv3gefs test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# specify forecast start time and hour for running your post job -export startdate=2022042400 -export fhr=060 -export CC=`echo $startdate | cut -c9-10` - -# specify your running and output directory -export DATA=$rundir/fv3gefs_${startdate}_pe_test -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < ./postxconfig-NT.txt - -cp ${svndir}/parm/params_grib2_tbl_new ./params_grib2_tbl_new - -cp ${svndir}/fix/chem/optics_luts_DUST.dat ./optics_luts_DUST.dat -cp ${svndir}/fix/chem/optics_luts_SALT.dat ./optics_luts_SALT.dat -cp ${svndir}/fix/chem/optics_luts_SOOT.dat ./optics_luts_SOOT.dat -cp ${svndir}/fix/chem/optics_luts_SUSO.dat ./optics_luts_SUSO.dat -cp ${svndir}/fix/chem/optics_luts_WASO.dat ./optics_luts_WASO.dat - -export PGBOUT=pgbfile -${APRUN} ${POSTGPEXEC} < itag > outpost_nems_${NEWDATE} - -#$COPYGB2 -x -i'4,0,80' -k'1 3 0 7*-9999 101 0 0' $PGBOUT tfile -#$WGRIB2 tfile -set_byte 4 11 1 -grib prmsl -#$COPYGB2 -x -i'4,1,5' -k'1 3 5 7*-9999 100 0 50000' $PGBOUT tfile -#$WGRIB2 tfile -set_byte 4 11 193 -grib h5wav -#cat prmsl h5wav >> $PGBOUT -mv $PGBOUT geaer.t${CC}z.master.grb2f${fhr} - -fhr2=`printf "%02d" $fhr` - -filelist="geaer.t${CC}z.master.grb2f${fhr}" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/gefs/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="fv3gefs pe test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="fv3gefs pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/gefs/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - -else - - msg="fv3gefs pe test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending fv3gefs pe test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3gfs_URSA.sh b/ci/jobs-dev/run_post_fv3gfs_URSA.sh deleted file mode 100644 index 7578efee0..000000000 --- a/ci/jobs-dev/run_post_fv3gfs_URSA.sh +++ /dev/null @@ -1,147 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.fv3gfs -#SBATCH -e out.post.fv3gfs -#SBATCH -J fv3gfs_test -#SBATCH -t 00:30:00 -#SBATCH --ntasks 360 -#SBATCH --tasks-per-node 20 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -set -x - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -############################################ -# Loading module -############################################ -module purge -. $MODULESHOME/init/sh -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting fv3gfs test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - - -# specify forecast start time and hour for running your post job -export startdate=2019083000 -export fhr=006 -export cyc=`echo $startdate |cut -c9-10` - -# specify your running and output directory -export DATA=$rundir/fv3gfs_${startdate} -export tmmark=tm00 -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -export NEWDATE=`${NDATE} +${fhr} $startdate` -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < outpost_master_${NEWDATE} - -#Generate goes file -cp ${svndir}/parm/gfs/postxconfig-NT-gfs-goes.txt ./postxconfig-NT.txt -${APRUN} ${POSTGPEXEC} < itag > outpost_goes_${NEWDATE} - -FH3=$(printf %03i $fhr) -FH2=$(printf %02i $fhr) -mv GFSPRS.GrbF${FH2} gfs.t${cyc}z.master.grb2f${FH3} -mv GFSFLX.GrbF${FH2} gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 -mv GFSGOES.GrbF${FH2} gfs.t${cyc}z.special.grb2f${FH3} - -filelist="gfs.t${cyc}z.master.grb2f${FH3} \ - gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 \ - gfs.t${cyc}z.special.grb2f${FH3} " - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/gfs/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="fv3gfs test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="fv3gfs test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/gfs/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - -else - - msg="fv3gfs test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending fv3gfs test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh deleted file mode 100644 index 1b1a9c8ea..000000000 --- a/ci/jobs-dev/run_post_fv3gfs_pe_test_URSA.sh +++ /dev/null @@ -1,149 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.fv3gfs_pe_test -#SBATCH -e out.post.fv3gfs_pe_test -#SBATCH -J fv3gfs_pe_test -#SBATCH -t 00:30:00 -#SBATCH --ntasks 480 -#SBATCH --tasks-per-node 20 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -set -x - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -############################################ -# Loading module -############################################ -module purge -. $MODULESHOME/init/sh -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting fv3gfs pe test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - - -# specify forecast start time and hour for running your post job -export startdate=2019083000 -export fhr=006 -export cyc=`echo $startdate |cut -c9-10` - -# specify your running and output directory -export DATA=$rundir/fv3gfs_${startdate}_pe_test -export tmmark=tm00 -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < outpost_master_${NEWDATE} - -#Generate goes file -cp ${svndir}/parm/gfs/postxconfig-NT-gfs-goes.txt ./postxconfig-NT.txt -${APRUN} ${POSTGPEXEC} < itag > outpost_goes_${NEWDATE} - -FH3=$(printf %03i $fhr) -FH2=$(printf %02i $fhr) -mv GFSPRS.GrbF${FH2} gfs.t${cyc}z.master.grb2f${FH3} -mv GFSFLX.GrbF${FH2} gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 -mv GFSGOES.GrbF${FH2} gfs.t${cyc}z.special.grb2f${FH3} - -filelist="gfs.t${cyc}z.master.grb2f${FH3} \ - gfs.t${cyc}z.sfluxgrbf${FH3}.grib2 \ - gfs.t${cyc}z.special.grb2f${FH3} " - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/gfs/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="fv3gfs pe test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="fv3gfs pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/gfs/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - -else - - msg="fv3gfs pe test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending fv3gfs pe test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3hafs_URSA.sh b/ci/jobs-dev/run_post_fv3hafs_URSA.sh deleted file mode 100644 index ff0a8395e..000000000 --- a/ci/jobs-dev/run_post_fv3hafs_URSA.sh +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.fv3hafs -#SBATCH -e out.fv3hafs -#SBATCH -J fv3hafs_test -#SBATCH -t 00:20:00 -#SBATCH --ntasks 480 -#SBATCH --tasks-per-node 16 -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -set -x - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -############################################ -# Loading module -############################################ -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting fv3hafs test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# specify forecast start time and hour for running your post job -export startdate=2022092800 -export fhr=009 -export CC=`echo $startdate | cut -c9-10` - -# specify your running and output directory -export DATA=$rundir/fv3hafs_${startdate} -export tmmark=tm00 -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < outpost_nems_${NEWDATE} - -fhr=`expr $fhr + 0` -fhr2=`printf "%02d" $fhr` - -filelist="HURPRS${fhr2}.tm00" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/hafs/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="fv3hafs test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="fv3hafs test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/hafs/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - -else - - msg="fv3hafs test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending fv3hafs test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh deleted file mode 100644 index 20d713b23..000000000 --- a/ci/jobs-dev/run_post_fv3hafs_pe_test_URSA.sh +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.fv3hafs.pe_test -#SBATCH -e out.fv3hafs.pe_test -#SBATCH -J fv3hafs_pe_test -#SBATCH -t 00:20:00 -#SBATCH --ntasks 288 -#SBATCH --tasks-per-node 16 -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -set -x - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -############################################ -# Loading module -############################################ -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting fv3hafs pe test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# specify forecast start time and hour for running your post job -export startdate=2022092800 -export fhr=009 -export CC=`echo $startdate | cut -c9-10` - -# specify your running and output directory -export DATA=$rundir/fv3hafs_${startdate}_pe_test -export tmmark=tm00 -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < outpost_nems_${NEWDATE} - -fhr=`expr $fhr + 0` -fhr2=`printf "%02d" $fhr` - -filelist="HURPRS${fhr2}.tm00" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/hafs/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="fv3hafs pe test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="fv3hafs pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/hafs/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - -else - - msg="fv3hafs pe test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending fv3hafs pe test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3r_URSA.sh b/ci/jobs-dev/run_post_fv3r_URSA.sh deleted file mode 100644 index b620744de..000000000 --- a/ci/jobs-dev/run_post_fv3r_URSA.sh +++ /dev/null @@ -1,144 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.fv3r -#SBATCH -e out.post.fv3r -#SBATCH -J fv3r_test -#SBATCH -t 00:30:00 -#SBATCH -N 8 --ntasks-per-node=12 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -set -x - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -############################################ -# Loading module -############################################ -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting fv3r test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - - -# specify forecast start time and hour for running your post job -export startdate=2023062800 -export fhr=010 - -# specify your running and output directory -export DATA=$rundir/fv3r_${startdate} -export tmmark=tm00 -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < outpost_nems_${NEWDATE} - -fhr=`expr $fhr + 0` -fhr2=`printf "%02d" $fhr` - -filelist="PRSLEV${fhr2}.tm00 \ - NATLEV${fhr2}.tm00" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/fv3r/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="fv3r test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/fv3r/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - -else - - msg="fv3r test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending fv3r test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh b/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh deleted file mode 100644 index 1bb9780c9..000000000 --- a/ci/jobs-dev/run_post_fv3r_ifi_URSA.sh +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.fv3r_ifi -#SBATCH -e out.post.fv3r_ifi -#SBATCH -J fv3r_ifi_test -#SBATCH -t 00:30:00 -#SBATCH -N 8 --ntasks-per-node=12 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -############################################ -# Loading module -############################################ -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting fv3r_ifi test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# specify forecast start time and hour for running your post job -export startdate=2023062800 -export fhr=010 - -# specify your running and output directory -export DATA=$rundir/fv3r_ifi_${startdate} -export tmmark=tm00 -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < outpost_nems_${NEWDATE} - -fhr=`expr $fhr + 0` -fhr2=`printf "%02d" $fhr` - -filelist="IFIFIP10.tm00" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/fv3r_ifi/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="fv3r test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="fv3r test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/fv3r_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - -else - - msg="fv3r test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending fv3r test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh b/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh deleted file mode 100644 index 2c67845d5..000000000 --- a/ci/jobs-dev/run_post_fv3r_ifi_missing_URSA.sh +++ /dev/null @@ -1,121 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.fv3r_ifi_missing -#SBATCH -e out.post.fv3r_ifi_missing -#SBATCH -J fv3r_ifi_missing -#SBATCH -t 00:30:00 -#SBATCH -N 8 --ntasks-per-node=12 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -############################################ -# Loading module -############################################ -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting fv3r_ifi_missing test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp_no_ifi.x - -# specify forecast start time and hour for running your post job -export startdate=2023062800 -export fhr=010 - -# specify your running and output directory -export DATA=$rundir/fv3r_ifi_missing_${startdate} -export tmmark=tm00 -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < outpost_nems_${NEWDATE} - -fhr=`expr $fhr + 0` -fhr2=`printf "%02d" $fhr` - -filelist="IFIFIP${fhr2}.tm00" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/fv3r_ifi_missing/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="fv3r_ifi_missing test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="fv3r_ifi_missing test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/fv3r_ifi_missing/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - -else - - msg="fv3r_ifi_missing test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending fv3r_ifi_missing test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh b/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh deleted file mode 100644 index 946b16d20..000000000 --- a/ci/jobs-dev/run_post_fv3r_pe_test_URSA.sh +++ /dev/null @@ -1,144 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.fv3r_pe_test -#SBATCH -e out.post.fv3r_pe_test -#SBATCH -J fv3r_pe_test -#SBATCH -t 00:30:00 -#SBATCH -N 7 --ntasks-per-node=12 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -set -x - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -############################################ -# Loading module -############################################ -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting fv3r pe test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - - -# specify forecast start time and hour for running your post job -export startdate=2023062800 -export fhr=010 - -# specify your running and output directory -export DATA=$rundir/fv3r_${startdate}_pe_test -export tmmark=tm00 -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < outpost_nems_${NEWDATE} - -fhr=`expr $fhr + 0` -fhr2=`printf "%02d" $fhr` - -filelist="PRSLEV${fhr2}.tm00 \ - NATLEV${fhr2}.tm00" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/fv3r/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="fv3r pe test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="fv3r pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/fv3r/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - -else - - msg="fv3r pe test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending fv3r pe test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_hrrr_URSA.sh b/ci/jobs-dev/run_post_hrrr_URSA.sh deleted file mode 100644 index ab2bb498e..000000000 --- a/ci/jobs-dev/run_post_hrrr_URSA.sh +++ /dev/null @@ -1,129 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.hrrr -#SBATCH -e out.post.hrrr -#SBATCH -J hrrr_test -#SBATCH -t 00:20:00 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive -#SBATCH -N 2 --ntasks-per-node=24 - -set -x - -# specify computation resource -export MP_LABELIO=yes -export threads=1 -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -echo "starting time" -date - -###################################################################### -# Purpose: to run RAP post processing -###################################################################### - -# EXPORT list here - - -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting hrrr test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# CALL executable job script here - -# specify your running and output directory -export startdate=2020060118 -export fhr=04 -export DATA=$rundir/hrrr_${startdate} - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo ${NEWDATE} | cut -c1-4` -export MM=`echo ${NEWDATE} | cut -c5-6` -export DD=`echo ${NEWDATE} | cut -c7-8` -export HH=`echo ${NEWDATE} | cut -c9-10` - -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -cat > itag < wrfpost2.out - -# operational hrrr post processing generates 3 files -filelist="WRFTWO.GrbF04 \ - WRFPRS.GrbF04 \ - WRFNAT.GrbF04" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # operational hrrr post processing generates 3 files, start with BGDAWP first - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/hrrr/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="hrrr test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="hrrr test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/hrrr/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - - -else - - msg="hrrr test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending hrrr test" -postmsg "$logfile" "$msg" - - diff --git a/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh b/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh deleted file mode 100644 index dfb0b801f..000000000 --- a/ci/jobs-dev/run_post_hrrr_ifi_URSA.sh +++ /dev/null @@ -1,122 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.hrrr_ifi -#SBATCH -e out.post.hrrr_ifi -#SBATCH -J hrrr_ifi_test -#SBATCH -t 00:30:00 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive -#SBATCH -N 2 --ntasks-per-node=24 - -# specify computation resource -export MP_LABELIO=yes -export threads=1 -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -echo "starting time" -date - -###################################################################### -# Purpose: to run RAP post processing -###################################################################### - -# EXPORT list here - -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting hrrr_ifi test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# CALL executable job script here - -# specify your running and output directory -export startdate=2020060118 -export fhr=04 -export DATA=$rundir/hrrr_ifi_${startdate} - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo ${NEWDATE} | cut -c1-4` -export MM=`echo ${NEWDATE} | cut -c5-6` -export DD=`echo ${NEWDATE} | cut -c7-8` -export HH=`echo ${NEWDATE} | cut -c9-10` - -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -cat > itag < wrfpost2.out - -# operational hrrr post processing generates 3 files -filelist="IFIFIP.GrbF04" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # operational hrrr post processing generates 3 files, start with BGDAWP first - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/hrrr_ifi/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="hrrr_ifi test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="hrrr_ifi test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/hrrr_ifi/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - - -else - - msg="hrrr_ifi test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending hrrr_ifi test" -postmsg "$logfile" "$msg" - - diff --git a/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh b/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh deleted file mode 100644 index 3f5d2481f..000000000 --- a/ci/jobs-dev/run_post_hrrr_pe_test_URSA.sh +++ /dev/null @@ -1,136 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.hrrr_pe_test -#SBATCH -e out.post.hrrr_pe_test -#SBATCH -J hrrr_pe_test -#SBATCH -t 00:20:00 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive -#SBATCH -N 3 --ntasks-per-node=24 - -set -x - -# specify computation resource -export MP_LABELIO=yes -export threads=1 -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -echo "starting time" -date - -###################################################################### -# Purpose: to run RAP post processing -###################################################################### - -# EXPORT list here - -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting hrrr pe test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# CALL executable job script here - -# specify your running and output directory -export startdate=2020060118 -export fhr=04 -export DATA=$rundir/hrrr_${startdate}_pe_test - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo ${NEWDATE} | cut -c1-4` -export MM=`echo ${NEWDATE} | cut -c5-6` -export DD=`echo ${NEWDATE} | cut -c7-8` -export HH=`echo ${NEWDATE} | cut -c9-10` - -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -cat > itag < wrfpost2.out - -# operational hrrr post processing generates 3 files -filelist="WRFTWO.GrbF04 \ - WRFPRS.GrbF04 \ - WRFNAT.GrbF04" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # operational hrrr post processing generates 3 files, start with BGDAWP first - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/hrrr/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="hrrr pe test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - #msg="hrrr pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" - #echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/hrrr/${filein2}.${machine} ${filein2} > ${filein2}.diff - export err2=$? - if [ $err2 -eq 0 ] ; then - msg="hrrr pe test: your new post executable is fine in ${filein2}" - echo $msg - else - msg="hrrr pe test: your new post executable did generate changed results in ${filein2}" - echo $msg - fi - fi - - -else - - msg="hrrr pe test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending hrrr pe test" -postmsg "$logfile" "$msg" - - diff --git a/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh b/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh deleted file mode 100644 index 0f8b43e1f..000000000 --- a/ci/jobs-dev/run_post_nmmb_Grib2_URSA.sh +++ /dev/null @@ -1,142 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.nmmb_Grib2 -#SBATCH -e out.post.nmmb_Grib2 -#SBATCH -J nmmb_test -#SBATCH -t 00:20:00 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -N 7 --ntasks-per-node=4 -#SBATCH -A ovp -#SBATCH --exclusive - -set -x - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -echo "starting time" -date - -############################################ -# Loading module -############################################ -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting nmmb test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new - -# specify user's own post executable for testing -#export svndir=/u/Wen.Meng/save/ncep_post/trunk -export POSTGPEXEC=${svndir}/exec/upp.x - - -# specify forecast start time and hour for running your post job -export startdate=2014120818 -export fhr=03 - -# specify your running and output directory -export DATA=$rundir/post_nmmb_meso_${startdate}_Grib2 - -# specify your home directory -#export homedir=`pwd`/.. - -export tmmark=tm00 - -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -echo $homedir -echo $NDATE -export NEWDATE=`$NDATE +${fhr} $startdate` - -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < outpost_nems_${NEWDATE} - -mv BGDAWP${fhr}.tm00 BGDAWP${fhr}.tm00.Grib2 -mv BGRD3D${fhr}.tm00 BGRD3D${fhr}.tm00.Grib2 -mv BGRDSF${fhr}.tm00 BGRDSF${fhr}.tm00.Grib2 - -# operational NMMB post processing generates 3 files -filelist="BGDAWP${fhr}.tm00.Grib2 \ - BGRD3D${fhr}.tm00.Grib2 \ - BGRDSF${fhr}.tm00.Grib2" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # operational NMMB post processing generates 3 files, start with BGDAWP first - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/nmmb/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="nmmb test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="nmmb test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - - -else - msg="nmmb test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending nmmb test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh b/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh deleted file mode 100644 index bc86ab5cd..000000000 --- a/ci/jobs-dev/run_post_nmmb_Grib2_pe_test_URSA.sh +++ /dev/null @@ -1,143 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.nmmb_Grib2_pe -#SBATCH -e out.post.nmmb_Grib2_pe -#SBATCH -J nmmb_pe_test -#SBATCH -t 00:20:00 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -N 5 --ntasks-per-node=4 -#SBATCH -A ovp -#SBATCH --exclusive - -set -x - -# specify computation resource -export threads=1 -export MP_LABELIO=yes -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -echo "starting time" -date - -############################################ -# Loading module -############################################ -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting nmmb pe test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new - -# specify user's own post executable for testing -#export svndir=/u/Wen.Meng/save/ncep_post/trunk -export POSTGPEXEC=${svndir}/exec/upp.x - - -# specify forecast start time and hour for running your post job -export startdate=2014120818 -export fhr=03 - -# specify your running and output directory -export DATA=$rundir/post_nmmb_meso_${startdate}_Grib2_pe_test - -# specify your home directory -#export homedir=`pwd`/.. - -export tmmark=tm00 - - -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -echo $homedir -echo $NDATE -export NEWDATE=`$NDATE +${fhr} $startdate` - -export YY=`echo $NEWDATE | cut -c1-4` -export MM=`echo $NEWDATE | cut -c5-6` -export DD=`echo $NEWDATE | cut -c7-8` -export HH=`echo $NEWDATE | cut -c9-10` - - -cat > itag < outpost_nems_${NEWDATE} - -mv BGDAWP${fhr}.tm00 BGDAWP${fhr}.tm00.Grib2 -mv BGRD3D${fhr}.tm00 BGRD3D${fhr}.tm00.Grib2 -mv BGRDSF${fhr}.tm00 BGRDSF${fhr}.tm00.Grib2 - -# operational NMMB post processing generates 3 files -filelist="BGDAWP${fhr}.tm00.Grib2 \ - BGRD3D${fhr}.tm00.Grib2 \ - BGRDSF${fhr}.tm00.Grib2" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # operational NMMB post processing generates 3 files, start with BGDAWP first - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/nmmb/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="nmmb pe test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="nmmb pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/nmmb/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - - -else - msg="nmmb pe test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending nmmb pe test" -postmsg "$logfile" "$msg" diff --git a/ci/jobs-dev/run_post_rap_URSA.sh b/ci/jobs-dev/run_post_rap_URSA.sh deleted file mode 100644 index 003937b1e..000000000 --- a/ci/jobs-dev/run_post_rap_URSA.sh +++ /dev/null @@ -1,126 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.rap -#SBATCH -e out.post.rap -#SBATCH -J rap_test -#SBATCH -t 00:20:00 -#SBATCH -N 4 --ntasks-per-node=12 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive - -set -x - -# specify computation resource -export MP_LABELIO=yes -export threads=1 -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -echo "starting time" -date - -###################################################################### -# Purpose: to run RAP post processing -###################################################################### - -# EXPORT list here - -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting rap test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# CALL executable job script here - -# specify your running and output directory -export startdate=2020072316 -export fhr=16 -export DATA=$rundir/rap_${startdate} - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo ${NEWDATE} | cut -c1-4` -export MM=`echo ${NEWDATE} | cut -c5-6` -export DD=`echo ${NEWDATE} | cut -c7-8` -export HH=`echo ${NEWDATE} | cut -c9-10` - -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -cat > itag < wrfpost2.out - -# operational rap post processing generates 3 files -filelist="WRFPRS.GrbF16 \ - WRFNAT.GrbF16" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # operational rap post processing generates 3 files, start with BGDAWP first - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/rap/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="rap test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - msg="rap test: your new post executable did not generate bit-identical ${filein2} as the trunk" - echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/rap/${filein2}.${machine} ${filein2} > ${filein2}.diff - fi - - -else - - msg="rap test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending rap test" -postmsg "$logfile" "$msg" - - diff --git a/ci/jobs-dev/run_post_rap_pe_test_URSA.sh b/ci/jobs-dev/run_post_rap_pe_test_URSA.sh deleted file mode 100644 index b82a72423..000000000 --- a/ci/jobs-dev/run_post_rap_pe_test_URSA.sh +++ /dev/null @@ -1,135 +0,0 @@ -#!/bin/sh - -#SBATCH -o out.post.rap_pe_test -#SBATCH -e out.post.rap_pe_test -#SBATCH -J rap_pe_test -#SBATCH -t 00:20:00 -##SBATCH -q debug -#SBATCH -q batch -#SBATCH -A ovp -#SBATCH --exclusive -#SBATCH -N 5 --ntasks-per-node=8 - -set -x - -# specify computation resource -export MP_LABELIO=yes -export threads=1 -export OMP_NUM_THREADS=$threads -export APRUN="srun" - -echo "starting time" -date - -###################################################################### -# Purpose: to run RAP post processing -###################################################################### - -# EXPORT list here - -module purge -module use $svndir/modulefiles -module load ursa_$compiler -module load wgrib2/3.6.0 -module load prod_util/2.1.1 -module load nccmp/1.9.1.0 -module list - -msg="Starting rap pe test" -postmsg "$logfile" "$msg" - -export cmp_grib2_grib2=/home/Wen.Meng/bin/cmp_grib2_grib2_new -export POSTGPEXEC=${svndir}/exec/upp.x - -# CALL executable job script here - -# specify your running and output directory -export startdate=2020072316 -export fhr=16 -export DATA=$rundir/rap_${startdate}_pe_test - -export NEWDATE=`${NDATE} +${fhr} $startdate` - -export YY=`echo ${NEWDATE} | cut -c1-4` -export MM=`echo ${NEWDATE} | cut -c5-6` -export DD=`echo ${NEWDATE} | cut -c7-8` -export HH=`echo ${NEWDATE} | cut -c9-10` - -rm -rf $DATA; mkdir -p $DATA -cd $DATA - -cat > itag < wrfpost2.out - -# operational rap post processing generates 3 files -filelist="WRFPRS.GrbF16 \ - WRFNAT.GrbF16" - -for file in $filelist; do -export filein2=$file -ls -l ${filein2} -export err=$? - -if [ $err = "0" ] ; then - - # operational rap post processing generates 3 files, start with BGDAWP first - # use cmp to see if new pgb files are identical to the control one - cmp ${filein2} $homedir/data_out_$compiler/rap/${filein2}.${machine} - - # if not bit-identical, use cmp_grib2_grib2 to compare each grib record - export err1=$? - if [ $err1 -eq 0 ] ; then - msg="rap pe test: your new post executable generates bit-identical ${filein2} as the trunk" - echo $msg - else - #msg="rap pe test: your new post executable did not generate bit-identical ${filein2} as the trunk" - #echo $msg - echo " start comparing each grib record and write the comparison result to *diff files" - echo " check these *diff files to make sure your new post only change variables which you intend to change" - $cmp_grib2_grib2 $homedir/data_out_$compiler/rap/${filein2}.${machine} ${filein2} > ${filein2}.diff - cmp ${filein2}.diff $homedir/data_out_$compiler/rap/${filein2}.diff - export err2=$? - if [ $err2 -eq 0 ] ; then - msg="rap pe test: your new post executable is fine in ${filein2}" - echo $msg - else - msg="rap pe test: your new post executable did generate changed results in ${filein2}" - echo $msg - fi - fi - - -else - - msg="rap pe test: post failed using your new post executable to generate ${filein2}" - echo $msg 2>&1 | tee -a TEST_ERROR - -fi -postmsg "$logfile" "$msg" -done - -echo "PROGRAM IS COMPLETE!!!!!" 2>&1 | tee SUCCESS -msg="Ending rap pe test" -postmsg "$logfile" "$msg" - - From de55ae2931ec0ddab292111f00501e3a6cbdcc91 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Fri, 6 Jun 2025 14:48:55 +0000 Subject: [PATCH 14/22] revert hera log --- tests/logs/rt.log.HERA | 97 ++++++++++++++---------------------------- 1 file changed, 33 insertions(+), 64 deletions(-) diff --git a/tests/logs/rt.log.HERA b/tests/logs/rt.log.HERA index 6d6eb27ea..7e89197c1 100644 --- a/tests/logs/rt.log.HERA +++ b/tests/logs/rt.log.HERA @@ -1,77 +1,46 @@ ===== Start of UPP Regression Testing Log ===== UPP Hash Tested: -051ecf7cc9786f2018816d7dac60327215264737 +4a125c31c60714c7747002e3f1c27976aa678a7d Submodule hashes: -179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd -3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd -Run directory: /scratch1/NCEPDEV/stmp2/Samuel.Trahan/upp-HERA +Run directory: /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1208b/ci/rundir/upp-HERA Baseline directory: /scratch2/NAGAPE/epic/UPP/test_suite -Total runtime: 00h:15m:02s -Test Date: 20250604 19:29:50 +Total runtime: 00h:10m:08s +Test Date: 20250605 17:47:22 Summary Results: -06/04 19:22:15Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk -06/04 19:22:15Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk -06/04 19:22:18Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk -06/04 19:22:25Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk -06/04 19:22:32Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk -06/04 19:22:58Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk -06/04 19:23:02Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk -06/04 19:23:11Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk -06/04 19:23:13Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk -06/04 19:23:14Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk -06/04 19:23:15Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk -06/04 19:23:17Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16 -06/04 19:23:17Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk -06/04 19:23:18Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk -06/04 19:23:18Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk -06/04 19:23:30Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk -06/04 19:23:35Z -fv3r pe test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk -06/04 19:23:35Z -rtma pe test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk -06/04 19:23:36Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk -06/04 19:23:39Z -rtma pe test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk -06/04 19:23:41Z -fv3r pe test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk -06/04 19:23:41Z -rtma test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk -06/04 19:23:44Z -rtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk -06/04 19:23:56Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk -06/04 19:23:58Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk -06/04 19:24:00Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk -06/04 19:24:21Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk -06/04 19:24:23Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk -06/04 19:24:25Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk -06/04 19:24:41Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the trunk -06/04 19:25:12Z -hrrr_ifi test: your new post executable generates bit-identical IFIFIP.GrbF04 as the trunk -06/04 19:27:58Z -ifi standalone_fv3r test: Passed. libIFI standalone program and IFI in UPP produce identical results -06/04 19:28:23Z -ifi standalone_fv3r test: Passed. libIFI standalone program and IFI in UPP produce identical results -06/04 19:28:57Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk -06/04 19:29:00Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk -06/04 19:29:00Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk -06/04 19:29:41Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk -06/04 19:29:44Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk -06/04 19:29:44Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk -06/04 19:25:25Z -Runtime: hrrr_ifi_test 00:03:22 -- baseline 00:05:00 -06/04 19:28:31Z -Runtime: ifi_standalone_hrrr_test 00:03:07 -- baseline -06/04 19:28:31Z -Runtime: fv3r_ifi_test 00:02:50 -- baseline 00:05:00 -06/04 19:28:31Z -Runtime: ifi_standalone_fv3r_test 00:03:15 -- baseline 00:05:00 -06/04 19:28:31Z -Runtime: nmmb_test 00:01:20 -- baseline 00:01:00 -06/04 19:28:32Z -Runtime: nmmb_pe_test 00:01:23 -- baseline 00:01:00 -06/04 19:28:32Z -Runtime: fv3gefs_test 00:00:24 -- baseline 00:40:00 -06/04 19:28:32Z -Runtime: fv3gefs_pe_test 00:00:24 -- baseline 00:40:00 -06/04 19:28:32Z -Runtime: rap_test 00:01:11 -- baseline 00:02:00 -06/04 19:28:32Z -Runtime: rap_pe_test 00:01:27 -- baseline 00:02:00 -06/04 19:28:33Z -Runtime: hrrr_test 00:02:34 -- baseline 00:02:00 -06/04 19:28:33Z -Runtime: hrrr_pe_test 00:02:09 -- baseline 00:02:00 -06/04 19:29:03Z -Runtime: fv3gfs_test 00:07:09 -- baseline 00:15:00 -06/04 19:29:49Z -Runtime: fv3gfs_pe_test 00:07:53 -- baseline 00:15:00 -06/04 19:29:49Z -Runtime: fv3r_test 00:01:45 -- baseline 00:03:00 -06/04 19:29:49Z -Runtime: fv3r_pe_test 00:01:50 -- baseline 00:03:00 -06/04 19:29:49Z -Runtime: fv3r_ifi_missing 00:00:27 -- baseline 00:03:00 -06/04 19:29:50Z -Runtime: fv3hafs_test 00:00:34 -- baseline 00:03:00 -06/04 19:29:50Z -Runtime: fv3hafs_pe_test 00:00:41 -- baseline 00:03:00 -06/04 19:29:50Z -Runtime: rtma_test 00:01:53 -- baseline 00:03:00 -06/04 19:29:50Z -Runtime: rtma_pe_test 00:01:48 -- baseline 00:03:00 +06/05 17:40:36Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +06/05 17:40:36Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch +06/05 17:40:59Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch +06/05 17:41:13Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the develop branch +06/05 17:41:14Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the develop branch +06/05 17:41:32Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +06/05 17:41:33Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +06/05 17:41:34Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +06/05 17:41:45Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the develop branch +06/05 17:41:51Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the develop branch +06/05 17:42:02Z -3drtma test: your new post executable generates bit-identical NATLEV00.tm00 as the develop branch +06/05 17:42:05Z -3drtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the develop branch +06/05 17:42:40Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the develop branch +06/05 17:42:41Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the develop branch +06/05 17:42:43Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the develop branch +06/05 17:47:04Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +06/05 17:47:07Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +06/05 17:47:08Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +06/05 17:41:44Z -Runtime: nmmb_test 00:01:34 -- baseline 00:02:00 +06/05 17:41:44Z -Runtime: fv3gefs_test 00:00:36 -- baseline 00:01:00 +06/05 17:41:59Z -Runtime: fv3r_test 00:01:51 -- baseline 00:03:00 +06/05 17:41:59Z -Runtime: fv3r_ifi_mis 00:00:36 -- baseline 00:01:00 +06/05 17:42:45Z -Runtime: hrrr_test 00:02:43 -- baseline 00:03:00 +06/05 17:42:45Z -Runtime: rap_test 00:01:14 -- baseline 00:02:00 +06/05 17:42:45Z -Runtime: fv3hafs_test 00:00:59 -- baseline 00:01:00 +06/05 17:42:45Z -Runtime: 3drtma_test 00:02:05 -- baseline 00:03:00 +06/05 17:47:22Z -Runtime: fv3gfs_test 00:07:08 -- baseline 00:10:00 +Check tests: +nmmb fv3gefs fv3r fv3r_ifi_missing hrrr rap fv3hafs 3drtma fv3gfs No changes in test results detected. ===== End of UPP Regression Testing Log ===== From d63c645142724d1652a6484201a752d3dff7e056 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Fri, 6 Jun 2025 15:37:00 +0000 Subject: [PATCH 15/22] remove unneeded script --- ci/cmp_grib2_grib2.sh | 13 ------------- 1 file changed, 13 deletions(-) delete mode 100755 ci/cmp_grib2_grib2.sh diff --git a/ci/cmp_grib2_grib2.sh b/ci/cmp_grib2_grib2.sh deleted file mode 100755 index e4a391776..000000000 --- a/ci/cmp_grib2_grib2.sh +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# -# this routine compares two grib2 files -# the files must have the same fields in the same order -# -#set -x - - # for wgrib2 v2.0.7beta2 5/2017 - wgrib2 $2 -var -lev -rpn "sto_1" -import_grib $1 -rpn "rcl_1:print_corr:print_rms" | \ - egrep -v "rpn_corr=1" -# egrep -v "rpn_corr=1|rpn_rms=undefined" - - # use rpn_corr=0 for all fields From ad91bc099b0a1f0c8d96bc71fbf1380940da17a3 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Fri, 6 Jun 2025 16:43:34 +0000 Subject: [PATCH 16/22] ursa default compiler = intelllvm; move defaults to top of file --- tests/compile_upp.sh | 62 ++++++++++++++++++++++++-------------------- 1 file changed, 34 insertions(+), 28 deletions(-) diff --git a/tests/compile_upp.sh b/tests/compile_upp.sh index 326ad367a..0b4558935 100755 --- a/tests/compile_upp.sh +++ b/tests/compile_upp.sh @@ -6,20 +6,48 @@ set -eu +if [[ $(uname -s) == Darwin ]]; then + readonly MYDIR=$(cd "$(dirname "$(greadlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) +else + readonly MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) +fi +PATHTR=${PATHTR:-$( cd ${MYDIR}/.. && pwd )} +source ${PATHTR}/tests/detect_machine.sh + +delete_exec=YES +upp_name="upp.x" +load_ifi_module=NO +prefix="../install" +ifi_opt=" -DBUILD_WITH_IFI=OFF" +build_ifi_executables_opt=" " +build_ifi_executables=NO +gtg_opt=" -DBUILD_WITH_GTG=OFF" +nemsio_opt=" -DBUILD_WITH_NEMSIO=ON" +wrfio_opt=" -DBUILD_WITH_WRFIO=ON" +more=" " +verbose_opt="" +debug_opt="" + +if [[ "${MACHINE_ID}" == ursa ]] ; then + compiler="intelllvm" +else + compiler="intel" +fi + usage() { echo echo "Usage: $0 [options]" echo - echo " -o exe_name.x Name of built UPP executable in exec. Default: upp.x" - echo " -p installation prefix DEFAULT: ../install" - echo " -g build with GTG(users with gtg repos. access only) DEFAULT: OFF" + echo " -o exe_name.x Name of built UPP executable in exec. Default: $upp_name" + echo " -p installation prefix DEFAULT: $prefix" + echo " -g build with GTG(users with gtg repos. access only) DEFAULT: ${gtg_opt#*=}" echo " -i build with libIFI(users with ifi install access only) DEFAULT: OFF" echo " -I build with libIFI (users with ifi repos. access only) DEFAULT: OFF" echo " -B build libIFI test programs (only valid with -I) DEFAULT: OFF" - echo " -n build without nemsio DEFAULT: ON" - echo " -w build without WRF-IO DEFAULT: ON" + echo " -n build with nemsio DEFAULT: ${nemsio_opt#*=}" + echo " -w build with WRF-IO DEFAULT: ${wrfio_opt#*=}" echo " -v build with cmake verbose DEFAULT: OFF" - echo " -c Compiler to use for build DEFAULT: intel" + echo " -c Compiler to use for build DEFAULT: $compiler" echo " -d Debug mode of CMAKE_BUILD_TYPE DEFAULT: Release" echo " -a Skip deletion of exec. Add new executables. DEFAULT: OFF" echo " -Doption=value Passes this option to cmake (can use more than once)" @@ -28,20 +56,6 @@ usage() { exit 1 } -delete_exec=YES -upp_name="upp.x" -load_ifi_module=NO -prefix="../install" -ifi_opt=" -DBUILD_WITH_IFI=OFF" -build_ifi_executables_opt=" " -build_ifi_executables=NO -gtg_opt=" -DBUILD_WITH_GTG=OFF" -nemsio_opt=" -DBUILD_WITH_NEMSIO=ON" -wrfio_opt=" -DBUILD_WITH_WRFIO=ON" -more=" " -compiler="intel" -verbose_opt="" -debug_opt="" while getopts ":p:gnwc:vhiIdBD:o:a" opt; do case $opt in a) @@ -100,14 +114,6 @@ fi cmake_opts=" -DCMAKE_INSTALL_PREFIX=$prefix"${nemsio_opt}${wrfio_opt}${gtg_opt}${ifi_opt}${debug_opt}${build_ifi_executables_opt}${more} -if [[ $(uname -s) == Darwin ]]; then - readonly MYDIR=$(cd "$(dirname "$(greadlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) -else - readonly MYDIR=$(cd "$(dirname "$(readlink -f -n "${BASH_SOURCE[0]}" )" )" && pwd -P) -fi -PATHTR=${PATHTR:-$( cd ${MYDIR}/.. && pwd )} -source ${PATHTR}/tests/detect_machine.sh - #Load required modulefiles if [[ $MACHINE_ID != "unknown" ]]; then if [ $MACHINE_ID == "wcoss2" -o $MACHINE_ID == "wcoss2_a" ]; then From 810f6cfa039805b67acd0ec29ddf7d715f4e7f96 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Fri, 6 Jun 2025 16:47:05 +0000 Subject: [PATCH 17/22] restore defaults for usage message --- tests/compile_upp.sh | 41 +++++++++++++++++++++++------------------ 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/tests/compile_upp.sh b/tests/compile_upp.sh index 0b4558935..826aa2b13 100755 --- a/tests/compile_upp.sh +++ b/tests/compile_upp.sh @@ -14,27 +14,30 @@ fi PATHTR=${PATHTR:-$( cd ${MYDIR}/.. && pwd )} source ${PATHTR}/tests/detect_machine.sh -delete_exec=YES -upp_name="upp.x" -load_ifi_module=NO -prefix="../install" -ifi_opt=" -DBUILD_WITH_IFI=OFF" -build_ifi_executables_opt=" " -build_ifi_executables=NO -gtg_opt=" -DBUILD_WITH_GTG=OFF" -nemsio_opt=" -DBUILD_WITH_NEMSIO=ON" -wrfio_opt=" -DBUILD_WITH_WRFIO=ON" -more=" " -verbose_opt="" -debug_opt="" +set_defaults() { + delete_exec=YES + upp_name="upp.x" + load_ifi_module=NO + prefix="../install" + ifi_opt=" -DBUILD_WITH_IFI=OFF" + build_ifi_executables_opt=" " + build_ifi_executables=NO + gtg_opt=" -DBUILD_WITH_GTG=OFF" + nemsio_opt=" -DBUILD_WITH_NEMSIO=ON" + wrfio_opt=" -DBUILD_WITH_WRFIO=ON" + more=" " + verbose_opt="" + debug_opt="" -if [[ "${MACHINE_ID}" == ursa ]] ; then - compiler="intelllvm" -else - compiler="intel" -fi + if [[ "${MACHINE_ID}" == ursa ]] ; then + compiler="intelllvm" + else + compiler="intel" + fi +} usage() { + set_defaults # restore defaults so usage is correct echo echo "Usage: $0 [options]" echo @@ -56,6 +59,8 @@ usage() { exit 1 } +set_defaults + while getopts ":p:gnwc:vhiIdBD:o:a" opt; do case $opt in a) From 20fc8813bbb2cd4f45ea61451d849a92ef05ea30 Mon Sep 17 00:00:00 2001 From: "Samuel.Trahan" Date: Mon, 9 Jun 2025 18:13:12 +0000 Subject: [PATCH 18/22] default compiler is intel on ursa --- tests/compile_upp.sh | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/tests/compile_upp.sh b/tests/compile_upp.sh index 826aa2b13..24e5fd37a 100755 --- a/tests/compile_upp.sh +++ b/tests/compile_upp.sh @@ -28,12 +28,7 @@ set_defaults() { more=" " verbose_opt="" debug_opt="" - - if [[ "${MACHINE_ID}" == ursa ]] ; then - compiler="intelllvm" - else - compiler="intel" - fi + compiler="intel" } usage() { From 3b1620ef9ea6681069bafc65553e253e7d78034b Mon Sep 17 00:00:00 2001 From: gspetro-NOAA Date: Mon, 9 Jun 2025 22:15:23 -0500 Subject: [PATCH 19/22] hercules rt log --- tests/logs/rt.log.HERCULES | 62 +++++++++++++++++++------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/tests/logs/rt.log.HERCULES b/tests/logs/rt.log.HERCULES index 37645760b..3129f272a 100644 --- a/tests/logs/rt.log.HERCULES +++ b/tests/logs/rt.log.HERCULES @@ -1,45 +1,45 @@ ===== Start of UPP Regression Testing Log ===== UPP Hash Tested: -4a125c31c60714c7747002e3f1c27976aa678a7d +20fc8813bbb2cd4f45ea61451d849a92ef05ea30 Submodule hashes: -179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd -3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd -Run directory: /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1208b/ci/rundir/upp-HERCULES +Run directory: /work/noaa/epic/gpetro/hercules/RTs/upp-rts/1231/ci/rundir/upp-HERCULES Baseline directory: /work/noaa/epic/UPP -Total runtime: 00h:20m:23s -Test Date: 20250605 12:57:40 +Total runtime: 00h:11m:06s +Test Date: 20250609 22:11:07 Summary Results: -06/05 17:41:30Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch -06/05 17:41:32Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch -06/05 17:41:32Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch -06/05 17:44:14Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch -06/05 17:44:19Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch -06/05 17:44:52Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the develop branch -06/05 17:44:53Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the develop branch -06/05 17:45:43Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the develop branch -06/05 17:45:47Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the develop branch -06/05 17:46:13Z -3drtma test: your new post executable generates bit-identical NATLEV00.tm00 as the develop branch -06/05 17:46:17Z -3drtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the develop branch -06/05 17:48:40Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the develop branch -06/05 17:48:41Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the develop branch -06/05 17:48:44Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the develop branch -06/05 17:53:31Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch -06/05 17:53:32Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch -06/05 17:53:32Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch -06/05 17:57:37Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch -06/05 17:41:38Z -Runtime: nmmb_test 00:02:09 -- baseline 00:03:00 -06/05 17:44:23Z -Runtime: fv3gefs_test 00:00:22 -- baseline 00:01:00 -06/05 17:45:53Z -Runtime: fv3r_test 00:01:50 -- baseline 00:03:00 -06/05 17:45:53Z -Runtime: fv3r_ifi_mis 00:00:17 -- baseline 00:01:00 -06/05 17:48:53Z -Runtime: hrrr_test 00:04:47 -- baseline 00:05:00 -06/05 17:48:53Z -Runtime: rap_test 00:00:56 -- baseline 00:02:00 -06/05 17:57:39Z -Runtime: fv3hafs_test 00:00:29 -- baseline 00:01:00 -06/05 17:57:39Z -Runtime: 3drtma_test 00:02:20 -- baseline 00:03:00 -06/05 17:57:39Z -Runtime: fv3gfs_test 00:09:35 -- baseline 00:11:00 +06/10 03:02:21Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch +06/10 03:02:24Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +06/10 03:02:37Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch +06/10 03:03:02Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the develop branch +06/10 03:03:03Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the develop branch +06/10 03:03:50Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +06/10 03:03:50Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the develop branch +06/10 03:03:51Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +06/10 03:03:51Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +06/10 03:03:53Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the develop branch +06/10 03:04:19Z -3drtma test: your new post executable generates bit-identical NATLEV00.tm00 as the develop branch +06/10 03:04:22Z -3drtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the develop branch +06/10 03:06:33Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the develop branch +06/10 03:06:34Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the develop branch +06/10 03:06:36Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the develop branch +06/10 03:11:00Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +06/10 03:11:02Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +06/10 03:11:03Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +06/10 03:03:51Z -Runtime: nmmb_test 00:01:45 -- baseline 00:03:00 +06/10 03:03:51Z -Runtime: fv3gefs_test 00:00:17 -- baseline 00:01:00 +06/10 03:04:06Z -Runtime: fv3r_test 00:01:46 -- baseline 00:03:00 +06/10 03:04:06Z -Runtime: fv3r_ifi_mis 00:00:14 -- baseline 00:01:00 +06/10 03:06:36Z -Runtime: hrrr_test 00:04:29 -- baseline 00:05:00 +06/10 03:06:36Z -Runtime: rap_test 00:00:56 -- baseline 00:02:00 +06/10 03:06:36Z -Runtime: fv3hafs_test 00:00:30 -- baseline 00:01:00 +06/10 03:06:36Z -Runtime: 3drtma_test 00:02:15 -- baseline 00:03:00 +06/10 03:11:07Z -Runtime: fv3gfs_test 00:08:56 -- baseline 00:11:00 Check tests: nmmb fv3gefs fv3r fv3r_ifi_missing hrrr rap fv3hafs 3drtma fv3gfs No changes in test results detected. From 7098e484493187441ce5130856c3851f27f7073d Mon Sep 17 00:00:00 2001 From: gspetro-NOAA Date: Tue, 10 Jun 2025 03:22:24 +0000 Subject: [PATCH 20/22] hera rt log --- tests/logs/rt.log.HERA | 62 +++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/tests/logs/rt.log.HERA b/tests/logs/rt.log.HERA index 7e89197c1..034cfcb97 100644 --- a/tests/logs/rt.log.HERA +++ b/tests/logs/rt.log.HERA @@ -1,45 +1,45 @@ ===== Start of UPP Regression Testing Log ===== UPP Hash Tested: -4a125c31c60714c7747002e3f1c27976aa678a7d +20fc8813bbb2cd4f45ea61451d849a92ef05ea30 Submodule hashes: -179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd -3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd -Run directory: /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1208b/ci/rundir/upp-HERA +Run directory: /scratch2/NAGAPE/epic/Gillian.Petro/RTs/upp-rts/1231/ci/rundir/upp-HERA Baseline directory: /scratch2/NAGAPE/epic/UPP/test_suite -Total runtime: 00h:10m:08s -Test Date: 20250605 17:47:22 +Total runtime: 00h:09m:42s +Test Date: 20250610 03:09:53 Summary Results: -06/05 17:40:36Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch -06/05 17:40:36Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch -06/05 17:40:59Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch -06/05 17:41:13Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the develop branch -06/05 17:41:14Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the develop branch -06/05 17:41:32Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch -06/05 17:41:33Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch -06/05 17:41:34Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch -06/05 17:41:45Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the develop branch -06/05 17:41:51Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the develop branch -06/05 17:42:02Z -3drtma test: your new post executable generates bit-identical NATLEV00.tm00 as the develop branch -06/05 17:42:05Z -3drtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the develop branch -06/05 17:42:40Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the develop branch -06/05 17:42:41Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the develop branch -06/05 17:42:43Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the develop branch -06/05 17:47:04Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch -06/05 17:47:07Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch -06/05 17:47:08Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch -06/05 17:41:44Z -Runtime: nmmb_test 00:01:34 -- baseline 00:02:00 -06/05 17:41:44Z -Runtime: fv3gefs_test 00:00:36 -- baseline 00:01:00 -06/05 17:41:59Z -Runtime: fv3r_test 00:01:51 -- baseline 00:03:00 -06/05 17:41:59Z -Runtime: fv3r_ifi_mis 00:00:36 -- baseline 00:01:00 -06/05 17:42:45Z -Runtime: hrrr_test 00:02:43 -- baseline 00:03:00 -06/05 17:42:45Z -Runtime: rap_test 00:01:14 -- baseline 00:02:00 -06/05 17:42:45Z -Runtime: fv3hafs_test 00:00:59 -- baseline 00:01:00 -06/05 17:42:45Z -Runtime: 3drtma_test 00:02:05 -- baseline 00:03:00 -06/05 17:47:22Z -Runtime: fv3gfs_test 00:07:08 -- baseline 00:10:00 +06/10 03:03:15Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch +06/10 03:03:17Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +06/10 03:03:23Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch +06/10 03:03:56Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the develop branch +06/10 03:03:57Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the develop branch +06/10 03:04:15Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +06/10 03:04:17Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +06/10 03:04:17Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +06/10 03:04:25Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the develop branch +06/10 03:04:31Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the develop branch +06/10 03:04:36Z -3drtma test: your new post executable generates bit-identical NATLEV00.tm00 as the develop branch +06/10 03:04:40Z -3drtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the develop branch +06/10 03:05:15Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the develop branch +06/10 03:05:16Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the develop branch +06/10 03:05:18Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the develop branch +06/10 03:09:42Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +06/10 03:09:45Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +06/10 03:09:45Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +06/10 03:04:20Z -Runtime: nmmb_test 00:01:27 -- baseline 00:02:00 +06/10 03:04:20Z -Runtime: fv3gefs_test 00:00:29 -- baseline 00:01:00 +06/10 03:04:35Z -Runtime: fv3r_test 00:01:43 -- baseline 00:03:00 +06/10 03:04:35Z -Runtime: fv3r_ifi_mis 00:00:27 -- baseline 00:01:00 +06/10 03:05:21Z -Runtime: hrrr_test 00:02:30 -- baseline 00:03:00 +06/10 03:05:21Z -Runtime: rap_test 00:01:09 -- baseline 00:02:00 +06/10 03:05:21Z -Runtime: fv3hafs_test 00:00:35 -- baseline 00:01:00 +06/10 03:05:21Z -Runtime: 3drtma_test 00:01:52 -- baseline 00:03:00 +06/10 03:09:53Z -Runtime: fv3gfs_test 00:06:57 -- baseline 00:10:00 Check tests: nmmb fv3gefs fv3r fv3r_ifi_missing hrrr rap fv3hafs 3drtma fv3gfs No changes in test results detected. From ac06aba06f4db0ab77b67418dca52c1e1273dadc Mon Sep 17 00:00:00 2001 From: gspetro-NOAA Date: Mon, 9 Jun 2025 22:48:56 -0500 Subject: [PATCH 21/22] orion rt log --- tests/logs/rt.log.ORION | 62 ++++++++++++++++++++--------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/tests/logs/rt.log.ORION b/tests/logs/rt.log.ORION index 9fdef6e7f..c92d5e0e9 100644 --- a/tests/logs/rt.log.ORION +++ b/tests/logs/rt.log.ORION @@ -1,45 +1,45 @@ ===== Start of UPP Regression Testing Log ===== UPP Hash Tested: -e334f741672873da3c269ef8f96596b0c0c1a5bd +3b1620ef9ea6681069bafc65553e253e7d78034b Submodule hashes: -179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd -3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd -Run directory: /work/noaa/epic/gpetro/orion/RTs/upp-rts/1208b/ci/rundir/upp-ORION +Run directory: /work/noaa/epic/gpetro/orion/RTs/upp-rts/1231a/ci/rundir/upp-ORION Baseline directory: /work/noaa/epic/UPP -Total runtime: 00h:14m:16s -Test Date: 20250605 15:17:20 +Total runtime: 00h:15m:21s +Test Date: 20250609 22:34:51 Summary Results: -06/05 20:07:18Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch -06/05 20:07:24Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch -06/05 20:07:43Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch -06/05 20:08:31Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the develop branch -06/05 20:08:32Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the develop branch -06/05 20:08:43Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch -06/05 20:08:45Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch -06/05 20:08:46Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch -06/05 20:09:03Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the develop branch -06/05 20:09:09Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the develop branch -06/05 20:09:35Z -3drtma test: your new post executable generates bit-identical NATLEV00.tm00 as the develop branch -06/05 20:09:40Z -3drtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the develop branch -06/05 20:14:38Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the develop branch -06/05 20:14:39Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the develop branch -06/05 20:14:41Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the develop branch -06/05 20:17:18Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch -06/05 20:17:19Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch -06/05 20:17:19Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch -06/05 20:08:48Z -Runtime: nmmb_test 00:02:27 -- baseline 00:03:00 -06/05 20:08:48Z -Runtime: fv3gefs_test 00:00:27 -- baseline 00:01:00 -06/05 20:09:18Z -Runtime: fv3r_test 00:02:12 -- baseline 00:03:00 -06/05 20:09:18Z -Runtime: fv3r_ifi_mis 00:00:21 -- baseline 00:01:00 -06/05 20:14:49Z -Runtime: hrrr_test 00:07:44 -- baseline 00:08:00 -06/05 20:14:49Z -Runtime: rap_test 00:01:35 -- baseline 00:02:00 -06/05 20:14:49Z -Runtime: fv3hafs_test 00:00:46 -- baseline 00:01:00 -06/05 20:14:49Z -Runtime: 3drtma_test 00:02:43 -- baseline 00:03:00 -06/05 20:17:19Z -Runtime: fv3gfs_test 00:10:22 -- baseline 00:11:00 +06/10 03:23:36Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +06/10 03:23:37Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +06/10 03:23:37Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +06/10 03:23:41Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch +06/10 03:24:01Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +06/10 03:24:18Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch +06/10 03:25:17Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the develop branch +06/10 03:25:18Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the develop branch +06/10 03:25:32Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the develop branch +06/10 03:26:01Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the develop branch +06/10 03:26:09Z -3drtma test: your new post executable generates bit-identical NATLEV00.tm00 as the develop branch +06/10 03:26:13Z -3drtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the develop branch +06/10 03:31:08Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the develop branch +06/10 03:31:09Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the develop branch +06/10 03:31:11Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the develop branch +06/10 03:34:42Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +06/10 03:34:43Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +06/10 03:34:43Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +06/10 03:23:49Z -Runtime: nmmb_test 00:00:48 -- baseline 00:03:00 +06/10 03:24:04Z -Runtime: fv3gefs_test 00:00:19 -- baseline 00:01:00 +06/10 03:26:04Z -Runtime: fv3r_test 00:02:38 -- baseline 00:03:00 +06/10 03:26:04Z -Runtime: fv3r_ifi_mis 00:00:18 -- baseline 00:01:00 +06/10 03:31:20Z -Runtime: hrrr_test 00:07:29 -- baseline 00:08:00 +06/10 03:31:20Z -Runtime: rap_test 00:01:36 -- baseline 00:02:00 +06/10 03:31:20Z -Runtime: fv3hafs_test 00:00:36 -- baseline 00:01:00 +06/10 03:31:20Z -Runtime: 3drtma_test 00:02:50 -- baseline 00:03:00 +06/10 03:34:51Z -Runtime: fv3gfs_test 00:11:20 -- baseline 00:11:00 Check tests: nmmb fv3gefs fv3r fv3r_ifi_missing hrrr rap fv3hafs 3drtma fv3gfs No changes in test results detected. From 09fbd66e78838e8bb31019276bc7de67985a427d Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Tue, 10 Jun 2025 12:05:27 +0000 Subject: [PATCH 22/22] wcoss2 rt log --- tests/logs/rt.log.WCOSS2 | 70 ++++++++++++++++++++-------------------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/tests/logs/rt.log.WCOSS2 b/tests/logs/rt.log.WCOSS2 index c3b9cd018..5271f984b 100644 --- a/tests/logs/rt.log.WCOSS2 +++ b/tests/logs/rt.log.WCOSS2 @@ -1,49 +1,49 @@ ===== Start of UPP Regression Testing Log ===== UPP Hash Tested: -d48a547d2ad59a144486ea194b5c95f332be2342 +ac06aba06f4db0ab77b67418dca52c1e1273dadc Submodule hashes: 179cae1dd84401cf25d250bd9102e66560a9d328 sorc/libIFI.fd (before-3km-fixes-45-g179cae1) -3d35332fe66e3e63a285cc8d96facdf255a33481 sorc/ncep_post.fd/post_gtg.fd -Run directory: /lfs/h2/emc/ptmp/benjamin.blake/upp-WCOSS2 +Run directory: /lfs/h2/emc/ptmp/wen.meng/upp-WCOSS2 Baseline directory: /u/wen.meng/noscrub/ncep_post/post_regression_test_new -Total runtime: 00h:17m:09s -Test Date: 20250605 17:49:06 +Total runtime: 00h:15m:47s +Test Date: 20250610 12:04:15 Summary Results: -06/05 17:38:42Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch -06/05 17:38:49Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch -06/05 17:38:54Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch -06/05 17:39:20Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch -06/05 17:39:25Z -hrrr_ifi test: your new post executable generates bit-identical IFIFIP.GrbF04 as the develop branch -06/05 17:39:28Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the develop branch -06/05 17:39:30Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the develop branch -06/05 17:39:55Z -3drtma test: your new post executable generates bit-identical NATLEV00.tm00 as the develop branch -06/05 17:40:00Z -3drtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the develop branch -06/05 17:40:11Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the develop branch -06/05 17:40:16Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the develop branch -06/05 17:40:22Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch -06/05 17:40:24Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch -06/05 17:40:25Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch -06/05 17:41:08Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the develop branch -06/05 17:41:10Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the develop branch -06/05 17:41:15Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the develop branch -06/05 17:48:19Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch -06/05 17:48:22Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch -06/05 17:48:22Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch -06/05 17:40:46Z -Runtime: nmmb.test 00:02:50 -- baseline 00:02:20 -06/05 17:40:51Z -Runtime: fv3gefs.test 00:01:18 -- baseline 00:01:20 -06/05 17:40:55Z -Runtime: fv3r.test 00:02:45 -- baseline 00:06:00 -06/05 17:40:59Z -Runtime: fv3r_ifi_mis 00:01:17 -- baseline 00:02:00 -06/05 17:41:36Z -Runtime: hrrr.test 00:03:40 -- baseline 00:03:40 -06/05 17:41:41Z -Runtime: rap.test 00:01:54 -- baseline 00:02:00 -06/05 17:41:45Z -Runtime: hafs.test 00:01:44 -- baseline 00:02:00 -06/05 17:41:49Z -Runtime: 3drtma.test 00:02:25 -- baseline 00:03:40 -06/05 17:48:56Z -Runtime: fv3gfs.test 00:10:51 -- baseline 00:12:00 -06/05 17:49:00Z -Runtime: hrrr_ifi_test 00:01:50 -- baseline 00:02:00 -06/05 17:49:04Z -Runtime: fv3r_ifi_test 00:01:08 -- baseline 00:02:00 +06/10 11:54:37Z -fv3r_ifi_missing test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch +06/10 11:54:42Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the develop branch +06/10 11:54:44Z -fv3r test: your new post executable generates bit-identical IFIFIP10.tm00 as the develop branch +06/10 11:55:09Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the develop branch +06/10 11:55:14Z -hrrr_ifi test: your new post executable generates bit-identical IFIFIP.GrbF04 as the develop branch +06/10 11:55:19Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the develop branch +06/10 11:55:20Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the develop branch +06/10 11:55:23Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the develop branch +06/10 11:55:24Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the develop branch +06/10 11:55:25Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the develop branch +06/10 11:55:42Z -3drtma test: your new post executable generates bit-identical NATLEV00.tm00 as the develop branch +06/10 11:55:46Z -3drtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the develop branch +06/10 11:55:56Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the develop branch +06/10 11:56:03Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the develop branch +06/10 11:56:53Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the develop branch +06/10 11:56:54Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the develop branch +06/10 11:56:55Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the develop branch +06/10 12:03:29Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the develop branch +06/10 12:03:31Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the develop branch +06/10 12:03:31Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the develop branch +06/10 11:55:46Z -Runtime: nmmb.test 00:01:52 -- baseline 00:02:20 +06/10 11:55:50Z -Runtime: fv3gefs.test 00:01:07 -- baseline 00:01:20 +06/10 11:56:26Z -Runtime: fv3r.test 00:02:31 -- baseline 00:06:00 +06/10 11:56:31Z -Runtime: fv3r_ifi_mis 00:01:04 -- baseline 00:02:00 +06/10 11:57:23Z -Runtime: hrrr.test 00:03:22 -- baseline 00:03:40 +06/10 11:57:27Z -Runtime: rap.test 00:01:48 -- baseline 00:02:00 +06/10 11:57:32Z -Runtime: hafs.test 00:01:38 -- baseline 00:02:00 +06/10 11:57:36Z -Runtime: 3drtma.test 00:02:11 -- baseline 00:03:40 +06/10 12:04:06Z -Runtime: fv3gfs.test 00:09:59 -- baseline 00:12:00 +06/10 12:04:10Z -Runtime: hrrr_ifi_test 00:01:42 -- baseline 00:02:00 +06/10 12:04:15Z -Runtime: fv3r_ifi_test 00:01:10 -- baseline 00:02:00 Check tests: nmmb fv3gefs fv3r fv3r_ifi_missing hrrr rap fv3hafs 3drtma fv3gfs hrrr_ifi fv3r_ifi No changes in test results detected.