diff --git a/src/main/java/no/nibio/vips/model/alternariamodel/AlternariaModel.java b/src/main/java/no/nibio/vips/model/alternariamodel/AlternariaModel.java index f642f3f3a4924d7fe8dbfb8a75e9d79e6ac8e7a8..d13faf8e49ddcf9ffe2e7c6d952e71992394fe19 100644 --- a/src/main/java/no/nibio/vips/model/alternariamodel/AlternariaModel.java +++ b/src/main/java/no/nibio/vips/model/alternariamodel/AlternariaModel.java @@ -63,9 +63,12 @@ import no.nibio.vips.util.WeatherUtil; */ public class AlternariaModel extends I18nImpl implements Model{ - public final static String NAME_MODEL_ID = "ALTERNARIA"; - public final static ModelId MODEL_ID = new ModelId(NAME_MODEL_ID); - public final static int THRESHOLD = 30; + public final static String NAME_MODEL_ID = "ALTERNARIA"; + public final static ModelId MODEL_ID = new ModelId(NAME_MODEL_ID); + public final static int THRESHOLD_LW = 30; // Threshold for leave wetness + public final static int THRESHOLD_DSV_MIN = 20; // Threshold Minimum for DSV + public final static int THRESHOLD_DSV_MAX = 30; // Threshold Maximum for DSV + public final static int THRESHOLD_DSV_BASE = 5; // Threshold Maximum for DSV @@ -606,5 +609,51 @@ public class AlternariaModel extends I18nImpl implements Model{ : dataMatrix.getParamIntValueForDate(lwDate, lwFlag); } - + private Integer getWarningStatus(Integer accumulatedDSV) + { + Integer result = 0; + + /* + Hint of warning system + 1 = Missing data (Blue) - OK + + 2 = No Risk (Green) – From 0 to DSV-threshold minus 5 + + 3 = Possible Risk (Yellow) – From DSV-threshold minus 5 to DSV-threshold + + 4 = High Risk (Red) – {Above DSV-threshold + */ + + if (accumulatedDSV >= 0) + { + if(accumulatedDSV >= THRESHOLD_DSV_MAX) + { + result = Result.WARNING_STATUS_HIGH_RISK; + } + else + { + // 20 -- 25 + if((accumulatedDSV < THRESHOLD_DSV_MAX) && (accumulatedDSV >= (THRESHOLD_DSV_MIN - THRESHOLD_DSV_BASE)) ) + { + result = Result.WARNING_STATUS_MINOR_RISK; + } + else + { + if(accumulatedDSV < (THRESHOLD_DSV_MIN - THRESHOLD_DSV_BASE)) + { + result = Result.WARNING_STATUS_NO_RISK; + } + + } + + } + } + else + { + result = Result.WARNING_STATUS_NO_WARNING_MISSING_DATA; + + } + + return result; + } } diff --git a/src/main/java/no/nibio/vips/model/alternariamodel/DataMatrix.java b/src/main/java/no/nibio/vips/model/alternariamodel/DataMatrix.java index 70a0479e4c8d789952ff8f7d2c31482b61e4731b..2902a85b11ebf16e8799342ae76a64296f9ae7aa 100644 --- a/src/main/java/no/nibio/vips/model/alternariamodel/DataMatrix.java +++ b/src/main/java/no/nibio/vips/model/alternariamodel/DataMatrix.java @@ -44,7 +44,9 @@ import no.nibio.vips.util.DateMap; * @author bhabesh */ public class DataMatrix extends DateMap{ + public final static String WET_HOUR = "WH"; // Leaf wetness 2 m, minutes per hour public final static String LEAF_WETNESS_DURATION = "BT"; // Leaf wetness 2 m, minutes per hour public final static String TEMPERATURE_MEAN = "TM"; // Mean Temperature public final static String DAILY_DISEASE_SEVERITY_VALUE = "DSV"; // Daily Disease Severity Value + }