Skip to content

A Python package designed for aerosol science, providing various data processing and visualization tools.

License

Notifications You must be signed in to change notification settings

Alex870521/AeroViz

Repository files navigation

AeroViz for Aerosol Science Visualization

Python PyPI Pytest GitHub last commit

Alex870521 GitHub Alex870521 LinkedIn Alex870521 Medium

Installation

pip install AeroViz

Key Features

📊 Data Reading ▶ RawDataReader

Built-in RawDataReader supporting multiple aerosol instruments:

  • Particle Sizers: SMPS, APS, GRIMM, OPC
  • Mass & Optical: TEOM, NEPH, Aurora, AE33/43, BC1054
  • Chemical Analysis: OCEC, IGAC, XRF, VOC

Features include quality control, data filtering, flexible resampling, and CSV export. For detailed instrument support and usage, check our RawDataReader Guide.

🔬 Data Processing ▶ DataProcess

Built-in DataProcess provides advanced aerosol analysis:

  • Size Distribution: Mode Fitting, Log-Normal Analysis
  • Optical Properties: Mie Theory, SOAP Calculation
  • Chemical: Mass Closure, Source Apportionment
  • VOC: OFP, SOAP

📈 Data Visualization ▶ plot

Comprehensive visualization tools plot:

  • Time Analysis: Trends, Diurnal Patterns
  • Statistical: Distributions, Correlations
  • Specialized: Size Contours, Wind Rose, Polar Plots, Hysplit, CBPF

Note: We are continuously adding support for more instruments and features. Contributions are welcome!

Quick Start

from datetime import datetime
from pathlib import Path
from AeroViz import RawDataReader, DataProcess, plot

# Read data from a supported instrument
data = RawDataReader('NEPH', Path('/path/to/data'), start=datetime(2024, 2, 1), end=datetime(2024, 4, 30))

# Create a visualization
plot.timeseries(data, y='scattering_coefficient')

For more detailed usage instructions, please refer to our User Guide.

Documentation

For detailed documentation, please refer to the docs folder, which includes:

Documentation Description
User Guide Basic usage instructions
Changelog List of changes

Contact

For bug reports and feature requests please visit GitHub Issues.

Alex870521 GitHub Alex870521 LinkedIn Alex870521 Medium