Mercurial > dive4elements > river
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 |