da_stats_calculate.inc

References to this file elsewhere.
1 subroutine da_stats_calculate(n, k, qc_flag, x, nn, &
2                             minimum, maximum, &
3                             average, rms_err)
4 
5    !-----------------------------------------------------------------------
6    ! Purpose: TBD
7    !-----------------------------------------------------------------------
8 
9    implicit none
10 
11    integer, intent(in)    :: n             ! Number of obs.
12    integer, intent(in)    :: k             ! Level.
13    integer, intent(in)    :: qc_flag       ! QC flag.
14    real, intent(in)       :: x             ! Value.
15    integer, intent(inout) :: nn            ! Number of ok obs.
16    type (maxmin_type), intent(inout) :: minimum, maximum
17    real, intent(inout)    :: average, rms_err
18 
19    if (qc_flag >= obs_qc_pointer) then
20       nn = nn + 1
21 
22       if (x < minimum%value) then
23          minimum%value = x
24          minimum%n     = n
25          minimum%l     = k
26       end if
27 
28       if (x > maximum%value) then
29          maximum%value = x
30          maximum%n     = n
31          maximum%l     = k
32       end if
33 
34       average = average + x
35       rms_err = rms_err + x * x
36    end if
37 
38 end subroutine da_stats_calculate
39 
40