Skip to content

Commit

Permalink
Enhancements for MPAS applications (#1037)
Browse files Browse the repository at this point in the history
* Updating to reduce volume of log files for 1-km fire weather nest.

* Changes to avoid including missing values in computations.

* Reverting some unneeded changes.

* Reverting commenting out a print statement.

* Adding control file updates from Jaymes Kenyon.

* Adding change log.

* add hera RT log

* add orion RT log

* add hercules RT log

---------

Co-authored-by: FernandoAndrade-NOAA <fernando.andrade-maldonado@noaa.gov>
  • Loading branch information
EricJames-NOAA and FernandoAndrade-NOAA committed Sep 12, 2024
1 parent de75068 commit d581f05
Show file tree
Hide file tree
Showing 7 changed files with 237 additions and 175 deletions.
44 changes: 43 additions & 1 deletion parm/postxconfig-NT-rrfs_mpas.txt
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
3
18
14
143
144
WRFTWO
4
ncep_emc
Expand Down Expand Up @@ -984,6 +984,48 @@ surface
?
?
?
218
VGTYP_ON_SURFACE
?
1
tmpl4_0
VGTYP
NCEP
?
surface
0
?
0
?
?
0
?
0
?
?
?
?
0
0.0
0
0.0
?
0
0.0
0
0.0
0
0.0
0
0.0
1
3.0
0
0
0
?
?
?
31
4LFTX_ON_SPEC_PRES_ABOVE_GRND
?
Expand Down
4 changes: 2 additions & 2 deletions parm/rrfs_mpas_postcntrl.xml
Original file line number Diff line number Diff line change
Expand Up @@ -137,13 +137,13 @@
<shortname>GSD_ACM_SNOD_ON_SURFACE</shortname>
<scale>5.0</scale>
</param>
<!--

<param>
<shortname>VGTYP_ON_SURFACE</shortname>
<table_info>NCEP</table_info>
<scale>3.0</scale>
</param>
-->

<param>
<shortname>4LFTX_ON_SPEC_PRES_ABOVE_GRND</shortname>
<level>18000.</level>
Expand Down
22 changes: 21 additions & 1 deletion sorc/ncep_post.fd/INITPOST_MPAS.F
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
!> 2024-08-14 | Jaymes Kenyon| Copied INITPOST as INITPOST_MPAS (reference INITPOST history prior to this date)
!> 2024-08-30 | Jaymes Kenyon| Add processing for lat-lon projection
!> 2024-08-30 | Jaymes Kenyon| Add temporary hard coding of SLLEVEL (for RUC LSM) and PREC_ACC_DT
!> 2024-09-09 | Eric James | Add checks for missing values before entering some computations
!>
!> @author Jaymes Kenyon (GSL) @date 2024-08-14

Expand Down Expand Up @@ -258,7 +259,11 @@ SUBROUTINE INITPOST_MPAS
do l = 1, lm
do j = jsta_2l, jend_2u
do i = 1, im
if(dum3d(i,j,l)<spval) then
t ( i, j, l ) = dum3d ( i, j, l ) + 300.
else
t ( i, j, l ) = spval
endif
! JSK (2 Aug 2024): The VarName 'T' is the perturbation potential
! temperature; the addition of 300 K yields the full potential
! temperature. Further below, after the read-in of hydrostatic
Expand Down Expand Up @@ -334,7 +339,11 @@ SUBROUTINE INITPOST_MPAS
!HC q ( i, j, l ) = dum3d ( i, j, l )
!HC CONVERT MIXING RATIO TO SPECIFIC HUMIDITY
!mhu check !!!! if (dum3d(i,j,l) < 10E-12) dum3d(i,j,l) = 10E-12
if(dum3d(i,j,l)<spval) then
q ( i, j, l ) = dum3d ( i, j, l )/(1.0+dum3d ( i, j, l ))
else
q ( i, j, l ) = spval
endif
end do
end do
end do
Expand All @@ -355,6 +364,7 @@ SUBROUTINE INITPOST_MPAS
do l = 1, lm
do j = jsta_2l, jend_2u
do i = 1, im
if(dum3d(i,j,l)<spval) then
! PMID(I,J,L)=DUM3D(I,J,L)+DUM3D2(I,J,L)
PMID(I,J,L)=DUM3D(I,J,L)
thv ( i, j, l ) = T(I,J,L)*(Q(I,J,L)*0.608+1.)
Expand All @@ -370,7 +380,13 @@ SUBROUTINE INITPOST_MPAS
! qqs(i,j,l)=qqr(i,j,l)
! qqi(i,j,l)=qqw(i,j,l)
! end if
! end if
! end if
else
PMID(I,J,L) = spval
thv(i,j,l) = spval
t(i,j,l) = spval
omga(i,j,l) = spval
endif
end do
end do
end do
Expand Down Expand Up @@ -2662,6 +2678,7 @@ SUBROUTINE INITPOST_MPAS
IM,1,JM,1,IM,JS,JE,1)
do j = jsta_2l, jend_2u
do i = 1, im
if( dummy ( i, j ) < SPVAL) then
if( dummy ( i, j ) <= 5000.0 .and. dummy ( i, j ) >=0.0) then
SNO ( i, j ) = dummy ( i, j )
elseif( dummy ( i, j ) > 5000.0) then
Expand All @@ -2674,6 +2691,7 @@ SUBROUTINE INITPOST_MPAS
SNO ( i, j ) = 0.0
write(*,*) 'strange SNOW=',i,j,dummy ( i, j )
endif
endif
end do
end do
! Snow depth
Expand All @@ -2682,6 +2700,7 @@ SUBROUTINE INITPOST_MPAS
IM,1,JM,1,IM,JS,JE,1)
do j = jsta_2l, jend_2u
do i = 1, im
if( dummy ( i, j ) < SPVAL) then
if( dummy ( i, j ) <= 50.0 .and. dummy ( i, j ) >=0.0) then
SI ( i, j ) = dummy ( i, j ) * 1000.
elseif( dummy ( i, j ) > 50.0) then
Expand All @@ -2694,6 +2713,7 @@ SUBROUTINE INITPOST_MPAS
SI ( i, j ) = 0.0
write(*,*) 'strange SNOWH=',i,j,dummy ( i, j )
endif
endif
end do
end do

Expand Down
6 changes: 3 additions & 3 deletions sorc/ncep_post.fd/SURFCE.f
Original file line number Diff line number Diff line change
Expand Up @@ -1596,9 +1596,9 @@ SUBROUTINE SURFCE
! GRID1(I,J)=TSHLTR(I,J)
!HC CONVERT FROM THETA TO T
if(tshltr(i,j)/=spval)GRID1(I,J)=TSHLTR(I,J)*(PSHLTR(I,J)*1.E-5)**CAPA
IF(GRID1(I,J)<200)PRINT*,'ABNORMAL 2MT ',i,j, &
TSHLTR(I,J),PSHLTR(I,J)
! TSHLTR(I,J)=GRID1(I,J)
! IF(GRID1(I,J)<200)PRINT*,'ABNORMAL 2MT ',i,j, &
! TSHLTR(I,J),PSHLTR(I,J)
!! TSHLTR(I,J)=GRID1(I,J)
ENDDO
ENDDO
! print *,'2m tmp=',maxval(TSHLTR(ista:iend,jsta:jend)), &
Expand Down
112 changes: 56 additions & 56 deletions tests/logs/rt.log.HERA
Original file line number Diff line number Diff line change
@@ -1,69 +1,69 @@
===== Start of UPP Regression Testing Log =====
UPP Hash Tested:
e8197c41f54a5a85e663d21c0d71b5acf8e4d1da
97010afc7a3c108e28d5538a4dec52f5e188d672

Submodule hashes:
-1ba8270870947b583cd51bc72ff8960f4c1fb36e sorc/libIFI.fd
-567edcc94bc418d0dcd6cdaafed448eeb5aab570 sorc/ncep_post.fd/post_gtg.fd

Run directory: /scratch2/NAGAPE/epic/Fernando.Andrade-maldonado/regression-tests/upp/1029/UPP/ci/rundir/upp-HERA
Run directory: /scratch1/NCEPDEV/nems/Fernando.Andrade-maldonado/regression-tests/upp/1037/UPP/ci/rundir/upp-HERA
Baseline directory: /scratch2/NAGAPE/epic/UPP/test_suite

Total runtime: 00h:12m:02s
Test Date: 20240906 15:35:42
Total runtime: 00h:11m:58s
Test Date: 20240912 16:13:13
Summary Results:

09/06 15:27:43Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
09/06 15:27:51Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
09/06 15:28:10Z -rtma pe test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk
09/06 15:28:13Z -rtma pe test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk
09/06 15:28:13Z -rtma pe test: your new post executable generates bit-identical IFIFIP00.tm00 as the trunk
09/06 15:28:40Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk
09/06 15:28:41Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
09/06 15:28:49Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
09/06 15:28:50Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
09/06 15:28:52Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
09/06 15:28:55Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk
09/06 15:28:59Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk
09/06 15:28:59Z -rtma test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk
09/06 15:29:02Z -rtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk
09/06 15:29:03Z -rtma test: your new post executable generates bit-identical IFIFIP00.tm00 as the trunk
09/06 15:29:12Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
09/06 15:29:20Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
09/06 15:29:45Z -fv3r pe test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk
09/06 15:29:47Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
09/06 15:29:47Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
09/06 15:29:49Z -fv3r pe test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk
09/06 15:29:49Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
09/06 15:29:51Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
09/06 15:29:53Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
09/06 15:29:54Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
09/06 15:29:55Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16
09/06 15:29:55Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
09/06 15:29:56Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
09/06 15:29:57Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
09/06 15:29:58Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
09/06 15:34:48Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
09/06 15:34:49Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
09/06 15:34:50Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
09/06 15:35:26Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
09/06 15:35:29Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
09/06 15:35:29Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
09/06 15:30:04Z -Runtime: nmmb_test 00:01:16 -- baseline 00:01:00
09/06 15:30:05Z -Runtime: nmmb_pe_test 00:01:12 -- baseline 00:01:00
09/06 15:30:05Z -Runtime: fv3gefs_test 00:00:16 -- baseline 00:40:00
09/06 15:30:05Z -Runtime: fv3gefs_pe_test 00:00:22 -- baseline 00:40:00
09/06 15:30:06Z -Runtime: rap_test 00:00:57 -- baseline 00:02:00
09/06 15:30:06Z -Runtime: rap_pe_test 00:01:13 -- baseline 00:02:00
09/06 15:30:06Z -Runtime: hrrr_test 00:02:18 -- baseline 00:02:00
09/06 15:30:07Z -Runtime: hrrr_pe_test 00:02:06 -- baseline 00:02:00
09/06 15:34:55Z -Runtime: fv3gfs_test 00:07:35 -- baseline 00:15:00
09/06 15:35:41Z -Runtime: fv3gfs_pe_test 00:08:14 -- baseline 00:15:00
09/06 15:35:41Z -Runtime: fv3r_test 00:01:38 -- baseline 00:03:00
09/06 15:35:41Z -Runtime: fv3r_pe_test 00:01:33 -- baseline 00:03:00
09/06 15:35:41Z -Runtime: fv3hafs_test 00:00:34 -- baseline 00:03:00
09/06 15:35:42Z -Runtime: fv3hafs_pe_test 00:00:42 -- baseline 00:03:00
09/06 15:35:42Z -Runtime: rtma_test 00:01:42 -- baseline 00:03:00
09/06 15:35:42Z -Runtime: rtma_test_pe_test 00:01:43 -- baseline
09/12 16:05:18Z -fv3gefs pe test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
09/12 16:05:28Z -fv3hafs test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
09/12 16:05:33Z -fv3gefs test: your new post executable generates bit-identical geaer.t00z.master.grb2f060 as the trunk
09/12 16:05:34Z -fv3hafs pe test: your new post executable generates bit-identical HURPRS09.tm00 as the trunk
09/12 16:05:58Z -rap test: your new post executable generates bit-identical WRFPRS.GrbF16 as the trunk
09/12 16:06:00Z -rap test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
09/12 16:06:17Z -fv3r test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk
09/12 16:06:19Z -nmmb pe test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
09/12 16:06:19Z -rap pe test: your new post executable did generate changed results in WRFPRS.GrbF16
09/12 16:06:21Z -rap pe test: your new post executable generates bit-identical WRFNAT.GrbF16 as the trunk
09/12 16:06:21Z -fv3r test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk
09/12 16:06:22Z -nmmb pe test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
09/12 16:06:22Z -nmmb pe test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
09/12 16:06:23Z -nmmb test: your new post executable generates bit-identical BGDAWP03.tm00.Grib2 as the trunk
09/12 16:06:23Z -fv3r pe test: your new post executable generates bit-identical PRSLEV10.tm00 as the trunk
09/12 16:06:24Z -nmmb test: your new post executable generates bit-identical BGRD3D03.tm00.Grib2 as the trunk
09/12 16:06:25Z -nmmb test: your new post executable generates bit-identical BGRDSF03.tm00.Grib2 as the trunk
09/12 16:06:25Z -rtma pe test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk
09/12 16:06:28Z -fv3r pe test: your new post executable generates bit-identical NATLEV10.tm00 as the trunk
09/12 16:06:29Z -rtma pe test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk
09/12 16:06:29Z -rtma pe test: your new post executable generates bit-identical IFIFIP00.tm00 as the trunk
09/12 16:06:30Z -rtma test: your new post executable generates bit-identical NATLEV00.tm00 as the trunk
09/12 16:06:34Z -rtma test: your new post executable generates bit-identical PRSLEV00.tm00 as the trunk
09/12 16:06:34Z -rtma test: your new post executable generates bit-identical IFIFIP00.tm00 as the trunk
09/12 16:06:41Z -hrrr pe test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
09/12 16:06:43Z -hrrr pe test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
09/12 16:06:44Z -hrrr pe test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
09/12 16:07:06Z -hrrr test: your new post executable generates bit-identical WRFTWO.GrbF04 as the trunk
09/12 16:07:08Z -hrrr test: your new post executable generates bit-identical WRFPRS.GrbF04 as the trunk
09/12 16:07:09Z -hrrr test: your new post executable generates bit-identical WRFNAT.GrbF04 as the trunk
09/12 16:12:22Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
09/12 16:12:26Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
09/12 16:12:26Z -fv3gfs test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
09/12 16:12:58Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.master.grb2f006 as the trunk
09/12 16:13:02Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.sfluxgrbf006.grib2 as the trunk
09/12 16:13:02Z -fv3gfs pe test: your new post executable generates bit-identical gfs.t00z.special.grb2f006 as the trunk
09/12 16:06:35Z -Runtime: nmmb_test 00:01:05 -- baseline 00:01:00
09/12 16:06:35Z -Runtime: nmmb_pe_test 00:00:58 -- baseline 00:01:00
09/12 16:06:35Z -Runtime: fv3gefs_test 00:00:17 -- baseline 00:40:00
09/12 16:06:36Z -Runtime: fv3gefs_pe_test 00:00:20 -- baseline 00:40:00
09/12 16:06:36Z -Runtime: rap_test 00:01:02 -- baseline 00:02:00
09/12 16:06:36Z -Runtime: rap_pe_test 00:01:15 -- baseline 00:02:00
09/12 16:07:22Z -Runtime: hrrr_test 00:02:31 -- baseline 00:02:00
09/12 16:07:23Z -Runtime: hrrr_pe_test 00:02:06 -- baseline 00:02:00
09/12 16:12:41Z -Runtime: fv3gfs_test 00:07:48 -- baseline 00:15:00
09/12 16:13:11Z -Runtime: fv3gfs_pe_test 00:08:24 -- baseline 00:15:00
09/12 16:13:12Z -Runtime: fv3r_test 00:01:43 -- baseline 00:03:00
09/12 16:13:12Z -Runtime: fv3r_pe_test 00:01:39 -- baseline 00:03:00
09/12 16:13:12Z -Runtime: fv3hafs_test 00:00:38 -- baseline 00:03:00
09/12 16:13:13Z -Runtime: fv3hafs_pe_test 00:00:36 -- baseline 00:03:00
09/12 16:13:13Z -Runtime: rtma_test 00:01:56 -- baseline 00:03:00
09/12 16:13:13Z -Runtime: rtma_test_pe_test 00:01:51 -- baseline
No changes in test results detected.
===== End of UPP Regression Testing Log =====
Loading

0 comments on commit d581f05

Please sign in to comment.