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