view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation3.java @ 2792:fe987587ebc9

Merged revisions 4539-4540,4543,4545-4546 via svnmerge from file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk ........ r4539 | teichmann | 2012-05-27 20:02:13 +0200 (So, 27 Mai 2012) | 1 line FixA: Added forgotten csv/report facets/generators to conf. ........ r4540 | teichmann | 2012-05-27 20:11:31 +0200 (So, 27 Mai 2012) | 1 line FixA: Fixed class cast bug in report facet. ........ r4543 | teichmann | 2012-05-28 20:35:01 +0200 (Mo, 28 Mai 2012) | 1 line FixA: Added facet to return delta w/t as CSV ........ r4545 | teichmann | 2012-05-28 22:59:27 +0200 (Mo, 28 Mai 2012) | 1 line FixA: Made Delta W/t calculation finally work ........ r4546 | teichmann | 2012-05-28 23:34:24 +0200 (Mo, 28 Mai 2012) | 1 line FixA: corrected fitting (Q->W instead W->Q). ........ flys-artifacts/tags/2.7@4547 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 29 May 2012 04:58:29 +0000
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 :

http://dive4elements.wald.intevation.org