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