Mercurial > dive4elements > river
annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java @ 3282:424a14255303
Back from past I
flys-artifacts/trunk@4942 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Felix Wolfsteller <felix.wolfsteller@intevation.de> |
---|---|
date | Wed, 11 Jul 2012 16:03:01 +0000 |
parents | 19ce06eb56c3 |
children |
rev | line source |
---|---|
2786
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
1 package de.intevation.flys.artifacts.model.fixings; |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
2 |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
3 import de.intevation.flys.artifacts.model.Parameters; |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
4 |
3014
e341606faeb4
FixA: Use KMIndex for outliers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3011
diff
changeset
|
5 import de.intevation.flys.utils.KMIndex; |
3011
ab81ffd1343e
FixA: Reactivated rewrite of the outlier checks.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2788
diff
changeset
|
6 |
2786
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
7 import java.io.Serializable; |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
8 |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
9 public class FixResult |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
10 implements Serializable |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
11 { |
3020
ce796f1db30e
FixA: Store AnalysisPeriods into FixResult now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3014
diff
changeset
|
12 protected Parameters parameters; |
3096
d7b0f52d6d04
FixA: Calculate Delta W(t) for reference points, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3022
diff
changeset
|
13 protected KMIndex<QWD []> referenced; |
3022
705d2058b682
FixA: Store the referenced QW for each km, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
14 protected KMIndex<QW []> outliers; |
3020
ce796f1db30e
FixA: Store AnalysisPeriods into FixResult now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3014
diff
changeset
|
15 protected KMIndex<AnalysisPeriod []> analysisPeriods; |
2786
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
16 |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
17 public FixResult() { |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
18 } |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
19 |
3011
ab81ffd1343e
FixA: Reactivated rewrite of the outlier checks.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2788
diff
changeset
|
20 public FixResult( |
3020
ce796f1db30e
FixA: Store AnalysisPeriods into FixResult now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3014
diff
changeset
|
21 Parameters parameters, |
3096
d7b0f52d6d04
FixA: Calculate Delta W(t) for reference points, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3022
diff
changeset
|
22 KMIndex<QWD []> referenced, |
3022
705d2058b682
FixA: Store the referenced QW for each km, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
23 KMIndex<QW []> outliers, |
705d2058b682
FixA: Store the referenced QW for each km, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
24 KMIndex<AnalysisPeriod []> analysisPeriods |
3011
ab81ffd1343e
FixA: Reactivated rewrite of the outlier checks.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2788
diff
changeset
|
25 ) { |
3020
ce796f1db30e
FixA: Store AnalysisPeriods into FixResult now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3014
diff
changeset
|
26 this.parameters = parameters; |
3022
705d2058b682
FixA: Store the referenced QW for each km, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
27 this.referenced = referenced; |
705d2058b682
FixA: Store the referenced QW for each km, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
28 this.outliers = outliers; |
3020
ce796f1db30e
FixA: Store AnalysisPeriods into FixResult now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3014
diff
changeset
|
29 this.analysisPeriods = analysisPeriods; |
2786
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
30 } |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
31 |
3204
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
32 public int getUsedSectorsInAnalysisPeriods() { |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
33 int result = 0; |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
34 for (KMIndex.Entry<AnalysisPeriod []> entry: analysisPeriods) { |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
35 for (AnalysisPeriod period: entry.getValue()) { |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
36 for (int i = 0; i < 4; ++i) { |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
37 result |= period.getQSectorAverage(i) != null |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
38 ? (1 << i) |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
39 : 0; |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
40 } |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
41 // XXX: Stop early on result == ~(~0 << 4)) ? |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
42 } |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
43 } |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
44 return result; |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
45 } |
19ce06eb56c3
FixA: Only emit analysis period / discharge sectors which really contain data.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3096
diff
changeset
|
46 |
2786
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
47 public Parameters getParameters() { |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
48 return parameters; |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
49 } |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
50 |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
51 public void setParameters(Parameters parameters) { |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
52 this.parameters = parameters; |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
53 } |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
54 |
3020
ce796f1db30e
FixA: Store AnalysisPeriods into FixResult now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3014
diff
changeset
|
55 public KMIndex<AnalysisPeriod []> getAnalysisPeriods() { |
ce796f1db30e
FixA: Store AnalysisPeriods into FixResult now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3014
diff
changeset
|
56 return analysisPeriods; |
2786
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
57 } |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
58 |
3020
ce796f1db30e
FixA: Store AnalysisPeriods into FixResult now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3014
diff
changeset
|
59 public void setAnalysisPeriods(KMIndex<AnalysisPeriod []> analysisPeriods) { |
ce796f1db30e
FixA: Store AnalysisPeriods into FixResult now.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3014
diff
changeset
|
60 this.analysisPeriods = analysisPeriods; |
2786
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
61 } |
3011
ab81ffd1343e
FixA: Reactivated rewrite of the outlier checks.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2788
diff
changeset
|
62 |
3096
d7b0f52d6d04
FixA: Calculate Delta W(t) for reference points, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3022
diff
changeset
|
63 public KMIndex<QWD []> getReferenced() { |
3022
705d2058b682
FixA: Store the referenced QW for each km, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
64 return referenced; |
705d2058b682
FixA: Store the referenced QW for each km, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
65 } |
705d2058b682
FixA: Store the referenced QW for each km, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
66 |
3096
d7b0f52d6d04
FixA: Calculate Delta W(t) for reference points, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3022
diff
changeset
|
67 public void setReferenced(KMIndex<QWD []> referenced) { |
3022
705d2058b682
FixA: Store the referenced QW for each km, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
68 this.referenced = referenced; |
705d2058b682
FixA: Store the referenced QW for each km, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
69 } |
705d2058b682
FixA: Store the referenced QW for each km, too.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3020
diff
changeset
|
70 |
3014
e341606faeb4
FixA: Use KMIndex for outliers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3011
diff
changeset
|
71 public KMIndex<QW []> getOutliers() { |
3011
ab81ffd1343e
FixA: Reactivated rewrite of the outlier checks.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2788
diff
changeset
|
72 return outliers; |
ab81ffd1343e
FixA: Reactivated rewrite of the outlier checks.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2788
diff
changeset
|
73 } |
ab81ffd1343e
FixA: Reactivated rewrite of the outlier checks.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2788
diff
changeset
|
74 |
3014
e341606faeb4
FixA: Use KMIndex for outliers.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
3011
diff
changeset
|
75 public void setOutliers(KMIndex<QW []> outliers) { |
3011
ab81ffd1343e
FixA: Reactivated rewrite of the outlier checks.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2788
diff
changeset
|
76 this.outliers = outliers; |
ab81ffd1343e
FixA: Reactivated rewrite of the outlier checks.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
2788
diff
changeset
|
77 } |
2786
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
78 } |
f9e62e76ee1f
FixA: Return correct data structure from calculation.
Sascha L. Teichmann <sascha.teichmann@intevation.de>
parents:
diff
changeset
|
79 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 : |