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)