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

Small fix to transport losses and tweaks for yield shocks.

parent 27fd1723
No related branches found
No related tags found
No related merge requests found
"Country","Region"
"Afghanistan","South Asia"
"Albania","Southern Europe"
"Algeria","North Africa"
"Angola","Central Africa"
"Antigua and Barbuda","Carribean"
"Argentina","South America"
"Armenia","West Asia"
"Armenia","Eastern Europe"
"Australia","Australia & NZ"
"Austria","Western Europe"
"Azerbaijan","Eastern Europe"
"Bahamas","Carribean"
"Bangladesh","South Asia"
"Barbados","Carribean"
"Belarus","Eastern Europe"
"Belgium","Western Europe"
"Belize","Central America"
"Benin","West Africa"
"Bermuda","North America"
"Bolivia (Plurinational State of)","South America"
"Bosnia and Herzegovina","Eastern Europe"
"Botswana","South Africa"
"Brazil","South America"
"Brunei Darussalam","South-East Asia"
"Bulgaria","Eastern Europe"
"Burkina Faso","West Africa"
"Cabo Verde","West Africa"
"Cambodia","South-East Asia"
"Cameroon","Central Africa"
"Canada","North America"
"Central African Republic","Central Africa"
"Chad","Central Africa"
"Chile","South America"
"China","East Asia"
"Colombia","South America"
"Congo","Central Africa"
"Costa Rica","Central America"
"Cote d'Ivoire","West Africa"
"Croatia","Eastern Europe"
"Cuba","Carribean"
"Cyprus","West Asia"
"Czechia","Eastern Europe"
"Democratic People's Republic of Korea","East Asia"
"Denmark","Northern Europe"
"Djibouti","East Africa"
"Dominica","Carribean"
"Dominican Republic","Carribean"
"Ecuador","South America"
"Egypt","North Africa"
"El Salvador","Central America"
"Eritrea","East Africa"
"Estonia","Eastern Europe"
"Ethiopia","East Africa"
"Fiji","Melanesia"
"Finland","Northern Europe"
"France","Western Europe"
"French Polynesia","Polynesia"
"Gabon","Central Africa"
"Gambia","West Africa"
"Georgia","Eastern Europe"
"Germany","Western Europe"
"Ghana","West Africa"
"Greece","Southern Europe"
"Grenada","Carribean"
"Guatemala","Central America"
"Guinea","West Africa"
"Guinea-Bissau","West Africa"
"Guyana","South America"
"Haiti","Carribean"
"Honduras","Central America"
"Hungary","Eastern Europe"
"India","South Asia"
"Indonesia","South-East Asia"
"Iran (Islamic Republic of)","South Asia"
"Iraq","West Asia"
"Ireland","Northern Europe"
"Israel","West Asia"
"Italy","Southern Europe"
"Jamaica","Carribean"
"Japan","East Asia"
"Jordan","West Asia"
"Kazakhstan","West Asia"
"Kenya","East Africa"
"Kiribati","Micronesia"
"Kuwait","West Asia"
"Kyrgyzstan","West Asia"
"Lao People's Democratic Republic","South-East Asia"
"Latvia","Eastern Europe"
"Lebanon","West Asia"
"Lesotho","South Africa"
"Liberia","West Africa"
"Lithuania","Eastern Europe"
"Luxembourg","Western Europe"
"Madagascar","East Africa"
"Malawi","East Africa"
"Malaysia","South-East Asia"
"Maldives","South Asia"
"Mali","West Africa"
"Malta","Southern Europe"
"Mauritania","West Africa"
"Mauritius","East Africa"
"Mexico","Central America"
"Mongolia","East Asia"
"Montenegro","Eastern Europe"
"Morocco","North Africa"
"Mozambique","East Africa"
"Myanmar","South-East Asia"
"Namibia","South Africa"
"Nepal","South Asia"
"Netherlands","Western Europe"
"New Caledonia","Melanesia"
"New Zealand","Australia & NZ"
"Nicaragua","Central America"
"Niger","West Africa"
"Nigeria","West Africa"
"Norway","Northern Europe"
"Oman","West Asia"
"Pakistan","South Asia"
"Panama","Central America"
"Paraguay","South America"
"Peru","South America"
"Philippines","South-East Asia"
"Poland","Eastern Europe"
"Portugal","Southern Europe"
"Republic of Korea","East Asia"
"Republic of Moldova","Eastern Europe"
"Romania","Eastern Europe"
"Russian Federation","Eastern Europe"
"Rwanda","East Africa"
"Saint Kitts and Nevis","Carribean"
"Saint Lucia","Carribean"
"Saint Vincent and the Grenadines","Carribean"
"Samoa","Polynesia"
"Sao Tome and Principe","Central Africa"
"Saudi Arabia","West Asia"
"Senegal","West Africa"
"Serbia","Eastern Europe"
"Sierra Leone","West Africa"
"Slovakia","Eastern Europe"
"Slovenia","Eastern Europe"
"Solomon Islands","Melanesia"
"Somalia","East Africa"
"South Africa","South Africa"
"South Sudan","East Africa"
"Spain","Southern Europe"
"Sri Lanka","South Asia"
"Sudan","North Africa"
"Suriname","South America"
"Swaziland","South Africa"
"Sweden","Northern Europe"
"Switzerland","Western Europe"
"Tajikistan","West Asia"
"Thailand","South-East Asia"
"The former Yugoslav Republic of Macedonia","Eastern Europe"
"Togo","West Africa"
"Trinidad and Tobago","Carribean"
"Tunisia","North Africa"
"Turkey","West Asia"
"Turkmenistan","West Asia"
"Uganda","East Africa"
"Ukraine","Eastern Europe"
"United Arab Emirates","West Asia"
"United Kingdom","Northern Europe"
"United Republic of Tanzania","East Africa"
"United States of America","North America"
"Uruguay","South America"
"Uzbekistan","West Asia"
"Vanuatu","Melanesia"
"Venezuela (Bolivarian Republic of)","South America"
"Viet Nam","South-East Asia"
"Yemen","West Asia"
"Zambia","East Africa"
"Zimbabwe","East Africa"
This diff is collapsed.
...@@ -13,6 +13,7 @@ import ac.ed.lurg.country.StockReader; ...@@ -13,6 +13,7 @@ import ac.ed.lurg.country.StockReader;
import ac.ed.lurg.landuse.CropUsageData; import ac.ed.lurg.landuse.CropUsageData;
import ac.ed.lurg.types.CropToDoubleMap; import ac.ed.lurg.types.CropToDoubleMap;
import ac.ed.lurg.types.CropType; import ac.ed.lurg.types.CropType;
import ac.ed.lurg.types.Parameter;
import ac.ed.lurg.utils.LogWriter; import ac.ed.lurg.utils.LogWriter;
public class InternationalMarket { public class InternationalMarket {
...@@ -67,8 +68,9 @@ public class InternationalMarket { ...@@ -67,8 +68,9 @@ public class InternationalMarket {
GlobalPrice prevPrice = worldPrices.get(crop); GlobalPrice prevPrice = worldPrices.get(crop);
double imports = totalImportCommodities.containsKey(crop) ? totalImportCommodities.get(crop) : 0.0; double imports = totalImportCommodities.containsKey(crop) ? totalImportCommodities.get(crop) : 0.0;
double exportsBeforeTransportLosses = totalExportCommodities.containsKey(crop) ? totalExportCommodities.get(crop) : 0.0; double exportsBeforeTransportLosses = totalExportCommodities.containsKey(crop) ? totalExportCommodities.get(crop) : 0.0;
double previousStockLevel = stockLevel.get(crop); double previousStockLevel = stockLevel.get(crop);
GlobalPrice adjustedPrice = prevPrice.createWithUpdatedMarketPrices(imports, exportsBeforeTransportLosses, exportsBeforeTransportLosses * ModelConfig.TRANSPORT_LOSSES, (ModelConfig.MARKET_ADJ_PRICE), timestep); double transportLossRate=(!ModelConfig.SHOCKS_POSSIBLE) ? ModelConfig.TRANSPORT_LOSSES : ModelConfig.getParameter(Parameter.TRANSPORT_LOSSES, timestep.getYear());
GlobalPrice adjustedPrice = prevPrice.createWithUpdatedMarketPrices(imports, exportsBeforeTransportLosses, exportsBeforeTransportLosses * transportLossRate, (ModelConfig.MARKET_ADJ_PRICE), timestep);
LogWriter.println( String.format("Price for %s updated from %s (imports amount %.0f, exports amount %.0f) to %s ", LogWriter.println( String.format("Price for %s updated from %s (imports amount %.0f, exports amount %.0f) to %s ",
crop.getGamsName(), prevPrice, imports, adjustedPrice.getExportsAfterTransportLosses(), adjustedPrice)); crop.getGamsName(), prevPrice, imports, adjustedPrice.getExportsAfterTransportLosses(), adjustedPrice));
worldPrices.put(crop, adjustedPrice); worldPrices.put(crop, adjustedPrice);
......
...@@ -31,11 +31,11 @@ public class GlobalPrice { ...@@ -31,11 +31,11 @@ public class GlobalPrice {
int currentYear = timestep.getYear(); int currentYear = timestep.getYear();
double tradeBarrierMultiplier = (!ModelConfig.SHOCKS_POSSIBLE)? ModelConfig.TRADE_BARRIER_MULTIPLIER: ModelConfig.getParameter(Parameter.TRADE_BARRIER_MULTIPLIER, currentYear); double tradeBarrierMultiplier = (!ModelConfig.SHOCKS_POSSIBLE)? ModelConfig.TRADE_BARRIER_MULTIPLIER: ModelConfig.getParameter(Parameter.TRADE_BARRIER_MULTIPLIER, currentYear);
double transportLosses =(!ModelConfig.SHOCKS_POSSIBLE) ? ModelConfig.TRANSPORT_LOSSES : ModelConfig.getParameter(Parameter.TRANSPORT_LOSSES, currentYear); double transportLossesRate =(!ModelConfig.SHOCKS_POSSIBLE) ? ModelConfig.TRANSPORT_LOSSES : ModelConfig.getParameter(Parameter.TRANSPORT_LOSSES, currentYear);
double transportCosts = (!ModelConfig.SHOCKS_POSSIBLE) ? ModelConfig.TRANSPORT_COST : ModelConfig.getParameter(Parameter.TRANSPORT_COST, currentYear); double transportCosts = (!ModelConfig.SHOCKS_POSSIBLE) ? ModelConfig.TRANSPORT_COST : ModelConfig.getParameter(Parameter.TRANSPORT_COST, currentYear);
double importPrice = exportPrice * (1 + transportCosts) * (1.0 + countryTradeBarrier*tradeBarrierMultiplier) double importPrice = exportPrice * (1 + transportCosts) * (1.0 + countryTradeBarrier*tradeBarrierMultiplier)
/ (1.0 - transportLosses); / (1.0 - transportLossesRate);
return importPrice; return importPrice;
} }
......
...@@ -25,7 +25,7 @@ public class YieldShockManager { ...@@ -25,7 +25,7 @@ public class YieldShockManager {
public YieldShockManager (RasterHeaderDetails desiredProjection) { public YieldShockManager (RasterHeaderDetails desiredProjection) {
this.desiredProjection = desiredProjection; this.desiredProjection = desiredProjection;
String shockFile = ModelConfig.YIELDSHOCKS_PARAMETER_FILE; String shockFile = ModelConfig.YIELDSHOCKS_PARAMETER_FILE;
yieldShockReader = new StringTabularReader(",", new String[]{"year", "mapFilename", "crop", "shockFactor"}); yieldShockReader = new StringTabularReader(",", new String[]{"year", "mapFilename", "crop", "shockFactor", "region"});
if (new File(shockFile).isFile()) if (new File(shockFile).isFile())
yieldShockReader.read(shockFile); yieldShockReader.read(shockFile);
...@@ -73,7 +73,7 @@ public class YieldShockManager { ...@@ -73,7 +73,7 @@ public class YieldShockManager {
adjustForShocks(yieldShockMap, yieldRaster, crop, shockFactor); adjustForShocks(yieldShockMap, yieldRaster, crop, shockFactor);
} }
else { else {
CropType crop = CropType.getForGamsName(cropTypeS); CropType crop = CropType.getForFaoName(cropTypeS);
adjustForShocks(yieldShockMap, yieldRaster, crop, shockFactor); adjustForShocks(yieldShockMap, yieldRaster, crop, shockFactor);
} }
} }
......
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