Skip to content
Snippets Groups Projects
Commit 58a4d83f authored by Peter Alexander's avatar Peter Alexander
Browse files

Adjust crop area for crops not modelled

parent c2dd35c9
Branches
No related tags found
No related merge requests found
......@@ -42,7 +42,10 @@ $gdxin
SCALAR delta use to smooth power function see 7.5 www.gams.com dd docs solversconopt.pdf / 0.00000000001 /
SCALAR minDemandPerCereal / 0.1 /
SCALAR minDemandPerCereal / 0.1 /;
SCALAR unhandledCropArea includes fruit veg forage crops set aside and failed crop / 0.4 /;
previousArea(crop_less_pasture, location) = previousArea(crop_less_pasture, location) * (1.0 - unhandledCropArea);
PARAMETER feedDM(crop) kg DM per kg of feed the conversion from feed to meat is done in the R animal product index
/ wheat 0.89
......@@ -62,9 +65,6 @@ $gdxin
SCALAR fertiliserUnitCost / 1.0 /
PARAMETER previousCropTotalAreas(location);
previousCropTotalAreas(location) = sum(crop_less_pasture, previousArea(crop_less_pasture, location));
VARIABLES
area(crop, location) total area for each crop - Mha
fertI(crop, location) fertilizer intensity for each crop - factor between 0 and 1
......@@ -131,7 +131,7 @@ $gdxin
MAX_FERT_INTENSITY_CONSTRAINT(crop, location) .. fertI(crop, location) =L= 1;
MAX_IRRIG_INTENSITY_CONSTRAINT(crop, location) .. irrigI(crop, location) =L= 1;
TOTAL_LAND_CHANGE_CONSTRAINT(location) .. suitableLandArea(location) =G= sum(crop, area(crop, location));
TOTAL_LAND_CHANGE_CONSTRAINT(location) .. suitableLandArea(location) =G= sum(crop_less_pasture, area(crop_less_pasture, location)) / (1.0 - unhandledCropArea) + area('pasture', location);
NON_FEED_CROP_CONSTRAINT(not_feed_crop) .. feedAmount(not_feed_crop) =E= 0;
......@@ -212,7 +212,9 @@ $gdxin
);
display agriLandExpansion.l, previousArea, area.l, net_supply.l, demand, feedAmount.l, yield.l, netImportAmount.l;
area.l(crop_less_pasture, location) = area.l(crop_less_pasture, location) / (1.0 - unhandledCropArea);
parameter totalProd(all_types);
totalProd(crop) = sum(location, area.l(crop, location) * yield.l(crop, location));
totalProd('meat') = meatEfficency*sum(feed_crop, feedDM(feed_crop) * feedAmount.l(feed_crop));
......
......@@ -345,7 +345,7 @@ public class GamsRasterOptimiser {
LogWriter.println("YieldResponsesItem: " + rasterInputData.getCountryInput().getCountry() + ", countFound=" + countFound + ", countMissing=" + countMissing);
for (Map.Entry<Integer, Set<RasterKey>> e : mapping.entrySet()) {
LogWriter.println(e.getKey() + " category has " + e.getValue().size() + " raster areas");
LogWriter.println(e.getKey() + " zone has " + e.getValue().size() + " raster areas");
CropType[] cs = {CropType.WHEAT, CropType.MAIZE};
for (CropType c : cs) {
......
......@@ -81,10 +81,10 @@ public class LPJYieldResponseMapReader extends AbstractTabularRasterReader<Yield
for (IrrigationRate irrig : IrrigationRate.values()) {
YieldType yieldType = YieldType.getYieldType(fert, irrig);
// if (!fert.equals(FertiliserRate.NO_FERT))
if (!fert.equals(FertiliserRate.NO_FERT))
adjFactor = 10; // 10 for kg/m2 to t/ha
// else
// adjFactor = 5;
else
adjFactor = 5;
String fertIrrigString = irrig.getId() + fert.getId();
double ww = getValueForCol(rowValues, "TeWW" + fertIrrigString) * adjFactor;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment