1 subroutine da_radial_velocity_adj(rv,p,u,v,w,qrn,ps,x,y,z,qrn9,rho)
3 !-----------------------------------------------------------------------
4 ! Purpose: adjoint of da_radial_velocity_lin
6 ! 08/2017 - bug fix for Vt (Siou-Ying Jiang, CWB, Taiwan)
7 !-----------------------------------------------------------------------
11 real, intent(in) :: x, y, z
13 real, intent(in) :: qrn9
14 real, intent(in) :: rho
15 real, intent(in) :: ps
16 real, intent(inout) :: rv
17 real, intent(inout) :: u, v, w, qrn
23 qrn_g = qrn *1000. ! kg/kg -> g/kg
24 qrn9_g= qrn9*1000. ! kg/kg -> g/kg
27 if (trace_use) call da_trace_entry("da_radial_velocity_adj")
38 if (qrn9_g > qrrc) then
39 qrn_g = qrn_g + vt*0.675*alpha*qrn9_g**(-0.875)*rho**0.125
40 qrn = qrn_g * 0.001 ! g/kg -> kg/kg
43 if (trace_use) call da_trace_exit("da_radial_velocity_adj")
45 end subroutine da_radial_velocity_adj