da_check_max_iv_polaramv.inc
References to this file elsewhere.
1 subroutine da_check_max_iv_polaramv(it, polaramv, &
2 itu,ituf,itvv,itvvf)
3
4 !-----------------------------------------------------------------------
5 ! Purpose: TBD
6 !-----------------------------------------------------------------------
7
8 implicit none
9
10 integer, intent (in) :: it ! Outer iteration
11 type (polaramv_type), intent(inout) :: polaramv
12 integer, intent(inout) :: itu,ituf,itvv,itvvf
13
14 integer :: k
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 write (unit = check_max_iv_unit, fmt = '(/,9(A,F3.0,/))') &
26 'Error max test ratio for Polar AMV_U = ',max_error_uv, &
27 'Error max test ratio for Polar AMV_V = ',max_error_uv
28 end if
29
30 !---------------------------------------------------------------------------
31 ! [2.0] Perform maximum innovation vector check:
32 !---------------------------------------------------------------------------
33
34 failed = .false.
35
36 do k = 1, polaramv % info % levels
37 ! U-wind
38
39 call da_max_error_qc(it, polaramv % info, polaramv % u(k), &
40 max_error_uv, itu, ituf, check_max_iv_unit, 'U ', &
41 failed, check_max_iv_print)
42 ! V-wind
43
44 call da_max_error_qc (it, polaramv % info, polaramv % v(k),&
45 max_error_uv, itvv, itvvf, check_max_iv_unit, 'V ', &
46 failed, check_max_iv_print)
47 end do
48
49 end subroutine da_check_max_iv_polaramv
50
51