annotate flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/fixings/FixResult.java @ 3204:19ce06eb56c3

FixA: Only emit analysis period / discharge sectors which really contain data. flys-artifacts/trunk@4821 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Sascha L. Teichmann <sascha.teichmann@intevation.de>
date Thu, 28 Jun 2012 13:07:27 +0000
parents d7b0f52d6d04
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 :

http://dive4elements.wald.intevation.org