From 740201cdaf62ff27fa88a0936abedaabd0ec01fc Mon Sep 17 00:00:00 2001 From: Wen Meng Date: Fri, 19 Jun 2020 03:50:00 +0000 Subject: [PATCH] 1)Add changes of total cloud fraction for FV3 GFS; 2)Tweak DBZI. --- sorc/ncep_post.fd/CLDRAD.f | 39 +++++++++++++++++++++++++++++++++++--- sorc/ncep_post.fd/MDLFLD.f | 1 + 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/sorc/ncep_post.fd/CLDRAD.f b/sorc/ncep_post.fd/CLDRAD.f index d2a2e5b45..b13b5569d 100644 --- a/sorc/ncep_post.fd/CLDRAD.f +++ b/sorc/ncep_post.fd/CLDRAD.f @@ -967,8 +967,9 @@ SUBROUTINE CLDRAD endif ENDIF ! -nmmb_clds1: IF ((MODELNAME=='NMM' .AND. GRIDTYPE=='B') .OR. & - MODELNAME=='FV3R'.OR. MODELNAME=='GFS') THEN + IF ((MODELNAME=='NMM' .AND. GRIDTYPE=='B') .OR. & + MODELNAME=='FV3R') THEN +!nmmb_clds1 ! !-- Initialize low, middle, high, and total cloud cover; ! also a method for cloud ceiling height @@ -1024,7 +1025,39 @@ SUBROUTINE CLDRAD ENDDO ! I ENDDO ! J ENDDO ! L - ENDIF nmmb_clds1 +!end nmmb_clds1 + ELSEIF (MODELNAME=='GFS') THEN +!Initialize for GLOBAL FV3 which has cluod fraction in range from +!0.0 to 1.0 +! +!-- Initialize low, middle, high, and total cloud cover; +! also a method for cloud ceiling height +! + DO J=JSTA,JEND + DO I=1,IM + CFRACL(I,J)=0. + CFRACM(I,J)=0. + CFRACH(I,J)=0. + TCLD(I,J)=0. + ENDDO + ENDDO + DO L=LM,1,-1 + DO J=JSTA,JEND + DO I=1,IM + FRAC=CFR(I,J,L) !- 3D cloud fraction at model layers + PCLDBASE=PMID(I,J,L) !-- Using PCLDBASE variable for convenience + IF (PCLDBASE>=PTOP_LOW) THEN + CFRACL(I,J)=MAX(CFRACL(I,J),FRAC) + ELSE IF (PCLDBASE>=PTOP_MID) THEN + CFRACM(I,J)=MAX(CFRACM(I,J),FRAC) + ELSE + CFRACH(I,J)=MAX(CFRACH(I,J),FRAC) + ENDIF + TCLD(I,J)=MAX(TCLD(I,J),FRAC) + ENDDO ! I + ENDDO ! J + ENDDO ! L + ENDIF ! !*** BLOCK 2. 2-D CLOUD FIELDS. ! diff --git a/sorc/ncep_post.fd/MDLFLD.f b/sorc/ncep_post.fd/MDLFLD.f index 89c157acf..a1515ac4e 100644 --- a/sorc/ncep_post.fd/MDLFLD.f +++ b/sorc/ncep_post.fd/MDLFLD.f @@ -635,6 +635,7 @@ SUBROUTINE MDLFLD DBZI(I,J,L) = DBZ(I,J,L) ENDIF ELSEIF (IICE == 1) THEN + DBZI(I,J,L) = 0. QQG(I,J,L) = max(QQG(I,J,L),0.0) if(QQR(I,J,L) < SPVAL .and. QQR(I,J,L)> 0.0) then DBZR(I,J,L) = ((QQR(I,J,L)*DENS)**1.75) * 3.630803E-9 * 1.E18 ! Z FOR RAIN