# IASI_L1

## Variables

The table below lists the variables that are present in the HARP product that results from an ingestion of `IASI_L1` data.

field name | type | dimensions | unit | description
--- | --- | --- | --- | ---
datetime | double | {time} | [seconds since 2000-01-01] | time of the measurement
orbit_index | int32 |  |  | absolute orbit number
latitude | double | {time} | [degree_north] | center latitude of the measurement
longitude | double | {time} | [degree_east] | center longitude of the measurement
solar_azimuth_angle | double | {time} | [degree] | solar azimuth angle at the surface
solar_zenith_angle | double | {time} | [degree] | solar zenith angle at the surface
sensor_azimuth_angle | double | {time} | [degree] | sensor azimuth angle
sensor_zenith_angle | double | {time} | [degree] | sensor zenith angle
wavenumber_radiance | float | {time, spectral} | [W/m^2.sr.m^-1] | measured radiances
wavenumber | float | {time, spectral} | [m^-1] | nominal wavelength assignment for each of the detector pixels
scan_subindex | int8 | {time} |  | relative index (0-119) of this measurement within an MDR
index | int32 | {time} |  | zero-based index of the sample within the source product

## Mapping description

IASI Level 1 products contain a number of scanlines, each scanline contains 30 scans, each scan contains 4 spectra and each spectrum contains 8700 measurements

The table below details where and how each variable was retrieved from the input product.

field name | mapping description
--- | ---
datetime | path | /MDR[]/MDR/RECORD_HEADER/RECORD_START_TIME
description |
orbit_index | path | /MPHR/ORBIT_START
latitude | path | /MDR[]/MDR/GGeoSondLoc[,,1]
longitude | path | /MDR[]/MDR/GGeoSondLoc[,,0]
solar_azimuth_angle | path | /MDR[]/MDR/GGeoSondAnglesSUN[,,1]
solar_zenith_angle | path | /MDR[]/MDR/GGeoSondAnglesSUN[,,0]
sensor_azimuth_angle | path | /MDR[]/MDR/GGeoSondAnglesMETOP[,,1]
sensor_zenith_angle | path | /MDR[]/MDR/GGeoSondAnglesMETOP[,,0]
wavenumber_radiance | path | /MDR[]/MDR/GS1cSpect[], /MDR[]/MDR/IDefNsfirst1b, /GIADR_ScaleFactors/IDefScaleSondNbScale, /GIADR_ScaleFactors/IDefScaleSondScaleFactor[], /GIADR_ScaleFactors/IdefScaleSondNsfirst[], /GIADR_ScaleFactors/IDefScaleSondNslast[]
description | spectral data is scaled using the information in GIADR_ScaleFactors:`for numScale = 0 to (IDefScaleSondNbScale - 1) do` `{` `SF = IDefScaleSondScaleFactor[numScale];` `for chanNb = IdefScaleSondNsfirst[numScale] to IDefScaleSondNslast[numScale] do` `{` `w = chanNb - IDefNsfirst1b + 1;` `pixel_readout[w] = GS1cSpect[..,..,w] * 10^(-SF)` `}` `}`
wavenumber | path | /MDR[]/MDR/IDefSpectDWn1b, /MDR[]/MDR/IDefNsfirst1b, /MDR[]/MDR/IDefNslast1b
description | wavenumber[i] = IDefSpectDWn1b * (i + IDefNsfirst1b - 1).