Community Multiscale Air Quality Model

repository·main·Indexed 18 days ago

https://github.com/usepa/cmaq

An open-source suite of programs developed by the US EPA for atmospheric air quality model simulations, including ozone, particulates, toxics, and acid deposition. The suite features the CMAQ Chemistry Transport Model (CCTM), which supports various science configurations, in-line emissions and photolysis, and aerosol processing via the Aero6 module. Documentation covers installation on Linux, chemical mechanism configuration (e.g., cb6, racm2, saprc), and advanced methods like the Sulfur Tracking Method (STM) and Integrated Source Apportionment Method (ISAM).

Tokens
140.1K
Snippets
289
Records
546
Agent score
60%

What's inside CMAQ

  1. Overview of CMAQ Utility Programs

    main

    The CMAQ repository includes several optional utility programs designed to assist model developers with chemical mechanism processing, photolysis, and model building.

    Key utilities include:

    • bldmake: Generates Makefiles for compiling the CCTM and other components, handling user options and dependency diagnosis.
    • chemmech: Processes chemical mechanism definition files to generate input files for CMAQ programs.
    • create_ebi: Generates source code for the Euler Backward Iterative (EBI) solver approach based on specific mechanisms.
    • inline_phot_preproc: Generates photolysis rate input for custom chemical mechanisms.
    • nml: A namelist converter that can convert chemical mechanism CSV files (from chemmech) into the namelist files (e.g., GC_NAMELIST, AE_NAMELIST) required by CMAQ programs.
    • jproc: Calculates daily look-up tables for clear-sky photolysis rates used by the CMAQ CCTM tabular photolysis method.
  2. Overview of CMAQ Python Tools

    main

    The PYTOOLS directory contains centralized Python-based utilities for CMAQ. These tools perform functions typically found in the PREP (preprocessing) or POST (post-processing) directories but are grouped here to simplify dependency management and installation requirements.

    Available tools include:

    • Environment Setup: Instructions for preparing the environment are located in the install/ folder.
    • dmschlo: Prepares DMS (Dissolved Organic Matter) and Chlorophyll-A concentrations for CMAQ.
    • shp2cmaq: Converts shapefiles into CMAQ-ready grid masks. These masks can be used to define regions and region families via DESID or to specify geographic source regions when running CMAQ-ISAM.
  3. Overview of the CMAQ inline phot preprocessor

    main

    The inline_phot_preproc utility is a FORTRAN-based tool used to generate two essential input files for the in-line photolysis rate calculation method:

    1. CSQY_DATA_<mechanism>: Contains cross-sections and quantum yields specific to the chosen photochemical mechanism. The mechanism name is determined by RXNS_DATA_MODULE.F90 during the build process.
    2. PHOT_OPTICS.dat: Contains optical properties for cloud water and ice, as well as refractive indices for aerosol species. This file is mechanism-independent.

    Critical Requirement: When using these files for CCTM (Community Multiscale Air Quality Model) executions, the number of wavebands defined in both the CSQY_DATA_<mechanism> and PHOT_OPTICS.dat files must match. The buildrun script is responsible for setting this number.

  4. Overview of the CMAQ User's Guide

    main

    The CMAQ User's Guide provides instructions for installing, configuring, and executing the Community Multiscale Air Quality (CMAQ) model on Linux systems.

    Prerequisites for Users:

    • Proficiency with Linux scripting conventions.
    • Familiarity with the Fortran programming language.
    • Understanding of atmospheric structure and physical/chemical atmospheric processes.
  5. Overview of CMAQ Pre-processing Tools

    main
    The PREP directory contains a suite of programs designed to process and prepare input data for the CMAQ Chemistry Transport Model (CCTM). These tools handle tasks such as preparing boundary conditions, initial conditions, meteorological data conversion, and specialized chemical input files. Detailed documentation for each specific tool is located in its respective subdirectory's README.md file.
  6. Overview of CMAQ Post-processing Tools

    main

    The POST directory contains utility programs designed to process and prepare CMAQ model data for evaluation. These tools allow users to aggregate species, transform variables, compute temporal metrics, and compare model outputs against observed datasets.

    Key capabilities include:

    • Creating gridded IOAPI files with temporally averaged or summed values.
    • Combining species from raw CMAQ or WRF output files into new IOAPI files.
    • Generating daily values (sums, max 8hr averages, etc.) from hourly data.
    • Comparing model concentrations with observed datasets via CSV generation.
  7. Overview of the CMAQ Chemistry Transport Model (CCTM)

    main

    CCTM is the Eulerian chemistry and transport component of the CMAQ model suite. It processes input data from meteorological and emissions models to simulate atmospheric processes.

    Key Capabilities

    • Simulations: Produces instantaneous and average hourly concentration files, wet and dry deposition files, and visibility estimates.
    • Science Configurations: Supports various configurations for transport, chemistry, and deposition. These are set at compile-time.
    • Grid and Layer Configuration: Model grids and vertical layer structures are set at execution-time. Unlike science configurations, changing the grid or layers does not require recompilation.
    • In-line Processing:
      • In-line Emissions: Replaces external tools like SMOKE with internal algorithms. This allows for higher time-resolution meteorology in biogenic emissions and plume rise calculations. Requires specific additional input files and environment variables at execution.
      • In-line Photolysis: Calculates photolysis rates using predicted gas and aerosol concentrations. This is configured at compile-time and requires no additional input files.
  8. Overview of the Atmospheric Model Evaluation Tool (AMET)

    main

    AMET is an R-based tool (with Fortran and cshell support) designed to evaluate meteorological (WRF, MPAS) and air quality (CMAQ-CTM) models.

    Key Features

    • Modular Design: Separate modules for meteorological and air quality evaluation allow for independent installation.
    • Database Support: Requires a MySQL database for full meteorological analysis, though air quality analysis can be performed without one.
    • Data Compatibility: While developed for CMAQ, it can be adapted for other modeling systems.

    Observation Data

    AMET requires observations in a specific format. Pre-formatted AMET-ready data (dating back to 2000) is available via the CMAS Data Warehouse. Supported networks include: AERONET, AMON, AQS, CASTNET, CSN, FLUXNET, IMPROVE, NADP, NAPS, NOAA ESRL, SEARCH, and TOAR.

  9. Software for evaluating and visualizing CMAQ data

    main

    CMAQ outputs can be processed, evaluated, and visualized using various freeware and commercial packages.

    Post-processing Tools

    • CMAQ POST Tools: Programs released with the CMAQ source code to prepare output data for model evaluation.
    • I/O API Tools: Tools for manipulating data in the I/O API/netCDF format.
    • NCO (netCDF Operators): Tools for manipulating data in the netCDF format.

    Evaluation and Visualization Tools

    • AMET (Atmospheric Model Evaluation Tool): Used for analysis and evaluation of meteorological and air quality models.
    • VERDI (Visualization Environment for Rich Data Interpretation): Used for graphical analysis of netCDF gridded data.
    • PseudoNetCDF: Capabilities for reading, plotting, and writing atmospheric science data formats.
    • RSIG: 2D and 3D visualization of satellite and modeled data.
    • NCL (NCAR Command Language): Scientific data processing and visualization.
    • IDV (Integrated Data Viewer): 3-D graphical analysis of netCDF gridded data.

    Most visualization and analysis software that supports netCDF formats, such as R and Python, are also compatible with CMAQ outputs.

  10. Access CMAQ documentation

    main

    CMAQ documentation is packaged with the source code when downloaded or cloned. However, the most up-to-date documentation is available online in the repository's DOCS directory.

    Key documentation areas include:

    • Getting Started: Introduction for new and returning users.
    • Release Notes: Technical details on new features and science.
    • User's Guide: Instructions for model setup, execution, and science options.
    • Tutorials: Practical examples for setting up and running the model.
    • CMAQ Data: Links to test case data, input files, and pollutant estimates.
    • Chemical Mechanism Tables: Species and reaction tables for available mechanisms.
    • Developers' Guide: Version control practices and contribution guidelines.
  11. Augment CMAQ OCEAN files with DMS and CHLO data

    main

    The dmschlo tool is used to augment standard CMAQ OCEAN files to enable dimethyl sulfide (DMS) and halogen chemistry. This is particularly important for the cb6r5m mechanism, which requires both DMS and chlorophyll-a (CHLO) concentrations to create seasonally varying emissions.

    Requirements and Mechanism Compatibility

    • cb6r5: Requires DMS concentrations in the OCEAN file.
    • cb6r5m: Requires both DMS and CHLO concentrations in the OCEAN file.
    • Input File: Requires an existing CMAQ OCEAN file (I/O API format) containing OPEN and SURF variables (fractional coverage for open ocean and surf zone).

    Data Sources

    • CHLO: Derived from NASA MODIS-Aqua level-3 ocean color data (can be climatological or year-specific).
    • DMS: Derived from monthly climatologies from the Surface Ocean and Lower Atmosphere (SOLAS) project.
  12. What sitecmp_dailyo3 does and its output metrics

    main

    The sitecmp_dailyo3 Fortran program compares daily ozone metrics between hourly CMAQ modeled concentrations and observed concentrations.

    Output Metrics included in the CSV:

    • Daily maximum 1-hr ozone concentrations.
    • Daily maximum 1-hr ozone concentrations in the nine cells surrounding a monitor.
    • Time of occurrence for daily max 1-hr ozone.
    • Daily maximum 8-hr ozone concentrations.
    • Daily maximum 8-hr ozone concentrations in the nine cells surrounding a monitor.
    • Time of occurrence for daily max 8-hr ozone.
    • Daily W126 ozone value.
    • Daily SUM06 ozone value.