onstove.Technology#

class onstove.Technology(name: str | None = None, carbon_intensity: str | None = None, co2_intensity: float = 0, ch4_intensity: float = 0, n2o_intensity: float = 0, co_intensity: float = 0, bc_intensity: float = 0, oc_intensity: float = 0, energy_content: float = 0, tech_life: int = 0, inv_cost: float = 0, fuel_cost: float = 0, time_of_cooking: float = 0, om_cost: float = 0, efficiency: float = 0, pm25: float = 0, is_base: bool = False, transport_cost: float = 0, is_clean: bool = False, current_share_urban: float = 0, current_share_rural: float = 0, epsilon: float = 0.71)[source]#

Standard technology class used in order to model the different stoves used in the analysis.

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).

co2_intensity: float, default 0

The CO2 emissions in kg/GJ of burned fuel.

ch4_intensity: float, default 0

The CH4 emissions in kg/GJ of burned fuel.

n2o_intensity: float, default 0

The N2O emissions in kg/GJ of burned fuel.

co_intensity: float, default 0

The CO emissions in kg/GJ of burned fuel.

bc_intensity: float, default 0

The black carbon emissions in kg/GJ of burned fuel.

oc_intensity: float, default 0

The organic carbon emissions in kg/GJ of burned fuel.

energy_content: float, default 0

Energy content of the fuel in MJ/kg.

tech_life: int, default 0

Stove life in year.

inv_cost: float, default 0

Investment cost of the stove in USD.

fuel_cost: float, default 0

Fuel cost in USD/kg if any.

time_of_cooking: float, default 0

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

om_cost: float, default 0

Operation and maintenance cost in USD/year.

efficiency: float, default 0

Efficiency of the stove.

pm25: float, default 0

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

is_base: boolean, default False

Boolean determining if a specific stove is the base stove for everyone in the area of interest.

transport_cost: float, default 0

Cost of transportation

is_clean: boolean, default False

Boolean indicating whether the stove is clean or not.

current_share_urban: float, default 0

Current share of the stove assessed in the urban areas of the area of interest.

current_share_rural: float, default 0

Current share of the stove assessed in the rural areas of the area of interest.

epsilon: float, default 0.71

Emissions adjustment factor multiplied with the PM25 emissions.

Methods

adjusted_pm25()

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

carb(model)

Checks if carbon_emission is given in the socio-economic specification file.

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])

Calls discount_factor function and calculates discounted investment cost.

discounted_om(model)

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

get_carbon_intensity(model)

Calculates the carbon intensity of the associated stove.

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 combines all costs and benefits as specified by the user using the weights parameters.

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).