diff --git a/src/ac/ed/lurg/ModelConfig.java b/src/ac/ed/lurg/ModelConfig.java index 7bc299851cd7690514149263ab3d467b6305c298..accc3f6480009e7842a443eb4854155a4c85892e 100755 --- a/src/ac/ed/lurg/ModelConfig.java +++ b/src/ac/ed/lurg/ModelConfig.java @@ -263,8 +263,10 @@ public class ModelConfig { public static final String SERIALIZED_LAND_USE_FILE = CALIB_DIR + File.separator + SERIALIZED_LAND_USE_FILENAME; public static final String SERIALIZED_CROP_USAGE_FILE = CALIB_DIR + File.separator + SERIALIZED_CROP_USAGE_FILENAME; public static final String SERIALIZED_INTERNATIONAL_MARKET_FILE = CALIB_DIR + File.separator + SERIALIZED_INTERNATIONAL_MARKET_FILENAME; - public static final String SERIALIZED_PRICE_MARKUP_FILE = CALIB_DIR + File.separator + "priceMarkups.ser"; + public static final String SERIALIZED_PRICE_MARKUP_FILENAME = "priceMarkups.ser"; + public static final String SERIALIZED_PRICE_MARKUP_FILE = CALIB_DIR + File.separator + SERIALIZED_PRICE_MARKUP_FILENAME; public static final String CHECKPOINT_LAND_USE_FILE = getProperty("CHECKPOINT_LAND_USE_FILE", OUTPUT_DIR + File.separator + SERIALIZED_LAND_USE_FILENAME); + public static final String CHECKPOINT_PRICE_MARKUP_FILE = getProperty("CHECKPOINT_PRICE_MARKUP_FILE", OUTPUT_DIR + File.separator + SERIALIZED_PRICE_MARKUP_FILENAME); public static final String CHECKPOINT_CROP_USAGE_FILE = getProperty("CHECKPOINT_CROP_USAGE_FILE", OUTPUT_DIR + File.separator + SERIALIZED_CROP_USAGE_FILENAME); public static final String CHECKPOINT_INTERNATIONAL_MARKET_FILE = getProperty("CHECKPOINT_INTERNATIONAL_MARKET_FILE", OUTPUT_DIR + File.separator + SERIALIZED_INTERNATIONAL_MARKET_FILENAME); diff --git a/src/ac/ed/lurg/ModelMain.java b/src/ac/ed/lurg/ModelMain.java index b52991690c2f91d3c9ab457e075eed31d982fa85..653d195d790ba749a6b3c30310f8120491b26243 100644 --- a/src/ac/ed/lurg/ModelMain.java +++ b/src/ac/ed/lurg/ModelMain.java @@ -553,7 +553,7 @@ public class ModelMain { private void serializePriceMarkUps() { try { if(demandManager instanceof ElasticDemandManager) { - String fileStr = ModelConfig.SERIALIZED_PRICE_MARKUP_FILE; + String fileStr = ModelConfig.IS_CALIBRATION_RUN ? ModelConfig.SERIALIZED_PRICE_MARKUP_FILE : ModelConfig.CHECKPOINT_PRICE_MARKUP_FILE; LogWriter.println("Starting serializing PriceMarkUps to " + fileStr); FileOutputStream fileOut = new FileOutputStream(fileStr); ObjectOutputStream out = new ObjectOutputStream(fileOut); diff --git a/src/ac/ed/lurg/demand/ElasticDemandManager.java b/src/ac/ed/lurg/demand/ElasticDemandManager.java index 61acae2d029ef234c20860ad5f23767d80a68a3c..f0694b4dd44ad7d9c751414647595ecd3cd0d163 100755 --- a/src/ac/ed/lurg/demand/ElasticDemandManager.java +++ b/src/ac/ed/lurg/demand/ElasticDemandManager.java @@ -49,10 +49,7 @@ public class ElasticDemandManager extends AbstractSSPDemandManager { double producerPrice = producerPricePlum * (1000/kcalPerT.get(commodity) * 2000 *365); //price per person per year commodity x per year assuming 2000 kcal a day double consumerPrice = priceMarkups.markedupPrice(c, commodity, producerPrice); - consumerPrices.put(commodity, consumerPrice); - LogWriter.println("Consumer price for " + commodity.getGamsName() + " is " + consumerPrice); - } GamsDemandInput inputData = new GamsDemandInput(c, year, gdpPc, consumerPrices,kcalPerT, usaGdpPc, previousGamsDemands.get(c)); diff --git a/src/ac/ed/lurg/demand/PriceMarkUps.java b/src/ac/ed/lurg/demand/PriceMarkUps.java index 8520139db7fb7a7a822ab28a23a5f103b25ed517..c5e333203422229be48086843fffce0898e9761c 100644 --- a/src/ac/ed/lurg/demand/PriceMarkUps.java +++ b/src/ac/ed/lurg/demand/PriceMarkUps.java @@ -24,6 +24,11 @@ public class PriceMarkUps implements Serializable { return intialConsumerPrices; } + @Override + public String toString() { + return "PriceMarkUps [" + priceMarkupFactors + "]"; + } + public double markedupPrice(SingleCountry c, CommodityType commodity, double producerPrice) { CountryCommodityKey cc = new CountryCommodityKey(c, commodity); Double priceMarkupFactor = priceMarkupFactors.get(cc); @@ -36,6 +41,8 @@ public class PriceMarkUps implements Serializable { } double adjustedPrice = producerPrice * priceMarkupFactor; + LogWriter.println(String.format("PriceMarkUps: %s consumer price after markup of %.4f is %.4f", commodity, priceMarkupFactor, adjustedPrice)); + return adjustedPrice; } @@ -98,5 +105,10 @@ public class PriceMarkUps implements Serializable { private PriceMarkUps getOuterType() { return PriceMarkUps.this; } + + @Override + public String toString() { + return "[" + country + ", " + commodity + "]"; + } } }