diff --git a/parm/fv3lam_rrfs.xml b/parm/fv3lam_rrfs.xml
index 9bef8bb8f..a9cf5fb91 100755
--- a/parm/fv3lam_rrfs.xml
+++ b/parm/fv3lam_rrfs.xml
@@ -726,12 +726,6 @@
-4.0
-
- ACM_WEASD_ON_SURFACE
- WEASD
- 4.0
-
-
ACM_SNOM_ON_SURFACE
SNOM
@@ -759,28 +753,28 @@
- INST_CRAIN_ON_SURFACE
+ GSD_INST_CRAIN_ON_SURFACE
CRAIN
NCEP
1.0
- CSNOW_ON_SURFACE
+ GSD_CSNOW_ON_SURFACE
CSNOW
NCEP
1.0
- CICEP_ON_SURFACE
+ GSD_CICEP_ON_SURFACE
CICEP
NCEP
1.0
- CFRZR_ON_SURFACE
+ GSD_CFRZR_ON_SURFACE
CFRZR
NCEP
1.0
@@ -2396,8 +2390,8 @@
- ACM_WEASD_ON_SURFACE
- WEASD
+ ACM_SNOWFALL_ON_SURFACE
+ TSNOWP
4.0
@@ -3550,10 +3544,20 @@
4.0
+
+ GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND
+ 4.0
+
+
+
+ GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND
+ 4.0
+
+
GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS
LTNG
- 3.0
+ 4.0
diff --git a/parm/post_avblflds.xml b/parm/post_avblflds.xml
index a19c4ac3e..e4a53526a 100755
--- a/parm/post_avblflds.xml
+++ b/parm/post_avblflds.xml
@@ -6561,23 +6561,23 @@
702
- GSD_MAX_LTG_THREAT1_ON_ENTIRE_ATMOS
+ GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND
tmpl4_8
- LTGTHREAT1
- NCEP
+ LTNGSD
MAX
- entire_atmos
+ spec_hgt_lvl_above_grnd
+ 1.
3.0
703
- GSD_MAX_LTG_THREAT2_ON_ENTIRE_ATMOS
+ GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND
tmpl4_8
- LTGTHREAT2
- NCEP
+ LTNGSD
MAX
- entire_atmos
+ spec_hgt_lvl_above_grnd
+ 2.
3.0
diff --git a/parm/postxconfig-NT-fv3lam_rrfs.txt b/parm/postxconfig-NT-fv3lam_rrfs.txt
index f37f18b06..31d8a0ed5 100644
--- a/parm/postxconfig-NT-fv3lam_rrfs.txt
+++ b/parm/postxconfig-NT-fv3lam_rrfs.txt
@@ -1,7 +1,7 @@
3
4
-235
-288
+237
+287
PRSLEV
32769
ncep_nco
@@ -3718,43 +3718,6 @@ surface
?
?
?
-35
-ACM_WEASD_ON_SURFACE
-?
-1
-tmpl4_8
-WEASD
-?
-ACM
-surface
-0
-?
-0
-?
-?
-0
-?
-0
-?
-?
-?
-0
-0.0
-0
-0.0
-?
-0
-0.0
-0
-0.0
-1
-4.0
-0
-0
-0
-?
-?
-?
121
ACM_SNOM_ON_SURFACE
?
@@ -3903,9 +3866,9 @@ surface
?
?
?
-160
-INST_CRAIN_ON_SURFACE
-?
+407
+GSD_INST_CRAIN_ON_SURFACE
+GSD_instant precipitation type on surface
1
tmpl4_0
CRAIN
@@ -3940,9 +3903,9 @@ surface
?
?
?
-551
-CSNOW_ON_SURFACE
-Categorical snow on surface
+559
+GSD_CSNOW_ON_SURFACE
+GSD_Categorical snow on surface
1
tmpl4_0
CSNOW
@@ -3977,9 +3940,9 @@ surface
?
?
?
-552
-CICEP_ON_SURFACE
-Categorical ice pellets on surface
+560
+GSD_CICEP_ON_SURFACE
+GSD_Categorical ice pellets on surface
1
tmpl4_0
CICEP
@@ -4014,9 +3977,9 @@ surface
?
?
?
-553
-CFRZR_ON_SURFACE
-Categorical freezing rain on surface
+561
+GSD_CFRZR_ON_SURFACE
+GSD_Categorical freezing rain on surface
1
tmpl4_0
CFRZR
@@ -13021,12 +12984,12 @@ surface
?
?
?
-35
-ACM_WEASD_ON_SURFACE
+1004
+ACM_SNOWFALL_ON_SURFACE
?
1
tmpl4_8
-WEASD
+TSNOWP
?
ACM
surface
@@ -19311,6 +19274,80 @@ top_of_atmos
?
?
?
+702
+GSD_MAX_LTG_THREAT1_ON_SPEC_HGT_LVL_ABOVE_GRND
+?
+1
+tmpl4_8
+LTNGSD
+?
+MAX
+spec_hgt_lvl_above_grnd
+0
+?
+1
+1.
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+4.0
+0
+0
+0
+?
+?
+?
+703
+GSD_MAX_LTG_THREAT2_ON_SPEC_HGT_LVL_ABOVE_GRND
+?
+1
+tmpl4_8
+LTNGSD
+?
+MAX
+spec_hgt_lvl_above_grnd
+0
+?
+1
+2.
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+4.0
+0
+0
+0
+?
+?
+?
704
GSD_MAX_LTG_THREAT3_ON_ENTIRE_ATMOS
?
@@ -19341,7 +19378,7 @@ entire_atmos
0
0.0
1
-3.0
+4.0
0
0
0
diff --git a/sorc/ncep_post.fd/INITPOST_NETCDF.f b/sorc/ncep_post.fd/INITPOST_NETCDF.f
index 42e870f07..9cd756e67 100644
--- a/sorc/ncep_post.fd/INITPOST_NETCDF.f
+++ b/sorc/ncep_post.fd/INITPOST_NETCDF.f
@@ -34,6 +34,7 @@
!> 2023-04-04 |Li(Kate Zhang) |Add namelist optoin for CCPP-Chem(UFS-Chem)
! and 2D diag. output (d2d_chem) for GEFS-Aerosols and CCPP-Chem model.
!> 2023-04-17 | Eric James | Read in unified ext550 extinction (and remove aodtot) for RRFS
+!> 2023-04-21 | Eric James | Read in / calculate some fields needed for GSL p-type diagnosis for RRFS
!>
!> @author Hui-Ya Chuang @date 2016-03-04
SUBROUTINE INITPOST_NETCDF(ncid2d,ncid3d)
@@ -64,7 +65,7 @@ SUBROUTINE INITPOST_NETCDF(ncid2d,ncid3d)
uz0, vz0, ptop, htop, pbot, hbot, ptopl, pbotl, ttopl, ptopm, pbotm, ttopm, &
ptoph, pboth, pblcfr, ttoph, runoff, tecan, tetran, tedir, twa, maxtshltr, &
mintshltr, maxrhshltr, fdnsst, acgraup, graup_bucket, acfrain, frzrn_bucket, &
- snow_acm, snow_bkt, &
+ snow_acm, snow_bkt, snownc, graupelnc, qrmax, &
minrhshltr, dzice, smcwlt, suntime, fieldcapa, htopd, hbotd, htops, hbots, &
cuppt, dusmass, ducmass, dusmass25, ducmass25, aswintoa,rel_vort_maxhy1, &
maxqshltr, minqshltr, acond, sr, u10h, v10h,refd_max, w_up_max, w_dn_max, &
@@ -877,10 +878,18 @@ SUBROUTINE INITPOST_NETCDF(ncid2d,ncid3d)
spval,recname(18),ext550(ista_2l,jsta_2l,1),lm)
endif
+! Compute max QRAIN in the column to be used later in precip type computation
+ do j = jsta_2l, jend_2u
+ do i = 1, im
+ qrmax(i,j)=0.
+ end do
+ end do
+
! calculate CWM from FV3 output
do l=1,lm
do j=jsta,jend
do i=ista,iend
+ qrmax(i,j)=max(qrmax(i,j),qqr(i,j,l))
cwm(i,j,l)=qqg(i,j,l)+qqs(i,j,l)+qqr(i,j,l)+qqi(i,j,l)+qqw(i,j,l)
enddo
enddo
@@ -1709,6 +1718,16 @@ SUBROUTINE INITPOST_NETCDF(ncid2d,ncid3d)
call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
spval,VarName,frzrn_bucket)
+! time step snow (in m)
+ VarName='snow'
+ call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
+ spval,VarName,snownc)
+
+! time step graupel (in m)
+ VarName='graupel'
+ call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
+ spval,VarName,graupelnc)
+
! aerodynamic conductance
VarName='acond'
call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
@@ -2872,22 +2891,6 @@ SUBROUTINE INITPOST_NETCDF(ncid2d,ncid3d)
smstav(i,j) = buf(i,j)
enddo
enddo
- VarName='accswe_land'
- call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
- spval,VarName,buf)
- VarName='accswe_ice'
- call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
- spval,VarName,buf2)
-!$omp parallel do private(i,j)
- do j = jsta_2l, jend_2u
- do i=ista,iend
- if(buf(i,j) totprcp)then
print *,'WARNING - Graupel is higher that total precip at point',i,j
@@ -5359,7 +5369,7 @@ SUBROUTINE SURFCE
enddo
endif
- ENDIF
+ ENDIF ! End of GSD PRECIPITATION TYPE
!
if (allocated(psfc)) deallocate(psfc)
if (allocated(domr)) deallocate(domr)