da_check_max_iv_metar.inc

References to this file elsewhere.
1 subroutine da_check_max_iv_metar(it, metar, &
2              itu,ituf,itvv,itvvf,itp,itpf,itt,ittf,itqv,itqvf)
3 
4    !-----------------------------------------------------------------------
5    ! Purpose: TBD
6    !-----------------------------------------------------------------------
7 
8    implicit none
9 
10    integer, intent(in)                    :: it    ! outer iteration
11    type (synop_type), intent(inout)       :: metar
12    integer, intent(inout) :: itu,ituf,itvv,itvvf,itp,itpf,itt,ittf,itqv,itqvf
13 
14    logical                                :: failed
15 
16    !---------------------------------------------------------------------------
17    ! [1.0] Open diagnostic file:
18    !---------------------------------------------------------------------------
19 
20    if (rootproc .and. check_max_iv_print) then
21       write (check_max_iv_unit,'(A)')  &
22          '----------------------------------------------------------------'
23       write (unit = check_max_iv_unit, fmt = '(A,/)') 'MAX ERROR TEST QC:'
24 
25       write (unit = check_max_iv_unit, fmt = '(/,9(A,F3.0,/))')  &
26          'Error max test ratio for Metar_U   = ',max_error_uv, &
27          'Error max test ratio for Metar_V   = ',max_error_uv, &
28          'Error max test ratio for Metar_P   = ',max_error_p,  &
29          'Error max test ratio for Metar_T   = ',max_error_t,  &
30          'Error max test ratio for Metar_QV  = ',max_error_q
31     end if
32 
33    !---------------------------------------------------------------------------
34    ! [2.0] Perform maximum innovation vector check:
35    !---------------------------------------------------------------------------
36 
37    failed = .false.
38 
39    ! U-wind
40 
41    call da_max_error_qc(it, metar % info, metar % u, &
42            max_error_uv, itu, ituf, check_max_iv_unit, 'U    ', &
43                          failed, check_max_iv_print)
44    ! V-wind
45 
46    call da_max_error_qc (it, metar % info, metar % v,&
47            max_error_uv, itvv, itvvf, check_max_iv_unit, 'V    ', &
48                           failed, check_max_iv_print)                           
49    ! Pressure
50 
51    call da_max_error_qc (it, metar % info, metar % p,&
52            max_error_p, itp, itpf, check_max_iv_unit, 'Press', &
53                           failed, check_max_iv_print)         
54 
55    ! Temperature
56 
57    call da_max_error_qc (it, metar % info, metar % t,&
58            max_error_t, itt, ittf, check_max_iv_unit, 'TEMP ', &
59                           failed, check_max_iv_print)
60 
61    ! Mixing ratio, same ratio as relative humidity
62 
63    call da_max_error_qc (it, metar % info, metar % q, &
64            max_error_q, itqv, itqvf, check_max_iv_unit, 'QV   ', &
65                           failed, check_max_iv_print)
66 
67 end subroutine da_check_max_iv_metar
68 
69