aerscreen¶
aerscreen ¶
AERSCREEN input-deck generation.
EPA's AERSCREEN is the single-source screening front-end to AERMOD. It runs AERMOD with conservative screening met assumptions to produce worst-case 1-hour, 8-hour, and 24-hour impacts from one source — used at the start of every permit project to decide whether full AERMOD modeling is even required.
This module is the deck-builder; binary dispatch lives in
:mod:pyaermod.aerscreen_runner. The deck format follows the EPA
AERSCREEN v24 User's Guide.
Typical usage::
from pyaermod import AERSCREENConfig, AERSCREENSourceType
cfg = AERSCREENConfig(
title="SO2 stack screening",
source_type=AERSCREENSourceType.POINT,
emission_rate=10.0, # g/s
stack_height=30.0, # m
stack_diameter=2.0, # m
stack_temp=425.0, # K (or set to None for ambient)
exit_velocity=15.0, # m/s
urban=False,
anemometer_height=10.0,
)
deck_text = cfg.to_aerscreen_input()
Forward-compatibility for new AERSCREEN keywords is via
extra_lines.
AERSCREENSourceType ¶
Bases: StrEnum
Source-type keywords accepted by AERSCREEN v24.
AERSCREENConfig
dataclass
¶
Configuration for one AERSCREEN run.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
title
|
str
|
Free-form run title. |
required |
source_type
|
AERSCREENSourceType
|
One of :class: |
required |
emission_rate
|
float
|
Emission rate in grams per second. |
required |
stack_height
|
Optional[float]
|
Stack / release height in meters. Required for all source types except AREA where it is the release height of the area source. |
None
|
stack_diameter
|
Optional[float]
|
Stack inner diameter in meters. Required for POINT, CAPPED, HORIZONTAL, FLARE; ignored for AREA / VOLUME. |
None
|
stack_temp
|
Optional[float]
|
Stack exit temperature in Kelvin. |
None
|
exit_velocity
|
Optional[float]
|
Stack exit velocity in m/s. Required for POINT / CAPPED / HORIZONTAL; ignored for AREA / VOLUME / FLARE. |
None
|
flare_heat_release
|
Optional[float]
|
Total heat release for FLARE sources in cal/s. Required for FLARE; ignored otherwise. |
None
|
area_length
|
Optional[float]
|
Length and width of an AREA source in meters. Required for source_type=AREA. |
None
|
area_width
|
Optional[float]
|
Length and width of an AREA source in meters. Required for source_type=AREA. |
None
|
initial_sigma_z
|
Optional[float]
|
VOLUME source dimensions in meters. Required for source_type=VOLUME. |
None
|
lateral_dim
|
Optional[float]
|
VOLUME source dimensions in meters. Required for source_type=VOLUME. |
None
|
vertical_dim
|
Optional[float]
|
VOLUME source dimensions in meters. Required for source_type=VOLUME. |
None
|
urban
|
bool
|
True for urban dispersion option (URBANOPT). False for rural. |
False
|
population
|
int
|
Surrounding population — used for urban dispersion. Default
100,000 (a typical screening default). Ignored when |
100000
|
dominant_landuse
|
Optional[int]
|
Auer land-use category code (1-12). Optional; AERSCREEN derives a default from urban/rural otherwise. |
None
|
temp_min_k
|
float
|
Climatological annual min / max ambient temperature in Kelvin. AERSCREEN uses these to bracket buoyancy effects. |
250.0
|
temp_max_k
|
float
|
Climatological annual min / max ambient temperature in Kelvin. AERSCREEN uses these to bracket buoyancy effects. |
250.0
|
anemometer_height
|
float
|
Height of the assumed anemometer in meters. Default 10. |
10.0
|
use_adju
|
bool
|
Whether to apply the AERMOD ADJ_U* low-wind beta option. Defaults to False (matching EPA's regulatory default). |
False
|
downwash
|
bool
|
True to enable building downwash. |
False
|
building_height
|
Optional[float]
|
Building dimensions (m) and orientation (degrees from north).
Required when |
None
|
building_length
|
Optional[float]
|
Building dimensions (m) and orientation (degrees from north).
Required when |
None
|
building_width
|
Optional[float]
|
Building dimensions (m) and orientation (degrees from north).
Required when |
None
|
building_angle
|
Optional[float]
|
Building dimensions (m) and orientation (degrees from north).
Required when |
None
|
terrain
|
bool
|
True to model elevated terrain. When True, supply |
False
|
lat
|
Optional[float]
|
Site location in decimal degrees. Required when
|
None
|
lon
|
Optional[float]
|
Site location in decimal degrees. Required when
|
None
|
terrain_file
|
Optional[str]
|
Path to a pre-generated DEM file (typical: AERMAP-extracted
elevations). Optional when |
None
|
fumigation
|
bool
|
True to enable shoreline fumigation calculations. |
False
|
distances
|
object
|
Either the literal string |
'AUTO'
|
extra_lines
|
List[str]
|
Free-form keyword/value lines appended verbatim. Use for forward-compatibility with AERSCREEN keywords not modeled here. |
list()
|