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