wrf svn trunk commit r4103
[wrffire.git] / wrfv2_fire / var / da / da_ssmi / da_check_max_iv_ssmi_rv.inc
blob53aa6aa5cda19dcb8d0a1ed2145e5597dd469fa5
1 subroutine da_check_max_iv_ssmi_rv(iv, it, num_qcstat_conv)              
3    !-----------------------------------------------------------------------
4    ! Purpose: TBD
5    ! Update:
6    !    Removed Outerloop check as it is done in da_get_innov
7    !    Author: Syed RH Rizvi,  MMM/NESL/NCAR,  Date: 07/12/2009
8    !-----------------------------------------------------------------------
10    implicit none
12    type(iv_type), intent(inout) :: iv
13    integer,       intent(in)    :: it ! Outer loop 
14    integer,       intent(inout) :: num_qcstat_conv(:,:,:,:)
16    logical :: failed
17    integer :: n
18    
19    if (trace_use) call da_trace_entry("da_check_max_iv_ssmi_rv")
21    !---------------------------------------------------------------------------
22    ! [1.0] Perform maximum innovation vector check:
23    !---------------------------------------------------------------------------
25    do n=iv%info(ssmi_rv)%n1,iv%info(ssmi_rv)%n2
27       failed=.false.
28       if ( iv%ssmi_rv(n)%tpw%qc >= obs_qc_pointer )  &   
29          call da_max_error_qc (it, iv%info(ssmi_rv), n, iv%ssmi_rv(n)%tpw, max_error_pw, failed)
30       if ( iv%info(ssmi_rv)%proc_domain(1,n) ) then
31          num_qcstat_conv(1,ssmi_rv,7,1) = num_qcstat_conv(1,ssmi_rv,7,1) + 1
32          if (failed) then
33             num_qcstat_conv(2,ssmi_rv,7,1) = num_qcstat_conv(2,ssmi_rv,7,1) + 1
34             write(qcstat_conv_unit,'(2x,a10,2x,a4,2f12.2,a12)')&
35                  'ssmi_rv',ob_vars(7),iv%info(ssmi_rv)%lat(1,n),iv%info(ssmi_rv)%lon(1,n),'1013.25'                  
36          end if
37       end if
39       failed=.false.
40       if ( iv%ssmi_rv(n)%speed%qc >= obs_qc_pointer ) &   
41          call da_max_error_qc (it, iv%info(ssmi_rv), n, iv%ssmi_rv(n)%speed, max_error_uv, failed)
42       if ( iv%info(ssmi_rv)%proc_domain(1,n) ) then
43          num_qcstat_conv(1,ssmi_rv,6,1) = num_qcstat_conv(1,ssmi_rv,6,1) + 1
44          if (failed)then
45             num_qcstat_conv(2,ssmi_rv,6,1) = num_qcstat_conv(2,ssmi_rv,6,1) + 1
46             write(qcstat_conv_unit,'(2x,a10,2x,a4,2f12.2,a12)')&
47                  'ssmi_rv',ob_vars(6),iv%info(ssmi_rv)%lat(1,n),iv%info(ssmi_rv)%lon(1,n),'1013.25'                  
48          end if
49       end if
51    end do
53    if (trace_use) call da_trace_exit("da_check_max_iv_ssmi_rv")
55 end subroutine da_check_max_iv_ssmi_rv