Merge remote-tracking branch 'origin/release-v4.5.2'
[WRF.git] / var / da / da_radar / da_radar_rf.inc
blobbae3d6129986efb2184ad596d7807352cc7704c9
1 subroutine da_radar_rf (ra,rs,rg,tc1,ro1,rze)
3    !-----------------------------------------------------------------------
4    ! Purpose: calculate background/model radar equivalent reflectivity factor
5    !-----------------------------------------------------------------------
7    implicit none
9    real, intent(in)    :: ra, rs, rg, tc1, ro1
10    real, intent(inout) :: rze
12    real                :: zrr, zds, zws, zgr
13    real                :: zerr, zews, zeds, zegr
15    if (trace_use) call da_trace_entry("da_radar_rf")
17    ! ro1 use wrfda value, do not need to scale by 0.001
19    zrr = 3.63*1.00e+9  ! rainwater
20    zws = 4.26*1.00e+11 ! wet snow
21    zds = 9.80*1.00e+8  ! dry snow
22    zgr = 4.33*1.00e+10 ! graupel
24    zerr = zrr*(ro1*max(0.0,ra))**1.75
25    zews = zws*(ro1*max(0.0,rs))**1.75
26    zeds = zds*(ro1*max(0.0,rs))**1.75
27    zegr = zgr*(ro1*max(0.0,rg))**1.75
29    if (tc1.lt.0.0) then
30       rze = zerr + zeds + zegr
31    else
32       rze = zerr + zews + zegr
33    end if
35    if (rze.lt.1.0e-20) rze=1.0e-20
37    if (trace_use) call da_trace_exit("da_radar_rf")
39 end subroutine da_radar_rf