1 subroutine da_check_max_iv_profiler(iv, it, num_qcstat_conv)
3 !-----------------------------------------------------------------------
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 !-----------------------------------------------------------------------
12 type(iv_type), intent(inout) :: iv
13 integer, intent(in) :: it ! Outer iteration
14 integer, intent(inout) :: num_qcstat_conv(:,:,:,:)
19 if (trace_use_dull) call da_trace_entry("da_check_max_iv_profiler")
21 !---------------------------------------------------------------------------
22 ! [1.0] Perform maximum innovation vector check:
23 !---------------------------------------------------------------------------
25 do n = iv%info(profiler)%n1,iv%info(profiler)%n2
26 do k = 1, iv%info(profiler)%levels(n)
28 call da_get_print_lvl(iv%profiler(n)%p(k),ipr)
31 if( iv%profiler(n)%u(k)%qc >= obs_qc_pointer ) &
32 call da_max_error_qc(it, iv%info(profiler), n, iv%profiler(n)%u(k), max_error_uv, failed)
33 if( iv%info(profiler)%proc_domain(k,n) ) then
34 num_qcstat_conv(1,profiler,1,ipr) = num_qcstat_conv(1,profiler,1,ipr) + 1
36 num_qcstat_conv(2,profiler,1,ipr) = num_qcstat_conv(2,profiler,1,ipr) + 1
37 write(qcstat_conv_unit,'(2x,a10,2x,a4,3f12.2)')&
38 'profiler',ob_vars(1),iv%info(profiler)%lat(k,n),iv%info(profiler)%lon(k,n),0.01*iv%profiler(n)%p(k)
43 if( iv%profiler(n)%v(k)%qc >= obs_qc_pointer ) &
44 call da_max_error_qc(it, iv%info(profiler), n, iv%profiler(n)%v(k), max_error_uv, failed)
45 if( iv%info(profiler)%proc_domain(k,n) ) then
46 num_qcstat_conv(1,profiler,2,ipr) = num_qcstat_conv(1,profiler,2,ipr) + 1
48 num_qcstat_conv(2,profiler,2,ipr) = num_qcstat_conv(2,profiler,2,ipr) + 1
49 write(qcstat_conv_unit,'(2x,a10,2x,a4,3f12.2)')&
50 'profiler',ob_vars(2),iv%info(profiler)%lat(k,n),iv%info(profiler)%lon(k,n),0.01*iv%profiler(n)%p(k)
57 if (trace_use_dull) call da_trace_exit("da_check_max_iv_profiler")
59 end subroutine da_check_max_iv_profiler