energy_demand.technologies package

Submodules

energy_demand.technologies.diffusion_technologies module

Funtions related to the diffusion of technologies

energy_demand.technologies.diffusion_technologies.linear_diff(base_yr, curr_yr, value_start, value_end, yr_until_changed)[source]

Calculate a linear diffusion for a current year. If the current year is identical to the base year, the start value is returned

Parameters
  • base_yr (int) – The year of the current simulation

  • curr_yr (int) – The year of the current simulation

  • value_start (float) – Fraction of population served with fuel_enduse_switch in base year

  • value_end (float) – Fraction of population served with fuel_enduse_switch in end year

  • yr_until_changed (str) – Year until changed is fully implemented

Returns

fract_cy – The fraction in the simulation year

Return type

float

energy_demand.technologies.diffusion_technologies.sigmoid_diffusion(base_yr, curr_yr, end_yr, sig_midpoint, sig_steepness)[source]

Calculates a sigmoid diffusion path of a lower to a higher value with assumed saturation at the end year

Parameters
  • base_yr (int) – Base year of simulation period

  • curr_yr (int) – The year of the current simulation

  • end_yr (int) – The year a fuel_enduse_switch saturaes

  • sig_midpoint (float) – Mid point of sigmoid diffusion function can be used to shift curve to the left or right (standard value: 0)

  • sig_steepness (float) – Steepness of sigmoid diffusion function The steepness of the sigmoid curve (standard value: 1)

Returns

cy_p – The fraction of the diffusion in the current year

Return type

float

Note

It is always assuemed that for the simulation year the share is replaced with technologies having the efficencies of the current year. For technologies which get replaced fast (e.g. lightbulb) this is corret assumption, for longer lasting technologies, this is more problematic (in this case, over every year would need to be iterated and calculate share replaced with efficiency of technology in each year).

Always returns positive value. Needs to be considered for changes in negative

energy_demand.technologies.diffusion_technologies.sigmoid_function(x_value, l_value, midpoint, steepness)[source]

Sigmoid function used for fitting and plotting.

Parameters
  • x_value (float) – X-Value

  • l_value (float) – The curv’es maximum value

  • midpoint (float) – The midpoint x-value of the sigmoid’s midpoint

  • steepness (dict) – The steepness of the curve

Returns

y-value – Y-Value

Return type

float

Warning

Because 2000 is substracted, the start year can not be before 2001.

energy_demand.technologies.fuel_service_switch module

energy_demand.technologies.technological_stock module