diff --git a/GAMS/IntExtOpt.gms b/GAMS/IntExtOpt.gms index 46da561425af629cb9f8375e1f6ddfdea2d8c951..94ba5b3cd5c56383b0aeacbe4be094ea20b5682c 100644 --- a/GAMS/IntExtOpt.gms +++ b/GAMS/IntExtOpt.gms @@ -32,7 +32,6 @@ SCALAR meatEfficency efficiency of converting feed and pasture into animal products; SCALAR landChangeCost cost required to add ha of agricultural land; - SCALAR minFeedRate minimum rate of feed for producing animal products (why is this needed?); SCALAR fertiliserUnitCost fert cost at max fert rate; SCALAR otherIParam yield response to other intensity; SCALAR otherICost cost of other intensity; @@ -45,7 +44,7 @@ $load location, suitableLandArea, demand, landChangeCost $load previousArea, previousFertIntensity, previousIrrigIntensity, previousOtherIntensity $load yieldNone, yieldFertOnly, yieldIrrigOnly, yieldBoth $load fertParam, irrigParam, otherIParam, exportPrices, importPrices, maxNetImport, minNetImport, unhandledCropArea -$load meatEfficency, minFeedRate, otherICost, irrigCost, irrigMaxRate, irrigConstraint, fertiliserUnitCost, domesticPriceMarkup +$load meatEfficency, otherICost, irrigCost, irrigMaxRate, irrigConstraint, fertiliserUnitCost, domesticPriceMarkup $gdxin SCALAR delta use to smooth power function see 7.5 www.gams.com dd docs solversconopt.pdf / 0.00000000001 / diff --git a/src/ac/ed/lurg/ModelConfig.java b/src/ac/ed/lurg/ModelConfig.java index abdb45ab7be3207a72d02b840e2c11fa28f9e9e3..e33bf828ba9b229ae1a323f5ae734438817db07a 100644 --- a/src/ac/ed/lurg/ModelConfig.java +++ b/src/ac/ed/lurg/ModelConfig.java @@ -162,7 +162,6 @@ public class ModelConfig { public static final double MEAT_EFFICIENCY = getDoubleProperty("MEAT_EFFICIENCY", 1.0); // 'meat' is includes feed conversion ratio already, this is tech. change or similar public static final double IRRIGIATION_EFFICIENCY = getDoubleProperty("IRRIGIATION_EFFICIENCY", 0.5); public static final double LAND_CHANGE_COST = getDoubleProperty("LAND_CHANGE_COST", 0.6); - public static final double MIN_FEED_RATE = getDoubleProperty("MIN_FEED_RATE", 0.15); public static final double SEED_AND_WASTE_FRACTION = getDoubleProperty("SEED_AND_WASTE_FRACTION", 0.15); public static final double TECHNOLOGY_CHANGE_ANNUAL_RATE = IS_CALIBRATION_RUN ? 0.0 : getDoubleProperty("TECHNOLOGY_CHANGE_ANNUAL_RATE", 0.0); @@ -173,7 +172,7 @@ public class ModelConfig { public static final double MARKET_LAMBA = getDoubleProperty("MARKET_LAMBA", 0.5); // controls international market price adjustment rate - public static final double POPULATION_AGGREG_LIMIT = getDoubleProperty("POPULATION_AGGREG_LIMIT", 40.0); // in millions, smaller countries are aggregated on a regional basis + public static final double POPULATION_AGGREG_LIMIT = getDoubleProperty("POPULATION_AGGREG_LIMIT", 30.0); // in millions, smaller countries are aggregated on a regional basis public static final double UNHANDLED_CROP_AREA = getDoubleProperty("UNHANDLED_CROP_AREA", 0.3); // includes fruit veg forage crops set aside and failed crop @@ -181,7 +180,7 @@ public class ModelConfig { public static final double OTHER_INTENSITY_PARAM = getDoubleProperty("OTHER_INTENSITY_PARAM", 3.22); public static final double IRRIG_COST_SCALE_FACTOR = getDoubleProperty("IRRIG_COST_SCALE_FACTOR", 0.02); - public static final double FERTILISER_COST_PER_T = getDoubleProperty("FERTILISER_COST_PER_T", 0.87 * 1.4 * 2); // £900/t N * 1.4$/£ * 2NPK/N + public static final double FERTILISER_COST_PER_T = getDoubleProperty("FERTILISER_COST_PER_T", 0.5007 / 0.18); public static final double FERTILISER_MAX_COST = FERTILISER_COST_PER_T * MAX_FERT_AMOUNT/1000; public static final double DOMESTIC_PRICE_MARKUP = getDoubleProperty("DOMESTIC_PRICE_MARKUP", 1.2); diff --git a/src/ac/ed/lurg/country/CompositeCountryManager.java b/src/ac/ed/lurg/country/CompositeCountryManager.java index 25135ef08f7fa15d65483e8619bfa1c46fb84f72..d202092b9b5912ce8600fe006cf202bb53305179 100644 --- a/src/ac/ed/lurg/country/CompositeCountryManager.java +++ b/src/ac/ed/lurg/country/CompositeCountryManager.java @@ -1,6 +1,5 @@ package ac.ed.lurg.country; -import java.util.Arrays; import java.util.Collection; import java.util.HashMap; import java.util.HashSet; diff --git a/src/ac/ed/lurg/country/gams/GamsCountryInput.java b/src/ac/ed/lurg/country/gams/GamsCountryInput.java index 22915452f5223595f6256a9dad1873d22e31e7a9..ff9f42f42ebe582b00a599fa2da0d15030389be6 100644 --- a/src/ac/ed/lurg/country/gams/GamsCountryInput.java +++ b/src/ac/ed/lurg/country/gams/GamsCountryInput.java @@ -54,10 +54,6 @@ public class GamsCountryInput { return ModelConfig.LAND_CHANGE_COST; } - public double getMinFeedRate() { - return ModelConfig.MIN_FEED_RATE; - } - public Map<CropType, Double> getMinNetImport() { Map<CropType, Double> netImport = new HashMap<CropType, Double>(); for (Map.Entry<CropType, ImportExportConstraint> entry : importConstraints.entrySet()) { diff --git a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java index 9e273d017783ee61a1f986bed2baacac8841ab22..efb19bd7ec16de8306b4a2a048d076b8a4ceb5b0 100644 --- a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java +++ b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java @@ -220,7 +220,6 @@ public class GamsLocationOptimiser { addScalar(inDB, "otherICost",ModelConfig.OTHER_INTENSITY_COST, 3); addScalar(inDB, "otherIParam", ModelConfig.OTHER_INTENSITY_PARAM, 3); addScalar(inDB, "landChangeCost", countryInput.getLandChangeCost(), 3); - addScalar(inDB, "minFeedRate", countryInput.getMinFeedRate(), 3); addScalar(inDB, "unhandledCropArea", ModelConfig.UNHANDLED_CROP_AREA, 3); addScalar(inDB, "domesticPriceMarkup", ModelConfig.DOMESTIC_PRICE_MARKUP, 3); }