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:

\[Location\; Based\; Emissions_{GHG,\, fuel} = \frac{Steam\; Purchased_{fuel} \cdot Location\; Based\; Emission\; Factor_{GHG,\, fuel}}{Boiler\; Efficiency}\]
\[Market\; Based\; Emissions_{GHG,\, fuel} = \frac{Steam\; Purchased_{fuel} \cdot Market\; Based\; Emission\; Factor_{GHG,\, fuel}}{Boiler\; Efficiency}\]

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:

\[\text{CO}_2\; Equivalent\; Emissions_{method, GHG} = \sum_{n=1}^{\infty} Total\; Emissions\; for\; All\; Sources_{method, GHG} \cdot GWP_{GHG}\]

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

IPCC2006_V2CH2(1,2)

IPCC, 2006: 2006 IPCC Guidelines for National Greenhouse Gas Inventories, Volume 2: Energy, Chapter 2: Stationary Combustion