subroutine da_radial_velocity(rv,p,u,v,w,qrn,ps,x,y,z,rho) 1,2
!-----------------------------------------------------------------------
! Purpose: calculate radial velocity following Sun and Crook (1997)
! History:
! 08/2017 - bug fix for Vt (Siou-Ying Jiang, CWB, Taiwan)
!-----------------------------------------------------------------------
implicit none
real, intent(in) :: x, y, z
real, intent(in) :: p, u, v, w, qrn, ps
real, intent(in) :: rho
real, intent(out) :: rv
real :: r, alpha, vt
real :: qrrc
real :: qrn_g
qrn_g= qrn*1000. ! kg/kg -> g/kg
qrrc = 0.01 ! g/kg
vt = 0.0
if (trace_use) call da_trace_entry
("da_radial_velocity")
r=sqrt(x*x+y*y+z*z)
alpha=(ps/p)**0.4
if (qrn_g <= qrrc)then
vt=0.0
else
vt=5.4*alpha*qrn_g**0.125*rho**0.125
end if
rv=u*x+v*y+(w-vt)*z
rv=rv/r
if (trace_use) call da_trace_exit
("da_radial_velocity")
end subroutine da_radial_velocity