Class DetailedEmissionsCalculator
java.lang.Object
neqsim.process.fielddevelopment.screening.DetailedEmissionsCalculator
- All Implemented Interfaces:
Serializable
Detailed emissions calculator for oil and gas facilities.
This class provides comprehensive greenhouse gas emissions modeling including:
- Scope 1: Direct emissions (combustion, flaring, venting, fugitives)
- Scope 2: Indirect emissions from purchased energy
- Scope 3: Value chain emissions (optional)
- Detailed source breakdown: Equipment-level emissions
- Emission factors: Region and fuel-specific factors
- Regulatory compliance: EU ETS, EPA, IOGP methods
Emission Categories
| Category | Sources | Typical Contribution |
|---|---|---|
| Combustion | Turbines, engines, heaters, boilers | 60-80% |
| Flaring | Safety flare, pilot, process upsets | 5-20% |
| Venting | Cold vents, tank breathing, process vents | 1-10% |
| Fugitive | Leaks from valves, flanges, seals | 0.5-3% |
Global Warming Potentials (GWP-100)
- CO2: 1
- CH4: 28 (AR5) / 25 (AR4)
- N2O: 265 (AR5) / 298 (AR4)
Usage Example
DetailedEmissionsCalculator calc = new DetailedEmissionsCalculator();
// Set production
calc.setOilProduction(10000, "bbl/day");
calc.setGasProduction(5.0, "MMSm3/day");
// Set combustion sources
calc.addGasTurbine("GT-1", 25.0, "MW"); // 25 MW gas turbine
calc.addGasTurbine("GT-2", 25.0, "MW");
calc.addHeater("Reboiler", 5.0, "MW");
// Set flaring
calc.setFlaringRate(0.02, "MMSm3/day");
calc.setFlareEfficiency(0.98);
// Set fugitives
calc.setFugitiveRate(0.01); // 0.01% of throughput
// Calculate
DetailedEmissionsReport report = calc.calculate();
System.out.println("Scope 1: " + report.getScope1Emissions() + " tCO2e/yr");
System.out.println("Scope 2: " + report.getScope2Emissions() + " tCO2e/yr");
System.out.println("Intensity: " + report.getIntensity() + " kg CO2e/boe");
System.out.println("\nBreakdown:");
for (Map.Entry<String, Double> entry : report.getEmissionsBySource().entrySet()) {
System.out.println(" " + entry.getKey() + ": " + entry.getValue() + " tCO2e/yr");
}
- Version:
- 1.0
- Author:
- ESOL
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classCombustion source configuration.static enumCombustion source types.static classDetailed emissions report. -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate doubleprivate intprivate doubleprivate static final doubleprivate intprivate static final doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate Stringprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate static final doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate intprivate doubleprivate static final longprivate doubleprivate intprivate boolean -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionaddCombinedCycleTurbine(String name, double power) Adds a combined cycle gas turbine.addDieselEngine(String name, double fuelRateLitersPerHour) Adds a diesel engine.addGasTurbine(String name, double power, String unit) Adds a gas turbine combustion source.Adds a heater/boiler.Calculates comprehensive emissions inventory.private doubleCalculates annual production in boe.private voidCalculates combustion emissions from all sources.private StringcalculateEmissionsRating(double intensity) Calculates emissions rating based on intensity.private voidCalculates flaring emissions.private voidCalculates fugitive emissions using EPA method.private voidCalculates Scope 2 emissions from purchased electricity.private voidCalculates venting emissions.setColdVentingRate(double rate) Sets cold venting rate.setComponentCounts(int flanges, int valves, int compressorSeals, int pumpSeals) Sets component counts for fugitive emissions calculation.setFlareEfficiency(double efficiency) Sets flare combustion efficiency.setFlaringRate(double rate, String unit) Sets flaring rate.setFugitiveRate(double percent) Sets fugitive emission rate as percentage of throughput.setGasProduction(double rate, String unit) Sets gas production rate.setOilProduction(double rate, String unit) Sets oil production rate.setOperatingHours(double hours) Sets operating hours per year.setProducedCO2(double percent, boolean venting) Sets produced CO2 content.setPurchasedElectricity(double mwhPerYear, String gridRegion) Sets purchased electricity.setTankBreathingRate(double rate) Sets tank breathing emissions.
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
GWP_CO2
private static final double GWP_CO2- See Also:
-
GWP_CH4
private static final double GWP_CH4- See Also:
-
GWP_N2O
private static final double GWP_N2O- See Also:
-
NG_CO2_KG_PER_SM3
private static final double NG_CO2_KG_PER_SM3- See Also:
-
NG_CH4_G_PER_SM3
private static final double NG_CH4_G_PER_SM3- See Also:
-
NG_N2O_G_PER_SM3
private static final double NG_N2O_G_PER_SM3- See Also:
-
FLARE_CO2_KG_PER_SM3
private static final double FLARE_CO2_KG_PER_SM3- See Also:
-
GT_FUEL_SM3_PER_MWH_SIMPLE
private static final double GT_FUEL_SM3_PER_MWH_SIMPLE- See Also:
-
GT_FUEL_SM3_PER_MWH_COMBINED
private static final double GT_FUEL_SM3_PER_MWH_COMBINED- See Also:
-
DIESEL_CO2_KG_PER_L
private static final double DIESEL_CO2_KG_PER_L- See Also:
-
GRID_FACTORS
-
oilProductionBblPerDay
private double oilProductionBblPerDay -
gasProductionMSm3PerDay
private double gasProductionMSm3PerDay -
condensateProductionBblPerDay
private double condensateProductionBblPerDay -
combustionSources
-
flaringRateMSm3PerDay
private double flaringRateMSm3PerDay -
flareEfficiency
private double flareEfficiency -
flareCO2ContentPercent
private double flareCO2ContentPercent -
coldVentingRateMSm3PerDay
private double coldVentingRateMSm3PerDay -
tankBreathingRateSm3PerDay
private double tankBreathingRateSm3PerDay -
processVentingRateSm3PerDay
private double processVentingRateSm3PerDay -
fugitiveRatePercent
private double fugitiveRatePercent -
flangeCount
private int flangeCount -
valveCount
private int valveCount -
compressorSealCount
private int compressorSealCount -
pumpSealCount
private int pumpSealCount -
purchasedElectricityMWh
private double purchasedElectricityMWh -
gridRegion
-
producedCO2ContentPercent
private double producedCO2ContentPercent -
ventingProducedCO2
private boolean ventingProducedCO2 -
operatingHoursPerYear
private double operatingHoursPerYear
-
-
Constructor Details
-
DetailedEmissionsCalculator
public DetailedEmissionsCalculator()Creates a new detailed emissions calculator.
-
-
Method Details
-
calculate
Calculates comprehensive emissions inventory.- Returns:
- detailed emissions report
-
calculateCombustionEmissions
private void calculateCombustionEmissions(DetailedEmissionsCalculator.DetailedEmissionsReport report) Calculates combustion emissions from all sources. -
calculateFlaringEmissions
Calculates flaring emissions. -
calculateVentingEmissions
Calculates venting emissions. -
calculateFugitiveEmissions
Calculates fugitive emissions using EPA method. -
calculateScope2Emissions
Calculates Scope 2 emissions from purchased electricity. -
calculateAnnualProductionBoe
private double calculateAnnualProductionBoe()Calculates annual production in boe. -
calculateEmissionsRating
Calculates emissions rating based on intensity. -
setOilProduction
Sets oil production rate.- Parameters:
rate- rate valueunit- unit ("bbl/day", "Sm3/day")- Returns:
- this for chaining
-
setGasProduction
Sets gas production rate.- Parameters:
rate- rate valueunit- unit ("MMSm3/day", "MSm3/day")- Returns:
- this for chaining
-
addGasTurbine
Adds a gas turbine combustion source.- Parameters:
name- turbine namepower- power outputunit- power unit ("MW", "kW")- Returns:
- this for chaining
-
addCombinedCycleTurbine
Adds a combined cycle gas turbine.- Parameters:
name- unit namepower- power output (MW)- Returns:
- this for chaining
-
addHeater
Adds a heater/boiler.- Parameters:
name- heater nameduty- heat dutyunit- unit ("MW", "kW")- Returns:
- this for chaining
-
addDieselEngine
Adds a diesel engine.- Parameters:
name- engine namefuelRateLitersPerHour- fuel consumption rate- Returns:
- this for chaining
-
setFlaringRate
Sets flaring rate.- Parameters:
rate- rate valueunit- unit ("MMSm3/day", "MSm3/day")- Returns:
- this for chaining
-
setFlareEfficiency
Sets flare combustion efficiency.- Parameters:
efficiency- efficiency (0-1)- Returns:
- this for chaining
-
setFugitiveRate
Sets fugitive emission rate as percentage of throughput.- Parameters:
percent- fugitive rate (%)- Returns:
- this for chaining
-
setComponentCounts
public DetailedEmissionsCalculator setComponentCounts(int flanges, int valves, int compressorSeals, int pumpSeals) Sets component counts for fugitive emissions calculation.- Parameters:
flanges- number of flangesvalves- number of valvescompressorSeals- number of compressor sealspumpSeals- number of pump seals- Returns:
- this for chaining
-
setPurchasedElectricity
Sets purchased electricity.- Parameters:
mwhPerYear- annual electricity consumption (MWh)gridRegion- grid region for emission factor- Returns:
- this for chaining
-
setProducedCO2
Sets produced CO2 content.- Parameters:
percent- CO2 content in produced gas (%)venting- true if vented, false if reinjected- Returns:
- this for chaining
-
setColdVentingRate
Sets cold venting rate.- Parameters:
rate- rate (MSm3/day)- Returns:
- this for chaining
-
setTankBreathingRate
Sets tank breathing emissions.- Parameters:
rate- rate (Sm3/day)- Returns:
- this for chaining
-
setOperatingHours
Sets operating hours per year.- Parameters:
hours- operating hours- Returns:
- this for chaining
-