# HG changeset patch # User Raimund Renkert # Date 1358936135 -3600 # Node ID ac9a3d9576b4cf608a38bf29b9a9664272fc37ba # Parent 9e25c75234858f7a267ba57b84c43982dfead94e# Parent 01e82da3f9194bda064fc23649f569c710f0f31b merged. diff -r 01e82da3f919 -r ac9a3d9576b4 flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/Measurement.java --- 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() { diff -r 01e82da3f919 -r ac9a3d9576b4 flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/MeasurementFactory.java --- 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 accumulated = new ArrayList(); for (Measurement m: measuments) { - Integer currentLR = (Integer)m.getData("GLOTRECHTEID"); boolean newDS = lastLR == null @@ -372,6 +371,9 @@ protected static Measurement processSameDate(List 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 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(measuments.get(0).getData()); data.put("GTRIEB", sumGTrieb/N); + return new Measurement(data, accumulatedSieves); } } diff -r 01e82da3f919 -r ac9a3d9576b4 flys-artifacts/src/main/java/de/intevation/flys/artifacts/model/sq/SieveArray.java --- 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) {