Mercurial > dive4elements > river
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; }