view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation3.java @ 3649:33bfc01410fb

Merged revisions 5375,5379,5382 via svnmerge from file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk ........ r5375 | ingo | 2012-09-07 11:26:45 +0200 (Fr, 07 Sep 2012) | 1 line Tagged 'flys-artifacts' as 2.9 ........ r5379 | rrenkert | 2012-09-07 13:58:41 +0200 (Fr, 07 Sep 2012) | 4 lines Issue 791. Add start km to data to compare reference and target km in next state. ........ r5382 | rrenkert | 2012-09-07 14:03:48 +0200 (Fr, 07 Sep 2012) | 3 lines Set data for characteristic diameter for use in parameter matrix UI. ........ flys-artifacts/tags/2.9@5388 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Fri, 07 Sep 2012 13:12:08 +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