pycontrails.models.emissions.gaseous¶
Calculate nitrogen oxide (NOx), carbon monoxide (CO) and hydrocarbon (HC) emissions.
This modules applies the Fuel Flow Method 2 (FFM2) from DuBois & Paynter (2006) for a given aircraft-engine pair.
References
Functions
|
Create carbon monoxide (CO) and hydrocarbon (HC) emissions index (EI) profile. |
|
Convert the estimated EI at sea level to cruise conditions. |
|
Estimate carbon monoxide (CO) or hydrocarbon (HC) emissions index (EI). |
|
Estimate the nitrogen oxide (NOx) emissions index (EI) at cruise conditions. |
Create the nitrogen oxide (NOx) emissions index (EI) profile for the given engine type. |
Classes
|
Gaseous emissions data. |
- class pycontrails.models.emissions.gaseous.EDBGaseous(manufacturer, engine_name, combustor, bypass_ratio, pressure_ratio, rated_thrust, temp_min, temp_max, pressure_min, pressure_max, ff_7, ff_30, ff_85, ff_100, ei_nox_7, ei_nox_30, ei_nox_85, ei_nox_100, ei_co_7, ei_co_30, ei_co_85, ei_co_100, ei_hc_7, ei_hc_30, ei_hc_85, ei_hc_100, sn_7, sn_30, sn_85, sn_100, sn_max)¶
Bases:
objectGaseous emissions data.
ENGINE IDENTIFICATION AND TYPE:¶
- manufacturer: str
engine manufacturer
- engine_name: str
name of engine
- combustor: str
description of engine combustor
ENGINE CHARACTERISTICS:¶
- bypass_ratio: float
engine bypass ratio
- pressure_ratio: float
engine pressure ratio
- rated_thrust: float
rated thrust of engine, [\(kN\)]
FUEL CONSUMPTION:¶
- ff_7: float
fuel mass flow rate at 7% thrust setting, [\(kg s^{-1}\)]
- ff_30: float
fuel mass flow rate at 30% thrust setting, [\(kg s^{-1}\)]
- ff_85: float
fuel mass flow rate at 85% thrust setting, [\(kg s^{-1}\)]
- ff_100: float
fuel mass flow rate at 100% thrust setting, [\(kg s^{-1}\)]
EMISSIONS:¶
- ei_nox_7: float
NOx emissions index at 7% thrust setting, [\(g_{NO_{X}}/kg_{fuel}\)]
- ei_nox_30: float
NOx emissions index at 30% thrust setting, [\(g_{NO_{X}}/kg_{fuel}\)]
- ei_nox_85: float
NOx emissions index at 85% thrust setting, [\(g_{NO_{X}}/kg_{fuel}\)]
- ei_nox_100: float
NOx emissions index at 100% thrust setting, [\(g_{NO_{X}}/kg_{fuel}\)]
- ei_co_7: float
CO emissions index at 7% thrust setting, [\(g_{CO}/kg_{fuel}\)]
- ei_co_30: float
CO emissions index at 30% thrust setting, [\(g_{CO}/kg_{fuel}\)]
- ei_co_85: float
CO emissions index at 85% thrust setting, [\(g_{CO}/kg_{fuel}\)]
- ei_co_100: float
CO emissions index at 100% thrust setting, [\(g_{CO}/kg_{fuel}\)]
- ei_hc_7: float
HC emissions index at 7% thrust setting, [\(g_{HC}/kg_{fuel}\)]
- ei_hc_30: float
HC emissions index at 30% thrust setting, [\(g_{HC}/kg_{fuel}\)]
- ei_hc_85: float
HC emissions index at 85% thrust setting, [\(g_{HC}/kg_{fuel}\)]
- ei_hc_100: float
HC emissions index at 100% thrust setting, [\(g_{HC}/kg_{fuel}\)]
- sn_7: float
smoke number at 7% thrust setting
- sn_30: float
smoke number at 30% thrust setting
- sn_85: float
smoke number at 85% thrust setting
- sn_100: float
smoke number at 100% thrust setting
- sn_max: float
maximum smoke number value across the range of thrust setting
- bypass_ratio¶
- combustor¶
- ei_co_100¶
- ei_co_30¶
- ei_co_7¶
- ei_co_85¶
- ei_hc_100¶
- ei_hc_30¶
- ei_hc_7¶
- ei_hc_85¶
- ei_nox_100¶
- ei_nox_30¶
- ei_nox_7¶
- ei_nox_85¶
- engine_name¶
- ff_100¶
- ff_30¶
- ff_7¶
- ff_85¶
- property log_ei_co_profile¶
Get the logarithmic emissions index profile for CO emissions.
- property log_ei_hc_profile¶
Get the logarithmic emissions index profile for HC emissions.
- property log_ei_nox_profile¶
Get the logarithmic emissions index profile for NOx emissions.
- manufacturer¶
- pressure_max¶
- pressure_min¶
- pressure_ratio¶
- rated_thrust¶
- sn_100¶
- sn_30¶
- sn_7¶
- sn_85¶
- sn_max¶
- temp_max¶
- temp_min¶
- pycontrails.models.emissions.gaseous.co_hc_emissions_index_profile_ffm2(ff_idle, ff_approach, ff_climb, ff_take_off, ei_idle, ei_approach, ei_climb, ei_take_off)¶
Create carbon monoxide (CO) and hydrocarbon (HC) emissions index (EI) profile.
- Parameters:
ff_idle (
float) – ICAO EDB fuel mass flow rate at idle conditions (7% power), [\(kg s^{-1}\)]ff_approach (
float) – ICAO EDB fuel mass flow rate at approach (30% power), [\(kg s^{-1}\)]ff_climb (
float) – ICAO EDB fuel mass flow rate at climb out (85% power), [\(kg s^{-1}\)]ff_take_off (
float) – ICAO EDB fuel mass flow rate at take-off (100% power), [\(kg s^{-1}\)]ei_idle (
float) – ICAO EDB CO or HC emissions index at idle conditions (7% power), [\(g_{pollutant}/kg_{fuel}\)]ei_approach (
float) – ICAO EDB CO or HC emissions index at approach (30% power), [\(g_{pollutant}/kg_{fuel}\)]ei_climb (
float) – ICAO EDB CO or HC emissions index at climb out (85% power), [\(g_{pollutant}/kg_{fuel}\)]ei_take_off (
float) – ICAO EDB CO or HC emissions index at take-off (100% power), [\(g_{pollutant}/kg_{fuel}\)]
- Returns:
EmissionsProfileInterpolator– log of CO or HC emissions index versus the log of fuel mass flow rate for a given engine type
- pycontrails.models.emissions.gaseous.ei_at_cruise(ei_sl, theta_amb, delta_amb, ei_type)¶
Convert the estimated EI at sea level to cruise conditions.
Refer to Eqs. (15) and (16) in DuBois & Paynter (2006).
- Parameters:
ei_sl (
npt.NDArray[np.floating]) – Sea level EI values.theta_amb (
npt.NDArray[np.floating]) – Ratio of the ambient temperature to the temperature at mean sea-level.delta_amb (
npt.NDArray[np.floating]) – Ratio of the pressure altitude to the surface pressure.ei_type (
str) – One of {“HC”, “CO”, “NOX”}
- Returns:
npt.NDArray[np.floating]– Estimated cruise EI values.
References
- pycontrails.models.emissions.gaseous.estimate_ei_co_hc_ffm2(log_ei_profile, fuel_flow_per_engine, true_airspeed, air_pressure, air_temperature)¶
Estimate carbon monoxide (CO) or hydrocarbon (HC) emissions index (EI).
- Parameters:
log_ei_profile (
EmissionsProfileInterpolator) – emissions profile containing the log of EI CO or EI HC versus log of fuel flow.fuel_flow_per_engine (
npt.NDArray[np.floating]) – fuel mass flow rate per engine, [\(kg s^{-1}\)]true_airspeed (
npt.NDArray[np.floating]) – true airspeed for each waypoint, [\(m s^{-1}\)]air_pressure (
npt.NDArray[np.floating]) – pressure altitude at each waypoint, [\(Pa\)]air_temperature (
npt.NDArray[np.floating]) – ambient temperature for each waypoint, [\(K\)]
- pycontrails.models.emissions.gaseous.estimate_nox_ffm2(log_ei_nox_profile, fuel_flow_per_engine, true_airspeed, air_pressure, air_temperature, specific_humidity=None)¶
Estimate the nitrogen oxide (NOx) emissions index (EI) at cruise conditions.
- Parameters:
log_ei_nox_profile (
EmissionsProfileInterpolator) – emissions profile containing the log of EI NOx versus log of fuel flow.fuel_flow_per_engine (
npt.NDArray[np.floating]) – fuel mass flow rate per engine, [\(kg s^{-1}\)]true_airspeed (
npt.NDArray[np.floating]) – true airspeed for each waypoint, [\(m s^{-1}\)]air_pressure (
npt.NDArray[np.floating]) – pressure altitude at each waypoint, [\(Pa\)]air_temperature (
npt.NDArray[np.floating]) – ambient temperature for each waypoint, [\(K\)]specific_humidity (
npt.NDArray[np.floating] | None) – specific humidity for each waypoint, [\(kg_{H_{2}O}/kg_{air}\)]
- pycontrails.models.emissions.gaseous.nitrogen_oxide_emissions_index_profile_ffm2(ff_idle, ff_approach, ff_climb, ff_take_off, ei_nox_idle, ei_nox_approach, ei_nox_climb, ei_nox_take_off)¶
Create the nitrogen oxide (NOx) emissions index (EI) profile for the given engine type.
- Parameters:
ff_idle (
float) – ICAO EDB fuel mass flow rate at idle conditions (7% power), [\(kg s^{-1}\)]ff_approach (
float) – ICAO EDB fuel mass flow rate at approach (30% power), [\(kg s^{-1}\)]ff_climb (
float) – ICAO EDB fuel mass flow rate at climb out (85% power), [\(kg s^{-1}\)]ff_take_off (
float) – ICAO EDB fuel mass flow rate at take-off (100% power), [\(kg s^{-1}\)]ei_nox_idle (
float) – ICAO EDB NOx emissions index at idle conditions (7% power), [\(g_{NO_{X}}/kg_{fuel}\)]ei_nox_approach (
float) – ICAO EDB NOx emissions index at approach (30% power), [\(g_{NO_{X}}/kg_{fuel}\)]ei_nox_climb (
float) – ICAO EDB NOx emissions index at climb out (85% power), [\(g_{NO_{X}}/kg_{fuel}\)]ei_nox_take_off (
float) – ICAO EDB NOx emissions index at take-off (100% power), [\(g_{NO_{X}}/kg_{fuel}\)]
- Returns:
EmissionsProfileInterpolator– log of NOx emissions index versus the log of fuel mass flow rate for a given engine type- Raises:
ValueError – If any EI nox values are non-positive.