da_check_max_iv_buoy.inc
References to this file elsewhere.
1 subroutine da_check_max_iv_buoy(it, buoy, &
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) :: buoy
12 integer, intent(inout) :: itu,ituf,itvv,itvvf,itp,itpf,itt
13 integer, intent(inout) :: ittf,itqv,itqvf
14
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
26 write (unit = check_max_iv_unit, fmt = '(/,9(A,F3.0,/))') &
27 'Error max test ratio for Buoy_U = ',max_error_uv, &
28 'Error max test ratio for Buoy_V = ',max_error_uv, &
29 'Error max test ratio for Buoy_P = ',max_error_p, &
30 'Error max test ratio for Buoy_T = ',max_error_t, &
31 'Error max test ratio for Buoy_QV = ',max_error_q
32 end if
33
34 !---------------------------------------------------------------------------
35 ! [2.0] Perform maximum innovation vector check:
36 !---------------------------------------------------------------------------
37
38 failed = .false.
39
40 ! U-wind
41 call da_max_error_qc(it, buoy % info, buoy % u, &
42 max_error_uv, itu, ituf, check_max_iv_unit, 'U ', &
43 failed, check_max_iv_print)
44
45 ! V-wind
46 call da_max_error_qc (it, buoy % info, buoy % v,&
47 max_error_uv, itvv, itvvf, check_max_iv_unit, 'V ', &
48 failed, check_max_iv_print)
49
50 ! Pressure
51 call da_max_error_qc (it, buoy % info, buoy % p,&
52 max_error_p, itp, itpf, check_max_iv_unit, 'Press', &
53 failed, check_max_iv_print)
54
55 ! Temperature
56 call da_max_error_qc (it, buoy % info, buoy % t,&
57 max_error_t, itt, ittf, check_max_iv_unit, 'TEMP ', &
58 failed, check_max_iv_print)
59
60 ! Mixing ratio, same ratio as relative humidity
61
62 call da_max_error_qc (it, buoy % info, buoy % q, &
63 max_error_q, itqv, itqvf, check_max_iv_unit, 'QV ', &
64 failed, check_max_iv_print)
65
66 end subroutine da_check_max_iv_buoy
67
68