<HTML> <BODY BGCOLOR=#ccccdd LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE>
<A NAME='DA_EVAPO_LIN'><A href='../../html_code/physics/da_evapo_lin.inc.html#DA_EVAPO_LIN' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
subroutine da_evapo_lin(dt,scr3,scr5,qv_b,pre,scr6, scr39,scr59,qv_a,pre9,scr69, kts,kte,kms,kme) 1,2
!-----------------------------------------------------------------------
! Purpose: Rainwater evaporation
!-----------------------------------------------------------------------
implicit none
integer, intent(in) :: kts, kte, kms, kme
real, intent(in) :: dt(kms:kme)
real, intent(in) :: scr3(kms:kme)
real, intent(in) :: scr5(kms:kme)
real, intent(in) :: scr6(kms:kme)
real, intent(in) :: qv_b(kms:kme)
real, intent(out) :: pre(kms:kme)
real, intent(out) :: pre9(kms:kme)
real, intent(in) :: scr39(kms:kme)
real, intent(in) :: scr59(kms:kme)
real, intent(in) :: scr69(kms:kme)
real, intent(in) :: qv_a(kms:kme)
integer :: k
real :: beta, qrth
real :: tmp, tmp2
if (trace_use) call da_trace_entry
("da_evapo_lin")
qrth = 1.0e-6
beta = 0.0486 ! original
do k = kts, kte
if (dt(k) <= 0.0) cycle
if ( scr3(k) > qrth .and. qv_b(k) < scr5(k) ) then
tmp = beta * ( qv_b(k)-scr5(k) )* 0.65 * ( scr6(k)*scr3(k) )**(-0.35)
tmp2 = beta * ( scr6(k)*scr3(k) )**0.65
pre9(k) = tmp * ( scr69(k)*scr3(k)+scr6(k)*scr39(k) ) + &
tmp2 * ( qv_a(k)-scr59(k) )
pre(k) = beta * ( qv_b(k)-scr5(k) ) * ( scr6(k)*scr3(k) )**0.65
else if ( scr3(k) <= qrth .and. scr3(k) > 0.0 .and. qv_b(k) < scr5(k) ) then
tmp = beta * ( qv_b(k)-scr5(k) ) * 0.65 * ( scr6(k)*qrth )**(-0.35)
tmp2 = beta * ( scr6(k)*qrth )**0.65
pre9(k) = tmp * ( scr69(k)*qrth ) + tmp2 * ( qv_a(k)-scr59(k) )
pre(k) = beta * ( qv_b(k)-scr5(k) ) * ( scr6(k)*qrth )**0.65
else
pre9(k) = 0.0
pre(k) = 0.0
end if
if ( pre(k) < -scr3(k)/dt(k) ) then
pre9(k) = -scr39(k) / dt(k)
pre(k) = -scr3(k) / dt(k)
end if
end do
if (trace_use) call da_trace_exit
("da_evapo_lin")
end subroutine da_evapo_lin