Skip to content

visualization

visualization

PyAERMOD Visualization Tools

Create publication-ready plots and interactive maps for AERMOD results.

AERMODVisualizer

Visualization tools for AERMOD results

Creates contour plots, interactive maps, and publication-ready figures.

plot_contours

plot_contours(averaging_period: str = 'ANNUAL', levels: Optional[List[float]] = None, colormap: str = 'YlOrRd', show_sources: bool = True, show_max: bool = True, title: Optional[str] = None, units: str = 'ug/m³', figsize: Tuple[int, int] = (12, 10), save_path: Optional[Union[str, Path]] = None, dpi: int = 300) -> matplotlib.figure.Figure

Create concentration contour plot

Args: averaging_period: Averaging period to plot levels: Contour levels (auto-generated if None) colormap: Matplotlib colormap name show_sources: Whether to show source locations show_max: Whether to mark maximum concentration title: Plot title (auto-generated if None) units: Concentration units for label figsize: Figure size (width, height) save_path: Path to save figure (optional) dpi: Resolution for saved figure

Returns: matplotlib Figure object

create_interactive_map

create_interactive_map(averaging_period: str = 'ANNUAL', center: Optional[Tuple[float, float]] = None, zoom_start: int = 13, colormap: str = 'YlOrRd', opacity: float = 0.6, show_sources: bool = True, show_max: bool = True, basemap: str = 'OpenStreetMap', save_path: Optional[Union[str, Path]] = None) -> folium.Map

Create interactive Leaflet map

Args: averaging_period: Averaging period to plot center: Map center (lat, lon) or None for auto zoom_start: Initial zoom level colormap: Colormap name opacity: Overlay opacity (0-1) show_sources: Show source markers show_max: Show maximum concentration marker basemap: Base map style save_path: Path to save HTML file

Returns: folium.Map object

plot_time_series

plot_time_series(receptor_location: Tuple[float, float], averaging_periods: Optional[List[str]] = None, title: Optional[str] = None, figsize: Tuple[int, int] = (12, 6), save_path: Optional[Union[str, Path]] = None) -> matplotlib.figure.Figure

Plot concentration time series at a specific receptor

Args: receptor_location: (x, y) coordinates averaging_periods: List of periods to plot title: Plot title figsize: Figure size save_path: Path to save figure

Returns: matplotlib Figure object

plot_comparison

plot_comparison(results_list: List, labels: List[str], averaging_period: str = 'ANNUAL', metric: str = 'max', title: Optional[str] = None, figsize: Tuple[int, int] = (10, 6), save_path: Optional[Union[str, Path]] = None) -> matplotlib.figure.Figure

Compare multiple AERMOD runs

Args: results_list: List of AERMODResults objects labels: Labels for each run averaging_period: Averaging period to compare metric: 'max', 'mean', or 'median' title: Plot title figsize: Figure size save_path: Path to save figure

Returns: matplotlib Figure object

quick_plot

quick_plot(results, averaging_period: str = 'ANNUAL', save_path: Optional[str] = None) -> matplotlib.figure.Figure

Quick contour plot with default settings

Args: results: AERMODResults object averaging_period: Averaging period to plot save_path: Optional save path

Returns: matplotlib Figure object

quick_map

quick_map(results, averaging_period: str = 'ANNUAL', save_path: Optional[str] = None) -> folium.Map

Quick interactive map with default settings

Args: results: AERMODResults object averaging_period: Averaging period to plot save_path: Optional save path (HTML)

Returns: folium.Map object