Merge remote-tracking branch 'origin/release-v4.5.2'
[WRF.git] / var / da / da_radar / da_print_stats_radar.inc
blob0ba3fa4d98e5826fec099c37aee5ea181a59fc11
1 subroutine da_print_stats_radar(stats_unit, nrv, nrf, nrrn, nrsn, nrgr, nrqv, radar)
3    !-----------------------------------------------------------------------
4    ! Purpose: TBD
5    !-----------------------------------------------------------------------
7    implicit none
9    integer,                 intent(in)    :: stats_unit
10    integer,                 intent(inout) :: nrv, nrf, nrrn, nrsn, nrgr,nrqv
11    type (stats_radar_type), intent(in)    :: radar
13    if (trace_use) call da_trace_entry("da_print_stats_radar")
14    
15    write(unit=stats_unit, fmt='(a/)') &
16       '   var             rv (m/s)        n    k         rf (dBZ)        n    k        rrn(kg/kg)       n    k        rsn(kg/kg)       n    k        rgr(kg/kg)       n    k        rqv(kg/kg)       n    k'
18    write(unit=stats_unit, fmt='(a,i16,5(i31))') &
19       '  Number: ', nrv, nrf, nrrn, nrsn, nrgr, nrqv
21    if (nrv < 1) nrv = 1
22    if (nrf < 1) nrf = 1
23    if (nrrn < 1) nrrn = 1
24    if (nrsn < 1) nrsn = 1
25    if (nrgr < 1) nrgr = 1
26    if (nrqv < 1) nrqv = 1
27    
28    write(unit=stats_unit, fmt='((a,f12.4,i9,i5, 5(f17.4,i9,i5)))')  &
29       ' Minimum(n,k): ', radar%minimum%rv, radar%minimum%rf, radar%minimum%rrn, radar%minimum%rsn,radar%minimum%rgr, radar%minimum%rqv
30    write(unit=stats_unit, fmt='((a,f12.4,i9,i5, 5(f17.4,i9,i5)))') &
31       ' Maximum(n,k): ', radar%maximum%rv, radar%maximum%rf, radar%maximum%rrn, radar%maximum%rsn,radar%maximum%rgr, radar%maximum%rqv
32    write(unit=stats_unit, fmt='((a,6(f12.4,19x)))')              &
33       ' Average     : ', radar%average%rv/real(nrv), radar%average%rf/real(nrf),radar%average%rrn/real(nrrn), radar%average%rsn/real(nrsn),radar%average%rgr/real(nrgr), radar%average%rqv/real(nrqv) 
34    write(unit=stats_unit, fmt='((a,6(f12.4,19x)))')              &
35       '    RMSE     : ', sqrt(radar%rms_err%rv/real(nrv)), sqrt(radar%rms_err%rf/real(nrf)), &
36                          sqrt(radar%rms_err%rrn/real(nrrn)),sqrt(radar%rms_err%rsn/real(nrsn)),sqrt(radar%rms_err%rgr/real(nrgr)),sqrt(radar%rms_err%rqv/real(nrqv))
38    if (trace_use) call da_trace_exit("da_print_stats_radar")
40 end subroutine da_print_stats_radar