Sustainability

CO2 Emissions Calculations

Cumulative CO2 Production

indsl.sustainability.co2_emissions_calculations.cumulative_co2_production(rate_of_emissions: Series, start_date: Timestamp | None = None) Series

Cumulative CO2 production.

This function calculates the total CO2 production according to the rate of emissions. The total is calculated by performing trapezoidal integration over time (granularity of 1 hour). The rate of emissions is resampled to 1-hour granularity accordingly. If no start time is specified, it will default to the start of the current year.

Parameters:
  • rate_of_emissions – Rate of CO2 released over time [mass/time].

  • start_date – Start date to begin cumulative calculation.

Returns:

Cumulative CO2 emissions

Return type:

pandas.Series

Cumulative CO2 Cost

indsl.sustainability.co2_emissions_calculations.cumulative_co2_cost(data: Series, co2_cost_factor: float, emissions_factor: float, start_date: Timestamp | None = None) Series

Cumulative CO2 cost.

This function calculates the cumulative cost of CO2 for either a combustor or power consumer. It calculates the rate of CO2 emitted and then uses that to calculate total CO2 emitted. This is then multiplied by the cost factor to get the total cumulative cost. Note that the co2_cost_factor, emissions_factor, and data must have consistent units to generate a currency output.

Parameters:
  • data – Power consumption or fuel consumption.

  • co2_cost_factor – Cost per mass of CO2 emitted.

  • emissions_factor – Mass of CO2 emitted per mass, volume, or energy of power source consumed.

  • start_date – Start date to begin cumulative calculation.

Returns:

Cumulative cost of CO2 emissions

Return type:

pandas.Series

Rate of CO2 Emissions

indsl.sustainability.co2_emissions_calculations.rate_of_emissions(data: Series, emissions_factor: float) Series

Rate of emissions.

This function calculates the rate of emissions generated by a power consumer or a combustor.

\[\mathrm{Rate\ of\ emissions = Emissions\ Factor \times Power\ (or\ Fuel\ Flow\ Rate)}\]

The units for the time series and the emissions factor should be consistent to deliver an expected unit for the output in kg (or tonnes) CO2/time.

Parameters:
  • data – Time series representing either power or rate of fuel consumption.

  • emissions_factor – CO2 emitted per unit of energy, mass, or volume.

Returns:

Rate of emissions.

Return type:

pandas.Series

Emissions Factor for Combustor

indsl.sustainability.co2_emissions_calculations.emissions_factor_combustor(emissions_factor: float | None = None, heating_value: float | None = None, carbon_content: float | None = None) float

Combustor emissions factor.

This function calculates the emissions factor of a combustor (e.g., gas turbine, flare, etc.). Three different methods can be used to perform this calculation:

  • Method 1: Specify the emissions factor in CO2 emitted per mass or volume unit.

  • Method 2: Specify the emissions factor in CO2 per energy unit and convert it to mass or volume rate using the heating value.

\[\mathrm{EF [per\ mass\ or\ volume\ of\ fuel] = EF [per\ unit\ of\ energy] \times Heating\ Value}\]
  • Method 3: Specify the carbon content of the fuel and use that as the emissions factor.

Parameters:
  • emissions_factor – CO2 emitted either per mass, volume or energy unit.

  • heating_value – This can be either the lower or higher heating value depending on the country’s legal requirements.

  • carbon_content – Carbon content of fuel (mass of carbon by mass or volume of fuel).

Returns:

Emissions factor in per mass or volume unit

Return type:

float