comparison artifacts/src/main/java/org/dive4elements/river/artifacts/model/Calculation1.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/Calculation1.java@bd047b71ab37
children 4897a58c8746
comparison
equal deleted inserted replaced
5837:d9901a08d0a6 5838:5aa05a7a34b7
1 package org.dive4elements.river.artifacts.model;
2
3 import java.util.ArrayList;
4
5 import org.apache.log4j.Logger;
6
7 public class Calculation1
8 extends Calculation
9 {
10 private static Logger logger = Logger.getLogger(Calculation1.class);
11
12 protected double [] kms;
13 protected double [] qs;
14 protected double [] ws;
15 protected double refKm;
16
17 public Calculation1() {
18 }
19
20 public Calculation1(
21 double [] kms,
22 double [] qs,
23 double [] ws,
24 double refKm
25 ) {
26 this.kms = kms;
27 this.qs = qs;
28 this.ws = ws;
29 this.refKm = refKm;
30 }
31
32 public CalculationResult calculate(WstValueTable wst) {
33
34 ArrayList<WQKms> results = new ArrayList<WQKms>();
35
36 String prefix;
37 double [] origData;
38
39 if (ws != null) { prefix = "W="; origData = ws; }
40 else { prefix = "Q="; origData = qs; }
41
42 int oldNumProblems = numProblems();
43
44 for (int i = 0; i < qs.length; i++) {
45
46 double [] oqs = new double[kms.length];
47 double [] ows = new double[kms.length];
48
49 boolean success =
50 wst.interpolate(qs[i], refKm, kms, ows, oqs, this) != null;
51
52 int newNumProblems = numProblems();
53
54 if (success) {
55 WQKms result = new WQKms(kms, oqs, ows, prefix + origData[i]);
56 if (oldNumProblems != newNumProblems) {
57 logger.debug(
58 qs[i] + " caused " + (newNumProblems-oldNumProblems) +
59 " new problem(s).");
60 result.removeNaNs();
61 }
62 results.add(result);
63 }
64
65 oldNumProblems = newNumProblems;
66 }
67
68 return new CalculationResult(
69 results.toArray(new WQKms[results.size()]),
70 this);
71 }
72 }
73 // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :

http://dive4elements.wald.intevation.org