diff --git a/src/ac/ed/lurg/ModelMain.java b/src/ac/ed/lurg/ModelMain.java
index 60c8e5b0bbbb4e551dabf966681c247869ed990c..d3b9f2362bad49a0eba7a7fef4f804574bb4da44 100644
--- a/src/ac/ed/lurg/ModelMain.java
+++ b/src/ac/ed/lurg/ModelMain.java
@@ -204,9 +204,9 @@ public class ModelMain {
 
 	private void writeMarketFile(Timestep timestep, RasterSet<LandUseItem> landUseRaster) {
 		try {
-			StringBuffer sbHeadings = new StringBuffer("Year, Cropland (Mha), Pasture (Mha), Natural (Mha), Fert crop (Mt), Fert pasture (Mt), Fert crop (M litre), Fert pasture (M litre)");
-			for (CropType crop : CropType.getImportedTypes())
-				sbHeadings.append(",Px_" + crop.getGamsName());
+			StringBuffer sbHeadings = new StringBuffer("Year, Cropland (Mha), Pasture (Mha), Natural (Mha), Fert crop (Mt), Fert pasture (Mt), Irrig crop (M litre), Irrig pasture (M litre)");
+	//		for (CropType crop : CropType.getImportedTypes())
+	//			sbHeadings.append(",Px_" + crop.getGamsName());
 
 			BufferedWriter outputFile = getFileWriter(timestep, ModelConfig.TOTAL_LAND_COVER_FILE, sbHeadings.toString());
 
@@ -223,8 +223,8 @@ public class ModelMain {
 			sbData.append(String.format(", %.1f", LandUseItem.getIrrigationTotal(landUseRaster.values(), CropType.getCropsLessPasture())));
 			sbData.append(String.format(", %.1f", LandUseItem.getIrrigationTotal(landUseRaster.values(), CropType.PASTURE)));
 
-			for (CropType crop : CropType.getImportedTypes() )
-				sbData.append(String.format(", %.3f", prevWorldPrices.get(crop)));
+	//		for (CropType crop : CropType.getImportedTypes() )
+	//			sbData.append(String.format(", %.3f", prevWorldPrices.get(crop)));
 
 			outputFile.write(sbData.toString());
 			outputFile.newLine();
diff --git a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java
index 052805edb0085f112ba31e3311978c7be778e45d..c56267a0b374b82ecd9fbdaf6a2fecef4df408b3 100644
--- a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java
+++ b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java
@@ -222,6 +222,8 @@ public class GamsLocationOptimiser {
 			protected LandUseItem createValue() { return new LandUseItem(); }
 		};		
 		
+		Map<Integer, ? extends IrrigationItem> allIrrigationRefData = inputData.getIrrigationCosts();
+
 		Map<CropType, CropUsageData> cropUsageData = new HashMap<CropType, CropUsageData>();
 		Map<CropType, Double> cropAdjs = new HashMap<CropType, Double>();
 
@@ -254,7 +256,8 @@ public class GamsLocationOptimiser {
 
 			if (area > 0) { 
 				if (DEBUG) LogWriter.println(String.format("\t location %s, %s:\tarea= %.1f,\tfert= %.3f,\tirrg= %.3f,\tintensity= %.3f", locationName, itemName, area, fertIntensity, irrigIntensity, otherIntensity));				
-				landUseItem.setIntensity(cropType, new Intensity(fertIntensity, irrigIntensity, otherIntensity, yield, unitEnergy));
+				IrrigationItem irrigRefData = allIrrigationRefData.get(locId);
+				landUseItem.setIntensity(cropType, new Intensity(fertIntensity, irrigIntensity, otherIntensity, yield, unitEnergy, irrigRefData.getMaxIrrigAmount(cropType)));
 			}
 
 			double croplandArea = getParmValue(parmCroplandArea, locationName);
diff --git a/src/ac/ed/lurg/landuse/Intensity.java b/src/ac/ed/lurg/landuse/Intensity.java
index bd5f83ccadc11fe6885ac475af76d62357ecd5fd..9022ec211b2b67d3beb5bf2ccc5316ac9ad8529d 100644
--- a/src/ac/ed/lurg/landuse/Intensity.java
+++ b/src/ac/ed/lurg/landuse/Intensity.java
@@ -3,19 +3,21 @@ package ac.ed.lurg.landuse;
 import ac.ed.lurg.ModelConfig;
 
 public class Intensity {
-	double fertiliserIntensity;
-	double irrigationIntensity;
-	double otherIntensity;
-	double yield;
-	double unitEnergy;
+	private double fertiliserIntensity;
+	private double irrigationIntensity;
+	private double otherIntensity;
+	private double yield;
+	private double unitEnergy;
+	private double maxIrrigRate;
 	
-	public Intensity(double fertiliserIntensity, double irrigationIntensity, double otherIntensity, double yield, double unitEnergy) {
+	public Intensity(double fertiliserIntensity, double irrigationIntensity, double otherIntensity, double yield, double unitEnergy, double maxIrrigRate) {
 		super();
 		this.fertiliserIntensity = fertiliserIntensity;
 		this.irrigationIntensity = irrigationIntensity;
 		this.otherIntensity = otherIntensity;
 		this.yield = yield;
 		this.unitEnergy = unitEnergy;
+		this.maxIrrigRate = maxIrrigRate;
 	}
 
 	public double getFertiliserIntensity() {
@@ -42,7 +44,7 @@ public class Intensity {
 		return unitEnergy;
 	}
 
-	public double getIrrigationRate(double maxIrrigAmount) {
-		return maxIrrigAmount * irrigationIntensity;
+	public double getIrrigationRate() {
+		return maxIrrigRate * irrigationIntensity;
 	}
 }
diff --git a/src/ac/ed/lurg/landuse/IrrigationItem.java b/src/ac/ed/lurg/landuse/IrrigationItem.java
index 72a76779e93989afa05f6c2f38924a4921faa06c..5ebcfb9d72892124e28c812b32b35b9915cfd508 100644
--- a/src/ac/ed/lurg/landuse/IrrigationItem.java
+++ b/src/ac/ed/lurg/landuse/IrrigationItem.java
@@ -23,13 +23,13 @@ public class IrrigationItem implements RasterItem {
 		this.irrigationCost = aridityIndex;
 	}
 	
-	public double getMaxIrrigAmount(CropType c) {
-		Double d = maxIrrigAmounts.get(c);
-		return c==null ? Double.NaN : d.doubleValue();
+	public double getMaxIrrigAmount(CropType crop) {
+		Double d = maxIrrigAmounts.get(crop);
+		return d==null ? Double.NaN : d.doubleValue();
 	}
 	
-	public void setMaxIrrigAmount(CropType c, double maxIrrig) {
-		maxIrrigAmounts.put(c, maxIrrig);
+	public void setMaxIrrigAmount(CropType crop, double maxIrrig) {
+		maxIrrigAmounts.put(crop, maxIrrig);
 	}
 	
 	public double getIrrigConstraint() {
diff --git a/src/ac/ed/lurg/landuse/LandUseItem.java b/src/ac/ed/lurg/landuse/LandUseItem.java
index 699025e1ce663a3588781e2e79682926bf3863ad..c625f59a5ec8386b6f3cf8da6ccb41485bf522c3 100644
--- a/src/ac/ed/lurg/landuse/LandUseItem.java
+++ b/src/ac/ed/lurg/landuse/LandUseItem.java
@@ -16,6 +16,7 @@ public class LandUseItem implements InterpolatingRasterItem<LandUseItem> {
 	private Map<CropType, Double> cropFractions = new HashMap<CropType, Double>();
 	private Map<LandCoverType, Double> landCoverAreas = new HashMap<LandCoverType, Double>();
 	
+	
 	public Intensity getIntensity(CropType crop) {
 		return intensityMap.get(crop);
 	}
@@ -71,7 +72,7 @@ public class LandUseItem implements InterpolatingRasterItem<LandUseItem> {
 	public double getIrrigationRate(CropType crop) {
 		Intensity i = getIntensity(crop);
 		
-		return (i == null) ? 0 : i.getIrrigationRate(999);
+		return (i == null) ? 0 : i.getIrrigationRate();
 	}
 
 	/** Irrigation amount in M litres, for this location */