diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataCalculation.java @ 8185:76e1e9d81ce2

Removed obsolete average and renamed some symbols to make the difference between single fractions and sums of them clearer in the calculation.
author Tom Gottfried <tom@intevation.de>
date Thu, 04 Sep 2014 12:03:02 +0200
parents 7b0b3b1a2ee8
children 8d447516b7dd
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataCalculation.java	Thu Sep 04 12:00:17 2014 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadDataCalculation.java	Thu Sep 04 12:03:02 2014 +0200
@@ -79,20 +79,16 @@
         SedimentLoadData.GF_SUSP_SEDIMENT
     };
 
-    public static final int [] AVERAGE = {
-        SedimentLoadData.GF_AVERAGE
-    };
-
-    public static final class GrainFraction {
+    public static final class LoadSum {
         private String description;
         private int [] grainFractions;
 
-        public GrainFraction(String description, int [] grainFractions) {
+        public LoadSum(String description, int [] grainFractions) {
             this.description = description;
             this.grainFractions = grainFractions;
         }
-        public static final GrainFraction make(String description, int [] grainFractions) {
-            return new GrainFraction(description, grainFractions);
+        public static final LoadSum make(String description, int [] grainFractions) {
+            return new LoadSum(description, grainFractions);
         }
 
         public String getDescription() {
@@ -102,20 +98,19 @@
         public int [] getGrainFractions() {
             return grainFractions;
         }
-    } // class GrainFraction
+    } // class LoadSum
 
-    public static final GrainFraction [] GRAIN_FRACTIONS = {
-        // Grain fraction names are alignt to the grain_fractions table
-        GrainFraction.make("total",              TOTAL_LOAD),
-        GrainFraction.make("bed_load",           BED_LOAD),
-        GrainFraction.make("bed_load_susp_sand", BED_LOAD_SUSP_SAND),
-        GrainFraction.make("coarse",             COARSE),
-        GrainFraction.make("fine_middle",        FINE_MIDDLE),
-        GrainFraction.make("sand",               SAND) ,
-        GrainFraction.make("susp_sand",          SUSP_SAND),
-        GrainFraction.make("susp_sand_bed",      SUSP_SAND_BED),
-        GrainFraction.make("suspended_sediment", SUSP_SEDIMENT),
-        GrainFraction.make("average",            AVERAGE),
+    public static final LoadSum [] LOAD_SUMS = {
+        // Names are alignt to the grain_fractions table
+        LoadSum.make("total",              TOTAL_LOAD),
+        LoadSum.make("bed_load",           BED_LOAD),
+        LoadSum.make("bed_load_susp_sand", BED_LOAD_SUSP_SAND),
+        LoadSum.make("coarse",             COARSE),
+        LoadSum.make("fine_middle",        FINE_MIDDLE),
+        LoadSum.make("sand",               SAND) ,
+        LoadSum.make("susp_sand",          SUSP_SAND),
+        LoadSum.make("susp_sand_bed",      SUSP_SAND_BED),
+        LoadSum.make("suspended_sediment", SUSP_SEDIMENT),
     };
 
     public static class Sum implements Value.Visitor {
@@ -245,22 +240,23 @@
                 .add(new TimeRangeIntersects(year));
             String period = Integer.toString(year);
 
-            for (GrainFraction gf: GRAIN_FRACTIONS) {
+            for (LoadSum ls: LOAD_SUMS) {
+
                 double [][] result = sum(
-                    sld, gf.getGrainFractions(), filter, sum, isKmUp,
+                    sld, ls.getGrainFractions(), filter, sum, isKmUp,
                     missingFractions);
 
                 if (result[0].length == 0 || DoubleUtil.isNaN(result[1])) {
                     // TODO: resolve i18n
                     addProblem("minfo.sediment.load.no.fractions",
-                        gf.getDescription());
+                        ls.getDescription());
                     continue;
                 }
 
                 transformT2M3(sd, year, result);
 
                 SedimentLoadDataResult.Fraction sldrf =
-                    new SedimentLoadDataResult.Fraction(gf.getDescription(), result, period);
+                    new SedimentLoadDataResult.Fraction(ls.getDescription(), result, period);
 
                 sldr.addFraction(sldrf);
             }
@@ -298,7 +294,7 @@
             String period = Integer.toString(epoch[0]) + " - " +
                 Integer.toString(epoch[1]);
 
-            for (GrainFraction gf: GRAIN_FRACTIONS) {
+            for (LoadSum ls: LOAD_SUMS) {
 
                 List<double [][]> results = new ArrayList<double [][]>();
 
@@ -307,13 +303,13 @@
                         .add(new TimeRangeIntersects(year));
 
                     double [][] result = sum(
-                        sld, gf.getGrainFractions(), filter, sum, isKmUp,
+                        sld, ls.getGrainFractions(), filter, sum, isKmUp,
                         missingFractions);
 
                     if (result[0].length == 0 || DoubleUtil.isNaN(result[1])) {
                         // TODO: resolve i18n
                         addProblem("minfo.sediment.load.no.fractions",
-                            gf.getDescription());
+                            ls.getDescription());
                         continue;
                     }
 
@@ -324,7 +320,7 @@
                 double [][] result = average(results);
 
                 SedimentLoadDataResult.Fraction sldrf =
-                    new SedimentLoadDataResult.Fraction(gf.getDescription(),
+                    new SedimentLoadDataResult.Fraction(ls.getDescription(),
                                                         result, period);
                 sldr.addFraction(sldrf);
             }
@@ -360,20 +356,20 @@
 
             Sum sum = new Sum();
 
-            for (GrainFraction gf: GRAIN_FRACTIONS) {
+            for (LoadSum ls: LOAD_SUMS) {
                 double [][] result = sum(
-                    sld, gf.getGrainFractions(), filter, sum, isKmUp,
+                    sld, ls.getGrainFractions(), filter, sum, isKmUp,
                     missingFractions);
 
                 if (result[0].length == 0 || DoubleUtil.isNaN(result[1])) {
                     // TODO: resolve i18n
                     addProblem("minfo.sediment.load.no.fractions",
-                        gf.getDescription());
+                        ls.getDescription());
                     continue;
                 }
                 transformT2M3(sd, year, result);
                 SedimentLoadDataResult.Fraction sldrf =
-                    new SedimentLoadDataResult.Fraction(gf.getDescription(), result, period);
+                    new SedimentLoadDataResult.Fraction(ls.getDescription(), result, period);
                 sldr.addFraction(sldrf);
             }
         }

http://dive4elements.wald.intevation.org