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