Model evolution


The core model, maintained by the project has undergone several iterations. This has been both due to requirements for new functionality and usability.  This evolution will continue as new component blocks are added, bugs are fixed and new additions made. Below is a summary of some of those changes by release.

Model 2008

 Featured:

-- Ensures capacity adequecy, demand & balance of energy
-- multiple technologies allowed
-- multiple energy demands allowed (all with specified time-slice distribution)
-- Operating & capital costs of technologies included
-- Limitless time-slices allowed
-- Multiple fuels allowed
-- Availability and capacity factors can be assigned to  technologies
-- Salvage Cost calculations included for technologies that outlive the model period
-- Each technology is allowed two modes of operation - or any combination thereof.

Model 2009

Added features

-- Any number of emissions  can be accounted for
-- A limitless number of activities per technology are allowed
-- Different discount factors for the start of the year (investment) and middle of the year (penalties and operating costs) are added
-- The activities of technologies can be limited on an annual or model period level
-- A reserve margin constraint for one fuel is added
-- A % production RE Target is allowed
-- Total Capacity constraints are added by year, or model period
-- Investment Constraints are added by year

Model 2010/2/4

Added features
-- Demands with no specific time-slice profile are allowed -- Sets of capacities are now given the option of either to meeting average annual demand or peak demand in the year.

Model 2010/2/11

Added features
-- Can use different units for capacity and energy flow data


Model 2011/1/1

Changes and bug fixes were introduced to make the model more usable.

Changes in nomenclature
All sets CAPITALISED (2010 SteerCom recommendation)
All plain English descriptions, formulations and code are coded and cross referenced.
Bug Fixes (Note that all equations are labelled (see the model code))
(1) Corrects a bug calculating the OC1 and OC2 operating cost:
--------------------------------------------------------------
s.t. OC1_OperatingCostsVariable{y in YEAR,l in TIMESLICE, t in TECHNOLOGY, r in REGION}: sum{m in MODE_OF_OPERATION}
AverageAnnualTechnologyActivityByMode[y,t,m,r]*VariableCost[y,t,m,r] = VariableOperatingCost[y,l,t,r];
was changed to:
s.t. OC1_OperatingCostsVariable{y in YEAR, t in TECHNOLOGY, r in REGION}: sum{m in MODE_OF_OPERATION} TotalAnnualTechnologyActivityByMode[y,t,m,r]*VariableCost[y,t,m,r] = AnnualVariableOperatingCost[y,t,r];
s.t. OC2_OperatingCostsVariableAnnual{y in YEAR,t in TECHNOLOGY, r in REGION}: sum {l in TIMESLICE} VariableOperatingCost[y,l,t,r] = AnnualVariableOperatingCost[y,t,r];
is now deleted and the numbering is updated and changed.
New numbering and code is as follows:
s.t. OC1_OperatingCostsVariable{y in YEAR,l in TIMESLICE, t in TECHNOLOGY, r in REGION}: sum{m in MODE_OF_OPERATION} AverageAnnualTechnologyActivityByMode[y,t,m,r]*VariableCost[y,t,m,r] = AnnualVariableOperatingCost[y,t,r];
s.t. OC2_OperatingCostsFixedAnnual{y in YEAR,t in TECHNOLOGY, r in REGION}: TotalCapacityAnnual[y,t,r]*FixedCost[y,t,r] = AnnualFixedOperatingCost[y,t,r];
s.t. OC3_OperatingCostsTotalAnnual{y in YEAR,t in TECHNOLOGY,r in REGION}: AnnualFixedOperatingCost[y,t,r]+AnnualVariableOperatingCost[y,t,r] = OperatingCost[y,t,r];
s.t. OC4_DiscountedOperatingCostsTotalAnnual{y in YEAR, t in TECHNOLOGY, r in REGION}: OperatingCost[y,t,r]/((1+DiscountRate[t,r])^(y-StartYear+0.5)) = DiscountedOperatingCost[y,t,r];
(2) Also,changed:
---------------------------
AverageAnnualTechnologyActivityByMode for TotalAnnualTechnologyActivityByMode in all code.
(3) Corrected equation Acc3
---------------------------
from:
s.t. Acc3_AverageAnnualRateOfActivity{y in YEAR,l in TIMESLICE, t in TECHNOLOGY, m in MODE_OF_OPERATION, r in REGION}: RateOfActivity[y,l,t,m,r]*YearSplit[y,l] = AverageAnnualTechnologyActivityByMode[y,t,m,r];
to
s.t. Acc3_AverageAnnualRateOfActivity{y in YEAR,t in TECHNOLOGY, m in MODE_OF_OPERATION, r in REGION}: sum{l in TIMESLICE} RateOfActivity[y,l,t,m,r]*YearSplit[y,l] = TotalAnnualTechnologyActivityByMode[y,t,m,r];

 

Make a Free Website with Yola.