Merge remote-tracking branch 'origin/release-v4.5.2'
[WRF.git] / var / da / da_tools / da_max_error_qc.inc
blobff6f9c621537d5f0c93894f6b165d7a57bda738c
1 subroutine da_max_error_qc (it, info, n, field, max_error,failed)
3    !-----------------------------------------------------------------------
4    ! Purpose: TBD
5    !-----------------------------------------------------------------------
7    implicit none
9    integer,          intent(in)     :: it
10    type(infa_type), intent(in)      :: info
11    integer,           intent(in)    :: n
12    type(field_type),  intent(inout) :: field
13    real,              intent(in)    :: max_error
14    logical,           intent(out)   :: failed
16    real                               :: err, err_max
17    integer                            :: qc_flag
19    if (trace_use_frequent) call da_trace_entry("da_max_error_qc")
21    failed = .false.
23    qc_flag = field % qc
24    err_max = field % error * max_error
25    err     = field % inv
26    err     = ABS (err)
28    if (err > err_max) then
29       field % qc = fails_error_max 
30       failed = .true.
31       field % inv = 0.0
32    end if
34    if (trace_use_frequent) call da_trace_exit("da_max_error_qc")
36 end subroutine da_max_error_qc