Skip to content

Commit

Permalink
Merge remote-tracking branch 'ej/apcp_15min' into apcp_15min
Browse files Browse the repository at this point in the history
  • Loading branch information
EricJames-NOAA committed May 3, 2024
2 parents fd5c267 + cf92bcf commit a7029b8
Show file tree
Hide file tree
Showing 6 changed files with 268 additions and 136 deletions.
35 changes: 31 additions & 4 deletions ci/rt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,11 @@
# Wen Meng, 12/2020, First version.
# 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
######################################################################

SECONDS=0

git_branch="develop"
git_url="https://github.com/NOAA-EMC/UPP.git"
clone_on="no"
Expand Down Expand Up @@ -236,17 +238,42 @@ for job_id in $jobid_list; do
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=$?

# 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
echo "rundir: ${rundir}" > rt.log.${machine}.temp

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

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
cat rt.log.${machine}.temp > rt.log.${machine}
rm 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
Expand Down
9 changes: 3 additions & 6 deletions modulefiles/gaea.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,7 @@ help([[

whatis([===[Loads libraries needed for building the UPP on Gaea ]===])

load("PrgEnv-intel/8.3.3")
load("intel-classic/2023.1.0")
load("cray-mpich/8.1.25")
load("python/3.9.12")

prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/spack-stack-1.6.0/envs/unified-env/install/modulefiles/Core")
prepend_path("MODULEPATH", "/ncrc/proj/epic/spack-stack/modulefiles")

stack_intel_ver=os.getenv("stack_intel_ver") or "2023.1.0"
load(pathJoin("stack-intel", stack_intel_ver))
Expand All @@ -22,6 +16,9 @@ load(pathJoin("stack-cray-mpich", stack_cray_mpich_ver))
stack_python_ver=os.getenv("stack_python_ver") or "3.10.13"
load(pathJoin("stack-python", stack_python_ver))

cmake_ver=os.getenv("cmake_ver") or "3.23.1"
load(pathJoin("cmake", cmake_ver))

load("upp_common")

unload("darshan-runtime")
Expand Down
35 changes: 15 additions & 20 deletions sorc/ncep_post.fd/CLDRAD.f
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@
!> 2023-04-17 | Eric James | Getting rid of special treatment for RRFS AOD (use RAP/HRRR approach)
!> 2023-09-26 | Jaymes Kenyon | For RRFS, use cloud fraction to diagnose cloud base/top (height and pressure)
!> 2024-04-23 | Eric James | Adding smoke emissions (ebb) from RRFS
!> 2024-05-01 | Jaymes Kenyon | Updates to the GSL exp-1 ceiling diagnostic
!>
!> @author Russ Treadon W/NP2 @date 1993-08-30
!---------------------------------------------------------------------------------
Expand Down Expand Up @@ -2077,15 +2078,15 @@ SUBROUTINE CLDRAD

! BEGIN EXPERIMENTAL GSD CEILING DIAGNOSTICS...
! J. Kenyon, 4 Feb 2017: this approach uses model-state cloud fractions
! Parameter 487: experimental ceiling diagnostic #1
! Parameter 487: experimental ceiling diagnostic #1 (updated 1 May 2024)
IF (IGET(487)>0) THEN
! set some constants for ceiling adjustment in snow (retained from legacy algorithm, also in calvis.f)
rhoice = 970.
coeffp = 10.36
exponfp = 1.
const1 = 3.912
! set minimum cloud fraction to represent a ceiling
ceiling_thresh_cldfra = 0.5
ceiling_thresh_cldfra = 0.41

DO J=JSTA,JEND
DO I=ISTA,IEND
Expand All @@ -2095,28 +2096,22 @@ SUBROUTINE CLDRAD
do k=1,lm
LL=LM-k+1
cldfra(k) = cfr(i,j,ll)
cldfra_max = max(cldfra_max,cldfra(k)) ! determine the column-maximum cloud fraction
cldfra_max = max(cldfra_max,cldfra(k)) ! determine the column-maximum cloud fraction
end do

if (cldfra_max >= ceiling_thresh_cldfra) then ! threshold cloud fraction found in column, get ceiling

! threshold cloud fraction (possible ceiling) found somewhere in column, so proceed...
! first, search for and eliminate fog layers near surface (retained from legacy diagnostic)
do k=2,3 ! Ming, k=3 will never be reached in this logic
if (cldfra(k) < ceiling_thresh_cldfra) then ! these two lines:
if (cldfra(1) > ceiling_thresh_cldfra) then ! ...look for surface-based fog beneath less-cloudy layers
do k1=1,k-1 ! now perform the clearing for k=1 up to k-1
if (cldfra(k1) >= ceiling_thresh_cldfra) then
cldfra(k1)=0.
end if
end do
if (cldfra_max >= ceiling_thresh_cldfra) then ! threshold cloud fraction (possible ceiling) found
! in column, so proceed...

! first, search for and eliminate shallow-fog layers near surface (adapted from legacy diagnostic)
if (cldfra(1) > 0.) then ! cloud at the surface (fog); check if this fog is shallow
do k=2,4
if (cldfra(k) < 0.8) then ! confirmed shallow fog
cldfra(1:k) = 0. ! remove shallow fog
end if
! level k=2,3 has no ceiling, and no fog at surface, so skip out of this loop
end if
exit
end do ! k
end do
end if

! now search aloft...
! now search the column for a ceiling...
loop471:do k=2,lm
k1 = k
if (cldfra(k) >= ceiling_thresh_cldfra) then ! go to 472 ! found ceiling
Expand Down
126 changes: 73 additions & 53 deletions tests/logs/rt.log.HERA
Original file line number Diff line number Diff line change
@@ -1,53 +1,73 @@
rundir: /scratch2/NAGAPE/epic/Fernando.Andrade-maldonado/regression-tests/upp/780/UPP/ci/rundir-upp-HERA
10/13 06:21:38Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
10/13 06:21:40Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
10/13 06:21:42Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
10/13 06:21:48Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
10/13 06:22:09Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk
10/13 06:22:14Z -rtma pe test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk
10/13 06:22:16Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk
10/13 06:22:20Z -rtma pe test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk
10/13 06:22:20Z -rtma pe test: your new post executable generates bit-identical IFIFIP00.tm00 as the trunk
10/13 06:22:36Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
10/13 06:22:38Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
10/13 06:22:40Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
10/13 06:22:45Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
10/13 06:22:57Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
10/13 06:23:09Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
10/13 06:23:26Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk
10/13 06:23:27Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
10/13 06:23:43Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
10/13 06:23:43Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16
10/13 06:23:45Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
10/13 06:23:45Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
10/13 06:23:45Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
10/13 06:23:48Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
10/13 06:23:49Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
10/13 06:23:49Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
10/13 06:24:00Z -fv3r pe test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk
10/13 06:24:05Z -fv3r pe test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk
10/13 06:24:09Z -rtma test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk
10/13 06:24:13Z -rtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk
10/13 06:24:13Z -rtma test: your new post executable generates bit-identical IFIFIP00.tm00 as the trunk
10/13 06:31:06Z gfs_post_00.127117-fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
10/13 06:31:07Z gfs_post_00.127117-fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
10/13 06:31:07Z gfs_post_00.127117-fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
10/13 06:31:45Z gfs_post_00.104523-fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
10/13 06:31:46Z gfs_post_00.104523-fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
10/13 06:31:46Z gfs_post_00.104523-fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
10/13 06:24:01Z -Runtime: nmmb_test 00:01:17 -- baseline 00:01:00
10/13 06:24:01Z -Runtime: nmmb_pe_test 00:01:12 -- baseline 00:01:00
10/13 06:24:01Z -Runtime: fv3gefs_test 00:00:22 -- baseline 00:40:00
10/13 06:24:02Z -Runtime: fv3gefs_pe_test 00:00:24 -- baseline 00:40:00
10/13 06:24:02Z -Runtime: rap_test 00:01:04 -- baseline 00:02:00
10/13 06:24:02Z -Runtime: rap_pe_test 00:01:12 -- baseline 00:02:00
10/13 06:24:03Z -Runtime: hrrr_test 00:02:16 -- baseline 00:02:00
10/13 06:24:03Z -Runtime: hrrr_pe_test 00:02:18 -- baseline 00:02:00
10/13 06:31:22Z -Runtime: fv3gfs_test 00:12:09 -- baseline 00:15:00
10/13 06:31:52Z -Runtime: fv3gfs_pe_test 00:12:47 -- baseline 00:15:00
10/13 06:31:53Z -Runtime: fv3r_test 00:01:51 -- baseline 00:03:00
10/13 06:31:53Z -Runtime: fv3r_pe_test 00:01:51 -- baseline 00:03:00
10/13 06:31:53Z -Runtime: fv3hafs_test 00:00:39 -- baseline 00:03:00
10/13 06:31:54Z -Runtime: fv3hafs_pe_test 00:00:41 -- baseline 00:03:00
10/13 06:31:54Z -Runtime: rtma_test 00:01:59 -- baseline 00:03:00
10/13 06:31:54Z -Runtime: rtma_test_pe_test 00:01:56 -- baseline
===== Start of UPP Regression Testing Log =====
UPP Hash Tested:
4d3a0c7f526b12dcfc15f12f8d867960361449f7

Submodule hashes:
-1ba8270870947b583cd51bc72ff8960f4c1fb36e sorc/libIFI.fd
-7476b8f2790a47d788f79cebfdbb551567ae7cf8 sorc/ncep_post.fd/post_gtg.fd

Run directory: /scratch2/NAGAPE/epic/Fernando.Andrade-maldonado/regression-tests/upp/947/UPP/ci/rundir/upp-HERA
Baseline directory: /scratch2/NAGAPE/epic/UPP/test_suite

Total runtime: 00h:15m:47s
Test Date: 20240502 15:35:02
Summary Results:

05/02 15:31:52Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
05/02 15:32:05Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
05/02 15:32:06Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
05/02 15:32:17Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
05/02 15:32:30Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk
05/02 15:32:31Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
05/02 15:32:48Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16
05/02 15:32:49Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
05/02 15:32:50Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
05/02 15:32:52Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
05/02 15:32:52Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
05/02 15:32:55Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
05/02 15:32:57Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
05/02 15:32:57Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
05/02 15:33:11Z -rtma pe test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk
05/02 15:33:18Z -rtma test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk
05/02 15:33:36Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
05/02 15:33:37Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
05/02 15:33:39Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
05/02 15:33:41Z gfs_post_00.2929924-fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
05/02 15:33:42Z gfs_post_00.2929924-fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
05/02 15:33:42Z gfs_post_00.2929924-fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
05/02 15:33:59Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
05/02 15:34:00Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
05/02 15:34:01Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
05/02 15:34:07Z gfs_post_00.2880188-fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
05/02 15:34:07Z gfs_post_00.2880188-fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
05/02 15:34:07Z gfs_post_00.2880188-fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
05/02 15:34:43Z -fv3r test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
05/02 15:34:48Z -fv3r pe test: your new post executable did not generate bit-identical PRSLEV10.tm00 as the trunk
05/02 15:34:49Z -rtma pe test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
05/02 15:34:49Z -rtma pe test: your new post executable generates bit-identical IFIFIP00.tm00 as the trunk
05/02 15:34:49Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk
05/02 15:34:52Z -fv3r pe test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk
05/02 15:34:55Z -rtma test: your new post executable did not generate bit-identical PRSLEV00.tm00 as the trunk
05/02 15:34:56Z -rtma test: your new post executable generates bit-identical IFIFIP00.tm00 as the trunk
05/02 15:33:11Z -Runtime: nmmb_test 00:01:30 -- baseline 00:01:00
05/02 15:33:11Z -Runtime: nmmb_pe_test 00:01:25 -- baseline 00:01:00
05/02 15:33:12Z -Runtime: fv3gefs_test 00:00:50 -- baseline 00:40:00
05/02 15:33:12Z -Runtime: fv3gefs_pe_test 00:00:25 -- baseline 00:40:00
05/02 15:33:12Z -Runtime: rap_test 00:01:04 -- baseline 00:02:00
05/02 15:33:13Z -Runtime: rap_pe_test 00:01:22 -- baseline 00:02:00
05/02 15:34:13Z -Runtime: hrrr_test 00:02:34 -- baseline 00:02:00
05/02 15:34:14Z -Runtime: hrrr_pe_test 00:02:12 -- baseline 00:02:00
05/02 15:34:14Z -Runtime: fv3gfs_test 00:11:12 -- baseline 00:15:00
05/02 15:34:14Z -Runtime: fv3gfs_pe_test 00:11:47 -- baseline 00:15:00
05/02 15:35:00Z -Runtime: fv3r_test 00:03:22 -- baseline 00:03:00
05/02 15:35:00Z -Runtime: fv3r_pe_test 00:03:25 -- baseline 00:03:00
05/02 15:35:01Z -Runtime: fv3hafs_test 00:00:38 -- baseline 00:03:00
05/02 15:35:01Z -Runtime: fv3hafs_pe_test 00:00:39 -- baseline 00:03:00
05/02 15:35:01Z -Runtime: rtma_test 00:03:29 -- baseline 00:03:00
05/02 15:35:02Z -Runtime: rtma_test_pe_test 00:03:22 -- baseline
There are changes in results for case fv3r_pe_test in PRSLEV10.tm00
There are changes in results for case fv3r in PRSLEV10.tm00
There are changes in results for case rtma_pe_test in PRSLEV00.tm00
There are changes in results for case rtma in PRSLEV00.tm00
Refer to .diff files in rundir: /scratch2/NAGAPE/epic/Fernando.Andrade-maldonado/regression-tests/upp/947/UPP/ci/rundir/upp-HERA for details on differences in results for each case.
===== End of UPP Regression Testing Log =====
Loading

0 comments on commit a7029b8

Please sign in to comment.