view flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/Calculation3.java @ 2791:c9815016a3bb

Merged revisions 4536 via svnmerge from file:///home/clients/bsh/bsh-generischer-viewer/Material/SVN/flys-artifacts/trunk ........ r4536 | ingo | 2012-05-27 15:35:15 +0200 (So, 27 Mai 2012) | 1 line Added more checks in CrossSectionFactory.isNewst() to prevent IndexOutOfBoundsExceptions. ........ flys-artifacts/tags/2.7@4538 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Sun, 27 May 2012 13:39:30 +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