onstove.Electricity#

class onstove.Electricity(name: str | None = None, carbon_intensity: str | None = None, energy_content: float = 3.6, tech_life: int = 10, inv_cost: float = 36.3, connection_cost: float = 0, grid_capacity_cost: float = None, fuel_cost: float = 0.1, time_of_cooking: float = 1.8, om_cost: float = 3.7, efficiency: float = 0.85, pm25: float = 32, grid_cost_factor: float = 1)[source]#

Electricity technology class used to model electrical stoves.

This class inherits the standard Technology class and is used to model electrical stoves.

Parameters:
name: str, optional

Name of the technology to model.

carbon_intensity: float, optional

The CO2 equivalent emissions in kg/GJ of burned fuel. If this attribute is used, then none of the gas-specific intensities will be used (e.g. ch4_intensity).

energy_content: float, default 3.6

Energy content in MJ/kWh.

tech_life: int, default 10

Stove life in years.

connection_cost: float, defualt 0

Cost of strengthening a household connection to enable electrical cooking.

grid_capacity_cost: float, optional

Cost of added capacity to the grid (USD/kW)

inv_cost: float, default 36.3

Investment cost of the stove in USD.

fuel_cost: float, default 0.1

Fuel cost in USD/kWh if any.

time_of_cooking: float, default 1.8

Daily average time spent for cooking with this stove in hours.

om_cost: float, default 3.7

Operation and maintenance cost in USD/year.

efficiency: float, default 0.85

Efficiency of the stove.

pm25: float, default 32

Particulate Matter emissions (PM25) in mg/kg of fuel.

Attributes:
carbon_intensities: dict

Carbon intensities of the different power plants used in the electricity generation mix.

grid_capacity_costs: dict

Costs of adding capacity of the different power plants used in the generation mix.

grid_techs_life: dict

Technology life of the different power plants used in the generation mix.

Methods

adjusted_pm25()

Adjusts the PM25 value of each stove based on the adjusment factor.

carb(model)

This method expands Technology.carbon() when electricity is the fuel used

carbon_emissions(model)

Calculates the reduced emissions and the costs avoided by reducing these emissions.

discount_factor(specs)

Calculates and returns the discount factor used for benefits and costs in the net-benefit equation.

discount_fuel_cost(model[, relative])

Calls discount_factor function and calculates discounted fuel costs.

discounted_inv(model[, relative])

This method expands Technology.discounted_inv() by adding connection and added capacity costs.

discounted_om(model)

Calls discount_factor function and calculates discounted operation and maintenance cost for each stove.

get_capacity_cost(model)

This method determines the cost of electricity for each added unit of capacity (kW).

get_carbon_intensity(model)

This function determines the carbon intensity of generated electricity based on the power plant mix in the area of interest.

get_grid_capacity_cost()

This function determines the grid capacity cost in the area of interest and assigns it to the grid_capacity_cost attribute of the Electricity class.

grid_salvage(model[, single])

This method determines the salvage cost of the grid connected power plants.

health_parameters(model)

Calculates the population attributable fraction for ALRI, COPD, IHD, lung cancer or stroke for urban and rural settlements of the area of interest.

morbidity(model)

Calculates the morbidity across the study area per stove by calling the mort_morb function.

mort_morb(model[, parameter, dr])

Calculates mortality or morbidity rate per fuel.

mortality(model)

Calculates the mortality across the study area per stove by calling the mort_morb function.

net_benefit(model[, w_health, w_spillovers, ...])

This method expands Technology.net_benefit() by taking into account electricity availability in the calculations.

normalize(column[, inverse])

Uses the MinMax method to normalize the data from a column of the gdf GeoDataFrame.

paf(rr, sfu)

Calculates the Population Attributable Fraction for (PAF) ALRI, COPD, IHD, lung cancer or stroke based on the percentage of population using non-clean stoves and the relative risk.

relative_risk()

Calculates the relative risk of contracting ALRI, COPD, IHD, lung cancer or stroke based on the adjusted

required_energy(model)

Calculates the annual energy needed for cooking in MJ/yr.

salvage(model)

Calls discount_factor function and calculates discounted salvage cost for each stove assuming a straight-line depreciation of the stove value.

time_saved(model)

Calculates time saved per year by adopting a new stove.

total_costs()

Calculates total costs (fuel, investment, operation and maintenance as well as salvage costs).

total_time(model)

Calculates total time used per year by taking into account time of cooking and time of fuel collection (if relevant).