da_check_max_iv_pilot.inc
References to this file elsewhere.
1 subroutine da_check_max_iv_pilot(it, pilot, itu,ituf,itvv,itvvf)
2
3 !-----------------------------------------------------------------------
4 ! Purpose: TBD
5 !-----------------------------------------------------------------------
6
7 implicit none
8
9 integer, intent (in) :: it ! Outer iteration
10 type (pilot_type), intent(inout) :: pilot
11 integer, intent(inout) :: itu,ituf,itvv,itvvf
12 integer :: k
13 logical :: failed
14
15 !---------------------------------------------------------------------------
16 ! [1.0] Open diagnostic file:
17 !---------------------------------------------------------------------------
18
19 if (rootproc .and. check_max_iv_print) then
20 write (check_max_iv_unit,'(A)') &
21 '----------------------------------------------------------------'
22 write (unit = check_max_iv_unit, fmt = '(A,/)') 'MAX ERROR TEST QC:'
23 write (unit = check_max_iv_unit, fmt = '(/,9(A,F3.0,/))') &
24 'Error max test ratio for Pilot_U = ',max_error_uv, &
25 'Error max test ratio for Pilot_V = ',max_error_uv
26 end if
27
28 !---------------------------------------------------------------------------
29 ! [2.0] Perform maximum innovation vector check:
30 !---------------------------------------------------------------------------
31
32 failed = .false.
33
34 do k = 1, pilot % info % levels
35 ! U-wind
36 call da_max_error_qc(it, pilot % info, pilot % u(k), &
37 max_error_uv, itu, ituf, check_max_iv_unit, 'U ', &
38 failed, check_max_iv_print)
39
40 ! V-wind
41 call da_max_error_qc (it, pilot % info, pilot % v(k),&
42 max_error_uv, itvv, itvvf, check_max_iv_unit, 'V ', &
43 failed, check_max_iv_print)
44 end do
45
46 end subroutine da_check_max_iv_pilot
47
48