# SCIAMACHY_L1c

## Variables

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

field name | type | dimensions | unit | description
--- | --- | --- | --- | ---
datetime_start | double | {time} | [seconds since 2000-01-01] | start time of the measurement
datetime_length | double | {time} | [s] | shortest integration time of all measurements at this time
orbit_index | int32 |  |  | absolute orbit number
altitude | double | {time} | [km] | tangent altitude for each measurement
latitude | double | {time} | [degree_north] | center latitude for each pixel
longitude | double | {time} | [degree_east] | center longitude for each pixel
latitude_bounds | double | {time, 4} | [degree_north] | corner latitudes for each nadir pixel
longitude_bounds | double | {time, 4} | [degree_east] | corner longitudes for each nadir pixel
sensor_altitude | double | {time} | [km] | satellite altitude for each pixel
sensor_latitude | double | {time} | [degree_north] | satellite latitude for each pixel
sensor_longitude | double | {time} | [degree_east] | satellite longitude for each pixel
wavelength_photon_radiance | double | {time, spectral} | [(count/s/cm2/sr/nm)] | wavelength photon radiance of each spectrum measurement
wavelength | double | {time, spectral} | [nm] | nominal wavelength assignment for each of the detector pixels
integration_time | double | {time, spectral} | [s] | integration time for a readout
solar_zenith_angle | double | {time} | [degree] | solar zenith angle for each measurement
solar_azimuth_angle | double | {time} | [degree] | solar azimuth angle for each measurement
viewing_zenith_angle | double | {time} | [degree] | viewing zenith angle for each measurement
viewing_azimuth_angle | double | {time} | [degree] | viewing azimuth angle for each measurement
scan_direction_type | int8 | {time} |  | scan direction for each measurement; enumeration values: forward (0), backward (1), mixed (2)
index | int32 | {time} |  | zero-based index of the sample within the source product

## Ingestion options

The table below lists the available ingestion options for `SCIAMACHY_L1c` products.

option name | legal values | description
--- | --- | ---
data | nadir, limb, occultation, sun_reference | retrieve the nadir, limb, occultation or sun_reference spectra; by default the nadir spectra are retrieved

This definition is only applicable when: data=nadir or data=limb or data=occultation

## Mapping description

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

field name | mapping description
--- | ---
datetime_start | path | /states/dsr_time
description | the dsr_time is increased by the number of the applicable readout multiplied by the minimum integration time
datetime_length | path | /states[]/clus_config[]/intgr_time
orbit_index | path | /mph/abs_orbit
altitude | available | optional
condition | data=limb
path | /limb[]/geo[]/tan_h[1]
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time
condition | data=occultation
path | /occultation[]/geo[]/tan_h[1]
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time
latitude | condition | data=nadir or data unset
path | /nadir[]/geo[]/center_coord/latitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
condition | data=limb
path | /limb[]/geo[]/tang_ground_point[1]/latitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
condition | data=occultation
path | /occultation[]/geo[]/tang_ground_point[1]/latitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
longitude | condition | data=nadir or data unset
path | /nadir[]/geo[]/center_coord/longitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
condition | data=limb
path | /limb[]/geo[]/tang_ground_point[1]/longitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
condition | data=occultation
path | /occultation[]/geo[]/tang_ground_point[1]/longitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
latitude_bounds | available | optional
path | /nadir[]/geo[]/corner_coord[]/latitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state. The corners are rearranged in the following way: 0,2,3,1
longitude_bounds | available | optional
path | /nadir[]/geo[]/corner_coord[]/longitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state. The corners are rearranged in the following way: 0,2,3,1
sensor_altitude | condition | data=nadir or data unset
path | /nadir[]/geo[]/sat_h
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
condition | data=limb
path | /limb[]/geo[]/sat_h
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
condition | data=occultation
path | /occultation[]/geo[]/sat_h
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
sensor_latitude | condition | data=nadir or data unset
path | /nadir[]/geo[]/sub_sat_point/latitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
condition | data=limb
path | /limb[]/geo[]/sub_sat_point/latitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
condition | data=occultation
path | /occultation[]/geo[]/sub_sat_point/latitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
sensor_longitude | condition | data=nadir or data unset
path | /nadir[]/geo[]/sub_sat_point/longitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
condition | data=limb
path | /limb[]/geo[]/sub_sat_point/longitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
condition | data=occultation
path | /occultation[]/geo[]/sub_sat_point/longitude
description | dsr is the dsr for the cluster with an integration time equal to the minimal integration time of all ingested clusters for that state
wavelength_photon_radiance | condition | data=nadir or data unset
path | /nadir[]/observations[]
condition | data=limb
path | /limb[]/observations[]
condition | data=occultation
path | /occultation[]/observations[]
wavelength | condition | data=nadir or data unset
path | nadir[]/pixel_wavelength[]
condition | data=limb
path | limb[]/pixel_wavelength[]
condition | data=occultation
path | occultation[]/pixel_wavelength[]
integration_time | path | /states[]/clus_config[]/intgr_time
solar_zenith_angle | condition | data=nadir or data unset
path | /nadir[]/geo[]/sol_zen_ang[1]
condition | data=limb
path | /limb[]/geo[]/sol_zen_ang[1]
condition | data=occultation
path | /occultation[]/geo[]/sol_zen_ang[1]
solar_azimuth_angle | condition | data=nadir or data unset
path | /nadir[]/geo[]/sol_azi_ang[1]
condition | data=limb
path | /limb[]/geo[]/sol_azi_ang[1]
condition | data=occultation
path | /occultation[]/geo[]/sol_azi_ang[1]
viewing_zenith_angle | condition | data=nadir or data unset
path | /nadir[]/geo[]/los_zen_ang[1]
condition | data=limb
path | /limb[]/geo[]/los_zen_ang[1]
condition | data=occultation
path | /occultation[]/geo[]/los_zen_ang[1]
viewing_azimuth_angle | condition | data=nadir or data unset
path | /nadir[]/geo[]/los_azi_ang[1]
condition | data=limb
path | /limb[]/geo[]/los_azi_ang[1]
condition | data=occultation
path | /occultation[]/geo[]/los_azi_ang[1]
scan_direction_type | available | optional
path | /nadir[]/geo[]/corner_coord[], /states[]/intg_times[]

description

when the minimum integration time of a state is higher than 1 second we are dealing with a mixed (2) pixelotherwise the scan direction is based on the corner coordinates of the first ground pixel of the measurement. The first geolocation pixel is a backscan (1) pixel if the inproduct of the unit vector of the third corner with the outproduct of the unit vector of the first corner and the unit vector of the second corner is negative (otherwise it is part of a forward (0) scan).