Mercurial > dive4elements > river
diff 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 |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation6.java Fri Feb 03 10:45:12 2012 +0000 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation6.java Fri Feb 03 11:45:22 2012 +0000 @@ -122,12 +122,15 @@ for (double value: values) { logger.debug("Prepare data for value: " + value); - String name = mode == MODE_W ? "W=" + value : "Q=" + value; - WQTimerange wqt = new WQTimerange(name); + String name = mode == MODE_W ? "W=" + value : "Q=" + value; + WQTimerange wqt = null; for (DischargeTable dt: dts) { TimeInterval ti = dt.getTimeInterval(); + Date start = ti.getStartTime(); + Date end = ti.getStopTime(); + Timerange t = new Timerange(ti.getStartTime(),ti.getStopTime()); double w; double q; @@ -135,6 +138,12 @@ if (mode == MODE_W) { w = value; q = findValueForW(dt, w); + + if (Double.isNaN(q)) { + logger.warn("Cannot find Q for W: " + w); + addProblem("cannot.find.hist.q.for.w", w, start, end); + continue; + } } else { q = value; @@ -145,10 +154,16 @@ logger.debug("Q=" + q + " | W=" + w); } + if (wqt == null) { + wqt = new WQTimerange(name); + } + wqt.add(w, q, t); } - wqts.add(wqt); + if (wqt != null) { + wqts.add(wqt); + } } return (WQTimerange[]) wqts.toArray(new WQTimerange[wqts.size()]);