pycontrails.models.emissions.ffm2¶
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. |
- pycontrails.models.emissions.ffm2.co_hc_emissions_index_profile(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.ffm2.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.float64]
) – Sea level EI values.theta_amb (
npt.NDArray[np.float64]
) – Ratio of the ambient temperature to the temperature at mean sea-level.delta_amb (
npt.NDArray[np.float64]
) – Ratio of the pressure altitude to the surface pressure.ei_type (
str
) – One of {“HC”, “CO”, “NOX”}
- Returns:
npt.NDArray[np.float64]
– Estimated cruise EI values.
References
- pycontrails.models.emissions.ffm2.estimate_ei(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.float64]
) – fuel mass flow rate per engine, [\(kg s^{-1}\)]true_airspeed (
npt.NDArray[np.float64]
) – true airspeed for each waypoint, [\(m s^{-1}\)]air_pressure (
npt.NDArray[np.float64]
) – pressure altitude at each waypoint, [\(Pa\)]air_temperature (
npt.NDArray[np.float64]
) – ambient temperature for each waypoint, [\(K\)]
- pycontrails.models.emissions.ffm2.estimate_nox(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.float64]
) – fuel mass flow rate per engine, [\(kg s^{-1}\)]true_airspeed (
npt.NDArray[np.float64]
) – true airspeed for each waypoint, [\(m s^{-1}\)]air_pressure (
npt.NDArray[np.float64]
) – pressure altitude at each waypoint, [\(Pa\)]air_temperature (
npt.NDArray[np.float64]
) – ambient temperature for each waypoint, [\(K\)]specific_humidity (
npt.NDArray[np.float64] | None
) – specific humidity for each waypoint, [\(kg_{H_{2}O}/kg_{air}\)]
- pycontrails.models.emissions.ffm2.nitrogen_oxide_emissions_index_profile(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.