ingo@686: package de.intevation.flys.artifacts.model; ingo@686: ingo@686: import java.util.Arrays; ingo@686: ingo@686: import org.apache.log4j.Logger; ingo@686: ingo@686: public class Calculation2 ingo@686: extends Calculation ingo@686: { ingo@686: private static Logger logger = Logger.getLogger(Calculation2.class); ingo@686: ingo@686: protected double km; ingo@686: ingo@686: public Calculation2() { ingo@686: } ingo@686: ingo@686: public Calculation2(double km) { ingo@686: this.km = km; ingo@686: } ingo@686: ingo@686: public WQKms calculate(WstValueTable wst) { ingo@686: ingo@686: logger.debug("Calculation2.calculate"); ingo@686: ingo@686: double [][] wqs = wst.interpolateWQ(km, this); ingo@686: ingo@686: if (wqs == null || wqs[0].length == 0) { ingo@686: logger.debug("Cannot compute discharge curve data."); ingo@686: return null; ingo@686: } ingo@686: ingo@686: double [] ws = wqs[0]; ingo@686: double [] qs = wqs[1]; ingo@686: double [] kms = new double[ws.length]; ingo@686: ingo@686: Arrays.fill(kms, km); ingo@686: ingo@686: WQKms wqkms = new WQKms(kms, qs, ws, String.valueOf(km)); ingo@686: ingo@686: if (hasProblems()) { ingo@686: logger.debug("found + "+numProblems()+" problems."); ingo@686: wqkms.removeNaNs(); ingo@686: } ingo@686: ingo@686: return wqkms; ingo@686: } ingo@686: } ingo@686: // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :