From e878bd8bdfe598ce9c370dc759925614baafece5 Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@nibio.no> Date: Mon, 14 May 2018 16:00:40 +0200 Subject: [PATCH] Factoring out BT as optional weather parameter --- ...ptoriaSimpleRiskGridModelPreprocessor.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/src/main/java/no/nibio/vips/logic/scheduling/model/grid/preprocessor/ZymoseptoriaSimpleRiskGridModelPreprocessor.java b/src/main/java/no/nibio/vips/logic/scheduling/model/grid/preprocessor/ZymoseptoriaSimpleRiskGridModelPreprocessor.java index 8adcc28e..4dd372e9 100644 --- a/src/main/java/no/nibio/vips/logic/scheduling/model/grid/preprocessor/ZymoseptoriaSimpleRiskGridModelPreprocessor.java +++ b/src/main/java/no/nibio/vips/logic/scheduling/model/grid/preprocessor/ZymoseptoriaSimpleRiskGridModelPreprocessor.java @@ -21,6 +21,8 @@ package no.nibio.vips.logic.scheduling.model.grid.preprocessor; import com.vividsolutions.jts.geom.Coordinate; import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -62,12 +64,25 @@ public class ZymoseptoriaSimpleRiskGridModelPreprocessor extends ModelRunPreproc List<WeatherObservation> stationObs = getStationObs(station, configuration); try { - stationObs = wUtil.checkForAndFixHourlyTimeSeriesHolesMultiParameter(stationObs, 6); + // We need TM, UM and RR. BT is optional + List<WeatherObservation> mandatory = wUtil.filterWeatherObservationsByParameter(stationObs, new HashSet<>(Arrays.asList("TM","UM","RR"))); + stationObs = wUtil.checkForAndFixHourlyTimeSeriesHolesMultiParameter(mandatory, 6); } catch(WeatherObservationListException ex) { - throw new PreprocessorException(ex.getMessage()); + throw new PreprocessorException("Problem with station #" + station.getPointOfInterestId() + ": " + ex.getMessage()); } + // Checking for BT + try + { + List<WeatherObservation> BT = wUtil.filterWeatherObservationsByParameter(stationObs, new HashSet<>(Arrays.asList("BT"))); + stationObs.addAll(wUtil.checkForAndFixHourlyTimeSeriesHoles(BT, 6)); + } + catch(WeatherObservationListException ex) + { + + } + PointWeatherObservationList pointObs = new PointWeatherObservationList(coordinate, stationObs, station.getTimeZone()); allObs.add(pointObs); } -- GitLab