Myopic Transformation Pathways

Descriptions of the basic functions are given below.

Function descriptions:

Last edited: February 11, 2020

@author: FINE Developer Team (FZJ IEK-3)

transformationPath.optimizeSimpleMyopic(esM, startYear, endYear=None, nbOfSteps=None, nbOfRepresentedYears=None, timeSeriesAggregation=True, numberOfTypicalPeriods=7, numberOfTimeStepsPerPeriod=24, logFileName='', threads=3, solver='gurobi', timeLimit=None, optimizationSpecs='', warmstart=False, CO2Reference=366, CO2ReductionTargets=None, saveResults=True, trackESMs=True)[source]

Optimization function for myopic approach. For each optimization run, the newly installed capacities will be given as a stock (with capacityFix) to the next optimization run.

  • esM (esM - EnergySystemModel instance) – EnergySystemModel instance representing the energy system which should be optimized by considering the transformation pathway (myopic foresight).
  • startYear (int) – year of the first optimization

Default arguments:

  • endYear (int) – year of the last optimization
  • nbOfSteps (int or None) –
    number of optimization runs excluding the start year
    (minimum number of optimization runs is 2: one optimization for the start year and one for the end year).

    * the default value is None

  • noOfRepresentedYears – number of years represented by one optimization run
    * the default value is None
  • timeSeriesAggregation (boolean) – states if the optimization of the energy system model should be done with (a) the full time series (False) or (b) clustered time series data (True).
    * the default value is False
  • numberOfTypicalPeriods (strictly positive integer) – states the number of typical periods into which the time series data should be clustered. The number of time steps per period must be an integer multiple of the total number of considered time steps in the energy system. This argument is used if timeSeriesAggregation is set to True. Note: Please refer to the tsam package documentation of the parameter noTypicalPeriods for more information.
    * the default value is 7
  • numberOfTimeStepsPerPeriod (strictly positive integer) – states the number of time steps per period
    * the default value is 24
  • CO2Reference (float) – gives the reference value of the CO2 emission to which the reduction should be applied to. The default value refers to the emissions of 1990 within the electricity sector (366kt CO2_eq)
    * the default value is 366
  • CO2ReductionTargets (list of strictly positive integer or None) – specifies the CO2 reduction targets for all optimization periods. If specified, the length of the list must equal the number of optimization steps, and an object of the sink class which counts the CO2 emission is required.
    * the default value is None
  • saveResults (boolean) – specifies if the results are saves in excelfiles or not.
    * the default value is True
  • trackESMs (boolean) – specifies if the energy system model instances of each model run should be stored in a dictionary or not. It´s not recommended to track the ESMs if the model is quite big.
    * the default value is True


Returns myopicResults:
 Store all optimization outputs in a dictionary for further analyses. If trackESMs is set to false, nothing is returned.
Rtype myopicResults:
 dict of all optimized instances of the EnergySystemModel class or None.

Last edited: February 14, 2020
@author: FINE Developer Team (FZJ IEK-3)

transformationPath.getStock(esM, mileStoneYear, nbOfRepresentedYears)[source]

Function for determining the stock of all considered technologies for the next optimization period. If the technical lifetime is expired, the fixed capacities of the concerned components are set to 0.

  • mileStoneYear (int) – Last year of the optimization period
  • nbOfRepresentativeYears (int) – Number of years within one optimization period.
Return esM:

EnergySystemModel instance including the installed capacities of the previous optimization runs.

Return type:

EnergySystemModel instance

Last edited: February 11, 2020
@author: FINE Developer Team (FZJ IEK-3)