sources¶
sources ¶
PyAERMOD Source dataclasses and helpers.
Contains all AERMOD source types (PointSource, AreaSource, VolumeSource, LineSource, etc.), deposition parameter dataclasses, building-downwash helpers, background concentration, source groups, and the SourcePathway collection.
This module is an internal implementation detail. Public imports should go
through :mod:pyaermod.input_generator (the backwards-compatible facade)
or :mod:pyaermod.api.
DepositionMethod ¶
Bases: Enum
AERMOD deposition method types for the METHOD keyword.
GasDepositionParams
dataclass
¶
Gas deposition parameters for the GASDEPOS keyword.
ParticleDepositionParams
dataclass
¶
Particle deposition parameters for PARTDIAM/MASSFRAX/PARTDENS keywords.
PointSource
dataclass
¶
AERMOD point source (stack)
Represents an elevated point source with emission parameters.
set_building_from_bpip ¶
Populate building downwash fields from a Building object.
Runs BPIPCalculator to compute 36 direction-dependent values and stores them in the building_* fields.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
building
|
Building
|
Building geometry to use for downwash calculations. |
required |
AreaSource
dataclass
¶
AERMOD area source (rectangular)
Represents a rectangular area source with uniform emissions.
AreaCircSource
dataclass
¶
AERMOD circular area source
Represents a circular area source with uniform emissions.
AreaPolySource
dataclass
¶
AERMOD polygonal area source
Represents an irregular polygonal area source defined by vertices.
VolumeSource
dataclass
¶
AERMOD volume source
Represents a three-dimensional volume with initial dispersion. Useful for modeling emissions from buildings, structures, or areas with significant initial mixing.
LineSource
dataclass
¶
AERMOD line source
Represents a linear source with uniform emissions per unit length. Useful for modeling roads, conveyor belts, pipelines, or any linear emission feature.
StreetCanyon
dataclass
¶
Street canyon geometry for RLINE/RLINEXT sources.
Approximates canyon effects by adjusting initial vertical dispersion and applying a concentration scaling factor based on the canyon aspect ratio (building_height / street_width).
The approach uses three flow regimes (Oke, 1988): - AR < 0.65: isolated roughness -- minimal canyon trapping - 0.65 <= AR < 1.5: wake interference / skimming flow - AR >= 1.5: deep canyon with persistent vortex
The adjusted sigma-z reflects reduced ventilation inside the canyon, and the concentration factor accounts for pollutant trapping that cannot be captured by sigma-z alone.
adjusted_sigma_z ¶
Return sigma-z adjusted for canyon trapping.
In the recirculation zone the effective mixing height is limited to the canyon depth, which increases initial sigma-z (more vertical mixing within the confined space).
concentration_factor ¶
Multiplicative factor on emission rate to represent canyon trapping.
Derived from the OSPM box-model concept: reduced ventilation in the canyon raises concentrations relative to open-road dispersion. The factor equals 1.0 (no effect) for isolated roughness and increases with aspect ratio up to a cap of 3.0 for deep canyons.
RLineSource
dataclass
¶
AERMOD RLINE source (roadway source)
Specialized source for modeling mobile emissions on roadways. More sophisticated than basic LINE source with road-specific parameters.
RLineExtSource
dataclass
¶
AERMOD RLINEXT source (extended roadway source)
Extension of RLINE with per-endpoint heights, noise barrier support, and depressed roadway modeling. Requires ALPHA model option for barrier/depression features.
BuoyLineSegment
dataclass
¶
A single line segment within a BUOYLINE source group.
BuoyLineSource
dataclass
¶
AERMOD BUOYLINE source (buoyant line source)
Models buoyant line sources such as aluminum reduction plant potroom roof vents. Consists of multiple line segments sharing common plume rise parameters defined via BLPINPUT.
OpenPitSource
dataclass
¶
AERMOD OPENPIT source (open pit mine/quarry)
Models fugitive emissions from open pit sources. The escape fraction is computed internally by AERMOD based on pit geometry and wind speed. Coordinates specify the SW corner of the pit.
BackgroundSector
dataclass
¶
A wind direction sector for direction-dependent background concentrations.
Each sector is defined by its starting direction (degrees clockwise from north). AERMOD allows up to 6 sectors. The ending direction is implicitly the starting direction of the next sector (or the first sector for wrap-around).
BackgroundConcentration
dataclass
¶
AERMOD background concentration configuration (SO BACKGRND / BGSECTOR).
Supports three modes: 1. Uniform: single value for all hours/directions 2. Period-specific: mapping of averaging period to value 3. Sector-dependent: sectors + per-sector, per-period values
SourceGroupDefinition
dataclass
¶
Centralized source group definition.
Allows defining named groups of sources for AERMOD's SRCGROUP keyword, enabling per-group output files and chemistry associations.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
group_name
|
str
|
Group identifier (max 8 characters, AERMOD limitation). |
required |
member_source_ids
|
list of str
|
Source IDs belonging to this group. |
list()
|
description
|
str
|
Optional description for documentation purposes. |
''
|
SourcePathway
dataclass
¶
Collection of sources
add_source ¶
add_source(source: Union[PointSource, AreaSource, AreaCircSource, AreaPolySource, VolumeSource, LineSource, RLineSource, RLineExtSource, BuoyLineSource, OpenPitSource])
Add a source to the pathway
to_aermod_input ¶
Generate AERMOD SO pathway text.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
chemistry
|
ChemistryOptions
|
Chemistry options from ControlPathway for OLM group emission. |
None
|