da_check_max_iv_ships.inc
References to this file elsewhere.
1 subroutine da_check_max_iv_ships(it, ships, &
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) :: ships
12 integer, intent(inout) :: itu,ituf,itvv,itvvf,itp,itpf,itt,ittf,itqv,itqvf
13 logical :: failed
14
15 !----------------------------------------------------------------------------
16 ! [1.0] Open diagnostic file:
17 !---------------------------------------------------------------------------
18
19 if (rootproc .and. check_max_iv_print) then
20 write (check_max_iv_unit,'(A)') &
21 '----------------------------------------------------------------'
22 write (unit = check_max_iv_unit, fmt = '(A,/)') 'MAX ERROR TEST QC:'
23
24 write (unit = check_max_iv_unit, fmt = '(/,9(A,F3.0,/))') &
25 'Error max test ratio for Ships_U = ',max_error_uv, &
26 'Error max test ratio for Ships_V = ',max_error_uv, &
27 'Error max test ratio for Ships_P = ',max_error_p, &
28 'Error max test ratio for Ships_T = ',max_error_t, &
29 'Error max test ratio for Ships_QV = ',max_error_q
30 end if
31
32 !---------------------------------------------------------------------------
33 ! [2.0] Perform maximum innovation vector check:
34 !---------------------------------------------------------------------------
35
36 failed = .false.
37
38 ! U-wind
39 call da_max_error_qc(it, ships % info, ships % u, &
40 max_error_uv, itu, ituf, check_max_iv_unit, 'U ', &
41 failed, check_max_iv_print)
42 ! V-wind
43 call da_max_error_qc (it, ships % info, ships % v,&
44 max_error_uv, itvv, itvvf, check_max_iv_unit, 'V ', &
45 failed, check_max_iv_print)
46 ! Pressure
47 call da_max_error_qc (it, ships % info, ships % p,&
48 max_error_p, itp, itpf, check_max_iv_unit, 'Press', &
49 failed, check_max_iv_print)
50
51 ! Temperature
52 call da_max_error_qc (it, ships % info, ships % t,&
53 max_error_t, itt, ittf, check_max_iv_unit, 'TEMP ', &
54 failed, check_max_iv_print)
55
56 ! Mixing ratio, same ratio as relative humidity
57 call da_max_error_qc (it, ships % info, ships % q, &
58 max_error_q, itqv, itqvf, check_max_iv_unit, 'QV ', &
59 failed, check_max_iv_print)
60
61 end subroutine da_check_max_iv_ships
62
63