comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadResult.java @ 5838:5aa05a7a34b7

Rename modules to more fitting names.
author Sascha L. Teichmann <teichmann@intevation.de>
date Thu, 25 Apr 2013 15:23:37 +0200
parents flys-artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadResult.java@bd047b71ab37
children 4897a58c8746
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
1 package org.dive4elements.river.artifacts.model.minfo;
2
3 import gnu.trove.TDoubleArrayList;
4
5 import java.io.Serializable;
6 import java.util.Set;
7
8 import org.apache.log4j.Logger;
9
10
11 /** Result from a SedimentLoadCalculation. */
12 public class SedimentLoadResult
13 implements Serializable
14 {
15 private static final Logger logger = Logger
16 .getLogger(SedimentLoadResult.class);
17 protected int startYear;
18 protected int endYear;
19 protected SedimentLoad load;
20
21 public SedimentLoadResult() {
22 }
23
24 public SedimentLoadResult(
25 int startYear,
26 int endYear,
27 SedimentLoad load
28 ) {
29 this.startYear = startYear;
30 this.endYear = endYear;
31 this.load = load;
32 }
33
34 public int getStartYear() {
35 return this.startYear;
36 }
37
38 public void setStartYear(int year) {
39 this.startYear = year;
40 }
41
42 public int getEndYear() {
43 return this.endYear;
44 }
45
46 public void setEndYear(int year) {
47 this.endYear = year;
48 }
49
50 public double[][] getTotalData () {
51 Set<Double> kms = this.load.getKms();
52 TDoubleArrayList k = new TDoubleArrayList();
53 TDoubleArrayList total = new TDoubleArrayList();
54 for (double km : kms) {
55 if (load.getFraction(km).getTotal() > 0d) {
56 k.add(km);
57 total.add(load.getFraction(km).getTotal());
58 }
59 }
60 return new double [][] {
61 k.toNativeArray(),
62 total.toNativeArray()
63 };
64 }
65
66 /** Search all SedimenLoads fractions for sand and returns
67 * an array [[km1, km2][sand1, sand2]]. */
68 public double[][] getSandData() {
69 Set<Double> kms = this.load.getKms();
70 TDoubleArrayList k = new TDoubleArrayList();
71 TDoubleArrayList sand = new TDoubleArrayList();
72 for(double km : kms) {
73 if (load.getFraction(km).getSand() > 0d) {
74 k.add(km);
75 sand.add(load.getFraction(km).getSand());
76 }
77 }
78 return new double [][] {
79 k.toNativeArray(),
80 sand.toNativeArray()
81 };
82 }
83
84 public double[][] getFineMiddleData() {
85 Set<Double> kms = this.load.getKms();
86 TDoubleArrayList k = new TDoubleArrayList();
87 TDoubleArrayList fm = new TDoubleArrayList();
88 for (double km : kms) {
89 if (load.getFraction(km).getFine_middle() > 0d) {
90 k.add(km);
91 fm.add(load.getFraction(km).getFine_middle());
92 }
93 }
94 return new double [][] {
95 k.toNativeArray(),
96 fm.toNativeArray()
97 };
98 }
99
100 public double[][] getCoarseData() {
101 Set<Double> kms = this.load.getKms();
102 TDoubleArrayList k = new TDoubleArrayList();
103 TDoubleArrayList coarse = new TDoubleArrayList();
104 for (double km : kms) {
105 if (load.getFraction(km).getCoarse() > 0d) {
106 k.add(km);
107 coarse.add(load.getFraction(km).getCoarse());
108 }
109 }
110 return new double [][] {
111 k.toNativeArray(),
112 coarse.toNativeArray()
113 };
114 }
115
116 public double[][] getSuspSandData() {
117 Set<Double> kms = this.load.getKms();
118 TDoubleArrayList k = new TDoubleArrayList();
119 TDoubleArrayList ss = new TDoubleArrayList();
120 for (double km : kms) {
121 if (load.getFraction(km).getSusp_sand() > 0d) {
122 k.add(km);
123 ss.add(load.getFraction(km).getSusp_sand());
124 }
125 }
126 return new double [][] {
127 k.toNativeArray(),
128 ss.toNativeArray()
129 };
130 }
131
132 public double[][] getSuspSandBedData() {
133 Set<Double> kms = this.load.getKms();
134 TDoubleArrayList k = new TDoubleArrayList();
135 TDoubleArrayList ss = new TDoubleArrayList();
136 for (double km : kms) {
137 if (load.getFraction(km).getSusp_sand_bed() > 0d) {
138 k.add(km);
139 ss.add(load.getFraction(km).getSusp_sand_bed());
140 }
141 }
142 return new double [][] {
143 k.toNativeArray(),
144 ss.toNativeArray()
145 };
146 }
147
148 public double[][] getSuspSedimentData() {
149 Set<Double> kms = this.load.getKms();
150 TDoubleArrayList k = new TDoubleArrayList();
151 TDoubleArrayList ss = new TDoubleArrayList();
152 for (double km : kms) {
153 if (load.getFraction(km).getSusp_sediment() > 0d) {
154 k.add(km);
155 ss.add(load.getFraction(km).getSusp_sediment());
156 }
157 }
158 return new double [][] {
159 k.toNativeArray(),
160 ss.toNativeArray()
161 };
162 }
163
164 public double[][] getTotalLoadData() {
165 Set<Double> kms = this.load.getKms();
166 TDoubleArrayList k = new TDoubleArrayList();
167 TDoubleArrayList ss = new TDoubleArrayList();
168 for (double km : kms) {
169 if (load.getFraction(km).getLoadTotal() > 0d) {
170 k.add(km);
171 ss.add(load.getFraction(km).getLoadTotal());
172 }
173 }
174 return new double [][] {
175 k.toNativeArray(),
176 ss.toNativeArray()
177 };
178 }
179
180 public boolean hasCoarseData() {
181 return getCoarseData()[0].length > 0;
182 }
183
184 public boolean hasFineMiddleData() {
185 return getFineMiddleData()[0].length > 0;
186 }
187
188 public boolean hasSandData() {
189 return getSandData()[0].length > 0;
190 }
191
192 public boolean hasSuspSandData() {
193 return getSuspSandData()[0].length > 0;
194 }
195
196 public boolean hasSuspSandBedData() {
197 return getSuspSandBedData()[0].length > 0;
198 }
199
200 public boolean hasSuspSedimentData() {
201 return getSuspSedimentData()[0].length > 0;
202 }
203
204 public boolean hasTotalLoadData() {
205 return getTotalLoadData()[0].length > 0;
206 }
207
208 public boolean hasTotalData() {
209 return getTotalData()[0].length > 0;
210 }
211 }
212 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :
213

http://dive4elements.wald.intevation.org