# S5_L2_O3

## Variables

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

field name | type | dimensions | unit | description
--- | --- | --- | --- | ---
datetime_start | double | {time} | [seconds since 2010-01-01] | start time of the measurement
orbit_index | int32 |  |  | absolute orbit number
validity | int32 | {time} |  | processing quality flag
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] | the four latitude boundaries of each ground pixel
longitude_bounds | float | {time, 4} | [degree_east] | the four longitude boundaries of each ground pixel
sensor_latitude | float | {time} | [degree_north] | latitude of the spacecraft sub-satellite point on the WGS84 reference ellipsoid
sensor_longitude | float | {time} | [degree_east] | longitude of the spacecraft sub-satellite point on the WGS84 reference ellipsoid
sensor_altitude | float | {time} | [m] | altitude of the spacecraft relative to the WGS84 reference ellipsoid.
sensor_orbit_phase | double | {time} | [] | relative offset (0.0 … 1.0) of the measurement in the orbit.
solar_zenith_angle | float | {time} | [degree] | zenith angle of the sun measured from the ground pixel location on the WGS84 reference ellipsoid
solar_azimuth_angle | float | {time} | [degree] | azimuth angle of the sun measured from the ground pixel location on the WGS84 ellipsoid
sensor_zenith_angle | float | {time} | [degree] | zenith angle of the spacecraft measured from the ground pixel location on the WGS84 reference ellipsoid
sensor_azimuth_angle | float | {time} | [degree] | azimuth angle of the spacecraft measured from the ground pixel WGS84 reference ellipsoid
surface_altitude | float | {time} | [m] | height of the surface above WGS84 ellipsoid averaged over the S5 pixel
surface_pressure | float | {time} | [Pa] | surface pressure; from ECMWF and adjusted for surface elevation
surface_type | int32 | {time} |  | surface classification
snow_ice_type | int32 | {time} |  | surface condition (snow/ice); enumeration values: snow_free_land (0), sea_ice (1), permanent_ice (2), snow (3), ocean (4)
sea_ice_fraction | float | {time} | [] | sea-ice concentration (as a fraction)
O3_column_number_density | float | {time} | [mol/m^2] | O3 VCD
O3_column_number_density_uncertainty_random | float | {time} | [mol/m^2] | O3 VCD random error
O3_column_number_density_uncertainty_systematic | float | {time} | [mol/m^2] | O3 VCD systematic error
O3_column_number_density_validity | int32 | {time} |  | quality assurance value describing the quality of the product
O3_slant_column_number_density | float | {time} | [mol/m^2] | O3 SCD
O3_slant_column_number_density_uncertainty | float | {time} | [mol/m^2] | O3 SCD random error
O3_effective_temperature | float | {time} | [K] | effective temperature
O3_column_number_density_amf | float | {time} | [mol/m^2] | effective scene AMF
scene_albedo | float | {time} | [] | effective scene albedo
O3_column_number_density_avk | float | {time, vertical} | [] | averaging kernels of ozone total column
O3_column_number_density_apriori | float | {time, vertical} | [] | O3 profile
pressure | float | {time, vertical} | [] | pressure grid
surface_albedo | float | {time} | [] | surface albedo
cloud_fraction | float | {time} | [] | cloud fraction
cloud_pressure | float | {time} | [Pa] | cloud pressure
cloud_albedo | float | {time} | [] | cloud top albedo
scene_pressure | float | {time} | [Pa] | scene pressure
aerosol_index | float | {time} | [] | aerosol absorbing index 340/380 pair
tropopause_pressure | float | {time} | [Pa] | tropopause pressure (CAMS)
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
--- | ---
datetime_start | path | /data/PRODUCT/time, /data/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)
orbit_index | path | /@orbit_start
validity | path | /data/PRODUCT/processing_quality_flags[]
description | the uint64 data is cast to int32
latitude | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/latitude[]
longitude | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/longitude[]
latitude_bounds | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/latitude_bounds[]
longitude_bounds | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/longitude_bounds[]
sensor_latitude | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/satellite_latitude[]
description | the satellite latitude associated with a scanline is repeated for each pixel in the scanline
sensor_longitude | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/satellite_longitude[]
description | the satellite longitude associated with a scanline is repeated for each pixel in the scanline
sensor_altitude | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/satellite_altitude[]
description | the satellite altitude associated with a scanline is repeated for each pixel in the scanline
sensor_orbit_phase | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/satellite_orbit_phase[]
solar_zenith_angle | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/solar_zenith_angle[]
solar_azimuth_angle | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/solar_azimuth_angle[]
sensor_zenith_angle | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/viewing_zenith_angle[]
sensor_azimuth_angle | path | /data/PRODUCT/SUPPORT_DATA/GEOLOCATIONS/viewing_azimuth_angle[]
surface_altitude | path | /data/PRODUCT/SUPPORT_DATA/INPUT_DATA/surface_altitude[]
surface_pressure | path | data/PRODUCT/SUPPORT_DATA/INPUT_DATA/surface_pressure[]
surface_type | path | /data/PRODUCT/SUPPORT_DATA/INPUT_DATA/surface_classification[]
snow_ice_type | condition | band=band3a or band unset
path | /data/PRODUCT_BAND3A/SUPPORT_DATA/INPUT_DATA/snow_ice_flag[]
description | 0: snow_free_land (0), 1-100: sea_ice (1), 101: permanent_ice (2), 103: snow (3), 255: ocean (4), other values map to -1
condition | band=band3c
path | /data/PRODUCT_BAND3C/SUPPORT_DATA/INPUT_DATA/snow_ice_flag[]
description | 0: snow_free_land (0), 1-100: sea_ice (1), 101: permanent_ice (2), 103: snow (3), 255: ocean (4), other values map to -1
sea_ice_fraction | condition | band=band3a or band unset
path | /data/PRODUCT_BAND3A/SUPPORT_DATA/INPUT_DATA/snow_ice_flag[]
description | if 1 <= snow_ice_flag <= 100 then snow_ice_flag/100.0 else 0.0
condition | band=band3c
path | /data/PRODUCT_BAND3C/SUPPORT_DATA/INPUT_DATA/snow_ice_flag[]
description | if 1 <= snow_ice_flag <= 100 then snow_ice_flag/100.0 else 0.0
O3_column_number_density | path | data/PRODUCT/ozone_total_column
O3_column_number_density_uncertainty_random | path | data/PRODUCT/ozone_total_column_precision
O3_column_number_density_uncertainty_systematic | path | data/PRODUCT/ozone_total_column_trueness
O3_column_number_density_validity | path | data/PRODUCT/qa_value[]
O3_slant_column_number_density | path | data/PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/ozone_slant_column[]
O3_slant_column_number_density_uncertainty | path | data/PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/ozone_slant_column_precision[]
O3_effective_temperature | path | data/PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/effective_temperature[]
O3_column_number_density_amf | path | data/PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/effective_scene_air_mass_factor[]
scene_albedo | path | data/PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/effective_scene_albedo[]
O3_column_number_density_avk | path | data/PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/ozone_total_column_averaging_kernel[]
description | the vertical grid is inverted to make it ascending
O3_column_number_density_apriori | path | data/PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/ozone_profile_apriori[]
description | the vertical grid is inverted to make it ascending
pressure | path | data/PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/pressure_grid[]
description | the vertical grid is inverted to make it ascending
surface_albedo | path | data/PRODUCT/SUPPORT_DATA/INPUT_DATA/surface_albedo_335[]
cloud_fraction | path | data/PRODUCT/SUPPORT_DATA/INPUT_DATA/effective_cloud_fraction[]
cloud_pressure | path | data/PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_pressure[]
cloud_albedo | path | data/PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_albedo[]
scene_pressure | path | data/PRODUCT/SUPPORT_DATA/INPUT_DATA/scene_pressure[]
aerosol_index | path | data/PRODUCT/SUPPORT_DATA/INPUT_DATA/aerosol_index_340_380[]
tropopause_pressure | path | data/PRODUCT/SUPPORT_DATA/INPUT_DATA/tropopause_pressure[]