MORSE L1C Pre-processors

02DEC24

Introduction

MORSE requires a pre-processor to convert satellite spectra from their original format to a common input format: the MORSE L1C file (a plain text file).

Currently there are five such pre-processors, all written in Python (also IDL versions).
IASI_L1C Convert IASI L1B .nat data (EUMETSAT format)
MIPAS_L1C Convert L1B data (ESA format)
HIROS_L1C Convert HIROS L1B data (netCDF)
HSDI_L1C Convert HSDI L1B data (netCDF)
HIROSGB_L1C Convert HIROS_GB L1B data (netCDF)

These are written in Python (also IDL versions).

IASI_L1C

The program can be run just using the IASI .nat file as input, but also allows for two different types of colocated IASI L2 products (RAL and Eumetsat) to be used to provide additional information, in which case the output is further restricted to the L2 locations; also allows for surface emissivity data to be extracted from the U Wisconsin database.
Python
iasi_l1c.py is a function with parameters specified as
iasi_l1c ( inpfil, outfil, wnobnd, \ latlim=None, lonlim=None, cldlim=None, avhchn=None, \ el2fil=None, el2atm=None, el2sfc=None, el2cld=None, \ ralfil=None, ralatm=None, ralsfc=None, ralcld=None, \ emsfil=None )
Arguments
ArgumentType Description Units Range
Mandatory
inpfil Str Name of IASI .nat input file
outfil Str Name of output MORSE .l1c file
wnobnd Flt(:,2) Lower,Upper Wavenumber limits for each output band [1] cm-1 645–2760
Optional
LAT Float(2) I Min,Max Latitude limits deg N −90:+90
LON Float(2) I Min,Max Longitude limits [2] deg E −180:+180
CLD Float(2) I Min,Max Cloud cover [3] % 0:100
AVH String(*) I List of AVHRR channels for cluster data [4] ∈{'1','2','3A','3B','4','5'}
EL2FIL String I Name of Eumetsat L2 file for colocated output [5]
EL2ATM String I Name of new orbital file containing colocated Eumetsat L2 profiles [6]
EL2SFC String I Name of new orbital file containing colocated Eumetsat L2 surface parameters [7]
RALFIL String I Name of RAL L2 netCDF file for colocated output [5]
RALATM String I Name of new orbital file containing colocated RAL L2 profiles [6]
RALSFC String I Name of new orbital file containing colocated RAL surface parameters [7]
RALCLD String I Name of new orbital file containing colocated RAL cloud parameters [8]
Notes
  1. WNOBND: Usually this would just be a 2 element array giving the lower and upper wavenumber limits of the part of the IASI spectrum required. However it can also be used to extract multiple ranges.
  2. LON: First element is west boundary of longitude limit so, for example, [170,-170] selects 20 degree span of longitudes from 170E to 170W
  3. CLD: The default is to include all pixels, but this argument can be used to exclude pixels where the cloud cover, as defined by the Cloud Fraction field in the IASI L1C .nat file, is above e.g. 50% CLD=[0,50]. It could also be used to set the minimum cloud cover, eg 25% CLD=[25,100], but that is probably less useful.
  4. AVH: IASI .nat files contain cluster analyses from colocated AVHRR channels, which can be used by MORSE for modelling partly-cloudy fields-of-view. Select AVH=['4','5'] to extract cluster analyses for channels 4 (10.7μm) and 5 (12.0μm), which are the only two channels currently used by MORSE (data from any other channels are ignored).
  5. EL2FIL, RALFIL: If either a Eumetsat L2 .nat file or RAL L2 netCDF file containing IASI L2 products is supplied, the L1C output will be limited to just those pixels where the L2 contains valid temperature retrievals.
  6. EL2ATM (requires EL2FIL) or RALATM (requires RALFIL) are the names of .orb format output files which will contain the profile information extracted from the Eumetsat/RAL L2 files, colocated with the L1C data.
  7. EL2SFC (requires EL2FIL) or RALSFC (requires RALFIL) are names of .orb format output files which will contain the surface information extracted from the Eumetsat/RAL L2 files, colocated with the L1C data.
  8. RALCLD (required RALFIL) is the name of an .orb format output file which will contain the RAL cloud information.

MIPAS_L1C

The IDL/Python procedure reads a MIPAS L1B file and a list of microwindows, apodises the spectra and extracts the microwindows writing them as a
MIPAS L1C file.
Python
mipas_l1c ( L1BFIL, MWLIST=MWLIST, L1CFIL=L1CFIL )
IDL Command line
The procedure is run interactively from an IDL session as
IDL> MIPAS_L1C, INPFIL, OUTFIL=OUTFIL, MWLIST=MWLIST
Arguments
ArgumentType I/O Description
Mandatory
INPFIL String I Name of MIPAS L1B input file
Optional
OUTFIL String I Name of L1C output file (input for MORSE)[1]
MWLIST String I Microwindow list file [2]
Notes
  1. OUTFIL: The default output filename is MIP_ooooo.l1c where ooooo is the Absolute Orbit Number.
  2. MWLIST: The list of required microwindows in .mic file format. If absent the program simply returns headers for each sweep (=spectrum) in the L1B file.

HIROS_L1C

The IDL procedure converts a HIROS L1B file to a MORSE
L1C file.
IDL Command line
The procedure is run interactively from an IDL session as
IDL> L1C_HIROS, INPFIL, OUTFIL, [ALTMIN=ALTMIN], [ALTMAX=ALTMAX]
Arguments
ArgumentType I/O Description
Mandatory
INPFIL String I Name of HIROS L1B input file
OUTFIL String I Name of L1C output file (input for MORSE)
Optional
ALTMIN Float I Minimum tangent altitude [km] [1]
ALTMAX Float I Maximum tangent altitude [km] [1]
Notes
  1. By default the L1C file will contain the full range of tangent altitudes in the L1B file, but the user has the option of restricting the altitude range to those actually required by the retrieval (to reduce the file size).

HSDI_L1C

The IDL procedure converts an HSDI L1B file to a MORSE
L1C file.
IDL Command line
The procedure is run interactively from an IDL session as
IDL> L1C_HIROS, INPFIL, OUTFIL, [ALTMIN=ALTMIN], [ALTMAX=ALTMAX], [CHNLST=CHNLST]
Arguments
ArgumentType I/O Description
Mandatory
INPFIL String I Name of HSDI L1B input file
OUTFIL String I Name of L1C output file (input for MORSE)
Optional
ALTMIN Float I Minimum tangent altitude [km] [1]
ALTMAX Float I Maximum tangent altitude [km] [1]
CHNLST StrArray I Subset of required channels [2]
Notes
  1. By default the L1C file will contain the full range of tangent altitudes in the L1B file, but the user has the option of restricting the altitude range to those actually required by the retrieval (to reduce the file size).

  2. By default the L1C file contains all channels in the L1B file, but a subset of channels can be selected here, eg CHNLST=['HSDI_06','HSDI_07']