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