Skip to content

aersurface_runner

aersurface_runner

AERSURFACE binary runner.

Parallel to :class:pyaermod.aermet_runner.AERMETRunner but for EPA's AERSURFACE preprocessor, which derives monthly surface characteristics (albedo, Bowen ratio, surface roughness) from NLCD land-use rasters for AERMET Stage 3.

Typical usage::

from pyaermod import AERSURFACEConfig
from pyaermod.aersurface_runner import AERSURFACERunner

cfg = AERSURFACEConfig(...)
runner = AERSURFACERunner()
result = runner.run(cfg, working_dir="/tmp/aersurface_salem")
if result.success:
    # result.output_files contains the .sfc characteristic table
    # which can be plugged into AERMETStage3.surface_characteristics
    pass

AERSURFACERunResult dataclass

Outcome of an AERSURFACE execution.

AERSURFACERunner

Execute AERSURFACE from Python.

Parameters:

Name Type Description Default
executable_path Optional[Union[str, Path]]

Path to the aersurface binary. If None, searches $PATH.

None
log_level str

Python logging level name.

'INFO'

run

run(config: AERSURFACEConfig, *, working_dir: Union[str, Path], timeout: int = 1800) -> AERSURFACERunResult

Run AERSURFACE for a configured deck.

AERSURFACE expects its input deck on stdin or a fixed aersurface.inp file in the cwd, depending on version. We use the fixed-filename convention (matching AERMET v24+).