Mercurial > dive4elements > river
comparison artifacts/src/main/java/org/dive4elements/river/artifacts/sinfo/tkhcalculation/TkhCalculator.java @ 9532:8e6b9cb9486a
Fixed BedQuality finder
author | gernotbelger |
---|---|
date | Tue, 02 Oct 2018 18:19:44 +0200 |
parents | 144a184a414d |
children |
comparison
equal
deleted
inserted
replaced
9531:267ac3012150 | 9532:8e6b9cb9486a |
---|---|
7 * and comes with ABSOLUTELY NO WARRANTY! Check out the | 7 * and comes with ABSOLUTELY NO WARRANTY! Check out the |
8 * documentation coming with Dive4Elements River for details. | 8 * documentation coming with Dive4Elements River for details. |
9 */ | 9 */ |
10 package org.dive4elements.river.artifacts.sinfo.tkhcalculation; | 10 package org.dive4elements.river.artifacts.sinfo.tkhcalculation; |
11 | 11 |
12 import java.io.IOException; | |
13 | |
14 import org.apache.commons.lang.math.DoubleRange; | 12 import org.apache.commons.lang.math.DoubleRange; |
15 import org.dive4elements.river.artifacts.common.GeneralResultType; | 13 import org.dive4elements.river.artifacts.common.GeneralResultType; |
16 import org.dive4elements.river.artifacts.common.ResultRow; | 14 import org.dive4elements.river.artifacts.common.ResultRow; |
17 import org.dive4elements.river.artifacts.model.Calculation; | 15 import org.dive4elements.river.artifacts.model.Calculation; |
18 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; | 16 import org.dive4elements.river.artifacts.sinfo.common.SInfoResultType; |
19 import org.dive4elements.river.artifacts.sinfo.tkhstate.BedHeightsFinder; | 17 import org.dive4elements.river.artifacts.sinfo.tkhstate.BedHeightsFinder; |
20 import org.dive4elements.river.artifacts.sinfo.tkhstate.BedQualityD50TimeRangeConfig.BedQualityParseException; | |
21 import org.dive4elements.river.artifacts.sinfo.tkhstate.TsvHelper.TsvReaderException; | |
22 import org.dive4elements.river.model.River; | 18 import org.dive4elements.river.model.River; |
23 | 19 |
24 /** | 20 /** |
25 * @author Gernot Belger | 21 * @author Gernot Belger |
26 */ | 22 */ |
58 return new TkhCalculator(null, waterlevelProvider, dischargeProvider, bedHeightsProvider, null, null); | 54 return new TkhCalculator(null, waterlevelProvider, dischargeProvider, bedHeightsProvider, null, null); |
59 } | 55 } |
60 | 56 |
61 /* access bed quality data */ | 57 /* access bed quality data */ |
62 final int soundingYear = bedHeightsProvider.getInfo().getYear(); | 58 final int soundingYear = bedHeightsProvider.getInfo().getYear(); |
63 final BedQualityD50KmValueFinder bedMeasurementsFinder = loadBedMeasurementsFinder(problems, river, calcRange, soundingYear); | 59 final BedQualityD50KmValueFinder bedMeasurementsFinder = BedQualityD50KmValueFinder.loadBedMeasurements(problems, river, calcRange, soundingYear); |
64 if (bedMeasurementsFinder == null) | 60 if (bedMeasurementsFinder == null) |
65 return new TkhCalculator(null, waterlevelProvider, dischargeProvider, bedHeightsProvider, null, null); | 61 return new TkhCalculator(null, waterlevelProvider, dischargeProvider, bedHeightsProvider, null, null); |
66 | 62 |
67 /* access bed soil kind data */ | 63 /* access bed soil kind data */ |
68 final SoilKindKmValueFinder soilKindFinder = SoilKindKmValueFinder.loadValues(problems, river, calcRange); | 64 final SoilKindKmValueFinder soilKindFinder = SoilKindKmValueFinder.loadValues(problems, river, calcRange); |
73 final FlowVelocityModelKmValueFinder flowVelocitiesFinder = FlowVelocityModelKmValueFinder.loadValues(problems, river, calcRange, qRange); | 69 final FlowVelocityModelKmValueFinder flowVelocitiesFinder = FlowVelocityModelKmValueFinder.loadValues(problems, river, calcRange, qRange); |
74 if (flowVelocitiesFinder == null) | 70 if (flowVelocitiesFinder == null) |
75 return new TkhCalculator(null, waterlevelProvider, dischargeProvider, bedHeightsProvider, null, null); | 71 return new TkhCalculator(null, waterlevelProvider, dischargeProvider, bedHeightsProvider, null, null); |
76 | 72 |
77 return new TkhCalculator(bedMeasurementsFinder, waterlevelProvider, dischargeProvider, bedHeightsProvider, soilKindFinder, flowVelocitiesFinder); | 73 return new TkhCalculator(bedMeasurementsFinder, waterlevelProvider, dischargeProvider, bedHeightsProvider, soilKindFinder, flowVelocitiesFinder); |
78 } | |
79 | |
80 private static BedQualityD50KmValueFinder loadBedMeasurementsFinder(final Calculation problems, final River river, final DoubleRange calcRange, | |
81 final int soundingYear) { | |
82 | |
83 try { | |
84 return BedQualityD50KmValueFinder.loadBedMeasurements(problems, river, calcRange, soundingYear); | |
85 } | |
86 catch (final BedQualityParseException | IOException | TsvReaderException e) { | |
87 e.printStackTrace(); | |
88 return null; | |
89 } | |
90 } | 74 } |
91 | 75 |
92 private TkhCalculator(final BedQualityD50KmValueFinder bedMeasurementsFinder, final WaterlevelValuesFinder waterlevelProvider, | 76 private TkhCalculator(final BedQualityD50KmValueFinder bedMeasurementsFinder, final WaterlevelValuesFinder waterlevelProvider, |
93 final DischargeValuesFinder dischargeProvider, final BedHeightsFinder bedHeightsProvider, final SoilKindKmValueFinder soilKindFinder, | 77 final DischargeValuesFinder dischargeProvider, final BedHeightsFinder bedHeightsProvider, final SoilKindKmValueFinder soilKindFinder, |
94 final FlowVelocityModelKmValueFinder flowVelocitiesFinder) { | 78 final FlowVelocityModelKmValueFinder flowVelocitiesFinder) { |