From 6cce43011f19764874e14615f7b8c5d46f7295a0 Mon Sep 17 00:00:00 2001 From: s1924442 <b.arendarczyk@sms.ed.ac.uk> Date: Tue, 9 Mar 2021 18:44:54 +0000 Subject: [PATCH] Further work on minimum land cover and bug fixes. --- .../lurg/country/gams/GamsLocationOptimiser.java | 14 +++++++------- .../ed/lurg/country/gams/GamsRasterOptimiser.java | 12 ++++++++++++ src/ac/ed/lurg/types/LandCoverType.java | 4 ++-- 3 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java index bdef567e..c6fc23c4 100644 --- a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java +++ b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java @@ -600,7 +600,7 @@ public class GamsLocationOptimiser { double change = rec.getLevel(); - if (!fromLC.equals(toLC)) { + if (!fromLC.equals(toLC)) { //Important as don't want to include unchanged land cover landCoverChanges.put(locId, LandCoverType.getForName(fromLC), LandCoverType.getForName(toLC), change); } /* @@ -634,16 +634,16 @@ public class GamsLocationOptimiser { Integer locId = locMap.getKey(); DoubleMap<LandCoverType, LandCoverType, Double> changeMap = locMap.getValue(); for (LandCoverType fromLC : LandCoverType.getConvertibleTypes()) { - if (!fromLC.equals(LandCoverType.TIMBER_FOREST)) + if (fromLC != LandCoverType.TIMBER_FOREST) //exclude unchanged forest minimumLandCoverAdditions.addTo(locId, LandCoverType.TIMBER_FOREST, changeMap.get(fromLC, LandCoverType.TIMBER_FOREST)); - if (!fromLC.equals(LandCoverType.CARBON_FOREST)) + if (fromLC != LandCoverType.CARBON_FOREST) minimumLandCoverAdditions.addTo(locId, LandCoverType.CARBON_FOREST, changeMap.get(fromLC, LandCoverType.CARBON_FOREST)); - if (!fromLC.equals(LandCoverType.UNMANAGED_FOREST)) + /* + if (fromLC != LandCoverType.UNMANAGED_FOREST) minimumLandCoverAdditions.addTo(locId, LandCoverType.UNMANAGED_FOREST, changeMap.get(fromLC, LandCoverType.UNMANAGED_FOREST)); - } - + */ + } } - GamsLocationOutput results = new GamsLocationOutput(modelStatus, landUses, cropUsageData, landCoverChanges, minimumLandCoverAdditions); return results; diff --git a/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java b/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java index c961e515..b072662c 100644 --- a/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java +++ b/src/ac/ed/lurg/country/gams/GamsRasterOptimiser.java @@ -106,6 +106,12 @@ public class GamsRasterOptimiser { Integer locId = entry.getKey(); LandUseItem newLandUseAggItem = entry.getValue(); // LandUseItem prevLandUseAggItem = prevAreasAgg.get(locId); + + /* + for (Entry<RasterKey, IntegerRasterItem> foo : mapping.entrySet()) { + LogWriter.println(foo.getKey() + "|" + foo.getValue().getInt()); + } + */ Set<RasterKey> keys = new HashSet<RasterKey>(); for (Entry<RasterKey, IntegerRasterItem> mapEntry : mapping.entrySet()) { @@ -283,6 +289,8 @@ public class GamsRasterOptimiser { keysWithSpace.add(key); else totalShortfall += shortfall; + + //LogWriter.println(key.toString() + "|" + cellChange); } } @@ -403,6 +411,10 @@ public class GamsRasterOptimiser { CarbonFluxItem aggCFlux = aggregatedCarbonFluxes.lazyGet(clusterId); WoodYieldItem aggWYield = aggregatedWoodYields.lazyGet(clusterId); + if (clusterId == 1) { + int foo = 1; + } + landUseItem.updateSuitableArea(rasterInputData.getTimestep().getYear()); double suitableAreaThisTime = landUseItem.getSuitableArea(); double suitableAreaSoFar = aggLandUse.getSuitableArea(); diff --git a/src/ac/ed/lurg/types/LandCoverType.java b/src/ac/ed/lurg/types/LandCoverType.java index 4a54b05d..93d1fd0a 100644 --- a/src/ac/ed/lurg/types/LandCoverType.java +++ b/src/ac/ed/lurg/types/LandCoverType.java @@ -9,8 +9,8 @@ import ac.ed.lurg.utils.LogWriter; public enum LandCoverType { - TIMBER_FOREST("timberForest", true, true, true), - CARBON_FOREST("carbonForest", true, true, true), + TIMBER_FOREST("timberForest", false, true, true), + CARBON_FOREST("carbonForest", false, true, true), UNMANAGED_FOREST ("unmanagedForest", true, true, true), OTHER_NATURAL ("otherNatural", true, true, false), CROPLAND ("cropland", false, true, false), -- GitLab