Class EmissionsTracker

java.lang.Object
neqsim.process.sustainability.EmissionsTracker
All Implemented Interfaces:
Serializable

public class EmissionsTracker extends Object implements Serializable
Tracks CO2 equivalent emissions and energy consumption for a ProcessSystem.

This class provides comprehensive sustainability metrics for process systems:

  • CO2e Emissions: Per equipment and system-wide accounting
  • Energy Consumption: Power breakdown by equipment type
  • Flaring Emissions: Direct and cumulative CO2 from flaring
  • Regulatory Reporting: Export formats for EU ETS, EPA, etc.

Usage Example:

ProcessSystem process = new ProcessSystem();
// ... configure process ...
process.run();

EmissionsTracker tracker = new EmissionsTracker(process);
EmissionsReport report = tracker.calculateEmissions();

System.out.println("Total CO2e: " + report.getTotalCO2e("kg/hr") + " kg/hr");
System.out.println("Flaring: " + report.getFlaringCO2e("kg/hr") + " kg/hr");
System.out.println("Power consumption: " + report.getTotalPower("MW") + " MW");

// Export for regulatory compliance
report.exportToCSV("emissions_report.csv");
Version:
1.0
Author:
ESOL
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      See Also:
    • processSystem

      private final ProcessSystem processSystem
    • gridEmissionFactor

      private double gridEmissionFactor
    • naturalGasEmissionFactor

      private double naturalGasEmissionFactor
    • includeIndirectEmissions

      private boolean includeIndirectEmissions
    • trackingStartTime

      private Instant trackingStartTime
    • history

  • Constructor Details

    • EmissionsTracker

      public EmissionsTracker(ProcessSystem processSystem)
      Creates an emissions tracker for a process system.
      Parameters:
      processSystem - the process system to track
  • Method Details

    • calculateEmissions

      public EmissionsTracker.EmissionsReport calculateEmissions()
      Calculates current emissions from the process system.
      Returns:
      an EmissionsReport with detailed breakdown
    • recordSnapshot

      public void recordSnapshot()
      Records a snapshot of emissions for time-series tracking.
    • getCumulativeCO2e

      public double getCumulativeCO2e()
      Gets cumulative emissions over the tracking period.
      Returns:
      cumulative CO2e in kg
    • calculateEquipmentEmissions

      private EmissionsTracker.EquipmentEmissions calculateEquipmentEmissions(ProcessEquipmentInterface equipment)
    • getGridEmissionFactor

      public double getGridEmissionFactor()
    • setGridEmissionFactor

      public void setGridEmissionFactor(double factor)
      Sets the grid emission factor for indirect emissions calculation.
      Parameters:
      factor - kg CO2 per kWh of electricity
    • getNaturalGasEmissionFactor

      public double getNaturalGasEmissionFactor()
    • setNaturalGasEmissionFactor

      public void setNaturalGasEmissionFactor(double factor)
      Sets the natural gas combustion emission factor.
      Parameters:
      factor - kg CO2 per Sm3 natural gas
    • isIncludeIndirectEmissions

      public boolean isIncludeIndirectEmissions()
    • setIncludeIndirectEmissions

      public void setIncludeIndirectEmissions(boolean include)
    • getHistory