Tools
The src/Makefile builds the following command-line executables.
Core IASI tools
spec2tab: extracts a single IASI spectrum into a tabular text fileperturbation: computes 4.3 micron and 15 micron brightness temperature products and perturbations, then writes a NetCDF filemap_pert: converts perturbation NetCDF output into geolocated map tables and can optionally recompute background, filtering, and variance fieldsbands: averages radiances over configurable spectral bands and writes brightness temperatures to a tablenoise: estimates noise statistics from radiance data and reports mean brightness temperature, NEDT, and NESRextract: prepares radiance and meteorological inputs for retrieval workflowsretrieval: MPI-enabled retrieval processor for IASI products
Utility programs
day2doy: converts calendar dates to day-of-year valuesdoy2day: converts day-of-year values to calendar datestime2jsec: converts dates to Julian secondsjsec2time: converts Julian seconds back to date/time fields
The time conversion utilities and the shared files jurassic.c and jurassic.h come from the external JURASSIC radiative transfer model:
Common calling pattern
Most programs follow the same structure:
<program> <ctl> <output-or-input> ...
The first argument is a control-file placeholder interpreted through the shared scan_ctl(...) infrastructure in the code. In practice, many workflows pass - and provide options as trailing key/value pairs.
Selected command summaries
spec2tab
Usage:
spec2tab <ctl> <iasi_l1b_file> [index <track> <xtrack> | geo <lon> <lat>] <spec.tab>
Behavior:
- reads one IASI Level-1C granule
- selects a footprint either by track/cross-track index or nearest geolocation
- writes time, geolocation, wavenumber, brightness temperature, and radiance columns
perturbation
Usage:
perturbation <ctl> <out.nc> <l1b_file1> [<l1b_file2> ...]
Behavior:
- reads one or more IASI Level-1C granules
- derives brightness temperature products in the 4 micron and 15 micron bands
- stores geolocation, brightness temperature, perturbation, and variance fields in NetCDF
map_pert
Usage:
map_pert <ctl> <pert.nc> <map.tab>
Behavior:
- reads a perturbation NetCDF product
- selects the requested perturbation family through
PERTNAME - can apply background fitting, smoothing, Gaussian, Hamming, median, and variance processing options
- writes a geolocated table containing time, solar zenith angle, position, brightness temperature, perturbation, variance, and scan indices
The example workflow uses:
map_pert - pert.nc map_4mu.tab PERTNAME 4mu
map_pert - pert.nc map_15mu_high.tab PERTNAME 15mu_high
map_pert - pert.nc map_15mu_low.tab PERTNAME 15mu_low
bands
Usage:
bands <ctl> <out.tab> <l1b_file1> [<l1b_file2> ...]
Behavior:
- reads one or more Level-1C granules
- averages radiances within user-configured spectral intervals
- converts those band means to brightness temperatures
The spectral intervals are configured through repeated NUMIN and NUMAX control parameters.
noise
Usage:
noise <ctl> <iasi_l1_file> <noise.tab>
Behavior:
- computes blockwise brightness-temperature noise diagnostics from one Level-1C granule
- writes track index, channel index, wavenumber, mean BT, NEDT, and NESR