From 2fd678b5cda53f985538131fe859b6401aea2450 Mon Sep 17 00:00:00 2001 From: Tor-Einar Skog <tor-einar.skog@bioforsk.no> Date: Wed, 27 Aug 2014 13:19:41 +0200 Subject: [PATCH] Added input parameter harvestWidth --- .../vips/model/grassdryingmodel/GrassDryingModel.java | 9 ++++++++- .../model/grassdryingmodel/GrassDryingModelTest.java | 2 ++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main/java/no/bioforsk/vips/model/grassdryingmodel/GrassDryingModel.java b/src/main/java/no/bioforsk/vips/model/grassdryingmodel/GrassDryingModel.java index 8d62473..5856e18 100644 --- a/src/main/java/no/bioforsk/vips/model/grassdryingmodel/GrassDryingModel.java +++ b/src/main/java/no/bioforsk/vips/model/grassdryingmodel/GrassDryingModel.java @@ -65,6 +65,7 @@ public class GrassDryingModel extends I18nImpl implements Model{ // 1 = weak, 2 = strong, 3 = crushed private Integer conditioning; private Double stringWidth; + private Double harvestWidth; public GrassDryingModel() { @@ -165,6 +166,7 @@ public class GrassDryingModel extends I18nImpl implements Model{ "\t\t\"yield\":750.0,\n" + "\t\t\"conditioning\":2,\n" + "\t\t\"stringWidth\":3.0,\n" + + "\t\t\"harvestWidth\":3.0,\n" + "\t\t\"observations\":[\n" + "\t\t{\n" + "\t\t\t\t\"timeMeasured\": \"2014-06-25T00:00:00+02:00\",\n" + @@ -217,6 +219,7 @@ public class GrassDryingModel extends I18nImpl implements Model{ throw new ConfigValidationException("Conditioning may only have values [1,2,3], not " + this.conditioning); } this.stringWidth = (Double) config.getConfigParameter("stringWidth"); + this.harvestWidth = (Double) config.getConfigParameter("harvestWidth"); // private Double yield; // Kgs? Tons?? Per hectar? @@ -380,7 +383,11 @@ public class GrassDryingModel extends I18nImpl implements Model{ Double dryingRateCoefficient = this.conditioning == 1 ? 0.095 : this.conditioning == 2 ? 0.11 : 0.19; - Double correctionFactor = 44.939 * Math.pow(this.yield, -0.537); + + // Adjustment of yield into model + Double yieldAdjusted = this.yield * (this.harvestWidth / this.stringWidth); + + Double correctionFactor = 44.939 * Math.pow(yieldAdjusted, -0.537); return dryingRateCoefficient * correctionFactor; } diff --git a/src/test/java/no/bioforsk/vips/model/grassdryingmodel/GrassDryingModelTest.java b/src/test/java/no/bioforsk/vips/model/grassdryingmodel/GrassDryingModelTest.java index 77cd90a..8eabb8d 100644 --- a/src/test/java/no/bioforsk/vips/model/grassdryingmodel/GrassDryingModelTest.java +++ b/src/test/java/no/bioforsk/vips/model/grassdryingmodel/GrassDryingModelTest.java @@ -90,6 +90,8 @@ public class GrassDryingModelTest { config.setConfigParameter("yield", 750.0); config.setConfigParameter("conditioning", 2); config.setConfigParameter("stringWidth", 3.0); + config.setConfigParameter("harvestWidth", 3.0); + instance.setConfiguration(config); List<Result> results = instance.getResult(); -- GitLab