Fixed utility function.
@@ -179,7 +179,7 @@ public class DICEModel implements ClimateModel {
/*
* Abatement cost
*/
- double abatementCost = abatementCostFunction.apply(time, abatement[i]);
+ double abatementCost = abatementCostFunction.apply(time, abatement[i]) * emissionIntensityFunction.apply(time);
/*
* Evolve economy to i+1
@@ -209,7 +209,7 @@ public class DICEModel implements ClimateModel {
*/
double alpha = 1.45; // Elasticity of marginal utility of consumption (GAMS elasmu)
double C = consumption;
- double utility = L*Math.pow(C / (L/1000),1-alpha)/(1-alpha);
+ double utility = L*(Math.pow(C / (L/1000),1-alpha)-1)/(1-alpha);
/*
* Discounted utility
