# S5P_L2_O3

## Variables

The table below lists the variables that are present in the HARP product that results from an ingestion of `S5P_L2_O3` 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
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] | latitudes of the ground pixel corners (WGS84)
longitude_bounds | float | {time, 4} | [degree_east] | longitudes of the ground pixel corners (WGS84)
sensor_latitude | float | {time} | [degree_north] | latitude of the geodetic sub-satellite point (WGS84)
sensor_longitude | float | {time} | [degree_east] | longitude of the goedetic sub-satellite point (WGS84)
sensor_altitude | float | {time} | [m] | altitude of the satellite with respect to the geodetic sub-satellite point (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
pressure_bounds | float | {time, vertical, 2} | [Pa] | pressure bounds per profile layer
O3_column_number_density | float | {time} | [mol/m^2] | O3 column number density
O3_column_number_density_uncertainty | float | {time} | [mol/m^2] | uncertainty of the O3 column number density
O3_column_number_density_validity | int8 | {time} |  | continuous quality descriptor, varying between 0 (no data) and 100 (full quality data)
O3_column_number_density_apriori | float | {time, vertical} | [mol/m^2] | O3 column number density apriori
O3_column_number_density_avk | float | {time, vertical} | [] | averaging kernel for the O3 column number density
O3_column_number_density_amf | float | {time} | [] | O3 column number density total air mass factor
O3_column_number_density_amf_uncertainty | float | {time} | [] | uncertainty of the O3 column number density total air mass factor
O3_column_number_density_dfs | float | {time} | [] | degrees of freedom of the O3 column number density
O3_column_number_density_sic | float | {time} | [] | Shannon information content of the O3 column number density
O3_slant_column_number_density | float | {time} | [mol/m^2] | O3 ring corrected slant column number density
O3_effective_temperature | float | {time} | [K] | ozone cross section effective temperature
cloud_base_height | float | {time} | [m] | cloud base height calculated using the OCRA/ROCINN CAL model
cloud_base_height_uncertainty | float | {time} | [m] | error of the cloud base height calculated using the OCRA/ROCINN CAL model
cloud_base_pressure | float | {time} | [Pa] | cloud base pressure calculated using the OCRA/ROCINN CAL model
cloud_base_pressure_uncertainty | float | {time} | [Pa] | error of the cloud base pressure calculated using the OCRA/ROCINN CAL model
cloud_fraction | float | {time} | [] | cloud fraction from either the OCRA/ROCINN CAL or CRB model
cloud_fraction_uncertainty | float | {time} | [] | uncertainty of the cloud fraction
cloud_optical_depth | float | {time} | [m] | retrieved cloud optical depth using the OCRA/ROCINN CAL model
cloud_optical_depth_uncertainty | float | {time} | [m] | uncertainty of the retrieved cloud optical depth using the OCRA/ROCINN CAL model
cloud_top_pressure | float | {time} | [Pa] | retrieved atmospheric pressure at the level of cloud top using the OCRA/ROCINN CAL model
cloud_top_pressure_uncertainty | float | {time} | [Pa] | uncertainty of the retrieved atmospheric pressure at the level of cloud top using the OCRA/ROCINN CAL model
cloud_top_height | float | {time} | [m] | retrieved altitude of the cloud top using the OCRA/ROCINN CAL model
cloud_top_height_uncertainty | float | {time} | [m] | uncertainty of the retrieved altitude of the cloud top using the OCRA/ROCINN CAL model
cloud_albedo | float | {time} | [] | albedo of cloud using the OCRA/ROCINN CRB model
cloud_albedo_uncertainty | float | {time} | [] | uncertainty of the albedo of cloud using the OCRA/ROCINN CRB model
cloud_height | float | {time} | [m] | retrieved altitude at the level of cloud using the OCRA/ROCINN CRB model
cloud_height_uncertainty | float | {time} | [m] | error of the retrieved altitude at the level of cloud using the OCRA/ROCINN CRB model
cloud_pressure | float | {time} | [Pa] | retrieved atmospheric pressure at the level of cloud using the OCRA/ROCINN CRB model
cloud_pressure_uncertainty | float | {time} | [Pa] | error of the retrieved atmospheric pressure at the level of cloud using the OCRA/ROCINN CRB model
surface_albedo | float | {time} | [] | surface albedo
scene_albedo | float | {time} | [] | effective scene albedo
scene_pressure | float | {time} | [Pa] | scene pressure
surface_altitude | float | {time} | [m] | surface altitude
surface_altitude_uncertainty | float | {time} | [m] | surface altitude precision
surface_pressure | float | {time} | [Pa] | surface pressure
surface_meridional_wind_velocity | float | {time} | [m/s] | northward wind
surface_zonal_wind_velocity | float | {time} | [m/s] | eastward wind
snow_ice_type | int8 | {time} |  | surface snow/ice type; 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)
index | int32 | {time} |  | zero-based index of the sample within the source product

## Ingestion options

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

option name | legal values | description
--- | --- | ---
qa_filter | custom | if enabled (qa_filter=custom) then for data generated by L2 processor V1.x the validity will be set to 0 or 100 based on the recommended filtering (see PRF) instead of using the qa_value variable

## 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)
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
validity | path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/processing_quality_flags[]
description | the uint32 data is cast to int32
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[]
sensor_latitude | path | /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 | /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 | /PRODUCT/SUPPORT_DATA/GEOLOCATIONS/satellite_altitude[]
description | the satellite altitude associated with a scanline is repeated for each pixel in the scanline
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[]
pressure_bounds | condition | processor version < 01.01.04
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/pressure_grid[]
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
condition | processor version >= 01.01.04
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/pressure_grid[]
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; if level 0 and level 1 have the same pressure, skip lowest layer and set bounds of highest layer to NaN
O3_column_number_density | path | /PRODUCT/ozone_total_vertical_column[]
O3_column_number_density_uncertainty | path | /PRODUCT/ozone_total_vertical_column_precision[]
O3_column_number_density_validity | path | /PRODUCT/qa_value
O3_column_number_density_apriori | condition | processor version < 01.01.04
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/ozone_profile_apriori[]
description | if pressure value at level N is NaN then skip lowest layer and add NaN fill value at the end
condition | processor version >= 01.01.04
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/ozone_profile_apriori[]
description | if lowest two levels have equal pressure then skip lowest layer and add NaN fill value at the end
O3_column_number_density_avk | condition | processor version < 01.01.04
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/averaging_kernel[]
description | if pressure value at level N is NaN then skip lowest layer and add NaN fill value at the end
condition | processor version >= 01.01.04
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/averaging_kernel[]
description | if lowest two levels have equal pressure then skip lowest layer and add NaN fill value at the end
O3_column_number_density_amf | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/ozone_total_air_mass_factor[]
O3_column_number_density_amf_uncertainty | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/ozone_total_air_mass_factor_trueness[]
O3_column_number_density_dfs | available | optional
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/degrees_of_freedom[]
O3_column_number_density_sic | available | optional
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/shannon_information_content[]
O3_slant_column_number_density | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/ozone_slant_column_ring_corrected[]
O3_effective_temperature | path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/ozone_effective_temperature[]
cloud_base_height | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_base_height[]
cloud_base_height_uncertainty | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_base_height_precision[]
cloud_base_pressure | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_base_pressure[]
cloud_base_pressure_uncertainty | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_base_pressure_precision[]
cloud_fraction | condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_fraction[]
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_fraction_crb[]
cloud_fraction_uncertainty | condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_fraction_precision[]
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_fraction_crb_precision[]
cloud_optical_depth | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_optical_thickness[]
cloud_optical_depth_uncertainty | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_optical_thickness_precision[]
cloud_top_pressure | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_top_pressure[]
cloud_top_pressure_uncertainty | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_top_pressure_precision[]
cloud_top_height | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_top_height[]
cloud_top_height_uncertainty | available | optional
condition | NRTI
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_top_height_precision[]
cloud_albedo | available | optional
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_albedo_crb[]
cloud_albedo_uncertainty | available | optional
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_albedo_crb_precision[]
cloud_height | available | optional
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_height_crb[]
cloud_height_uncertainty | available | optional
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_height_crb_precision[]
cloud_pressure | available | optional
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_pressure_crb[]
cloud_pressure_uncertainty | available | optional
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_pressure_crb_precision[]
surface_albedo | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/surface_albedo[]
scene_albedo | available | optional
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/effective_albedo[]
scene_pressure | available | optional
condition | OFFL
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/scene_pressure[]
surface_altitude | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/surface_altitude[]
surface_altitude_uncertainty | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/surface_altitude_precision[]
surface_pressure | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/surface_pressure[]
surface_meridional_wind_velocity | available | optional
condition | processor version >= 02.00.00
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/northward_wind[]
surface_zonal_wind_velocity | available | optional
condition | processor version >= 02.00.00
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/eastward_wind[]
snow_ice_type | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/snow_ice_flag_nise[]
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 | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/snow_ice_flag_nise[]
description | if 1 <= snow_ice_flag <= 100 then snow_ice_flag/100.0 else 0.0