GEIXSC | ![]() | ![]() |
Latest: GEIXSC v2.01 (29JAN25) [Fortran] [Python] | 29JAN25 |
Although both represent tabulations of the same quantity (absorption cross-section) in the same units (cm2 molec-1), the main issue in the conversion is that
GEISA cross-section files are freely available from cds-espri.ipsl.upmc.fr/etherTypo/?id=1729&L=0
I haven't tested this with all the GEISA cross-section data so if you find problems with converting any particular files, let me know (anu.dudhia@physics.ox.ac.uk). The Python version has only been tested with regularly-gridded files.
This page contains the essentials on installing and
running
Download the source code: [geixsc.f90] or [geixsc.py]
To compile the Fortran, use any generic compiler, eg
This will create a local executable geixscgfortran geixsc.f90 -o geixsc
For example, in linux, if you've downloaded the GEISA file N2O5_all_files.tar.gz into the current directory, you can unpack it and create a list file e.g. n2o5.lst using the following:
The file n2o5.lst then contains 5 filenames, representing tabulations of absorption cross-section at 5 different (p,T) conditions.tar -xzf N2O5_all_files.tar.gz ls N2O5*.asc > ! n2o5.lst
(The 'Unknown' strings in the GEISA N2O5 filenames refer to the fact that the spectral resolution and pressure of the data are indeterminate).N2O5_Unknown_[22]_205.40_Unknown.asc N2O5_Unknown_[22]_215.10_Unknown.asc N2O5_Unknown_[22]_225.00_Unknown.asc N2O5_Unknown_[22]_254.10_Unknown.asc N2O5_Unknown_[22]_293.50_Unknown.asc
Then, to run the conversion program, type geixsc and provide the
name of the list file. Using the above example,
(
geixsc R-GEIXSC: Running program GEIXSC v2.00 File containing list of GEISA filenames:n2o5.lst I-GEIXSC: Reading file: ./n2o5/N2O5_Unknown_[22]_205.40_Unknown.asc I-GEIXSC: Writing file: N2O5_205.4_0.0_540.1-1380.0.xsc I-GEIXSC: Reading file: ./n2o5/N2O5_Unknown_[22]_215.10_Unknown.asc I-GEIXSC: Writing file: N2O5_215.1_0.0_540.1-1380.0.xsc I-GEIXSC: Reading file: ./n2o5/N2O5_Unknown_[22]_225.00_Unknown.asc I-GEIXSC: Writing file: N2O5_225.0_0.0_540.1-1380.0.xsc I-GEIXSC: Reading file: ./n2o5/N2O5_Unknown_[22]_254.10_Unknown.asc I-GEIXSC: Writing file: N2O5_254.1_0.0_540.1-1380.0.xsc I-GEIXSC: Reading file: ./n2o5/N2O5_Unknown_[22]_293.50_Unknown.asc I-GEIXSC: Writing file: N2O5_293.5_0.0_540.1-1380.0.xsc STOP R-GEIXSC: Successful completion
The above is the Fortran version, but running the Python version is essentially the same.
In this case, the program runs almost instantaneously. In most cases you will also get a number of information and/or warning messages and the program takes a little longer, but no further user-input is required.
This is an unusually simple case. Generally the GEISA data will be split into separate files for individual bands, and some sort regridding may be required. For example:
In this case, apart from splitting the original data into two spectral bands (810–880 cm-1 and 1050–1120 cm-1) the program has detected two 'missing' points on an otherwise regular spectral axis and so inserted interpolated values.I-GEIXSC: Reading file: ./f11/CFC-11_00.01_[8]_190.10_002999.76.asc W-REGRID: Interpolating 810.0026 880.0000 from 23229 to 23231 points at 0.003013 [cm-1] spacing I-GEIXSC: Writing file: CFC-11_190.1_22.5_810.0-880.0.xsc I-GEIXSC: Writing file: CFC-11_190.1_22.5_1050.0-1120.0.xsc
The HITRAN format only permits a regular spectral grid within each file,
so the
'W-REGRID: Adjusting ...'
'W-REGRID: Interpolating ...'
'W-REGRID: Re-interpolating ...'.