All Projects → danielkoll → PyRADS

danielkoll / PyRADS

Licence: MIT license
A line-by-line longwave radiation code for planetary atmospheres.

Programming Languages

fortran
972 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to PyRADS

RegESM
Regional Earth System Model
Stars: ✭ 37 (+76.19%)
Mutual labels:  atmosphere
radiacode
Library for RadiaCode-101
Stars: ✭ 61 (+190.48%)
Mutual labels:  radiation
typhon
Tools for atmospheric research
Stars: ✭ 47 (+123.81%)
Mutual labels:  radiative-transfer
BPEM
A Barotropic Primitive Equation Model
Stars: ✭ 25 (+19.05%)
Mutual labels:  atmosphere
rte-rrtmgp
RTE+RRTMGP is a set of codes for computing radiative fluxes in planetary atmospheres.
Stars: ✭ 52 (+147.62%)
Mutual labels:  radiative-transfer
fluid-earth
Fluid Earth is a WebGL-powered visualization of Earth's atmosphere and oceans
Stars: ✭ 75 (+257.14%)
Mutual labels:  atmosphere
Realistic-Atmosphere-Godot-and-UE4
A realistic atmosphere material for both the Godot game engine and Unreal Engine 4
Stars: ✭ 119 (+466.67%)
Mutual labels:  atmosphere
Meteor-Mailer
📮 Bulletproof email queue on top of NodeMailer with support of multiple clusters and servers setup
Stars: ✭ 21 (+0%)
Mutual labels:  atmosphere
LBLRTM
Line-By-Line Radiative Transfer Model by Atmospheric and Environmental Research
Stars: ✭ 33 (+57.14%)
Mutual labels:  radiative-transfer
splitr
Use the HYSPLIT model from inside R and do more with it
Stars: ✭ 115 (+447.62%)
Mutual labels:  atmosphere
Kosmos
All-in-One CFW Package for the Nintendo Switch - previously SDFilesSwitch
Stars: ✭ 2,157 (+10171.43%)
Mutual labels:  atmosphere
arts
The Atmospheric Radiative Transfer Simulator
Stars: ✭ 43 (+104.76%)
Mutual labels:  radiative-transfer
C2-Ray3Dm
The 3D version of C2-Ray for multiple sources, hydrogen only
Stars: ✭ 16 (-23.81%)
Mutual labels:  radiative-transfer
meteor-auth0
Auth0 Login Flow for Meteor apps
Stars: ✭ 20 (-4.76%)
Mutual labels:  atmosphere
troposphere
Atmosphere web client
Stars: ✭ 20 (-4.76%)
Mutual labels:  atmosphere
DSMACC
Dynamically Simple Model of Atmospheric Chemical Complexity
Stars: ✭ 16 (-23.81%)
Mutual labels:  atmosphere
Guided Missile Simulation
Guided Missile, Radar and Infrared EOS Simulation Framework written in Fortran.
Stars: ✭ 33 (+57.14%)
Mutual labels:  radiative-transfer
Aurora
Modern toolbox for impurity transport, neutrals and radiation modeling in magnetically-confined plasmas
Stars: ✭ 18 (-14.29%)
Mutual labels:  radiation
cfdm
A Python reference implementation of the CF data model
Stars: ✭ 24 (+14.29%)
Mutual labels:  atmosphere
range3
Range Software - Finite Element Analysis
Stars: ✭ 31 (+47.62%)
Mutual labels:  radiative-transfer

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:

  • cd $PyRADS
  • conda env create -f environment.yml
  • conda activate pyrads
  1. Manually compile the MTCKD model:
  • cd $PyRADS/DATA/MT_CKD_continuum/cntnm.H2O_N2/build
  • (on a Mac if you are using gfortran installed with conda) make -f make_cntnm osxGNUCONDAdbl
  • (on a Mac otherwise) make -f make_cntnm osxGNUdbl
  1. Run test scripts

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

  • cd $PyRADS/Test01.olr
  • python compute_olr_h2o.py

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

  • cd $PyRADS/Test02.runaway
  • python compute_olr_h2o.01.100RH.py

Notes

  • Resolution in test scripts was chosen for relative speed, not accuracy. For research-grade output and model intercomparisons, vertical and spectral resolution need to be increased. For some reference values, see Methods in Koll & Cronin (2018).
  • 'environment.yml' assumes you're using a Mac. For Linux, change the gfortran compiler.
  • If you're using conda, don't forget to type ``conda activate pyrads'' each time before using PyRADS.
  • The current version of PyRADS has a silent bug when using numba + computing line crosssections for multiple species (e.g., H2O + CO2 lines). By default numba is currently disabled. Until the bug is fixed don't use PyRADS + numba without additional validation.
  • Dec 2021: PyRADS allows an optional Voigt line profile. The main impact is for opacity calculations at low pressures, where the Lorentz line approximation breaks down. The current Voigt implementation is 3-4x slower than Lorentz lines. To switch line profiles, see OpticalThickness.py.
  • Jan 2022: To compute CO2 radiative forcing for Earth-ish climates accurately, suggested spectral resolution is 0.01 cm-1. The impact of Voigt vs Lorentz line shape also becomes much less important at high spectral resolution.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].