danielkoll / PyRADS

A line-by-line longwave radiation code for planetary atmospheres.
MIT License
30 stars 9 forks source link
atmosphere compute-olrs line-by-line longwave longwave-radiation olr planetary-atmospheres python radiation radiative-transfer surface-temperature two-stream

PyRADS

PyRADS is the Python line-by-line RADiation model for planetary atmosphereS. PyRADS is a radiation code that can provide line-by-line spectral resolution, yet is written in Python and so is flexible enough to be useful in teaching.

For Earth-like atmospheres, PyRADS currently uses HITRAN 2016 line lists (http://hitran.org/) and the MTCKD continuum model (http://rtweb.aer.com/continuum_frame.html).

Looking for a version of PyRADS that can deal with shortwave radiation (scattering)? https://github.com/ddbkoll/PyRADS-shortwave

References:

(1) Koll & Cronin, 2018, https://doi.org/10.1073/pnas.1809868115.

Installation

1) Download to your own computer.

2) [optional] Install the required libraries using conda:

3) Manually compile the MTCKD model:

4) Run test scripts

To compute outgoing longwave radiation (OLR) in W/m2 for a given surface temperature:

To compute OLRs for a set of surface temperatures and save the resulting output to txt:

Notes

Requirements

Python 3 with numpy and scipy.

For faster calculations: numba.

For the MTCKD continuum model: gmake and gfortran.

Acknowledgements

PyRADS makes use of HITRAN 2016 line lists (http://hitran.org/), AER's MTCKD continuum model (http://rtweb.aer.com/continuum_frame.html), and the PyTran script published by Ray Pierrehumbert as part of the courseware for "Principles of Planetary Climates" (https://geosci.uchicago.edu/~rtp1/PrinciplesPlanetaryClimate/). Brian Rose (http://www.atmos.albany.edu/facstaff/brose/) and Andrew Williams (https://github.com/AndrewWilliams3142) have improved the code.

PyRADS v1.0 is also available on DOI.