comparison flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation6.java @ 2244:7335c526befd

Added an error report for historical discharge curves. flys-artifacts/trunk@3893 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 03 Feb 2012 11:45:22 +0000
parents 59af81364eb1
children 40608c82e9cb
comparison
equal deleted inserted replaced
2243:d70a04cad84d 2244:7335c526befd
120 boolean debug = logger.isDebugEnabled(); 120 boolean debug = logger.isDebugEnabled();
121 121
122 for (double value: values) { 122 for (double value: values) {
123 logger.debug("Prepare data for value: " + value); 123 logger.debug("Prepare data for value: " + value);
124 124
125 String name = mode == MODE_W ? "W=" + value : "Q=" + value; 125 String name = mode == MODE_W ? "W=" + value : "Q=" + value;
126 WQTimerange wqt = new WQTimerange(name); 126 WQTimerange wqt = null;
127 127
128 for (DischargeTable dt: dts) { 128 for (DischargeTable dt: dts) {
129 TimeInterval ti = dt.getTimeInterval(); 129 TimeInterval ti = dt.getTimeInterval();
130
131 Date start = ti.getStartTime();
132 Date end = ti.getStopTime();
130 133
131 Timerange t = new Timerange(ti.getStartTime(),ti.getStopTime()); 134 Timerange t = new Timerange(ti.getStartTime(),ti.getStopTime());
132 double w; 135 double w;
133 double q; 136 double q;
134 137
135 if (mode == MODE_W) { 138 if (mode == MODE_W) {
136 w = value; 139 w = value;
137 q = findValueForW(dt, w); 140 q = findValueForW(dt, w);
141
142 if (Double.isNaN(q)) {
143 logger.warn("Cannot find Q for W: " + w);
144 addProblem("cannot.find.hist.q.for.w", w, start, end);
145 continue;
146 }
138 } 147 }
139 else { 148 else {
140 q = value; 149 q = value;
141 w = findValueForQ(dt, q); 150 w = findValueForQ(dt, q);
142 } 151 }
143 152
144 if (debug) { 153 if (debug) {
145 logger.debug("Q=" + q + " | W=" + w); 154 logger.debug("Q=" + q + " | W=" + w);
146 } 155 }
147 156
157 if (wqt == null) {
158 wqt = new WQTimerange(name);
159 }
160
148 wqt.add(w, q, t); 161 wqt.add(w, q, t);
149 } 162 }
150 163
151 wqts.add(wqt); 164 if (wqt != null) {
165 wqts.add(wqt);
166 }
152 } 167 }
153 168
154 return (WQTimerange[]) wqts.toArray(new WQTimerange[wqts.size()]); 169 return (WQTimerange[]) wqts.toArray(new WQTimerange[wqts.size()]);
155 } 170 }
156 171

http://dive4elements.wald.intevation.org