Daily_QC
calculate_zlevel.c
Go to the documentation of this file.
1
2
#include "
prototypes_new.h
"
3
4
5
void
calculate_zlevel
()
6
7
{
8
extern
struct
zdata
zdata
[10];
9
extern
maxdays
;
10
int
j,h,k;
11
extern
int
max_zstations
;
12
int
j1,j2,k1,k2;
13
14
for
(j=0;j<
maxdays
;j++) {
15
16
for
(k=0;k<4;k++) {
17
18
if
(
zdata
[j].
used
[k]==0) {
19
20
j1=-1;
21
22
if
((j==0 && k==3) ||
23
(j==
maxdays
-1 && k==0))
24
continue
;
25
26
if
((k==1 || k==2) &&
27
zdata
[j].
used
[k-1] != 0 &&
28
zdata
[j].
used
[k+1] != 0) {
29
30
j1=j;
31
j2=j;
32
k1=k-1;
33
k2=k+1;
34
35
36
}
37
38
if
((k==0) &&
39
zdata
[j].
used
[1] != 0 &&
40
zdata
[j+1].
used
[3] != 0) {
41
42
j1=j;
43
j2=j+1;
44
k1=1;
45
k2=3;
46
47
48
}
49
50
if
((k==3) &&
51
zdata
[j].
used
[2] != 0 &&
52
zdata
[j-1].
used
[0] != 0) {
53
54
j1=j;
55
j2=j-1;
56
k1=2;
57
k2=0;
58
59
}
60
61
if
(j1==-1)
62
continue
;
63
64
zdata
[j].
used
[k]=6;
65
66
for
(h=0;h<
max_zstations
;h++) {
67
68
if
(
zdata
[j1].
stn
[h].zlevel1[k1].data >= 0 &&
69
zdata
[j2].
stn
[h].zlevel1[k2].data >= 0) {
70
71
zdata
[j].
stn
[h].
zlevel1
[k].
data
=
72
(
zdata
[j1].
stn
[h].
zlevel1
[k1].
data
+
73
zdata
[j2].
stn
[h].
zlevel1
[k2].
data
)/2;
74
75
zdata
[j].
stn
[h].
zlevel1
[k].
qual
=5;
76
77
}
78
79
if
(
zdata
[j1].
stn
[h].zlevel2[k1].data >= 0 &&
80
zdata
[j2].
stn
[h].zlevel2[k2].data >= 0) {
81
82
zdata
[j].
stn
[h].
zlevel2
[k].
data
=
83
(
zdata
[j1].
stn
[h].
zlevel2
[k1].
data
+
84
zdata
[j2].
stn
[h].
zlevel2
[k2].
data
)/2;
85
86
zdata
[j].
stn
[h].
zlevel2
[k].
qual
=5;
87
88
}
89
90
}
91
92
93
}
94
95
96
}
97
98
}
99
100
101
}
calculate_zlevel
void calculate_zlevel()
Definition:
calculate_zlevel.c:5
maxdays
int maxdays
Definition:
daily_qc.c:85
max_zstations
int max_zstations
Definition:
daily_qc.c:45
prototypes_new.h
stn
Definition:
misc.h:200
zdata
Definition:
misc_new.h:435
zdata::stn
struct ztn stn[500]
Definition:
misc_new.h:442
zdata::used
int used[5]
Definition:
misc_new.h:439
zlevel::qual
short int qual
Definition:
misc_new.h:358
zlevel::data
float data
Definition:
misc_new.h:357
ztn::zlevel2
struct zlevel * zlevel2
Definition:
misc_new.h:394
ztn::zlevel1
struct zlevel * zlevel1
Definition:
misc_new.h:393
Generated by
1.9.1