diff --git a/parm/fv3lam.xml b/parm/fv3lam.xml
index 853973dd7..1ed55aab2 100755
--- a/parm/fv3lam.xml
+++ b/parm/fv3lam.xml
@@ -740,6 +740,36 @@
-4.0
+
+ ACM_GRAUPEL_ON_SURFACE
+ 6.0
+
+
+
+ BUCKET_GRAUPEL_ON_SURFACE
+ 6.0
+
+
+
+ ACM_FRAIN_ON_SURFACE
+ 6.0
+
+
+
+ BUCKET_FRAIN_ON_SURFACE
+ 6.0
+
+
+
+ ACM_SNOWFALL_ON_SURFACE
+ 6.0
+
+
+
+ BUCKET_SNOWFALL_ON_SURFACE
+ 6.0
+
+
ACM_NCPCP_ON_SURFACE
NCPCP
diff --git a/parm/fv3lam_rrfs.xml b/parm/fv3lam_rrfs.xml
index 2cf4a76c6..2f961ff51 100755
--- a/parm/fv3lam_rrfs.xml
+++ b/parm/fv3lam_rrfs.xml
@@ -692,6 +692,36 @@
-4.0
+
+ ACM_GRAUPEL_ON_SURFACE
+ 6.0
+
+
+
+ BUCKET_GRAUPEL_ON_SURFACE
+ 6.0
+
+
+
+ ACM_FRAIN_ON_SURFACE
+ 6.0
+
+
+
+ BUCKET_FRAIN_ON_SURFACE
+ 6.0
+
+
+
+ ACM_SNOWFALL_ON_SURFACE
+ 6.0
+
+
+
+ BUCKET_SNOWFALL_ON_SURFACE
+ 6.0
+
+
ACM_NCPCP_ON_SURFACE
NCPCP
diff --git a/parm/post_avblflds.xml b/parm/post_avblflds.xml
index 621b2d883..77675b46b 100755
--- a/parm/post_avblflds.xml
+++ b/parm/post_avblflds.xml
@@ -8160,5 +8160,36 @@
surface
3.0
+
+
+ 1003
+ BUCKET_FRAIN_ON_SURFACE
+ tmpl4_8
+ FRZR
+ NCEP
+ ACM
+ surface
+ 4.0
+
+
+
+ 1004
+ ACM_SNOWFALL_ON_SURFACE
+ tmpl4_8
+ TSNOWP
+ ACM
+ surface
+ 4.0
+
+
+
+ 1005
+ BUCKET_SNOWFALL_ON_SURFACE
+ tmpl4_8
+ TSNOWP
+ ACM
+ surface
+ 4.0
+
diff --git a/parm/postcntrl_gfs.xml b/parm/postcntrl_gfs.xml
index 9d79cdbe9..8ad9f86ea 100755
--- a/parm/postcntrl_gfs.xml
+++ b/parm/postcntrl_gfs.xml
@@ -1159,6 +1159,36 @@
3.0
+
+ ACM_GRAUPEL_ON_SURFACE
+ 6.0
+
+
+
+ BUCKET_GRAUPEL_ON_SURFACE
+ 6.0
+
+
+
+ ACM_FRAIN_ON_SURFACE
+ 4.0
+
+
+
+ BUCKET_FRAIN_ON_SURFACE
+ 4.0
+
+
+
+ ACM_SNOWFALL_ON_SURFACE
+ 4.0
+
+
+
+ BUCKET_SNOWFALL_ON_SURFACE
+ 4.0
+
+
AER_OPT_GFS_at550
9.0
diff --git a/parm/postcntrl_gfs_two.xml b/parm/postcntrl_gfs_two.xml
index c3edbb94f..2c8613c6f 100755
--- a/parm/postcntrl_gfs_two.xml
+++ b/parm/postcntrl_gfs_two.xml
@@ -1159,6 +1159,36 @@
3.0
+
+ ACM_GRAUPEL_ON_SURFACE
+ 6.0
+
+
+
+ BUCKET_GRAUPEL_ON_SURFACE
+ 6.0
+
+
+
+ ACM_FRAIN_ON_SURFACE
+ 4.0
+
+
+
+ BUCKET_FRAIN_ON_SURFACE
+ 4.0
+
+
+
+ ACM_SNOWFALL_ON_SURFACE
+ 4.0
+
+
+
+ BUCKET_SNOWFALL_ON_SURFACE
+ 4.0
+
+
AER_OPT_GFS_at550
9.0
diff --git a/parm/postxconfig-NT-GFS-TWO.txt b/parm/postxconfig-NT-GFS-TWO.txt
index ea053e5f7..16ae86598 100644
--- a/parm/postxconfig-NT-GFS-TWO.txt
+++ b/parm/postxconfig-NT-GFS-TWO.txt
@@ -1,6 +1,6 @@
2
112
-203
+209
GFSPRS
0
ncep_nco
@@ -7306,6 +7306,228 @@ surface
?
?
?
+746
+ACM_GRAUPEL_ON_SURFACE
+?
+1
+tmpl4_8
+FROZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+775
+BUCKET_GRAUPEL_ON_SURFACE
+bucket graupel precipitation on surface
+1
+tmpl4_8
+FROZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+782
+ACM_FRAIN_ON_SURFACE
+?
+1
+tmpl4_8
+FRZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+4.0
+0
+0
+0
+?
+?
+?
+1003
+BUCKET_FRAIN_ON_SURFACE
+?
+1
+tmpl4_8
+FRZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+4.0
+0
+0
+0
+?
+?
+?
+1004
+ACM_SNOWFALL_ON_SURFACE
+?
+1
+tmpl4_8
+TSNOWP
+?
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+4.0
+0
+0
+0
+?
+?
+?
+1005
+BUCKET_SNOWFALL_ON_SURFACE
+?
+1
+tmpl4_8
+TSNOWP
+?
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+4.0
+0
+0
+0
+?
+?
+?
600
AER_OPT_GFS_at550
?
diff --git a/parm/postxconfig-NT-GFS.txt b/parm/postxconfig-NT-GFS.txt
index faf8aa0c3..ee9f0db08 100644
--- a/parm/postxconfig-NT-GFS.txt
+++ b/parm/postxconfig-NT-GFS.txt
@@ -1,5 +1,5 @@
1
-203
+209
GFSPRS
0
ncep_nco
@@ -7305,6 +7305,228 @@ surface
?
?
?
+746
+ACM_GRAUPEL_ON_SURFACE
+?
+1
+tmpl4_8
+FROZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+775
+BUCKET_GRAUPEL_ON_SURFACE
+bucket graupel precipitation on surface
+1
+tmpl4_8
+FROZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+782
+ACM_FRAIN_ON_SURFACE
+?
+1
+tmpl4_8
+FRZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+4.0
+0
+0
+0
+?
+?
+?
+1003
+BUCKET_FRAIN_ON_SURFACE
+?
+1
+tmpl4_8
+FRZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+4.0
+0
+0
+0
+?
+?
+?
+1004
+ACM_SNOWFALL_ON_SURFACE
+?
+1
+tmpl4_8
+TSNOWP
+?
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+4.0
+0
+0
+0
+?
+?
+?
+1005
+BUCKET_SNOWFALL_ON_SURFACE
+?
+1
+tmpl4_8
+TSNOWP
+?
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+4.0
+0
+0
+0
+?
+?
+?
600
AER_OPT_GFS_at550
?
diff --git a/parm/postxconfig-NT-fv3lam.txt b/parm/postxconfig-NT-fv3lam.txt
index baf81d216..db3ccdde6 100644
--- a/parm/postxconfig-NT-fv3lam.txt
+++ b/parm/postxconfig-NT-fv3lam.txt
@@ -1,6 +1,6 @@
2
219
-258
+264
PRSLEV
32769
ncep_nco
@@ -3643,6 +3643,228 @@ surface
?
?
?
+746
+ACM_GRAUPEL_ON_SURFACE
+?
+1
+tmpl4_8
+FROZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+775
+BUCKET_GRAUPEL_ON_SURFACE
+bucket graupel precipitation on surface
+1
+tmpl4_8
+FROZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+782
+ACM_FRAIN_ON_SURFACE
+?
+1
+tmpl4_8
+FRZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+1003
+BUCKET_FRAIN_ON_SURFACE
+?
+1
+tmpl4_8
+FRZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+1004
+ACM_SNOWFALL_ON_SURFACE
+?
+1
+tmpl4_8
+TSNOWP
+?
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+1005
+BUCKET_SNOWFALL_ON_SURFACE
+?
+1
+tmpl4_8
+TSNOWP
+?
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
34
ACM_NCPCP_ON_SURFACE
?
diff --git a/parm/postxconfig-NT-fv3lam_rrfs.txt b/parm/postxconfig-NT-fv3lam_rrfs.txt
index 273cc9c54..790bb1209 100644
--- a/parm/postxconfig-NT-fv3lam_rrfs.txt
+++ b/parm/postxconfig-NT-fv3lam_rrfs.txt
@@ -1,6 +1,6 @@
2
241
-284
+290
PRSLEV
32769
ncep_nco
@@ -3458,6 +3458,228 @@ surface
?
?
?
+746
+ACM_GRAUPEL_ON_SURFACE
+?
+1
+tmpl4_8
+FROZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+775
+BUCKET_GRAUPEL_ON_SURFACE
+bucket graupel precipitation on surface
+1
+tmpl4_8
+FROZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+782
+ACM_FRAIN_ON_SURFACE
+?
+1
+tmpl4_8
+FRZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+1003
+BUCKET_FRAIN_ON_SURFACE
+?
+1
+tmpl4_8
+FRZR
+NCEP
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+1004
+ACM_SNOWFALL_ON_SURFACE
+?
+1
+tmpl4_8
+TSNOWP
+?
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
+1005
+BUCKET_SNOWFALL_ON_SURFACE
+?
+1
+tmpl4_8
+TSNOWP
+?
+ACM
+surface
+0
+?
+0
+?
+?
+0
+?
+0
+?
+?
+?
+0
+0.0
+0
+0.0
+?
+0
+0.0
+0
+0.0
+1
+6.0
+0
+0
+0
+?
+?
+?
34
ACM_NCPCP_ON_SURFACE
?
diff --git a/sorc/ncep_post.fd/ALLOCATE_ALL.f b/sorc/ncep_post.fd/ALLOCATE_ALL.f
index 429ccb21d..84c35bd5b 100644
--- a/sorc/ncep_post.fd/ALLOCATE_ALL.f
+++ b/sorc/ncep_post.fd/ALLOCATE_ALL.f
@@ -581,6 +581,9 @@ SUBROUTINE ALLOCATE_ALL()
allocate(snow_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u))
allocate(graup_bucket(ista_2l:iend_2u,jsta_2l:jend_2u))
allocate(graup_bucket1(ista_2l:iend_2u,jsta_2l:jend_2u))
+ allocate(frzrn_bucket(ista_2l:iend_2u,jsta_2l:jend_2u))
+ allocate(snow_acm(ista_2l:iend_2u,jsta_2l:jend_2u))
+ allocate(snow_bkt(ista_2l:iend_2u,jsta_2l:jend_2u))
allocate(qrmax(ista_2l:iend_2u,jsta_2l:jend_2u))
allocate(tmax(ista_2l:iend_2u,jsta_2l:jend_2u))
allocate(snownc(ista_2l:iend_2u,jsta_2l:jend_2u))
diff --git a/sorc/ncep_post.fd/DEALLOCATE.f b/sorc/ncep_post.fd/DEALLOCATE.f
index 658febca4..4c0c0d094 100644
--- a/sorc/ncep_post.fd/DEALLOCATE.f
+++ b/sorc/ncep_post.fd/DEALLOCATE.f
@@ -384,6 +384,9 @@ SUBROUTINE DE_ALLOCATE
deallocate(snow_bucket1)
deallocate(graup_bucket)
deallocate(graup_bucket1)
+ deallocate(frzrn_bucket)
+ deallocate(snow_acm)
+ deallocate(snow_bkt)
deallocate(qrmax)
deallocate(tmax)
deallocate(snownc)
diff --git a/sorc/ncep_post.fd/INITPOST_NETCDF.f b/sorc/ncep_post.fd/INITPOST_NETCDF.f
index 187067fc5..046753a84 100644
--- a/sorc/ncep_post.fd/INITPOST_NETCDF.f
+++ b/sorc/ncep_post.fd/INITPOST_NETCDF.f
@@ -26,6 +26,7 @@
!> 2022-11-08 | Wen Meng | Remove instant PM2.5 calculation
!> 2022-11-16 | Eric James | Read smoke, dust, biomass burning, and hourly wildfire potential from RRFS
!> 2022-12-07 | Wen Meng | Read AOD from AQM model
+!> 2022-12-23 | Eric Aligo | Read six winter weather diagnostics from model
!>
!> @author Hui-Ya Chuang @date 2016-03-04
SUBROUTINE INITPOST_NETCDF(ncid2d,ncid3d)
@@ -53,7 +54,8 @@ SUBROUTINE INITPOST_NETCDF(ncid2d,ncid3d)
smstot, ivgtyp, isltyp, sfcevp, sfcexc, acsnow, acsnom, sst, thz0, qz0, &
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, &
+ mintshltr, maxrhshltr, fdnsst, acgraup, graup_bucket, acfrain, frzrn_bucket, &
+ snow_acm, snow_bkt, &
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, &
@@ -1620,6 +1622,35 @@ 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,SFCEXC)
+! accumulated snowfall
+ VarName='tsnowp'
+ call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
+ spval,VarName,SNOW_ACM)
+! snowfall bucket
+ VarName='tsnowpb'
+ call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
+ spval,VarName,SNOW_BKT)
+
+! accumulated graupel/sleet
+ VarName='frozr'
+ call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
+ spval,VarName,acgraup)
+
+! graupel/sleet bucket
+ VarName='frozrb'
+ call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
+ spval,VarName,graup_bucket)
+
+! accumulated freezing rain
+ VarName='frzr'
+ call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
+ spval,VarName,acfrain)
+
+! freezing rain bucket
+ VarName='frzrb'
+ call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
+ spval,VarName,frzrn_bucket)
+
! aerodynamic conductance
VarName='acond'
call read_netcdf_2d_para(ncid2d,ista,ista_2l,iend,iend_2u,jsta,jsta_2l,jend,jend_2u, &
diff --git a/sorc/ncep_post.fd/SURFCE.f b/sorc/ncep_post.fd/SURFCE.f
index bba111b86..d209b30b5 100644
--- a/sorc/ncep_post.fd/SURFCE.f
+++ b/sorc/ncep_post.fd/SURFCE.f
@@ -43,6 +43,7 @@
!! - 22-02-01 E JAMES - Cleaning up GRIB2 encoding for six variables
!! that cause issues with newer wgrib2 builds in RRFS system.
!! - 22-11-16 E JAMES - Adding dust from RRFS
+!! - 22-12-23 E Aligo - Read six winter weather diagnostics from model.
!!
!! USAGE: CALL SURFCE
!! INPUT ARGUMENT LIST:
@@ -93,6 +94,7 @@ SUBROUTINE SURFCE
acond,maxqshltr,minqshltr,avgpotevp,AVGPREC_CONT, &
AVGCPRATE_CONT,sst,pcp_bucket1,rainnc_bucket1, &
snow_bucket1, rainc_bucket1, graup_bucket1, &
+ frzrn_bucket, snow_acm, snow_bkt, &
shdmin, shdmax, lai, ch10,cd10,landfrac,paha,pahi, &
tecan,tetran,tedir,twa
use soil, only: stc, sllevel, sldpth, smc, sh2o
@@ -3413,6 +3415,7 @@ SUBROUTINE SURFCE
fld_info(cfld)%ifld=IAVBLFLD(IGET(746))
fld_info(cfld)%ntrange=1
fld_info(cfld)%tinvstat=IFHR-ID(18)
+ if(MODELNAME=='FV3R' .OR. MODELNAME=='GFS')fld_info(cfld)%tinvstat=IFHR
!$omp parallel do private(i,j,ii,jj)
do j=1,jend-jsta+1
jj = jsta+j-1
@@ -3458,6 +3461,7 @@ SUBROUTINE SURFCE
fld_info(cfld)%ifld=IAVBLFLD(IGET(782))
fld_info(cfld)%ntrange=1
fld_info(cfld)%tinvstat=IFHR-ID(18)
+ if(MODELNAME=='FV3R' .OR. MODELNAME=='GFS')fld_info(cfld)%tinvstat=IFHR
!$omp parallel do private(i,j,ii,jj)
do j=1,jend-jsta+1
jj = jsta+j-1
@@ -3468,6 +3472,54 @@ SUBROUTINE SURFCE
enddo
endif
ENDIF
+
+! ACCUMULATED SNOWFALL.
+ IF (IGET(1004)>0) THEN
+!$omp parallel do private(i,j)
+ DO J=JSTA,JEND
+ DO I=ISTA,IEND
+ GRID1(I,J) = SNOW_ACM(I,J)
+ ENDDO
+ ENDDO
+ ID(1:25) = 0
+ ITPREC = NINT(TPREC)
+!mp
+ if (ITPREC /= 0) then
+ IFINCR = MOD(IFHR,ITPREC)
+ IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60)
+ else
+ IFINCR = 0
+ endif
+!mp
+ ID(18) = 0
+ ID(19) = IFHR
+ IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN
+ ID(20) = 4
+ IF (IFINCR==0) THEN
+ ID(18) = IFHR-ITPREC
+ ELSE
+ ID(18) = IFHR-IFINCR
+ IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR
+ ENDIF
+ IF (ID(18)<0) ID(18) = 0
+ if(grib=='grib2') then
+ cfld=cfld+1
+ fld_info(cfld)%ifld=IAVBLFLD(IGET(1004))
+ fld_info(cfld)%ntrange=1
+ fld_info(cfld)%tinvstat=IFHR-ID(18)
+ if(MODELNAME=='FV3R' .or. MODELNAME=='GFS')fld_info(cfld)%tinvstat=IFHR
+! print*,'id(18),tinvstat in acgraup= ',ID(18),fld_info(cfld)%tinvstat
+!$omp parallel do private(i,j,ii,jj)
+ do j=1,jend-jsta+1
+ jj = jsta+j-1
+ do i=1,iend-ista+1
+ ii = ista+i-1
+ datapd(i,j,cfld) = GRID1(ii,jj)
+ enddo
+ enddo
+ endif
+ ENDIF
+
!
! ACCUMULATED SNOW MELT.
IF (IGET(121)>0) THEN
@@ -4030,6 +4082,113 @@ SUBROUTINE SURFCE
endif
ENDIF
+! 'BUCKET FREEZING RAIN '
+ IF (IGET(1003)>0.) THEN
+!$omp parallel do private(i,j)
+ DO J=JSTA,JEND
+ DO I=ISTA,IEND
+ GRID1(I,J) = FRZRN_BUCKET(I,J)
+ ENDDO
+ ENDDO
+ ID(1:25) = 0
+ ITPREC = NINT(TPREC)
+!mp
+ if (ITPREC /= 0) then
+ IFINCR = MOD(IFHR,ITPREC)
+ IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60)
+ else
+ IFINCR = 0
+ endif
+!mp
+ ID(18) = 0
+ ID(19) = IFHR
+ IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN
+ ID(20) = 4
+ IF (IFINCR==0) THEN
+ ID(18) = IFHR-ITPREC
+ ELSE
+ ID(18) = IFHR-IFINCR
+ IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR
+ ENDIF
+ IF (ID(18)<0) ID(18) = 0
+! print*,'maxval BUCKET FREEZING RAIN: ', maxval(GRID1)
+ if(grib=='grib2') then
+ cfld=cfld+1
+ fld_info(cfld)%ifld=IAVBLFLD(IGET(1003))
+ fld_info(cfld)%ntrange=1
+ fld_info(cfld)%tinvstat=IFHR-ID(18)
+! if(ITPREC>0) then
+! fld_info(cfld)%ntrange=(IFHR-ID(18))/ITPREC
+! else
+! fld_info(cfld)%ntrange=0
+! endif
+! fld_info(cfld)%tinvstat=ITPREC
+! if(fld_info(cfld)%ntrange==0) then
+! if (ifhr==0) then
+! fld_info(cfld)%tinvstat=0
+! else
+! fld_info(cfld)%tinvstat=1
+! endif
+! fld_info(cfld)%ntrange=1
+! end if
+!$omp parallel do private(i,j,ii,jj)
+ do j=1,jend-jsta+1
+ jj = jsta+j-1
+ do i=1,iend-ista+1
+ ii = ista+i-1
+ datapd(i,j,cfld) = GRID1(ii,jj)
+ enddo
+ enddo
+ endif
+ ENDIF
+
+! 'BUCKET SNOWFALL '
+ IF (IGET(1005)>0.) THEN
+!$omp parallel do private(i,j)
+ DO J=JSTA,JEND
+ DO I=ISTA,IEND
+ GRID1(I,J) = SNOW_BKT(I,J)
+ ENDDO
+ ENDDO
+ ID(1:25) = 0
+ ITPREC = NINT(TPREC)
+!mp
+ if (ITPREC /= 0) then
+ IFINCR = MOD(IFHR,ITPREC)
+ IF(IFMIN >= 1)IFINCR= MOD(IFHR*60+IFMIN,ITPREC*60)
+ else
+ IFINCR = 0
+ endif
+!mp
+ ID(18) = 0
+ ID(19) = IFHR
+ IF(IFMIN >= 1)ID(19)=IFHR*60+IFMIN
+ ID(20) = 4
+ IF (IFINCR==0) THEN
+ ID(18) = IFHR-ITPREC
+ ELSE
+ ID(18) = IFHR-IFINCR
+ IF(IFMIN >= 1)ID(18)=IFHR*60+IFMIN-IFINCR
+ ENDIF
+ IF (ID(18)<0) ID(18) = 0
+! print*,'maxval BUCKET FREEZING RAIN: ', maxval(GRID1)
+ if(grib=='grib2') then
+ cfld=cfld+1
+ fld_info(cfld)%ifld=IAVBLFLD(IGET(1005))
+ fld_info(cfld)%ntrange=1
+ fld_info(cfld)%tinvstat=IFHR-ID(18)
+!$omp parallel do private(i,j,ii,jj)
+ do j=1,jend-jsta+1
+ jj = jsta+j-1
+ do i=1,iend-ista+1
+ ii = ista+i-1
+ datapd(i,j,cfld) = GRID1(ii,jj)
+ enddo
+ enddo
+ endif
+ ENDIF
+
+
! ERIC JAMES: 10 JUN 2021 -- adding precip comparison to FFG
! thresholds. 913 is for 1h QPF, 914 for run total QPF.
IF (IGET(913).GT.0) THEN
diff --git a/sorc/ncep_post.fd/VRBLS2D_mod.f b/sorc/ncep_post.fd/VRBLS2D_mod.f
index 1f008f6cb..d953325c9 100644
--- a/sorc/ncep_post.fd/VRBLS2D_mod.f
+++ b/sorc/ncep_post.fd/VRBLS2D_mod.f
@@ -51,6 +51,7 @@ module vrbls2d
,NCI_REFD(:,:),NCA_REFD(:,:),RAINC_BUCKET1(:,:),RAINNC_BUCKET1(:,:) &
,RAINC_BUCKET(:,:),RAINNC_BUCKET(:,:),SNOW_BUCKET(:,:) &
,GRAUP_BUCKET(:,:),PCP_BUCKET(:,:),ACGRAUP(:,:),ACFRAIN(:,:) &
+ ,FRZRN_BUCKET(:,:),SNOW_ACM(:,:),SNOW_BKT(:,:) &
,SNOW_BUCKET1(:,:),GRAUP_BUCKET1(:,:),PCP_BUCKET1(:,:) &
,SNOWNC(:,:),GRAUPELNC(:,:),TMAX(:,:),W_MEAN(:,:) &
,TSNOW(:,:),QVG(:,:),QV2m(:,:),QVl1(:,:) &