da_check_max_iv_qscat.inc
References to this file elsewhere.
1 subroutine da_check_max_iv_qscat(it, qscat, itu, itvv, ituf, itvvf)
2
3 !-----------------------------------------------------------------------
4 ! Purpose: TBD
5 !-----------------------------------------------------------------------
6
7 implicit none
8
9 integer, intent (in) :: it
10 integer, intent (inout) :: itu, itvv, ituf, itvvf
11 type (qscat_type), intent(inout) :: qscat
12
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 Qscat_U = ',max_error_uv, &
26 'Error max test ratio for Qscat_V = ',max_error_uv
27 end if
28
29 !---------------------------------------------------------------------------
30 ! [2.0] Perform maximum innovation vector check:
31 !---------------------------------------------------------------------------
32
33 failed = .false.
34
35 ! U-wind
36
37 call da_max_error_qc(it, qscat % info, qscat % u, &
38 max_error_uv, itu, ituf, check_max_iv_unit, 'U ', &
39 failed, check_max_iv_print)
40 ! V-wind
41
42 call da_max_error_qc (it, qscat % info, qscat % v,&
43 max_error_uv, itvv, itvvf, check_max_iv_unit, 'V ', &
44 failed, check_max_iv_print)
45
46 !---------------------------------------------------------------------------
47 ! [3.0] Output test failed results:
48 !---------------------------------------------------------------------------
49
50 if (rootproc .and. check_max_iv_print .and. failed) then
51 write (unit = check_max_iv_unit, fmt = '(/,10(2(A,I6),/))') &
52 'Number of failed qscat u-wind observations: ', &
53 ituf, ' on ',itu, &
54 'Number of failed qscat v-wind observations: ', &
55 itvvf, ' on ',itvv
56 end if
57
58 end subroutine da_check_max_iv_qscat
59
60