Mercurial > dive4elements > river
view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation3.java @ 4837:9e25c7523485
Fixed calculation of effective width in MINFO SQ relation.
* Get all (including empty datasets) from db.
* Filter empty datasets when processing data of the same date.
* Added debug outputs.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 23 Jan 2013 11:14:41 +0100 |
parents | 2898b1ff6013 |
children |
line wrap: on
line source
package de.intevation.flys.artifacts.model; import org.apache.log4j.Logger; public class Calculation3 extends Calculation { private static Logger logger = Logger.getLogger(Calculation3.class); protected double km; protected int [] days; protected double [] qs; public Calculation3() { } public Calculation3(double km, int [] days, double [] qs) { this.km = km; this.days = days; this.qs = qs; } public CalculationResult calculate(WstValueTable wst) { double [] ws = wst.interpolateW(km, qs, new double[qs.length], this); if (days == null || days.length == 0) { addProblem(km, "cannot.find.ds"); } if (logger.isDebugEnabled()) { logger.debug("Calculate duration curve data:"); logger.debug(" km : " + km); logger.debug(" num Days : " + (days != null ? days.length : 0)); logger.debug(" num Qs : " + (qs != null ? qs.length : 0)); logger.debug(" result Ws: " + (ws != null ? ws.length : 0)); } WQDay wqday = new WQDay(days, ws, qs); if (hasProblems()) { logger.debug("calculation caused "+numProblems()+" problem(s)."); wqday.removeNaNs(); } return new CalculationResult(wqday, this); } } // vim:set ts=4 sw=4 si et sta sts=4 fenc=utf8 :