OpenAirClim
A model for simplified evaluation of the approximate chemistry-climate impact of air traffic emissions.
https://github.com/dlr-pa/oac
Category: Emissions
Sub Category: Emission Observation and Modeling
Last synced: about 9 hours ago
JSON representation
Repository metadata
OpenAirClim
- Host: GitHub
- URL: https://github.com/dlr-pa/oac
- Owner: dlr-pa
- License: apache-2.0
- Created: 2024-09-02T14:47:49.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-12-11T17:20:47.000Z (15 days ago)
- Last Synced: 2025-12-14T14:42:43.933Z (12 days ago)
- Language: Python
- Homepage: http://openairclim.org/
- Size: 56.1 MB
- Stars: 14
- Watchers: 2
- Forks: 2
- Open Issues: 38
- Releases: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
- Citation: CITATION.cff
- Security: SECURITY.md
README.md
OpenAirClim
Description
OpenAirClim is a model for simplified evaluation of the approximate chemistry-climate impact of air traffic emissions. The model represents the major responses of the atmosphere to emissions in terms of composition and climate change. Instead of applying time-consuming climate-chemistry models, a response model is developed and applied which reproduces the response of a climate-chemistry model without actually calculating ab initio all the physical and chemical effects. The responses are non-linear relations between localized emissions and Radiative Forcing and further climate indicators. These response surfaces are contained within look-up tables. OpenAirClim builds upon the previous AirClim framework. In comparison with AirClim, following new features are introduced:
- Standardized formats for configuration file (user interface) and emission inventories (input) and program results (output)
- Possibility of full 4D emission inventories (3D for several time steps)
- Non-linear response functions for NOx including contribution approach (tagging) and dependency on background
- Contrail formation also depending on fuels and overall efficiencies
- Inclusion of different fuels
- Choice of different CO2 response models
- Choice of temperature models and sea-level rise
- Uncertainty assessment and Robustness Metric based on Monte Carlo Simulations
- Parametric scenarios as sensitivities, e.g. at post-processing level: climate optimized routings
Scientific Background
The impact of aviation on climate amounts to approximately 5% of the total anthropogenic climate warming. A large part of the aviation’s impact arises from non-CO2 effects, especially contrails and nitrogen oxide emissions. Impact of non-CO2 effects depend in particular on the location and time of emissions, hence a regional dependence of impacts exists. As impacts of individual non-CO2 effects show a different spatial dependence, the relationship between impacts and associated emissions can be best described in non-linear relationships, i.e. equations or algorithms based on look-up tables. Specifically, the climate impact of an aircraft depends on where (and when) an aircraft is operated. In addition, using different types of fuel generally changes the importance of the non-CO2 effects.
Layout

- User interface for settings in the run control and outputs (grey)
- Definition of background conditions, such as aviation scenarios, uncertainty ranges and aviation inventories (orange)
- A link to a pre-processor for aviation inventories (light blue).
- Processor for a full 4D-emission inventory at multiple timesteps (violet)
- A framework for the application of non-linear response functions (red) to these emission inventories.
- Response functions for CO2 and climate / temperature and sea-level changes
- Parametric scenarios as sensitivities (yellow), e.g. at post-processing level: climate optimized routings
- Output: Warnings, errors (log files), climate indicators and diagnostics (green), values of climate metrics and robustness metrics (grey)
Documentation
Please refer to openairclim.org for the documentation of the OpenAirClim framework.
This documentation includes installation manuals, quick-start and user guides, example demonstrations, an API reference, as well as information on the scientific background and OpenAirClim governance.
Installation
If you build OpenAirClim from source, you first have to access the repository. To obtain the repository, the most convenient way is using following Git command:
git clone https://github.com/dlr-pa/oac.git
Make sure that either the conda or mamba package manager is installed on your system.
The source code includes configuration files environment_xxx.yaml that enable the installation of a virtual conda environment with all required dependencies. This installation method is suitable for working across platforms. Change directory to the root folder of the downloaded source, create a conda environment and activate it:
cd oac
conda env create -f environment_xxx.yaml
conda activate <env>
Replace xxx with the relevant file and <env> with the correct name of the installed conda environment, e.g. oac or oac_minimal.
Finally, to install the openairclim package system-wide on your computer, execute one of the following commands within the activated conda environment.
This last installation step isn't necessary if the user has otherwise added the path to the oac source folder to PYTHONPATH.
pip install .
or
pip install -e .
The -e flag treats the openairclim package as an editable install, allowing you to make changes to the source code and see those changes reflected immediately. The latter command is recommended for developers.
After installing the conda ennvironment and required dependencies, proceed with the steps described in section Getting started.
Getting started
Download emission inventories
Air traffic emission inventories are essential input to OpenAirClim. You can download example emission inventories based on the DLR project Development Pathways for Aviation up to 2050 (DEPA 2050). These inventories comprise realistic emission data sets.
Depending on the settings made in the configuration file, the computational time of the configured simulations could be long. If you are more interested in testing or developing OpenAirClim software, you might want to generate artificial data.
Create input data
If you do not have custom input files available, input files with artificial data can be autogenerated using command line scripts. For that, change directory to utils/ and execute following commands in order to create artificial input files:
cd utils/
python create_artificial_inventories.py
python create_time_evolution.py
The script create_artificial_inventories.py creates a series of inventories comprising random emission data. The script create_time_evolution.py creates two time evolution files, controlling the temporal evolution of the emission data: one file is intended for normalizing inventory emission data, and the other file is intended for scaling inventory emission data along the time axis. Emission inventories and time evolution files are both .nc files and are located in directory example/input.
Create test files
If you contribute to the software development of OpenAirClim, you will probably execute the testing procedures which require additional test files. Following command creates these files:
python create_test_files.py
Usage
After installation, the package can be imported and used in Python scripts:
import openairclim as oac
Refer to the example/ folder within the repository for a minimal example and the demonstrations given on openairclim.org.
Roadmap
The scheduling of major software releases and milestone planning are partially dependent on the contractractual framework with our stakeholders. For the version history of the completed releases, see the changelog. The full development stage as currently planned is described in the layout.
Contributing
Contributions are very welcome. Please read our contribution guidelines to get started.
License
The license of the OpenAirClim sofware can be found here.
Citation (CITATION.cff)
# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!
cff-version: 1.2.0
title: OpenAirClim
message: >-
If you use this software, please cite it using the
metadata from this file.
type: software
authors:
- given-names: Stefan
family-names: Völk
email: Stefan.Voelk@dlr.de
orcid: 'https://orcid.org/0000-0001-9720-6504'
affiliation: German Aerospace Center (DLR)
- orcid: 'https://orcid.org/0000-0003-2458-1826'
given-names: Hiroshi
family-names: Yamashita
affiliation: German Aerospace Center (DLR)
email: Hiroshi.Yamashita@dlr.de
- given-names: Liam
family-names: Megill
email: Liam.Megill@dlr.de
affiliation: German Aerospace Center (DLR)
orcid: 'https://orcid.org/0000-0002-4199-6962'
- given-names: Katrin
family-names: Dahlmann
email: Katrin.Dahlmann@dlr.de
orcid: 'https://orcid.org/0000-0003-3198-1713'
affiliation: German Aerospace Center (DLR)
- given-names: Volker
family-names: Grewe
email: Volker.Grewe@dlr.de
affiliation: German Aerospace Center (DLR)
orcid: 'https://orcid.org/0000-0002-8012-6783'
abstract: >-
OpenAirClim is a model for simplified evaluation of the
approximate chemistry-climate impact of air traffic
emissions. The model represents the major responses of the
atmosphere to emissions in terms of composition and
climate change. Instead of applying time-consuming
climate-chemistry models, a response model is developed
and applied which reproduces the response of a
climate-chemistry model without actually calculating ab
initio all the physical and chemical effects. The
responses are non-linear relations between localized
emissions and Radiative Forcing and further climate
indicators. These response surfaces are contained within
look-up tables.
keywords:
- climate impact
- aviation
- response modelling
- assessment
license: Apache-2.0
version: 2.8.3
date-released: '2024-08-05'
Owner metadata
- Name: DLR Institute of Atmospheric Physics
- Login: dlr-pa
- Email:
- Kind: organization
- Description: German Aerospace Center (DLR) e.V.
- Website: https://www.dlr.de/pa
- Location: Oberpfaffenhofen, Germany
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/58212364?v=4
- Repositories: 5
- Last ynced at: 2023-03-08T12:32:03.577Z
- Profile URL: https://github.com/dlr-pa
GitHub Events
Total
- Create event: 29
- Release event: 5
- Issues event: 79
- Watch event: 14
- Delete event: 14
- Member event: 3
- Issue comment event: 25
- Push event: 174
- Pull request review event: 83
- Pull request review comment event: 73
- Pull request event: 44
- Fork event: 2
Last Year
- Create event: 20
- Release event: 4
- Issues event: 40
- Watch event: 10
- Delete event: 9
- Member event: 2
- Issue comment event: 8
- Push event: 128
- Pull request review comment event: 43
- Pull request review event: 42
- Pull request event: 26
- Fork event: 1
Committers metadata
Last synced: 3 months ago
Total Commits: 162
Total Committers: 4
Avg Commits per committer: 40.5
Development Distribution Score (DDS): 0.42
Commits in past year: 128
Committers in past year: 4
Avg Commits per committer in past year: 32.0
Development Distribution Score (DDS) in past year: 0.508
| Name | Commits | |
|---|---|---|
| Stefan Voelk | s****k@d****e | 94 |
| Liam Megill | l****l@d****e | 63 |
| stefan-voelk | 1****k@u****m | 4 |
| Liam Megill | l****m@a****u | 1 |
Committer domains:
Issue and Pull Request metadata
Last synced: 5 days ago
Total issues: 61
Total pull requests: 44
Average time to close issues: about 1 month
Average time to close pull requests: 3 days
Total issue authors: 6
Total pull request authors: 4
Average comments per issue: 0.23
Average comments per pull request: 0.14
Merged pull request: 36
Bot issues: 0
Bot pull requests: 0
Past year issues: 20
Past year pull requests: 23
Past year average time to close issues: 19 days
Past year average time to close pull requests: 5 days
Past year issue authors: 4
Past year pull request authors: 3
Past year average comments per issue: 0.1
Past year average comments per pull request: 0.13
Past year merged pull request: 19
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
- liammegill (30)
- stefan-voelk (23)
- fagunter (5)
- ahsawa (1)
- harjotsingh21 (1)
- joesalamoneiii (1)
Top Pull Request Authors
- liammegill (22)
- stefan-voelk (19)
- AbaniKaurKohli (2)
- ClementinLeron (1)
Top Issue Labels
- type: feature (26)
- module: contrails (14)
- module: core (12)
- good first issue (9)
- type: docs (6)
- module: utils (5)
- type: fix (5)
- type: bug (5)
- type: testing (3)
- type: discussion (3)
- module: calc_ch4 (2)
- module: interpolate_space (2)
- module: write_output (2)
- module: interpolate_time (2)
- module: plot (1)
- module: construct_conc (1)
- module: calc_dt (1)
- type: chore (1)
- enhancement (1)
- contrails (1)
- module: co2 (1)
- module: nox (1)
Top Pull Request Labels
- type: feature (15)
- module: contrails (12)
- type: docs (7)
- module: core (6)
- type: chore (5)
- type: fix (5)
- type: bug (3)
- module: utils (3)
- module: nox (2)
- module: calc_ch4 (2)
- module: write_output (1)
- module: parametric (1)
Score: 5.337538079701318