Steam¶
Steam is a Scope 2 Emission that accounts for emissions from purchased steam.
Usage¶
- class atomic6ghg.formulas.steam.Steam(wks_data=None)¶
Calculate emissions from purchased gases
- static calculate_location_based_emissions_steam(purchased_amount, fuel_type, location_based_factor, boiler_efficiency_frac, gas_emission)¶
Calculate gas (CO2, CH4, N2O) emissions for a fuel using location based emissions factors
- static calculate_market_based_emissions_steam(purchased_amount, fuel_type, location_based_factor, market_based_factor, boiler_efficiency_frac, gas_emission)¶
Calculate gas (CO2, CH4, N2O) emissions for a fuel using market based emissions factors
- default_boiler_efficiency_frac = 0.8¶
- fuel_types = ['anthraciteCoal', 'bituminousCoal', 'coalCoke', 'distillateFuelOilNo2', 'kerosene', 'landfillGas', 'ligniteCoal', 'liquefiedPetroleumGases', 'mixedElectricPowerSector', 'naturalGas', 'residualFuelOilNo6', 'subBituminousCoal', 'woodAndWoodResiduals']¶
- make_co2_equivalent_emissions_location_based()¶
Calculate location based co2 equivalent emissions
- make_co2_equivalent_emissions_market_based()¶
Calculate market based co2 equivalent emissions
- make_emission_factor_data_for_steam_purchased()¶
Calculate emissions for each user input fuel source (each row)
- make_emissions_by_source_and_fuel_type()¶
Construct emissions_by_source_and_fuel_type table
- recalc(wks_data: dict) dict ¶
Execute recalc procedure for Steam
- to_dict()¶
API to expose _output
- to_json()¶
API to expose _output as JSON
Example Usage¶
Python example code usage:
from atomic6ghg.formulas import Steam
steam_input: dict = {
"version": "steam.1.0.0",
"emissionFactorDataForSteamPurchased": [
{
"sourceId": "BLR-012",
"sourceDescription": "Steam Generator",
"sourceArea": 15000,
"fuelType": "coalCoke",
"boilerEfficiency": 80,
"steamPurchased": 10000,
"locationBasedEmissionFactorsCO2Factor": 0,
"locationBasedEmissionFactorsCH4Factor": 0,
"locationBasedEmissionFactorsN2OFactor": 0,
"marketBasedEmissionFactorsCO2Factor": 0,
"marketBasedEmissionFactorsCH4Factor": 0,
"marketBasedEmissionFactorsN2OFactor": 0
}
]
}
engine = Steam(steam_input)
outputs: dict = engine.to_dict()
print(outputs.get('CO2EquivalentEmissionsLocationBasedElectricityEmissions'))
EPA Equation Analysis¶
Steam allows for inputs of purchased steam quantities for the following fuel types with units of MMBtu:
Source |
---|
Natural Gas |
Distillate Fuel Oil No. 2 |
Residual Fuel Oil No. 6 |
Kerosene |
Anthracite Coal |
Bituminous Coal |
Sub-bituminous Coal |
Lignite Coal |
Mixed (Electric Power Sector) |
Coal Coke |
Wood and Wood Residuals |
Landfill Gas |
The fundamental calculation for each fuel type are their \(Location\; Based\; \text{CO}_2\), \(Location\; Based\; \text{CH}_4\), \(Location\; Based\; \text{N}_2\text{O}\) emissions and their \(Market\; Based\; \text{CO}_2\), \(Market\; Based\; \text{CH}_4\), \(Market\; Based\; \text{N}_2\text{O}\) emissions associated with the steam purchased and based on boiler efficiency. The formulas are:
This equation is derived from Equation 2.1 from [IPCC2006_V2CH2] (see Stationary Combustion), with accounting for \(Boiler\; Efficiency\).
where the default \(Boiler\; Efficiency\) value is 80% if no \(Boiler\; Efficiency\) value is input by the user, the default \(Location\; Based\; Emission\; Factor_{GHG,\, fuel}\) value is the emission factor for that fuel type if no \(Location\; Based\; Emission\; Factor_{GHG,\, fuel}\) value is input by the user, and the default \(Market\; Based\; Emission\; Factor_{GHG,\, fuel}\) value is the \(Location\; Based\; Emission\; Factor_{GHG,\, fuel}\) if no \(Market\; Based\; Emission\; Factor_{GHG,\, fuel}\) value is input by the user.
For steam, the \(\text{CO}_2\; Equivalent\; Emissions_{method}\) in metric tons is calculated based on the Total; Emissions; for; All; Sources_{method, GHG}. The formula is:
This equation is derived from Equation 2.2 from [IPCC2006_V2CH2].
where \(Total\; Emissions\; for\; All\; Sources_{method, GHG}\) are the sums of all the emissions for that \(GHG\) (\(\text{CO}_2\;\), \(\text{CH}_4\), or \(\text{N}_2\text{O}\)) and \(method\) (either \(location\; based\) or \(market\; based\)), and \(GWP_{GHG}\) is the global warming potential of that \(GHG\). Note that in atomic6 the final value of this calculation is divided by \(1000\) to convert this value into \(metric \; tons\).