Latest: SUBHIT v1.02 (17JUL17)




subhit.f is the FORTRAN77 program to extract a subset of a HITRAN line data file by wavenumber and/or molecule/isotope.

For example, this could be useful for merging different molecules from different datasets, starting with this program to extract particular molecules and then using the mrghit program to reassemble subsets.

Installing subhit

First download the source code: [subhit.f]

Then compile with any FORTRAN77 compiler, eg

f77 subhit.f -o subhit

Running subhit

To run the program, simply type subhit and respond to the prompts.

A typical run just to extract a spectral subset (all molecules) might be (user responses in bold)

R-SUBHIT: Running SUBHIT v1.00
Input HITRAN file: HITRAN2012.par
Wavenumber range (cm-1) [<CR>=all]: 800 900
List of Molec# to include: <CR>
List of Molec# to exclude: <CR>
Output HITRAN subset file: example.par
I-SUBHIT: Record# 100000 Wavenumber= 845.687260
I-SUBHIT: Record# 200000 Wavenumber= 875.336970
I-SUBHIT: Number of records written = 289027
STOP R-SUBHIT: Successful completion statement executed


  1. The first line tells you which version (1.0) of the program is being executed
  2. Then follows the dialogue which asks for
    1. The name of the original HITRAN input file
    2. Limits for the spectral range. The user either just types <CR> to obtain the full range contained in the input files, or enters the required lower, upper wavenumbers (800-900 in this case).
    3. A list of molecules, and only these molecules to include. If you want to limit the output to just a small number of molecules and/or isotopes, enter their HITRAN codes separated by spaces (max 80 characters in total), with numbers after a decimal point to indicate isotopologues. For example: 1 3 2.1 2.2 would select all H2O (1) and O3 (3) molecules, and CO2 (2) but only isotopologues 1 (626) and 2 (636). Typing <CR> means that you don't want to specify a list.
    4. (if the user typed <CR> to the previous) A list of molecules, and only these molecules to exclude, same format as previous. If you want to use all the molecules, type <CR> again.
    5. The name of the output file, example.par in this case.
  3. The program then prints a series of progress messages after every 100 000 records of input data are written
  4. The program ends with a summary giving the number of records written. If the user specifically excluded particular molecules/isotopes there will be an additional summary line giving the number of records excluded.

Version History

v1.00 (23AUG13)
Original code.
v1.01 (05AUG15)
Change .EQ. to .EQV. when comparing logical expressions to avoid gfortran warning messages.
v1.02 (17JUL17)
Allow for Isotope#0 associated with 10th CO2 isotopomer in HITRAN 2012, c.4600 cm-1