From 6bbbb5984e8c18018d899161f288ad77160900da Mon Sep 17 00:00:00 2001
From: Peter Alexander <peter@blackhillock.co.uk>
Date: Thu, 31 Aug 2017 15:17:23 +0100
Subject: [PATCH] Offset in irrig constraint now applied as a rate

---
 hind1970/data/halfdeg/fpuGrouping.txt         | 13 +----------
 .../country/gams/GamsRasterOptimiser.java     |  2 +-
 .../ed/lurg/landuse/IrrigationRasterSet.java  | 23 +++++++++++++++----
 3 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/hind1970/data/halfdeg/fpuGrouping.txt b/hind1970/data/halfdeg/fpuGrouping.txt
index 201cb948..45dee195 100644
--- a/hind1970/data/halfdeg/fpuGrouping.txt
+++ b/hind1970/data/halfdeg/fpuGrouping.txt
@@ -1,12 +1 @@
-fpu,basin
-70,Nile,
-72,Nile
-74,Nile
-146,Nile
-149,Nile
-150,Nile
-203,Nile
-9,Amazon
-10,Amazon
-12,Amazon
-13,Amazon
+fpu,basin
\ No newline at end of file
diff --git a/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java b/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java
index a9659cff..21b89ce5 100644
--- a/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java
+++ b/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java
@@ -1,4 +1,4 @@
-package ac.ed.lurg.country.gams;
+	package ac.ed.lurg.country.gams;
 
 import java.util.HashSet;
 import java.util.Map;
diff --git a/src/ac/ed/lurg/landuse/IrrigationRasterSet.java b/src/ac/ed/lurg/landuse/IrrigationRasterSet.java
index a09085a9..4097b0b6 100644
--- a/src/ac/ed/lurg/landuse/IrrigationRasterSet.java
+++ b/src/ac/ed/lurg/landuse/IrrigationRasterSet.java
@@ -6,6 +6,7 @@ import java.util.Map;
 
 import ac.ed.lurg.ModelConfig;
 import ac.ed.lurg.Timestep;
+import ac.ed.lurg.utils.LogWriter;
 import ac.sac.raster.RasterHeaderDetails;
 import ac.sac.raster.RasterKey;
 import ac.sac.raster.RasterSet;
@@ -28,11 +29,19 @@ public class IrrigationRasterSet extends RasterSet<IrrigationItem> {
 		Map<RasterKey, Double> lpjIrrigConstraints = getIrrigFromLpjRunoff(timestep.getYear(), false);
 		
 		for (Map.Entry<RasterKey, IrrigationItem> entry : entrySet()) {
+			if (entry.getKey().getCol() == 521 & entry.getKey().getRow()==121)
+				LogWriter.println("Found bit of Nepal");
+
 			IrrigationItem irrigItem = entry.getValue();
 			if (irrigItem != null) {
-				Double d = lpjIrrigConstraints.get(entry.getKey());
-				if (d != null)
-					irrigItem.setIrrigConstraint(d + irrigItem.getConstraintOffset());
+				Double lpjConstraint = lpjIrrigConstraints.get(entry.getKey());
+				double d;
+				if (lpjConstraint != null && lpjConstraint > 0 && irrigItem.getConstraintOffset() > 0)
+					d = irrigItem.getConstraintOffset() * lpjConstraint;
+				else
+					d = irrigItem.getBaselineIrrigConstraint();
+				
+				irrigItem.setIrrigConstraint(d);
 			}
 		}
 	}
@@ -41,11 +50,14 @@ public class IrrigationRasterSet extends RasterSet<IrrigationItem> {
 		Map<RasterKey, Double> lpjIrrigConstraints = getIrrigFromLpjRunoff(ModelConfig.ELLIOTT_BASEYEAR, true);
 
 		for (Map.Entry<RasterKey, IrrigationItem> entry : entrySet()) {
+			if (entry.getKey().getCol() == 521 & entry.getKey().getRow()==121)
+				LogWriter.println("Found bit of Nepal");
+			
 			IrrigationItem irrigItem = entry.getValue();
 			if (irrigItem != null) {
 				Double d = lpjIrrigConstraints.get(entry.getKey());
 				if (d != null) {
-					double offset = irrigItem.getBaselineIrrigConstraint() - d;
+					double offset = irrigItem.getBaselineIrrigConstraint()/d;
 					irrigItem.setConstraintOffsets(offset);
 				}
 			}
@@ -58,6 +70,9 @@ public class IrrigationRasterSet extends RasterSet<IrrigationItem> {
 		Collection<WaterBasin> waterBasins = fpuManager.getWaterBasins();
 
 		for (WaterBasin basin : waterBasins) {
+			if (basin.toString().contains("87")) 
+				LogWriter.println("Found Nepal");
+			
 			Collection<RasterKey> rasterKeys = fpuManager.getKeysFor(basin);
 			RasterSet<IrrigationItem> irrigData = createSubsetForKeys(rasterKeys);
 			double basinRunOff = 0.0, otherUses = 0.0, areaOfBasin = 0.0;
-- 
GitLab