Skip to content

Commit

Permalink
Fix PDOWN definition to lower edge and remove re-evaporation requirem…
Browse files Browse the repository at this point in the history
…ent for washout
  • Loading branch information
yuanjianz committed Oct 21, 2024
1 parent 5ea0743 commit 9151ed1
Showing 1 changed file with 9 additions and 11 deletions.
20 changes: 9 additions & 11 deletions GeosCore/convection_mod.F90
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ SUBROUTINE DO_CLOUD_CONVECTION( Input_Opt, &
! Point to columns of derived-type object fields
BXHEIGHT => State_Met%BXHEIGHT(I,J,: ) ! Box height [m]
CMFMC => State_Met%CMFMC (I,J,2:State_Grid%NZ+1) ! Cloud mass flux
! [kg/m2/s]
! [kg/m2/s] [upper edge]
DQRCU_MET => State_Met%DQRCU (I,J,: ) ! Precip production rate:
DTRAIN => State_Met%DTRAIN (I,J,: ) ! Detrainment flux [kg/m2/s]
REEVAPCN_MET => State_Met%REEVAPCN(I,J,: ) ! Evap of precip'ing conv.
Expand All @@ -573,12 +573,12 @@ SUBROUTINE DO_CLOUD_CONVECTION( Input_Opt, &
SpcInfo => NULL() ! Species database entry

! PFICU and PFLCU are on level edges
PFICU => State_Met%PFICU (I,J,2:State_Grid%NZ+1) ! Dwnwd flx of conv
PFICU => State_Met%PFICU (I,J,1:State_Grid%NZ) ! Dwnwd flx of conv
! ice precip
! [kg/m2/s]
PFLCU => State_Met%PFLCU (I,J,2:State_Grid%NZ+1) ! Dwnwd flux of conv
! [kg/m2/s] [lower edge]
PFLCU => State_Met%PFLCU (I,J,1:State_Grid%NZ) ! Dwnwd flux of conv
! liquid precip
! [kg/m2/s]
! [kg/m2/s] [lower edge]

! # of levels and # of species
NLAY = State_Grid%NZ
Expand Down Expand Up @@ -662,10 +662,10 @@ SUBROUTINE DO_CLOUD_CONVECTION( Input_Opt, &
PDOWN(:) = ( ( PFLCU(:) / 1000e+0_fp ) &
+ ( PFICU(:) / 917e+0_fp ) ) * 100e+0_fp
ELSE
PDOWN(NLAY) = 0
PDOWN(NLAY) = DQRCU_MET(NLAY) * DELP(NLAY) * G0_100 * 100e+0_fp
DO K = NLAY-1, 1, -1
PDOWN(K) = PDOWN(K+1) + DQRCU_MET(K+1) &
* DELP(K+1) * G0_100 * 100e+0_fp
PDOWN(K) = PDOWN(K+1) + DQRCU_MET(K) &
* DELP(K) * G0_100 * 100e+0_fp
! kg/kg wet air/s to kg/m2/s then to cm3 H20/cm2 air/s
ENDDO
ENDIF
Expand Down Expand Up @@ -1138,10 +1138,8 @@ SUBROUTINE DO_CLOUD_CONVECTION( Input_Opt, &

! Check if...
! (1) there is precip coming into box (I,J,K) from (I,J,K+1)
! (2) there is re-evaporation happening in grid box (I,J,K)
! (3) there is species to re-evaporate
! (2) there is species to re-evaporate
IF ( PDOWN(K+1) > 0 .and. &
REEVAPCN(K) > 0 .and. &
T0_SUM > 0 ) THEN

! Compute F_WASHOUT, the fraction of grid box (I,J,L)
Expand Down

0 comments on commit 9151ed1

Please sign in to comment.