Py4CAtS --- Python for Computational ATmospheric Spectroscopy

lbl2od scheme
[Image: DLR]

Main Scripts/Functions: From Hitran/Geisa to cross sections to optical depths and radiance (intensity)

higstract
HItran-GeiSa extract (select) lines of (a) certain molecule(s) (and isotope) and/or wavenumber range from line parameter database
lbl2xs
line-by-line (lbl) cross sections for some molecule(s) and some p, T
lbl2od
computation of line-by-line optical depth due to molecular absorption (combines lbl2xs, xs2ac, ac2od)
(d)od2ri
Given the (layer, delta) line-by-line optical depth solve Schwarzschild equation to radiation intensity

Installation: Getting started with Py4CAtS

Download a tarball of Python sources, some data files, and the documentation and unpack it at some convenient place:
tar xfvz py4cats.tgz

The top-level directory py4cats includes a 1.ReadMe file with basic instructions, and six subdirectories bin, data, doc, art, aux, and lbl.

NOTE: Py4CAtS has been restructured / reorganized as a package, where the source files (Python modules) are now distributed in three separate directories (art, aux, and lbl; in the "old, flat" version all *.py files were collected in a single src directory).
Also note, that the top level directory has been renamed from "py4CAtS" to "py4cats" (i.e. lower case letters only to avoid any confusion w.r.t. upper/lower). For more details see "What's new?".

Prerequisites: Python (3) and numpy (sometimes scipy and matplotlib for plotting)

And you need some line data (HITRAN and/or GEISA). For the beginning, here is a thermal infrared excerpt of Hitran 86.


Usage

Py4CAtS can be used in two ways, from the Unix/Linux (or Windows/Mac?) console/terminal or (much better, more flexible, ..... See the demo!NEW! or the poster for the ASA-HITRAN 2016 congress) inside the (I)Python interpreter or Jupyter Qt Console or notebook.

Documentation

For a detailed review of line-by-line modeling for infrared radiative transfer see the manual py4cats.pdf in the doc directory.
Sections 5 and 6 describe Py4CAtS' usage from the Unix/Linux shell and the (i)python shell, respectively.

How to cite Py4CAtS?

(download BiBTeX entries)


What's new?

March 2021
Source code now reorganized as a package
Source files are now distributed over three subdirectories
  • lbl: modules related to lbl computations incl. Hitran/Geisa database access, Voigt routines etc.;
  • art: modules related to atmospheric radiative transfer;
  • aux: auxiliary modules that should/could be useful in any context, e.g. input/output routines.
The setup module py4cats.py is not required anymore, import of the Py4CAtS module is now organized by the __init__.py files.

Spring - Summer 2021 (see What's new? for a full listing)

  Plot functions
atmPlot, acPlot, odPlot, riPlot, xsPlot functions have an additional argument **kwArgs (passed thru to MatPlotLib's functions)
acPlot, odPlot, xsPlot with an additional argument xUnit (instead of flag mue or nm)
  Module aux/aerosol.py
new module for aerosol optical depth using simple power law (Angstrom coefficient)
  Modules lbl/lbl.py, lbl/lines.py, and lbl/lineshapes.py
"beyond Voigt" line shapes and parameters
  Module art/limb.py:
new module for limb (occultation) transmission and effective height
  Module lbl/molecules.py
new molecules (Hitran20, Geisa20) added
  Module art/oDepth.py
class odArray with new attribute column density;
convolve method with default Gauss;
new function odConvolve (calls class method for a list/dictionary of optical depths);
  Module art/od2ri.py
completely rewritten with added support for surface reflection etc
  Module art/rayleigh.py
new module for Rayleigh extinction
  Module art/radInt.py
class riArray with new method noise;
convolve method with default Gauss;
new function riConvolve (calls class method for a list/dictionary of radiances);
function riRead now returns a dictionary of riArray's if all entries of the pickle file have a `key`;
function riSave: if called with a dictionary of riArray's, save each as dictionary with an extra `key`
  Module lbl/sdr.py
new module for speed-dependent Voigt and Rautian functions

Fall 2021 (see What's new? for a full listing)
  Module lbl/lbl2od.py
three new options for function lbl2od to add cia, Rayleigh, and aerosol extinction to absorption coefficient(s) and optical depth(s)
  Module art/cia.py
new module for collision-induced absorption

© fgs   (+49-8153-28-1234)
Wed Oct 27, 2021; 12:34
Imprint
Privacy Policy
Terms of Use
Accessibility