Py4CATS --- FAQ

Forecasted Asked Questions


Why not unify the two script extract and lbl2od?

Typically extracting lines form Hitran or Geisa in a certain spectral range will provide linelists of a dozen molecules or so. Some of these molecules are probably very ``exotic'', i.e. they might have very small concentrations and hence will "normally" not contribute significantly to the total optical depth. However, especially heavy molecules such as ClONO2 will have thousands or even ten thousands of lines and would slow down the line-by-line calculation considerably.

Therefore its up to the user to decide what molecules should be taken into account for cross section, absorption coefficient, and optical depth: First extract the line parameters from Hitran or Geisa and check the list of line parameter files (you can do this graphically with plot_atlas *.vSEan); then continue to optical depths with only the 'important' molecules.

If you already know YOUR molecules, then you can simply invoke extract individually for each molecule (specified with the -m option).


Selection of spectral range, contributions from line wings

In order to compute cross sections, absorption coefficients, and optical depths for some spectral range xlo ... xhi, all lines in an extended spectral range xlo - d ... xhi + d should be considered, where d is typically some wavenumbers cm-1 (the actual size of d depends on the number, density, and strengths of lines outside 'your' interval and on further factors such as pressure). As the extract and lbl2od (or lbl2xs) scripts are completely independent, this extension is not done automatically.

What is the difference between the -w and -W options?

In some way the -w (see also previous item) is kind of 'physics option', whereas the -W is more related to the numerics and approximation, and it is only relevant for the 'multigrid' cross section algorithms: Near the line center the cross section for an individual line is evaluated on a fine wavenumber grid with a spacing essentially determined by the line width (hwhm=half width @ half maximum): dv = hwhm / n where n is the sampling rate defined by the -s option (default 5.0). Outside this line center region the (Voigt) line profile is evaluated only on a coarse grid with spacing increased by a factor two, four, or eight (according to the -g option). The extension of the center region is defined by nWidths, the -W option, typically ± 25 hwhm.

How long does it typically take to extract the line parameters from HITRAN/GEISA?

Due to a kind of bisection approach extract should find the first line to be accepted fairly quickly within a second (even in the ultraviolet, i.e. at the "far end" of the database). extract will report on the first and last line found/accepted. On a modern computer reading the lines should not take more than a few seconds, and you should get a note on the completed extraction quite soon. Depending on the number of lines actually extracted, saving/writing to file/disk may take some time.
Note: If the data (input and/or output) are located on a different machine, i.e., have to be transferred over the network, things can become considerably slower!

Can I mix line parameter data from HITRAN and GEISA?

extract generates an individual data file for each molecule, so you can easily mix data from different databases, e.g., spectroscopic data for some moleules from HITRAN, some other molecules from GEISA. Apparently you can also use different versions of these data bases.

What about continuum, e.g., CKD(-MT) for water?

Continuum corrections to the lbl cross sections and absorptions coefficients are currently not implemented.

Some of the cross section values are negative?

Some negative cross section values can show up due to problems of higher order Lagrange interpolation. Typically this happens for small y at the transition of the Gaussian line center to the Lorentzian line wings. In these cases use linear interpolation: lbl2od -i2 .... or lbl2xs -i2 ....

The optical depth file is huge – Do we really need this fine resolution?

Depending on the size of the spectral interval, the spectral region, and the altitude (pressure) of the highest atmospheric levels (top-of-atmosphere), the resulting optical depth file can become really huge, i.e., a wavenumber grid of a million points is not unusual. So is it possible to use less data points, i.e., a coarser wavenumber grid?

First, the wavenumber grid is equidistant with a spacing (xi - xi-1) automatically adjusted to the (mean) half width (HWHM) of all contributing lines. As pressure is decreasing with altitude (approximately p ~ exp(-z)) and pressure broadening half width is proportional to pressure, lines are becoming narrower and narrower (until Doppler broadening starts to dominate), and thus the number of grid points is increasing with altitude. The grid point spacing (and hence the number of grid points) can be influenced by means of the -s option for sampling: the default value of 5.0 results in a spacing dx=HWHM/5 (approximately).

So it is tempting to reduce the sampling rate. However, then it may happen that the peak(s) of some important strong line(s) are just between some grid points and hence "lost". If you really want to reduce the number of grid points, it is better to use a sampling with some grid points per HWHM and average the final optical depth spectra afterwards.


© fgs   (+49-8153-28-1234)
Wed Sep 14, 2011; 10:25