diff flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation6.java @ 2230:59af81364eb1

Improved the 'historical discharge' calculation: implemented findValueForW(). flys-artifacts/trunk@3872 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Wed, 01 Feb 2012 15:41:11 +0000
parents 4db19a88bddb
children 7335c526befd
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation6.java	Wed Feb 01 15:00:13 2012 +0000
+++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation6.java	Wed Feb 01 15:41:11 2012 +0000
@@ -26,6 +26,8 @@
     public static final int MODE_W = 0;
     public static final int MODE_Q = 1;
 
+    public static final double SCALE = 100d;
+
 
     public Calculation6(int mode, long[] timerange, double[] values) {
         this.mode      = mode;
@@ -115,6 +117,8 @@
     protected WQTimerange[] prepareCalculationData(List<DischargeTable> dts) {
         List<WQTimerange> wqts = new ArrayList<WQTimerange>(values.length);
 
+        boolean debug = logger.isDebugEnabled();
+
         for (double value: values) {
             logger.debug("Prepare data for value: " + value);
 
@@ -137,6 +141,10 @@
                     w = findValueForQ(dt, q);
                 }
 
+                if (debug) {
+                    logger.debug("Q=" + q + " | W=" + w);
+                }
+
                 wqt.add(w, q, t);
             }
 
@@ -148,13 +156,15 @@
 
 
     protected double findValueForW(DischargeTable dt, double w) {
-        logger.warn("TODO: IMPLEMENT ME!");
-        return 5;
+        double[][] vs = DischargeTables.loadDischargeTableValues(dt,SCALE,true);
+        return DischargeTables.getQForW(vs, w);
     }
 
 
     protected double findValueForQ(DischargeTable dt, double q) {
+        double[][] vs = DischargeTables.loadDischargeTableValues(dt,SCALE,true);
         logger.warn("TODO: IMPLEMENT ME!");
+
         return 10;
     }
 

http://dive4elements.wald.intevation.org