Skip to content

The GENerator of Optimized Atmospheric chemical mechanisms (GENOA v3)

License

Notifications You must be signed in to change notification settings

tool-genoa/genoa

Repository files navigation

GENOA

The GENerator of Optimized Atmospheric chemical mechanisms

GENOA is an open-source framework for scalable, accuracy-controlled reduction and analysis of highly detailed volatile organic compound (VOC) mechanisms.

Documentation and user guide: https://tool-genoa.github.io/genoa

Current version

This repository hosts GENOA v3, which advances scalability, modularity, and workflow design for the reduction of mechanisms containing up to millions of reactions, including those generated by GECKO-A, while preserving key indicators such as secondary organic aerosol formation (SOA) and gas-phase reactivity.

Earlier GENOA implementations, GENOA v1 and GENOA v2.0, coupled to SSH-aerosol, were released as the GENerator of Reduced Organic Aerosol Mechanisms.

Key capabilities

GENOA introduces a scalable, graph-aware framework that integrates two reduction processes:

Threshold-based reduction (TBR)

A fast, strategy-driven pruning process that reduces low-influence species and reactions using configurable thresholds.

Simulation-based reduction (SBR)

An iterative refinement process guided by box-model simulations and quantitative error metrics, enabling accuracy-controlled mechanism reduction.

Together, these processes allow users to explore reduction trade-offs across VOC classes and chemical evaluation targets within user-defined accuracy constraints.

Installation

GENOA can be run using Docker (recommended) or installed from source.

git clone https://github.com/tool-genoa/genoa.git
cd genoa
docker build -t genoa .
docker run -it genoa

For complete installation and configuration instructions, see the GENOA documentation.

Quick Start

Run GENOA with a configuration file:

genoa ./test_cases/config/1_build.ini

or from source:

python -m genoa ./test_cases/config/1_build.ini

For long jobs or HPC environments, use nohup or the provided runtime script:

./runtime/scripts/run_job.sh ./test_cases/config/1_build.ini ./output/logs/run.log

Directory Layout

genoa/
├── data
│   ├── gecko-files
│   └── ssh-aerosol-files
├── Dockerfile
├── LICENSE
├── pyproject.toml
├── README.md
├── requirements.txt
├── runtime
│   ├── logs
│   └── scripts
│       └── run_job.sh
├── src
│   └── genoa
├── test_cases
│   ├── conditions
│   ├── config
│   ├── input
│   └── output
└── vendor
    ├── boxmodel4gecko-v-1-0-genoa
    └── UManSysProp_public-master

Vendor Models

The vendor/ directory contains external models that have been adapted for integration with GENOA v3. Those coupled versions in vendor/ remain compatible with the standard distributions. When using these models with GENOA v3, ensure that their dependencies (e.g., compilers, NetCDF, Open Babel) are correctly configured and compiled on your system.

boxmodel4gecko-v-1-0-genoa

UManSysProp_public-master


Test Cases

The test_cases/ directory provides representative examples demonstrating the full GENOA v3 workflow, including:

  • mechanism conversion and preprocessing,
  • box-model simulation and comparison,
  • threshold-based and simulation-based reduction,
  • evaluation and post-processing.

All test cases are based on a six-generation 1-hexene GECKO-A mechanism (U6), which provides a compact but realistic system for local or HPC runs. Each test case is configured via an .ini file and designed to be self-contained and reproducible.

Configuration files

Config File Purpose
1_build.ini Convert GECKO-A -> GENOA format
2_build_run.ini Convert and run the mechanism
3_run.ini Simulate a specific mechanism
4_run_compare.ini Simulate and compare with a reference
5_threshold_reduction.ini Perform threshold-based reduction
6_training.ini Conduct simulation-based reduction (training)
6_training_parameters.csv Stage-specific parameter definitions for training
7_testing.ini Evaluate reduced mechanisms
8_reductions.ini Execute sequential reductions and evaluation
9_postprocess.ini Generate plots and perform post-processing
config_reference.ini Reference for all configuration sections and options
parameter_reference.csv Reference for parameters used in simulation-based reduction

A detailed description of configuration options and parameters is provided on the GENOA v3 documentation site.


Citation

If you use GENOA v3, please cite:

(...)

Contact

Zhizhao Wang (zhizhaow@ucr.edu)

About

The GENerator of Optimized Atmospheric chemical mechanisms (GENOA v3)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages