From a87ebd5343449030ed5371364aca46e3e31a9048 Mon Sep 17 00:00:00 2001 From: Peter Alexander <peter@blackhillock.co.uk> Date: Fri, 23 Jun 2017 10:27:44 +0100 Subject: [PATCH] Stop increasing animal product demand for seed use --- src/ac/ed/lurg/ModelConfig.java | 2 +- src/ac/ed/lurg/demand/DemandManager.java | 2 +- src/ac/ed/lurg/types/CommodityType.java | 7 +++++++ 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/ac/ed/lurg/ModelConfig.java b/src/ac/ed/lurg/ModelConfig.java index 2ad2f69d..2fee042a 100644 --- a/src/ac/ed/lurg/ModelConfig.java +++ b/src/ac/ed/lurg/ModelConfig.java @@ -201,7 +201,7 @@ public class ModelConfig { public static final double AGRI_EXPANSION_COST_BASE = getDoubleProperty("AGRI_EXPANSION_COST_BASE", 0.05 * LAND_CHANGE_COST * AGRI_LAND_EXPANSION_COST_FACTOR); public static final double AGRI_EXPANSION_COST_BASE_MANAGED_FOREST = getDoubleProperty("AGRI_EXPANSION_COST_BASE_MANAGED_FOREST", 0.3 * LAND_CHANGE_COST * AGRI_LAND_EXPANSION_COST_FACTOR); - public static final double SEED_AND_WASTE_FRACTION = getDoubleProperty("SEED_AND_WASTE_FRACTION", 0.15); + public static final double SEED_AND_WASTE_FRACTION = getDoubleProperty("SEED_AND_WASTE_FRACTION", 0.1); public static final double TECHNOLOGY_CHANGE_ANNUAL_RATE = IS_CALIBRATION_RUN ? 0.0 : getDoubleProperty("TECHNOLOGY_CHANGE_ANNUAL_RATE", 0.0); public static final int TECHNOLOGY_CHANGE_START_STEP = getIntProperty("TECHNOLOGY_CHANGE_START_STEP", 0); diff --git a/src/ac/ed/lurg/demand/DemandManager.java b/src/ac/ed/lurg/demand/DemandManager.java index b21ef8d2..0514ef1b 100644 --- a/src/ac/ed/lurg/demand/DemandManager.java +++ b/src/ac/ed/lurg/demand/DemandManager.java @@ -59,7 +59,7 @@ public class DemandManager { double bioenergy = bioenergyDemandManager.getFirstGenBioenergyDemand(c, year, commodity); // LogWriter.println(String.format("Country %s comm %s: %f", country, commodity, bioenergy)); - double newDemand = (d + bioenergy) * (1.0 + ModelConfig.SEED_AND_WASTE_FRACTION); + double newDemand = (d + bioenergy) * (1.0 + commodity.getSeedWasteRate()); Double prevDemand = demandMap.get(commodity); if (prevDemand != null) diff --git a/src/ac/ed/lurg/types/CommodityType.java b/src/ac/ed/lurg/types/CommodityType.java index 3f5915a9..615b6efb 100644 --- a/src/ac/ed/lurg/types/CommodityType.java +++ b/src/ac/ed/lurg/types/CommodityType.java @@ -4,6 +4,8 @@ import java.util.Collection; import java.util.HashMap; import java.util.Map; +import ac.ed.lurg.ModelConfig; + public enum CommodityType { CEREALS("Cereals", "cereals", false), @@ -54,4 +56,9 @@ public enum CommodityType { public boolean isAnimalProduct() { return isAnimalProduct; } + + public double getSeedWasteRate() { + // just waste rate for animal products + return isAnimalProduct ? ModelConfig.SEED_AND_WASTE_FRACTION/2 : ModelConfig.SEED_AND_WASTE_FRACTION; + } } -- GitLab