onstove.LPG#

class onstove.LPG(name: str | None = None, carbon_intensity: float | None = None, co2_intensity: float = 63, ch4_intensity: float = 0.003, n2o_intensity: float = 0.0001, co_intensity: float = 0, bc_intensity: float = 0.0044, oc_intensity: float = 0.0091, energy_content: float = 45.5, tech_life: int = 7, inv_cost: float = 44, fuel_cost: float = 0.73, time_of_cooking: float = 2, om_cost: float = 3.7, efficiency: float = 0.5, pm25: float = 43, travel_time: Series | None = None, truck_capacity: float = 2000, diesel_cost: float = 1.04, diesel_per_hour: float = 14, lpg_path: str | None = None, friction_path: str | None = None, cylinder_cost: float = 2.78, cylinder_life: float = 15)[source]#

LPG technology class used to model LPG stoves.

This class inherits the standard Technology class and is used to model stoves using LPG as fuel. The LPG is assumed to be bought either by the closest vendor or in the closest urban settlement depending on data availability. In the first case a point layer indicating vendors is assumed to be passed to the OnStove after which a least-cost path is determined using a friction map. In the other case it is assumed that the travel time map is passed to OnStove directly.

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 63

The CO2 emissions in kg/GJ of burned fuel.

ch4_intensity: float, default 0.003

The CH4 emissions in kg/GJ of burned fuel.

n2o_intensity: float, default 0.0001

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

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

oc_intensity: float, default 0.0091

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

energy_content: float, default 45.5

Energy content of the fuel in MJ/kg.

tech_life: int, default 7

Stove life in year.

inv_cost: float, default 44

Investment cost of the stove in USD.

fuel_cost: float, default 0.73

Fuel cost in USD/kg.

time_of_cooking: float, default 2

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

Efficiency of the stove.

pm25: float, default 43

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

travel_time: Pandas Series, optional

Pandas Series describing the time needed (in hours) to reach either the closest LPG supply point or urban settlement from each population point. It is either calculated using the LPG supply points, friction layer and population density layer or taken directly from a travel time map.

truck_capacity: float, default 2000

Capacity of the truck carrying the fuel in kg.

diesel_cost: float, 1.04

Cost of diesel used in order to estimate the cost of transportation. Given in USD/liter

diesel_per_hour: float, default 14

Average diesel consumption of the truck carrying the fuel. Measured in liter/h

lpg_path: str, optional

Path to the lpg supply points (point vector file).

friction_path: str, optional

Path to the friction raster file describing the time needed (in minutes) to travel one meter within each cell using motorized transport.

cylinder_cost: float, default 2.78

Cost of LPG cylinder. This is relevant for first time buyers currenty not having access to an LPG cylinder. Given in USD/kg

cylinder_life: float, 15

Lifetime of LPG cylinder, measured in years.

Methods

add_travel_time(model[, lpg_path, ...])

This method calculates the travel time needed to transport LPG.

adjusted_pm25()

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

carb(model)

This method expands Technology.carbon() when LPG is the stove assessed in order to ensure that the

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

This method expands discount_fuel_cost() when LPG is the stove assessed in order to ensure that the transportation costs are included

discounted_inv(model[, relative])

This method expands Technology.discounted_inv() by adding the cylinder cost for households currently not using LPG.

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.

infrastructure_cost(model)

Calculates cost of cylinders for first-time LPG users.

infrastructure_salvage(model, cost, life)

Calculates the salvaged cylinder cost.

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 access to roads (proximity).

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

transport_emissions(model)

Calculates the emissions caused by the transportation of LPG.

transportation_cost(model)

The cost of transporting LPG.