Mercurial > dive4elements > river
changeset 4838:ac9a3d9576b4
merged.
author | Raimund Renkert <rrenkert@intevation.de> |
---|---|
date | Wed, 23 Jan 2013 11:15:35 +0100 |
parents | 9e25c7523485 (diff) 01e82da3f919 (current diff) |
children | 8cd2f20b1d8c |
files | flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java |
diffstat | 3 files changed, 26 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java Wed Jan 23 11:14:22 2013 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java Wed Jan 23 11:15:35 2013 +0100 @@ -1,5 +1,6 @@ package de.intevation.flys.artifacts.model.sq; +import java.util.Arrays; import java.util.List; import java.util.Map; @@ -181,6 +182,8 @@ sieveArray.adjust( eightValue/sieveArray.totalLoad(), newFourValue/sieveArray.totalLoad()); + log.debug("Adjusted loads: " + Arrays.toString(sieveArray.getLoads())); + log.debug("Adjusted norm loads:" + Arrays.toString(sieveArray.getNormLoads())); } protected SieveArray calculateSieveArray() {
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java Wed Jan 23 11:14:22 2013 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java Wed Jan 23 11:15:35 2013 +0100 @@ -101,7 +101,7 @@ "COALESCE(gs.RSIEB15, 0) + COALESCE(gs.RSIEB16, 0) +" + "COALESCE(gs.RSIEB17, 0) + COALESCE(gs.RSIEB18, 0) +" + "COALESCE(gs.RSIEB19, 0) + COALESCE(gs.RSIEB20, 0) +" + - "COALESCE(gs.RSIEB21, 0) + COALESCE(gs.REST, 0)) > 0 " + + "COALESCE(gs.RSIEB21, 0) + COALESCE(gs.REST, 0)) >= 0 " + "ORDER BY " + "m.DATUM, g.UFERABST, g.GLOTRECHTEID, gp.LFDNR"; @@ -308,7 +308,6 @@ List<Measurement> accumulated = new ArrayList<Measurement>(); for (Measurement m: measuments) { - Integer currentLR = (Integer)m.getData("GLOTRECHTEID"); boolean newDS = lastLR == null @@ -372,6 +371,9 @@ protected static Measurement processSameDate(List<Measurement> measurements) { int N = measurements.size(); + if (N > 0) { + log.debug("process same date for Q: " + measurements.get(0).Q()); + } if (N == 1) { Measurement current = measurements.get(0); double left = current.get("UFERABLINKS"); @@ -401,6 +403,7 @@ double distNext = next.get("UFERABST"); current.set("EFFWIDTH", 0.5*(distNext - distPrev)); } + log.debug("effective width: " + current.get("EFFWIDTH")); } } @@ -411,6 +414,9 @@ for (Measurement m: measurements) { SieveArray sa = m.getSieveArray(); + if (sa.totalLoad() < SieveArray.EPSILON) { + continue; + } double sandF = sa.sandNormFraction(); double coarseF = sa.coarseNormFraction(); double gravelF = sa.gravelNormFraction(); @@ -421,6 +427,11 @@ sumCoarseF += scale*coarseF; sumGravelF += scale*gravelF; sumNorm += scale; + log.debug("fractions - s: " + + sandF + " c: " + + coarseF + " g: " + + gravelF); + log.debug("scale: " + scale + " = " + effWidth + " * " + gt); } Map<String, Object> data = @@ -433,7 +444,7 @@ m.set("BL_S", sumNorm*sumSandF); m.set("BL_G", sumNorm*sumGravelF); m.set("BL_C", sumNorm*sumCoarseF); - + log.debug("BL_S: " + m.get("BL_S") + " BL_G: " + m.get("BL_G") + " BL_C: " + m.get("BL_C")); return m; } @@ -482,6 +493,7 @@ new HashMap<String, Object>(measuments.get(0).getData()); data.put("GTRIEB", sumGTrieb/N); + return new Measurement(data, accumulatedSieves); } }
--- a/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SieveArray.java Wed Jan 23 11:14:22 2013 +0100 +++ b/flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SieveArray.java Wed Jan 23 11:15:35 2013 +0100 @@ -1,7 +1,14 @@ package de.intevation.flys.artifacts.model.sq; +import java.util.Arrays; + +import org.apache.log4j.Logger; + public class SieveArray { + private static final Logger log = + Logger.getLogger(SieveArray.class); + public static final double EPSILON = 1e-8; public static final double [] SIEVE_DIAMETERS = { @@ -49,6 +56,7 @@ for (int i = 0; i < normLoads.length; ++i) { normLoads[i] = total*loads[i]; } + log.debug("calculated norm loads: " + Arrays.toString(normLoads)); } public void adjust(double eight, double four) {