diff artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadCalculation.java @ 6374:48e92ff57f23

SedimentLoad*: Set range to fraction/fractions values.
author Felix Wolfsteller <felix.wolfsteller@intevation.de>
date Thu, 20 Jun 2013 09:06:23 +0200
parents af13ceeba52a
children 2f39cf68a1dd
line wrap: on
line diff
--- a/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadCalculation.java	Wed Jun 19 16:53:27 2013 +0200
+++ b/artifacts/src/main/java/org/dive4elements/river/artifacts/model/minfo/SedimentLoadCalculation.java	Thu Jun 20 09:06:23 2013 +0200
@@ -155,42 +155,42 @@
                 SedimentLoadFraction f = load.getFraction(km);
                 if (f.getCoarse() > 0d) {
                     double c = resLoad.getFraction(km).getCoarse();
-                    resLoad.setCoarse(km, c + f.getCoarse());
+                    resLoad.setCoarse(km, c + f.getCoarse(), f.getCoarseRange());
                     cSum++;
                 }
                 if (f.getFine_middle() > 0d) {
                     double fm = resLoad.getFraction(km).getFine_middle();
-                    resLoad.setFineMiddle(km, fm + f.getFine_middle());
+                    resLoad.setFineMiddle(km, fm + f.getFine_middle(), f.getFineMiddleRange());
                     fmSum++;
                 }
                 if (f.getSand() > 0d) {
                     double s = resLoad.getFraction(km).getSand();
-                    resLoad.setSand(km, s + f.getSand());
+                    resLoad.setSand(km, s + f.getSand(), f.getSandRange());
                     sSum++;
                 }
                 if (f.getSusp_sand() > 0d) {
                     double s = resLoad.getFraction(km).getSusp_sand();
-                    resLoad.setSuspSand(km, s + f.getSusp_sand());
+                    resLoad.setSuspSand(km, s + f.getSusp_sand(), f.getSuspSandRange());
                     ssSum++;
                 }
                 if (f.getSusp_sand_bed() > 0d) {
                     double s = resLoad.getFraction(km).getSusp_sand_bed();
-                    resLoad.setSuspSandBed(km, s + f.getSusp_sand_bed());
+                    resLoad.setSuspSandBed(km, s + f.getSusp_sand_bed(), f.getSuspSandBedRange());
                     ssbSum++;
                 }
                 if (f.getSusp_sediment() > 0d) {
                     double s = resLoad.getFraction(km).getSusp_sediment();
-                    resLoad.setSuspSediment(km, s + f.getSusp_sediment());
+                    resLoad.setSuspSediment(km, s + f.getSusp_sediment(), f.getSuspSedimentRange());
                     sseSum++;
                 }
             }
             SedimentLoadFraction fr = resLoad.getFraction(km);
-            resLoad.setCoarse(km, fr.getCoarse()/cSum);
-            resLoad.setFineMiddle(km, fr.getFine_middle()/fmSum);
-            resLoad.setSand(km, fr.getSand()/sSum);
-            resLoad.setSuspSand(km, fr.getSusp_sand()/ssSum);
-            resLoad.setSuspSandBed(km, fr.getSusp_sand_bed()/ssbSum);
-            resLoad.setSuspSediment(km, fr.getSusp_sediment()/sseSum);
+            resLoad.setCoarse(km, fr.getCoarse()/cSum, fr.getCoarseRange());
+            resLoad.setFineMiddle(km, fr.getFine_middle()/fmSum, fr.getFineMiddleRange());
+            resLoad.setSand(km, fr.getSand()/sSum, fr.getSandRange());
+            resLoad.setSuspSand(km, fr.getSusp_sand()/ssSum, fr.getSuspSandRange());
+            resLoad.setSuspSandBed(km, fr.getSusp_sand_bed()/ssbSum, fr.getSuspSandBedRange());
+            resLoad.setSuspSediment(km, fr.getSusp_sediment()/sseSum, fr.getSuspSedimentRange());
         }
         resLoad.setDescription("");
         resLoad.setEpoch(true);
@@ -264,6 +264,7 @@
         return result;
     }
 
+    /** Add up the loads of a year. */
     private SedimentLoad calculateTotalLoad(SedimentLoad load, int year) {
         logger.debug("calculateTotalLoad");
         boolean problemThisYear = false;
@@ -319,7 +320,7 @@
                 fraction.getSand() +
                 fraction.getSusp_sand() +
                 fraction.getSusp_sediment();
-            load.setTotal(km, total);
+            load.setTotal(km, total, fraction.getTotalRange());
         }
         return load;
     }
@@ -337,13 +338,13 @@
             double bedSand = fraction.getSusp_sand_bed();
             double sediment = fraction.getSusp_sediment();
             double total = fraction.getTotal();
-            load.setCoarse(km, (coarse * dens));
-            load.setFineMiddle(km, (fineMiddle * dens));
-            load.setSand(km, (sand * dens));
-            load.setSuspSand(km, (suspSand * dens));
-            load.setSuspSandBed(km, (bedSand * dens));
-            load.setSuspSediment(km, (sediment * dens));
-            load.setTotal(km, (total * dens));
+            load.setCoarse(km, (coarse * dens), fraction.getCoarseRange());
+            load.setFineMiddle(km, (fineMiddle * dens), fraction.getFineMiddleRange());
+            load.setSand(km, (sand * dens), fraction.getSandRange());
+            load.setSuspSand(km, (suspSand * dens), fraction.getSuspSandRange());
+            load.setSuspSandBed(km, (bedSand * dens), fraction.getSuspSandBedRange());
+            load.setSuspSediment(km, (sediment * dens), fraction.getSuspSedimentRange());
+            load.setTotal(km, (total * dens), fraction.getTotalRange());
         }
         return load;
     }

http://dive4elements.wald.intevation.org