MonthlyDustAnalyzer Module

Overview

The MonthlyDustAnalyzer module is a key component of the Dusty Pipeline that performs monthly aggregation and statistical analysis of dust storm events. It consumes raw storm detections from modules like StormDetector or FusionStormDetector and transforms them into a structured, high-level summary suitable for climatological research, operational reporting, and validation.

The primary objective of this module is to condense multi-day dust storm detections into monthly summaries, capturing key metrics such as frequency, intensity, spatial distribution, and proximity to critical infrastructure like airports.

Functionality

  1. Storm Grouping by Month: - Processes per-storm detections across multiple days. - Groups entries by month and storm identifier. - Supports merging or splitting storms that persist across months based on user-defined logic.

  2. Statistical Aggregation: - Calculates storm-wise statistics for each month:

    • Number of storms detected

    • Maximum and average dust mass

    • Geographical spread (min/max lat/lon)

    • Most affected airports (if proximity data is available)

  3. Airport Association: - If airport proximity data is included in input CSV, it identifies which airports were affected each month. - Computes airport-specific statistics like number of events and intensity of nearby storms.

  4. Output Generation: - Produces a clean monthly CSV file summarizing:

    • Each storm’s lifecycle

    • Storm metrics (mass, location, days active)

    • Airport interactions

    • Output is saved to the configured csv_output_path as monthly_storm_summary.csv.

Input Requirements

The module expects storm-level CSVs as generated by:

  • StormDetector (dust-only)

  • FusionStormDetector (dust + AODANA)

Each input file must include:

  • storm_id

  • date

  • center_lat, center_lon

  • avg_dust_mass

  • nearest_airport_icao (optional)

Configuration Options

  • merge_cross_month_storms: Boolean to track storms across months or split per month.

  • min_storm_duration: Filter out short-lived storms (e.g., < 1 day).

  • min_avg_mass_threshold: Ignore low-intensity storms from aggregation.

  • airport_focus_list: Optional list of ICAOs to prioritize in reporting.

Integration in Dusty Pipeline

This module is typically called at the end of each processing cycle after all storm detections have been logged. It serves as the final summary layer before optional METAR matching or visualization tools.

Dependencies

  • Pandas

  • Datetime

  • Geopy (optional, for distance/airport metrics)

  • OS and Glob (for multi-file reading)

Output Format

Example fields in monthly_storm_summary.csv:

  • month

  • storm_id

  • total_days_active

  • max_dust_mass

  • avg_dust_mass

  • geographical_extent

  • affected_airports

  • peak_intensity_day

Use Cases

  • Monthly monitoring of regional dust activity

  • Infrastructure vulnerability reporting (e.g., airports)

  • Scientific validation of seasonal trends

  • Baseline statistics for thresholding or alerting models

The MonthlyDustAnalyzer module ensures traceability, transparency, and long-term usability of the raw dust storm detection outputs, forming a bridge between data science and operational insights.