Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time
November 23, 2023 17:31
November 23, 2023 17:31
November 23, 2023 17:31
October 3, 2023 14:42
November 23, 2023 17:35
November 23, 2023 17:35
December 10, 2022 18:17
December 18, 2022 10:51
December 10, 2022 18:17
December 10, 2022 18:17
November 23, 2023 17:36
June 26, 2017 16:18
December 12, 2022 18:33
November 23, 2023 17:31
December 16, 2022 22:58
November 23, 2023 17:31
December 10, 2022 18:17

image image Documentation Status image image image Anaconda-Server Badge


FaIR (the Finite-amplitude Impulse-Response) climate model is a simple climate model, or emulator, useful for producing global mean temperature projections from a wide range of emissions or prescribed forcing scenarios.


  • python 3.8, 3.9, 3.10 or 3.11


From the Python Package Index

pip install fair

From anaconda

conda install -c chrisroadmap fair

From source

Refer to the documentation


FaIR can be driven by emissions of greenhouse gases (GHGs) and short-lived forcers (SLCFs), concentrations of GHGs, or effective radiative forcing (ERF), with different input methods for different species possible in the same run. If run concentration-driven, emissions are back-calculated. Custom GHGs and SLCFs can be defined, and all components are optional allowing experiments such as pulse-response analyses to single forcers or gathering up non-CO2 species as an aggregate forcing.


The examples directory contains Jupyter notebooks with some simple examples showing how to run FaIR and the standalone energy balance model.

If you want to try this out online, go here.

Important: A note about calibrating and constraining

FaIR is naive. It will run whatever climate scenario and climate configuration you give it. If you violate the laws of physics, FaIR won't stop you. For simple climate models as for complex, garbage in leads to garbage out. More subtle to spot are those analyses with simple climate models where the present day warming (or historical) is wrong or the climate is warming too slowly or too quickly. At least, plot a historical temperature reconstruction over your results and see if it looks right.

We have produced IPCC AR6 Working Group 1 consistent probabilistic ensembles to run with. The calibration data can be obtained here. These parameter sets are calibrated to CMIP6 models, run in a large Monte Carlo ensemble, and constrained based on observed and assessed climate metrics. For an example of how to use this calibration data set with SSP emissions, see this example. If you're writing a paper using FaIR, you should use these. There'll be a paper on this at some point, for now please cite the Zenodo DOI.


If you use FaIR in your work, please cite the following references depending on the version:

  • v2.0+: Leach, N. J., Jenkins, S., Nicholls, Z., Smith, C. J., Lynch, J., Cain, M., Walsh, T., Wu, B., Tsutsui, J., and Allen, M. R.: FaIRv2.0.0: a generalized impulse response model for climate uncertainty and future scenario exploration, Geosci. Model Dev., 14, 3007--3036,, 2021
  • v1.1-v1.6: Smith, C. J., Forster, P. M., Allen, M., Leach, N., Millar, R. J., Passerello, G. A., and Regayre, L. A.: FAIR v1.3: A simple emissions-based impulse response and carbon cycle model, Geosci. Model Dev.,, 2018.
  • v1.0 (or the concept of the state-dependent impulse-response function for CO2): Millar, R. J., Nicholls, Z. R., Friedlingstein, P., and Allen, M. R.: A modified impulse-response representation of the global near-surface air temperature and atmospheric concentration response to carbon dioxide emissions, Atmos. Chem. Phys., 17, 7213-7228,, 2017.