da_check_max_iv_airep.inc

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