# QA4ECV_L2_HCHO

## Variables

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

field name | type | dimensions | unit | description
--- | --- | --- | --- | ---
scan_subindex | int16 | {time} |  | pixel index (0-based) within the scanline
datetime | double | {time} | [seconds since 1995-01-01] | start time 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
relative_azimuth_angle | float | {time} | [degree] | relative azimuth angle 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
surface_altitude | float | {time} | [m] | surface altitude
surface_pressure | float | {time} | [hPa] | surface pressure
pressure_bounds | double | {time, vertical, 2} | [Pa] | pressure boundaries for each layer
cloud_fraction | float | {time} | [] | cloud fraction
cloud_fraction_uncertainty | float | {time} | [] | effective cloud fraction uncertainty
cloud_pressure | float | {time} | [hPa] | cloud optical centroid pressure from the cloud product
cloud_pressure_uncertainty | float | {time} | [hPa] | cloud optical centroid pressure from the cloud product
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)
tropospheric_HCHO_column_number_density | float | {time} | [molec/cm^2] | tropospheric vertical column of HCHO
tropospheric_HCHO_column_number_density_uncertainty_random | float | {time} | [molec/cm^2] | uncertainty of the tropospheric vertical column of HCHO due to random effects
tropospheric_HCHO_column_number_density_uncertainty_systematic | float | {time} | [molec/cm^2] | uncertainty of the tropospheric vertical column of HCHO due to systematic effects
tropospheric_HCHO_column_number_density_amf | float | {time} | [] | tropospheric air mass factor
HCHO_column_number_density_avk | float | {time, vertical} | [] | averaging kernel for the total column number density of tropospheric HCHO
HCHO_volume_mixing_ratio_dry_air_apriori | float | {time, vertical} | [ppv] | apriori profile for the volume mixing ratio of tropospheric HCHO
surface_albedo | float | {time} | [] | surface albedo in the HCHO fitting window
validity | int32 | {time} |  | processing quality flag
index | int32 | {time} |  | zero-based index of the sample within the source product

## Ingestion options

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

option name | legal values | description
--- | --- | ---
amf | clear_sky | whether to ingest the default amf, tropospheric vertical column, and avk (default) or the clear sky amf, scaled vertical column, and clear sky avk (amf=clear_sky)
cloud_fraction | radiance | whether to ingest the cloud fraction (default) or the radiance cloud fraction (cloud_fraction=radiance)

## 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 | path | /PRODUCT/time, /PRODUCT/delta_time[]
description | time converted from milliseconds since a reference time (with the reference time being 1995-01-01) to seconds since 1995-01-01; the time associated with a scanline is repeated for each pixel in the scanline
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[]
relative_azimuth_angle | path | /PRODUCT/SUPPORT_DATA/GEOLOCATIONS/relative_azimuth_angle[]
sensor_zenith_angle | path | /PRODUCT/SUPPORT_DATA/GEOLOCATIONS/viewing_zenith_angle[]
surface_altitude | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/surface_altitude[]
surface_pressure | path | /PRODUCT/tm5_surface_pressure[]
pressure_bounds | path | /PRODUCT/tm5_pressure_level_a[], /PRODUCT/tm5_pressure_level_b[], /PRODUCT/tm5_surface_pressure[]
description | pressure in Pa at level k is derived from surface pressure in hPa as: tm5_pressure_level_a[k] + tm5_pressure_level_b[k] * tm5_surface_pressure[] * 100.0; the TOA pressure is clamped to 1e-3 Pa
cloud_fraction | condition | cloud_fraction unset
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_fraction[]
condition | cloud_fraction=radiance
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/cloud_radiance_fraction_hcho[]
cloud_fraction_uncertainty | available | optional
condition | cloud_fraction unset
path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_fraction_uncertainty[]
cloud_pressure | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_pressure[]
cloud_pressure_uncertainty | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/cloud_pressure_uncertainty[]
snow_ice_type | path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/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 | path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/snow_ice_flag[]
description | if 1 <= snow_ice_flag <= 100 then snow_ice_flag/100.0 else 0.0
tropospheric_HCHO_column_number_density | condition | amf unset
path | /PRODUCT/tropospheric_hcho_vertical_column[]
condition | amf=clear_sky
path | /PRODUCT/tropospheric_hcho_vertical_column[], /PRODUCT/amf_trop, /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/amf_clear
description | tropospheric_hcho_vertical_column x amf_clear / amf_trop
tropospheric_HCHO_column_number_density_uncertainty_random | path | /PRODUCT/tropospheric_hcho_vertical_column_uncertainty_random[]
tropospheric_HCHO_column_number_density_uncertainty_systematic | path | /PRODUCT/tropospheric_hcho_vertical_column_uncertainty_systematic[]
tropospheric_HCHO_column_number_density_amf | condition | amf unset
path | /PRODUCT/amf_trop[]
condition | amf=clear_sky
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/amf_clear[]
HCHO_column_number_density_avk | condition | amf unset
path | /PRODUCT/averaging_kernel[]
condition | amf=clear_sky
path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/averaging_kernel_clear[]
HCHO_volume_mixing_ratio_dry_air_apriori | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/hcho_profile_apriori[]
surface_albedo | path | /PRODUCT/SUPPORT_DATA/INPUT_DATA/surface_albedo_hcho[]
validity | path | /PRODUCT/SUPPORT_DATA/DETAILED_RESULTS/processing_quality_flags[]