1 subroutine da_check_max_iv_radar(iv, it, irv, irf, irvf, irff)
3 !-----------------------------------------------------------------------
6 ! Removed Outerloop check as it is done in da_get_innov
7 ! Author: Syed RH Rizvi, MMM/NESL/NCAR, Date: 07/12/2009
8 !-----------------------------------------------------------------------
12 type(iv_type), intent(inout) :: iv
13 integer, intent(in) :: it
14 integer, intent(inout) :: irv, irf, irvf, irff
19 if (trace_use) call da_trace_entry("da_check_max_iv_radar")
21 !---------------------------------------------------------------------------
22 ! [1.0] Open diagnostic file:
23 !---------------------------------------------------------------------------
25 if (rootproc .and. check_max_iv_print) then
26 write (check_max_iv_unit,'(a)') &
27 '----------------------------------------------------------------'
28 write (unit = check_max_iv_unit, fmt = '(A,/)') 'MAX ERROR TEST QC:'
30 write (unit = check_max_iv_unit, fmt = '(/,9(A,F3.0,/))') &
31 'Error max test ratio for radar_rv = ',max_error_rv, &
32 'Error max test ratio for radar_rf = ',max_error_rf
35 !------------------------------------------------------------------------
36 ! [2.0] Perform maximum innovation vector check:
37 !------------------------------------------------------------------------
41 do n = iv%info(radar)%n1,iv%info(radar)%n2
42 do k = 1, iv%info(radar)%levels(n)
43 if (iv%radar(n)%height_qc(k) /= far_below_model_surface .and. &
44 iv%radar(n)%height_qc(k) /= above_model_lid) then
46 if (use_radar_rv) then
47 call da_max_error_qc_radar(it, iv%info(radar), n, iv%radar(n)%rv(k), max_error_rv, irv, irvf, &
48 check_max_iv_unit, 'rv ', failed, check_max_iv_print)
52 if (use_radar_rf) then
53 call da_max_error_qc_radar(it, iv%info(radar), n, iv%radar(n)%rf(k), max_error_rf, irf, irff, &
54 check_max_iv_unit, 'rf ', failed, check_max_iv_print)
60 if (trace_use) call da_trace_exit("da_check_max_iv_radar")
62 end subroutine da_check_max_iv_radar