Skip to content


Repository files navigation

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, 3.11 or 3.12


From anaconda (recommended)

NEW! from v2.1.4, fair is available on conda-forge:

conda install -c conda-forge fair

Older versions of fair (1.6.2+, 2.1.0-4) can be installed from the chrisroadmap channel:

conda install -c chrisroadmap fair==X.Y.Z

From the Python Package Index

pip install 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. A paper describing this method has been submitted, but 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.