L1C Software

Last updated: 23MAY05

The IDL program l1c.pro (which replaces the old lv2pp.pro) reads a MIPAS L1B file and a list of microwindows, apodises the spectra and extracts the microwindows writing them as a L1C file, suitable for input to MORSE.

The main program l1c.pro and associated procedures l1c_*.pro are available as a compressed tar file: l1c_23MAY05.tar.Z
Note that the main program contains a !PATH = ... statement which should be edited to point to the directory where the other modules are stored unless all in the local directory.

There is also an IDL procedure read_l1c.pro which can be used to read in L1C data into a structure, with the microwindow information conveniently sorted.

To run, eg type .run l1c from the IDL> prompt. Three terminal inputs are then required:

L1B file:
Enter name of the MIPAS L1B file.
Note that the entered response is saved in a local file l1c_l1bfil.save, so if the program is run subsequently the prompt will be L1B file [<CR>= use l1c_l1bfil.save]: and the user has the option of hitting the carriage return to reuse the same filename.
Microwindow list [=none]:
Enter the name of the file containing the list of required microwindows.
See MORSE inputs for definition of an input .lst file.
The file format allows several such files to be simply appended, eg mwlist.lst, which contains all the nominal microwindows used in the MIPAS Off-line processor. The absorber indices (following the altitude ranges) are not read by l1c.pro.
If the user types carriage return, no apodisation is performed and the output will simply contain a list of scan/sweep headers (which may be useful for examining the locations of L1B spectra).
First,Last Scan Nos [=1, 72]: (where eg 72 is the number of scans in the L1B file)
Enter the first and last scan numbers required for processing, separated by a space or a comma.
If carriage return is typed, all scans within the L1C file are processed.
Scans containing a different number of sweeps to the nominal number are skipped.

Outputs are written to files L1C_ooooo_SCAN#ss where ooooo is the Absolute Orbit Number and ss is the scan number

See http://www.atm.ox.ac.uk/group/mipas/L1C/ for definition of the L1C format.

Main differences from lv2pp

  1. About an order of magnitude quicker, mainly due to use of 2^N rather than 2^N + 1 points in FFT.
  2. Prompts user for microwindow list rather than assuming fixed filename
  3. Should also work for different spectral resolutions (determined by L1B file)
  4. Writes L1C sweep header even for sweeps where no valid MWs are found
  5. <CR> in response to prompt for L1B filename gives last L1B filename used, if any, in current directory (saved in file l1c_l1bfil.save)
  6. <CR> in response to prompt for list of microwindows simply writes out the sweep headers (useful for extracting time/location information from scans/sweeps in L1B file).
Radiance outputs are slightly different to Lv2PP due to the different FFT and NB apodisation but differences should be a couple of orders of magnitude less than the NESR.

Change of output format to L1C v2.0. Only difference is an extra record after the format identifier. Can also handle nominal altitudes for 27 sweeps (assumed to be the new scan pattern 6, 7.5 ... 70km). To continue generating output as v1.5, change line in l1c.pro from
L1CFMT = 2.0
L1CFMT = 1.5

Fix bug in module l1c_inpmds which misread spectra following corrupt L1B bands, eg if AB band was corrupt, A microwindows were OK, AB microwindows were excluded (as required) but B, C and D band microwindows were extracted from the wrong parts of the spectrum.

Main changes from previous version (19NOV04)