da_evapo.inc

References to this file elsewhere.
1 subroutine da_evapo(DT,SCR3,SCR5,QV,PRE,SCR6,kts,kte,kms,kme)
2 
3    !-----------------------------------------------------------------------
4    ! Purpose: Rainwater evaporation
5    !-----------------------------------------------------------------------
6 
7    implicit none
8 
9    integer, intent(in)                   :: kts, kte, kms, kme
10    real, dimension(kms:kme), intent(in)  :: DT, SCR3, SCR5, SCR6, QV
11    real, dimension(kms:kme), intent(out) :: PRE
12 
13    integer                   :: k
14    real                      :: beta, QRTH
15 
16    QRTH = 1.e-6
17    beta = 0.0486   ! original
18 
19    do K = kts, kte
20       if ( DT(k) <= 0. ) cycle
21 
22       if ( SCR3(K) > QRTH .and. QV(k) < SCR5(k) ) then
23          PRE(k) = beta * ( QV(K)-SCR5(K) ) * ( SCR6(k)*SCR3(K) )**0.65
24       else if ( SCR3(K) <= QRTH .and. SCR3(k) > 0. &
25                           .and. QV(k) < SCR5(k) ) then
26          PRE(k) = beta * ( QV(K)-SCR5(K) ) * ( SCR6(k)*QRTH )**0.65
27       else
28          PRE(k) = 0.
29       end if
30 
31      ! PRE(k) = AMAX1( -SCR3(k)/DT(k), PRE(k) )
32      if ( PRE(k) < -SCR3(k)/DT(k) ) then
33         PRE(k) = -SCR3(k) / DT(k)
34      end if
35    end do
36 
37 end subroutine da_evapo
38