DustIngestionEstimator
The DustIngestionEstimator class quantifies the potential exposure of an aircraft to dust during flight by interpolating dust concentration data along the flight path. This module is designed to interface with datasets like MERRA-2 or other gridded environmental sources, making it a key component for environmental impact analysis in AeroTrack.
Class Overview
Constructor
DustIngestionEstimator(dust_data)
Parameters:
dust_data (dict): A dictionary containing gridded dust concentration values, typically in the format {(lat, lon, alt): dust_mass} or gridded arrays with matching metadata.
The class stores and prepares the dust map for fast interpolation.
Key Methods
Method Descriptions:
`estimate_ingestion(df)` Interpolates dust concentration values for each point in the flight path based on latitude, longitude, and barometric altitude. Appends a new column dust_ingestion to the DataFrame, which can be used for downstream analysis or plotting.
Dust Interpolation Logic
The ingestion is estimated by:
Mapping each flight point to the nearest grid cells
Optionally applying trilinear or nearest-neighbor interpolation
Assigning a mass loading value in µg/m³ or kg/m³, depending on source data
This allows regional or temporal spikes in airborne dust to be matched with the aircraft’s exact trajectory.
Usage Example
from AeroTrack_Modules import DustIngestionEstimator
dust_data = load_merra2_csv("20220315_DUSMASS.csv") # Example external utility
estimator = DustIngestionEstimator(dust_data)
df = estimator.estimate_ingestion(df)
df.to_csv("flight_with_dust.csv", index=False)
Output
dust_ingestion: Estimated surface mass concentration (e.g., µg/m³) experienced by the aircraft at each flight point.
Visualization Tip
To visualize dust levels along the altitude profile:
import matplotlib.pyplot as plt
plt.scatter(df["baro_alt_AC"], df["dust_ingestion"], c="brown", s=5)
plt.xlabel("Barometric Altitude (m)")
plt.ylabel("Dust Mass Concentration (µg/m³)")
plt.title("Dust Ingestion Profile")
plt.grid(True)
plt.show()
Dependencies
numpy
pandas
scipy (for interpolation)