da_check_max_iv_radar.inc

References to this file elsewhere.
1 subroutine da_check_max_iv_radar(it, Radar, irv, irf, irvf, irff)
2 
3    !-----------------------------------------------------------------------
4    ! Purpose: TBD
5    !-----------------------------------------------------------------------
6 
7    implicit none
8 
9    integer,           intent(in)          :: it    
10    integer,           intent(inout)       :: irv, irf, irvf, irff    
11    type (radar_type), intent(inout)       :: Radar
12 
13    integer                                :: k
14 
15    logical                                :: failed 
16 
17    !---------------------------------------------------------------------------
18    ! [1.0] Open diagnostic file:
19    !---------------------------------------------------------------------------
20 
21    if (rootproc .and. check_max_iv_print) then
22       write (check_max_iv_unit,'(a)')  &
23          '----------------------------------------------------------------'
24       write (unit = check_max_iv_unit, fmt = '(A,/)') 'MAX ERROR TEST QC:'
25 
26       write (unit = check_max_iv_unit, fmt = '(/,9(A,F3.0,/))')  &
27            'Error max test ratio for Radar_rv   = ',max_error_rv, &
28            'Error max test ratio for Radar_rf   = ',max_error_rf
29    endif
30 
31    !------------------------------------------------------------------------
32    ! [2.0] Perform maximum innovation vector check:
33    !------------------------------------------------------------------------
34 
35    failed = .false.
36 
37    do k = 1, Radar % info % levels
38 
39       if (Radar % height_qc(k) /= far_below_model_surface .and. &
40            Radar % height_qc(k) /= above_model_lid) then
41 
42          ! rv
43          if (use_Radar_rv) then
44             call da_max_error_qc_Radar(it, Radar % info, Radar % rv(k), &
45                                     max_error_rv, irv, irvf, check_max_iv_unit, 'rv   ', &
46                                     failed, check_max_iv_print)
47          endif
48 
49          ! rf
50          if (use_Radar_rf) then
51             call da_max_error_qc_Radar(it, Radar % info, Radar % rf(k),&
52                                     max_error_rf, irf, irff, check_max_iv_unit, 'rf   ', &
53                                     failed, check_max_iv_print)
54          endif
55       end if
56    end do
57 
58 end subroutine da_check_max_iv_radar
59 
60 
61