Skip to content
Snippets Groups Projects
Commit 59526b0f authored by R0slyn's avatar R0slyn
Browse files

changes to protected areas setup

parent d2f9a27d
No related branches found
No related tags found
No related merge requests found
...@@ -583,6 +583,7 @@ public class ModelMain { ...@@ -583,6 +583,7 @@ public class ModelMain {
areasItem.setCropFraction(CropType.WHEAT, 0.5); // random start as don't have better data areasItem.setCropFraction(CropType.WHEAT, 0.5); // random start as don't have better data
areasItem.setCropFraction(CropType.MAIZE, 0.5); areasItem.setCropFraction(CropType.MAIZE, 0.5);
areasItem.setProtectedArea(landCover.getProtectedArea()); areasItem.setProtectedArea(landCover.getProtectedArea());
areasItem.setUnavailableFract(landCover.getUnavailableFract());
landUseRaster.put(key, areasItem); landUseRaster.put(key, areasItem);
} }
//outputAreas(initialLC); //outputAreas(initialLC);
......
...@@ -43,8 +43,12 @@ public class LandCoverItem implements RasterItem { ...@@ -43,8 +43,12 @@ public class LandCoverItem implements RasterItem {
this.proportionProtectedFract=proportionProtectedFract; this.proportionProtectedFract=proportionProtectedFract;
} }
public double getProtectedArea(){ public double getProtectedArea(){
return Math.max(proportionProtectedFract, unavailableFract)*totalArea; return proportionProtectedFract*totalArea;
}
public double getUnavailableFract(){
return unavailableFract;
} }
public void setMaxCropFraction(double maxCropFraction){ public void setMaxCropFraction(double maxCropFraction){
......
...@@ -20,6 +20,7 @@ public class LandUseItem implements InterpolatingRasterItem<LandUseItem>, Serial ...@@ -20,6 +20,7 @@ public class LandUseItem implements InterpolatingRasterItem<LandUseItem>, Serial
private Map<CropType, Double> cropFractions = new HashMap<CropType, Double>(); private Map<CropType, Double> cropFractions = new HashMap<CropType, Double>();
private Map<LandCoverType, Double> landCoverAreas = new HashMap<LandCoverType, Double>(); private Map<LandCoverType, Double> landCoverAreas = new HashMap<LandCoverType, Double>();
private double protectedArea; //protected area in Mha private double protectedArea; //protected area in Mha
private double unavailableFract; //area unavailable due to altitude etc
public LandUseItem() {} public LandUseItem() {}
...@@ -36,15 +37,16 @@ public class LandUseItem implements InterpolatingRasterItem<LandUseItem>, Serial ...@@ -36,15 +37,16 @@ public class LandUseItem implements InterpolatingRasterItem<LandUseItem>, Serial
} }
public double getProtectedAreaIncMinNatural() { public double getProtectedAreaIncMinNatural() {
double protectedLand = 0;
double minOrProtectedA = 0; double minOrProtectedA = 0;
double protectedA = 0; if(ModelConfig.PROTECTED_AREAS_ENABLED)
double minNatural = getTotalLandCoverArea() * ModelConfig.MIN_NATURAL_RATE; protectedLand = protectedArea;
if (ModelConfig.PROTECTED_AREAS_ENABLED) { double unprotectedLand = getTotalLandCoverArea()-protectedLand;
protectedA = protectedArea; double unsuitableLand = Math.max(unprotectedLand * ModelConfig.MIN_NATURAL_RATE,unprotectedLand*unavailableFract);
}
minOrProtectedA = Math.max(protectedA, minNatural); minOrProtectedA = protectedLand + unsuitableLand;
return minOrProtectedA; return minOrProtectedA;
} }
...@@ -363,4 +365,8 @@ public class LandUseItem implements InterpolatingRasterItem<LandUseItem>, Serial ...@@ -363,4 +365,8 @@ public class LandUseItem implements InterpolatingRasterItem<LandUseItem>, Serial
public String toString() { public String toString() {
return "LandUseItem: [landCoverAreas=" + landCoverAreas + ", protectedArea=" + protectedArea + "], suitableLand " + getSuitableLand(); return "LandUseItem: [landCoverAreas=" + landCoverAreas + ", protectedArea=" + protectedArea + "], suitableLand " + getSuitableLand();
} }
public void setUnavailableFract(double unavailableFract) {
this.unavailableFract = unavailableFract;
}
} }
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment