Skip to content

Commit

Permalink
TYPE: bug-fix
Browse files Browse the repository at this point in the history
KEYWORDS: SBM microphysics rainfall fix

SOURCE: internal plus B. Lynn

PURPOSE:    Add rainfall from SBM microphysics to RAINNCV, SR, etc., needed for LSM

DESCRIPTION OF CHANGES: SBM did not output RAINNCV and various other snow, graupel
budgets, only RAINNC which provided accumulated rainfall, RAINNCV is critical for
RAINBL that goes to the LSMs, so the bin microphysics rainfall was not going into
the LSMs before this fix.

LIST OF MODIFIED FILES :
M       phys/module_microphysics_driver.F
M       phys/module_mp_fast_sbm.F
M       phys/module_mp_full_sbm.F


TESTS CONDUCTED:   regtest passed all



git-svn-id: https://svn-wrf-model.cgd.ucar.edu/trunk@9417 b0b5d27b-6f0f-0410-a2a3-cb1e977edc3d
  • Loading branch information
dudhia committed Jun 24, 2016
1 parent c42aa2d commit 9508850
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 8 deletions.
20 changes: 18 additions & 2 deletions phys/module_microphysics_driver.F
Original file line number Diff line number Diff line change
Expand Up @@ -858,7 +858,14 @@ SUBROUTINE microphysics_driver( &
,REFL_10CM=refl_10cm & ! added for radar reflectivity
,diagflag=diagflag & ! added for radar reflectivity
,do_radar_ref=do_radar_ref & ! added for radar reflectivity
,RAINNC=rainnc)
,RAINNC=rainnc &
,RAINNCV=rainncv &
,SNOWNC=snownc &
,SNOWNCV=snowncv &
,GRAUPELNC=graupelnc &
,GRAUPELNCV=graupelncv &
,SR=sr &
)

!
CASE (FULL_KHAIN_LYNN)
Expand Down Expand Up @@ -917,7 +924,16 @@ SUBROUTINE microphysics_driver( &
,REFL_10CM=refl_10cm & ! added for radar reflectivity
,diagflag=diagflag & ! added for radar reflectivity
,do_radar_ref=do_radar_ref & ! added for radar reflectivity
,RAINNC=rainnc)
,RAINNC=rainnc &
,RAINNCV=rainncv &
,SNOWNC=snownc &
,SNOWNCV=snowncv &
,GRAUPELNC=graupelnc &
,GRAUPELNCV=graupelncv &
,HAILNC=hailnc &
,HAILNCV=hailncv &
,SR=sr &
)
#endif

!
Expand Down
30 changes: 27 additions & 3 deletions phys/module_mp_fast_sbm.F
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ MODULE module_mp_fast_sbm
!-----------------------------------------------------------------------
! BARRY
INTEGER,PRIVATE,PARAMETER :: REMSAT = 0
! LOGICAL, PRIVATE,PARAMETER : : ICEPROCS=.FALSE.,BULKNUC=.TRUE.
INTEGER, PRIVATE,PARAMETER :: IBREAKUP=1
INTEGER, PRIVATE,PARAMETER :: p_ff1i01=2, p_ff1i33=34,p_ff5i01=35,p_ff5i33=67,p_ff6i01=68,&
& p_ff6i33=100,p_ff8i01=101,p_ff8i33=133
Expand Down Expand Up @@ -174,7 +173,7 @@ SUBROUTINE FAST_SBM (w,u,v,th_old, &
& ims,ime, jms,jme, kms,kme, &
& its,ite, jts,jte, kts,kte, &
& refl_10cm, diagflag, do_radar_ref, & ! GT added for reflectivity calcs
& RAINNC )
& RAINNC,RAINNCV,SNOWNC,SNOWNCV,GRAUPELNC,GRAUPELNCV,SR )
!-----------------------------------------------------------------------
IMPLICIT NONE
!-----------------------------------------------------------------------
Expand Down Expand Up @@ -227,7 +226,7 @@ SUBROUTINE FAST_SBM (w,u,v,th_old, &
REAL, INTENT(INOUT), DIMENSION(ims:ime, kms:kme, jms:jme):: &
& th_phy
REAL, INTENT(INOUT), DIMENSION(ims:ime,jms:jme), OPTIONAL :: &
& RAINNC
& RAINNC,RAINNCV,SNOWNC,SNOWNCV,GRAUPELNC,GRAUPELNCV,SR
! REAL, INTENT(INOUT), DIMENSION(ims:ime,jms:jme), OPTIONAL :: &
! REAL, DIMENSION(ims:ime,jms:jme), OPTIONAL :: &
! & LIQUEXP,ICEEXP,SNOWEXP,GRAUEXP,HAILEXP
Expand Down Expand Up @@ -1271,11 +1270,17 @@ SUBROUTINE FAST_SBM (w,u,v,th_old, &
DO j = jts,jte
DO i = its,ite
krr=0
RAINNCV(I,J)=0.
SNOWNCV(I,J)=0.
GRAUPELNCV(I,J)=0.
DO KR=p_ff1i01,p_ff1i33
krr=krr+1
DELTAW=VR1(KRR)
RAINNC(I,J)=RAINNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XL(KRR)*XL(KRR)
RAINNCV(I,J)= RAINNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XL(KRR)*XL(KRR)
END DO
KRR=0
Expand All @@ -1284,6 +1289,15 @@ SUBROUTINE FAST_SBM (w,u,v,th_old, &
DELTAW=VR3(KRR)
RAINNC(I,J)=RAINNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XS(KRR)*XS(KRR)
RAINNCV(I,J)=RAINNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XS(KRR)*XS(KRR)
SNOWNC(I,J)=SNOWNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XS(KRR)*XS(KRR)
SNOWNCV(I,J)= SNOWNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XS(KRR)*XS(KRR)
END DO
KRR=0
Expand All @@ -1292,6 +1306,15 @@ SUBROUTINE FAST_SBM (w,u,v,th_old, &
DELTAW=VR4(KRR)
RAINNC(I,J)=RAINNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XG(KRR)*XG(KRR)
RAINNCV(I,J)=RAINNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XG(KRR)*XG(KRR)
GRAUPELNC(I,J)=GRAUPELNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XG(KRR)*XG(KRR)
GRAUPELNCV(I,J)= GRAUPELNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XG(KRR)*XG(KRR)
END DO
do k=kts,kte
Expand Down Expand Up @@ -1319,6 +1342,7 @@ SUBROUTINE FAST_SBM (w,u,v,th_old, &
enddo
endif
ENDIF
SR(I,J) = (SNOWNCV(I,J)+GRAUPELNCV(I,J))/(RAINNCV(I,J)+1.e-12)
! print*, i,j,rainnc(i,j)
END DO
Expand Down
67 changes: 64 additions & 3 deletions phys/module_mp_full_sbm.F
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ MODULE module_mp_full_sbm
!-----------------------------------------------------------------------
! BARRY
INTEGER,PRIVATE,PARAMETER :: REMSAT = 0
! LOGICAL, PRIVATE,PARAMETER : : ICEPROCS=.FALSE.,BULKNUC=.TRUE.
INTEGER, PRIVATE,PARAMETER :: IBREAKUP=1
LOGICAL, PRIVATE,PARAMETER :: CONSERV=.TRUE.
! SET ONE = TRUE
Expand Down Expand Up @@ -205,7 +204,7 @@ SUBROUTINE SBM (w,u,v,th_old, &
& ims,ime, jms,jme, kms,kme, &
& its,ite, jts,jte, kts,kte, &
& refl_10cm, diagflag, do_radar_ref, & ! MO added for reflectivity calcs
& RAINNC )
& RAINNC,RAINNCV,SNOWNC,SNOWNCV,GRAUPELNC,GRAUPELNCV,HAILNC,HAILNCV,SR )
!-----------------------------------------------------------------------
IMPLICIT NONE
!-----------------------------------------------------------------------
Expand Down Expand Up @@ -289,7 +288,7 @@ SUBROUTINE SBM (w,u,v,th_old, &
REAL, INTENT(INOUT), DIMENSION(ims:ime, kms:kme, jms:jme):: &
& th_phy
REAL, INTENT(INOUT), DIMENSION(ims:ime,jms:jme), OPTIONAL :: &
& RAINNC
& RAINNC,RAINNCV,SNOWNC,SNOWNCV,GRAUPELNC,GRAUPELNCV,HAILNC,HAILNCV,SR
! REAL, INTENT(INOUT), DIMENSION(ims:ime,jms:jme), OPTIONAL :: &
! REAL, DIMENSION(ims:ime,jms:jme), OPTIONAL :: &
! & LIQUEXP,ICEEXP,SNOWEXP,GRAUEXP,HAILEXP
Expand Down Expand Up @@ -1675,11 +1674,18 @@ SUBROUTINE SBM (w,u,v,th_old, &
DO j = jts,jte
DO i = its,ite
krr=0
RAINNCV(I,J)=0.
SNOWNCV(I,J)=0.
GRAUPELNCV(I,J)=0.
HAILNCV(I,J)=0.
DO KR=p_ff1i01,p_ff1i33
krr=krr+1
DELTAW=VR1(KRR)
RAINNC(I,J)=RAINNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XL(KRR)*XL(KRR)
RAINNCV(I,J)= RAINNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XL(KRR)*XL(KRR)
END DO
KRR=0
Expand All @@ -1688,6 +1694,15 @@ SUBROUTINE SBM (w,u,v,th_old, &
DELTAW=VR3(KRR)
RAINNC(I,J)=RAINNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XS(KRR)*XS(KRR)
RAINNCV(I,J)=RAINNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XS(KRR)*XS(KRR)
SNOWNC(I,J)=SNOWNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XS(KRR)*XS(KRR)
SNOWNCV(I,J)= SNOWNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XS(KRR)*XS(KRR)
END DO
KRR=0
Expand All @@ -1696,6 +1711,15 @@ SUBROUTINE SBM (w,u,v,th_old, &
DELTAW=VR4(KRR)
RAINNC(I,J)=RAINNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XG(KRR)*XG(KRR)
RAINNCV(I,J)=RAINNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XG(KRR)*XG(KRR)
GRAUPELNC(I,J)=GRAUPELNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XG(KRR)*XG(KRR)
GRAUPELNCV(I,J)= GRAUPELNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XG(KRR)*XG(KRR)
END DO
KRR=0
Expand All @@ -1704,6 +1728,15 @@ SUBROUTINE SBM (w,u,v,th_old, &
DELTAW=VR2(KRR,1)
RAINNC(I,J)=RAINNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,1)*XI(KRR,1)
RAINNCV(I,J)=RAINNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,1)*XI(KRR,1)
SNOWNC(I,J)=SNOWNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,1)*XI(KRR,1)
SNOWNCV(I,J)=SNOWNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,1)*XI(KRR,1)
END DO
KRR=0
Expand All @@ -1712,6 +1745,15 @@ SUBROUTINE SBM (w,u,v,th_old, &
DELTAW=VR2(KRR,2)
RAINNC(I,J)=RAINNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,2)*XI(KRR,2)
RAINNCV(I,J)=RAINNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,2)*XI(KRR,2)
SNOWNC(I,J)=SNOWNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,2)*XI(KRR,2)
SNOWNCV(I,J)=SNOWNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,2)*XI(KRR,2)
END DO
KRR=0
Expand All @@ -1720,6 +1762,15 @@ SUBROUTINE SBM (w,u,v,th_old, &
DELTAW=VR2(KRR,3)
RAINNC(I,J)=RAINNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,3)*XI(KRR,3)
RAINNCV(I,J)=RAINNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,3)*XI(KRR,3)
SNOWNC(I,J)=SNOWNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,3)*XI(KRR,3)
SNOWNCV(I,J)=SNOWNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XI(KRR,3)*XI(KRR,3)
END DO
KRR=0
Expand All @@ -1728,6 +1779,15 @@ SUBROUTINE SBM (w,u,v,th_old, &
DELTAW=VR5(KRR)
RAINNC(I,J)=RAINNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XH(KRR)*XH(KRR)
RAINNCV(I,J)=RAINNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XH(KRR)*XH(KRR)
HAILNC(I,J)=HAILNC(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XH(KRR)*XH(KRR)
HAILNCV(I,J)= HAILNCV(I,J) &
& +10*(3./RO1BL(KRR))*COL*DT*DELTAW* &
& chem_new(I,1,J,KR)*XH(KRR)*XH(KRR)
END DO
! print*, i,j,rainnc(i,j)
Expand Down Expand Up @@ -1758,6 +1818,7 @@ SUBROUTINE SBM (w,u,v,th_old, &
enddo
endif
ENDIF
SR(I,J) = (SNOWNCV(I,J)+GRAUPELNCV(I,J)+HAILNCV(I,J))/(RAINNCV(I,J)+1.e-12)

END DO
END DO
Expand Down

0 comments on commit 9508850

Please sign in to comment.