# S5P_PAL_L2_HDO_S

## Variables

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

field name | type | dimensions | unit | description
--- | --- | --- | --- | ---
scan_subindex | int16 | {time} |  | pixel index (0-based) within the scanline
datetime_start | double | {time} | [seconds since 2010-01-01] | start time of the measurement
datetime_length | double |  | [s] | duration of the measurement
orbit_index | int32 |  |  | absolute orbit number
latitude | float | {time} | [degree_north] | latitude of the ground pixel center (WGS84)
longitude | float | {time} | [degree_east] | longitude of the ground pixel center (WGS84)
latitude_bounds | float | {time, 4} | [degree_north] | latitudes of the ground pixel corners (WGS84)
longitude_bounds | float | {time, 4} | [degree_east] | longitudes of the ground pixel corners (WGS84)
solar_zenith_angle | float | {time} | [degree] | zenith angle of the Sun at the ground pixel location (WGS84); angle measured away from the vertical
solar_azimuth_angle | float | {time} | [degree] | azimuth angle of the Sun at the ground pixel location (WGS84); angle measured East-of-North
sensor_zenith_angle | float | {time} | [degree] | zenith angle of the satellite at the ground pixel location (WGS84); angle measured away from the vertical
sensor_azimuth_angle | float | {time} | [degree] | azimuth angle of the satellite at the ground pixel location (WGS84); angle measured East-of-North
altitude_bounds | float | {time, vertical, 2} | [m] | altitude bounds per profile layer
pressure_bounds | float | {time, vertical, 2} | [Pa] | pressure bounds per profile layer
h2o_column_number_density | float | {time} | [molec/cm2] | Vertically integrated column of water
h2o_column_number_density_uncertainty | float | {time} | [molec/cm2] | Standard error of vertically integrated column of water
h2o_column_number_density_apriori | float | {time, vertical} | [molec/cm2] | A-priori vertically integrated partial column of water in layers
h2o_column_number_density_avk | float | {time, vertical} | [(molec/cm2)/(molec/cm2)] | Column averaging kernel of the vertically integrated column of water
hdo_column_number_density | float | {time} | [molec/cm2] | Vertically integrated column of heavy water
hdo_column_number_density_uncertainty | float | {time} | [molec/cm2] | Standard error of vertically integrated column of heavy water
hdo_column_number_density_validity | int8 | {time} |  | continuous quality descriptor, varying between 0 (no data) and 100 (full quality data)
hdo_column_number_density_apriori | float | {time, vertical} | [molec/cm2] | A-priori vertically integrated partial column of heavy water in layers
hdo_column_number_density_avk | float | {time, vertical} | [(molec/cm2)/(molec/cm2)] | Column averaging kernel of the vertically integrated column of heavy water
index | int32 | {time} |  | zero-based index of the sample within the source product

## Mapping description

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

field name | mapping description
--- | ---
scan_subindex | description | the scanline and pixel dimensions are collapsed into a temporal dimension; the index of the pixel within the scanline is computed as the index on the temporal dimension modulo the number of scanlines
datetime_start | path | /PRODUCT/time, /PRODUCT/delta_time[]
description | time converted from milliseconds since a reference time (given as seconds since 2010-01-01) to seconds since 2010-01-01 (using 86400 seconds per day); the time associated with a scanline is repeated for each pixel in the scanline
datetime_length | path | /@time_coverage_resolution
description | the measurement length is parsed assuming the ISO 8601 ‘PT%(interval_seconds)fS’ format
orbit_index | path | /@orbit
latitude | path | /PRODUCT/latitude[]
longitude | path | /PRODUCT/longitude[]
latitude_bounds | path | /PRODUCT/SUPPORT_DATA/GEOLOCATIONS/latitude_bounds[]
longitude_bounds | path | /PRODUCT/SUPPORT_DATA/GEOLOCATIONS/longitude_bounds[]
solar_zenith_angle | path | /PRODUCT/SUPPORT_DATA/GEOLOCATIONS/solar_zenith_angle[]
solar_azimuth_angle | path | /PRODUCT/SUPPORT_DATA/GEOLOCATIONS/solar_azimuth_angle[]
sensor_zenith_angle | path | /PRODUCT/SUPPORT_DATA/GEOLOCATIONS/viewing_zenith_angle[]
sensor_azimuth_angle | path | /PRODUCT/SUPPORT_DATA/GEOLOCATIONS/viewing_azimuth_angle[]
altitude_bounds | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/altitude_levels[]
description | derived from height per level (layer boundary) by repeating the inner levels; the upper bound of layer k is equal to the lower bound of layer k+1; the vertical grid is inverted to make it ascending
pressure_bounds | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/pressure_levels[]
description | derived from pressure per level (layer boundary) by repeating the inner levels; the upper bound of layer k is equal to the lower bound of layer k+1; the vertical grid is inverted to make it ascending
h2o_column_number_density | path | /PRODUCT/h2o_column
h2o_column_number_density_uncertainty | path | /PRODUCT/h2o_column
h2o_column_number_density_apriori | path | /PRODUCT/h2o_column
description | the vertical grid is inverted to make it ascending
h2o_column_number_density_avk | path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/h2o_column_averaging_kernel[]
description | the vertical grid is inverted to make it ascending
hdo_column_number_density | path | /PRODUCT/hdo_column
hdo_column_number_density_uncertainty | path | /PRODUCT/hdo_column
hdo_column_number_density_validity | path | /PRODUCT/qa_value
hdo_column_number_density_apriori | path | /PRODUCT/hdo_column
description | the vertical grid is inverted to make it ascending
hdo_column_number_density_avk | path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/hdo_column_averaging_kernel[]
description | the vertical grid is inverted to make it ascending