# ECMWF_GRIB

## Variables

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

field name | type | dimensions | unit | description
--- | --- | --- | --- | ---
datetime | double | {time} | [seconds since 2000-01-01] | time of the model state
longitude | double | {longitude} | [degree_east] | longitude of the grid cell mid-point (WGS84)
latitude | double | {latitude} | [degree_north] | latitude of the grid cell mid-point (WGS84)
wavelength | double | {spectral} | [nm] | wavelengths of the aerosol properties
rain_water_mass_mixing_ratio | float | {latitude, longitude, vertical} | [kg/kg] | specific rain water content
snow_water_mass_mixing_ratio | float | {latitude, longitude, vertical} | [kg/kg] | specific snow water content
liquid_water_column_density | float | {latitude, longitude} | [kg/m^2] | total column cloud liquid water
ice_water_column_density | float | {latitude, longitude} | [kg/m^2] | total column cloud ice water
surface_geopotential | float | {latitude, longitude} | [m2/s2] | geopotential at the surface
temperature | float | {latitude, longitude, vertical} | [K] | temperature
H2O_mass_mixing_ratio | float | {latitude, longitude, vertical} | [kg/kg] | specific humidity
H2O_column_density | float | {latitude, longitude} | [kg/m^2] | total column water vapor
relative_vorticity | float | {latitude, longitude, vertical} | [1/s] | relative vorticity
surface_pressure | float | {latitude, longitude} | [Pa] | pressure at the surface
pressure | float | {latitude, longitude, vertical} | [Pa] | pressure
pressure_bounds | float | {latitude, longitude, vertical, 2} | [Pa] | pressure_bounds
planetary_boundary_layer_height | float | {latitude, longitude} | [m] | planetary boundary layer height
cloud_fraction | float | {latitude, longitude} | [] | cloud fraction
surface_zonal_wind_velocity | float | {latitude, longitude} | [m/s] | 10 meter U wind component
surface_meridional_wind_velocity | float | {latitude, longitude} | [m/s] | 10 meter V wind component
surface_temperature | float | {latitude, longitude} | [K] | 2 metre temperature
land_flag | float | {latitude, longitude} |  | land-sea mask
liquid_water_mass_mixing_ratio | float | {latitude, longitude, vertical} | [kg/kg] | specific cloud liquid water content
ice_water_mass_mixing_ratio | float | {latitude, longitude, vertical} | [kg/kg] | specific cloud ice water content
CO2_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | carbon dioxide mass mixing ratio
CH4_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | methane mass mixing ratio
surface_PM1_density | float | {latitude, longitude} | [kg/m3] | surface density of particulate matter with d < 1 um
surface_PM2p5_density | float | {latitude, longitude} | [kg/m3] | surface density of particulate matter with d < 2.5 um
surface_PM10_density | float | {latitude, longitude} | [kg/m3] | surface density of particulate matter with d < 10 um
NO2_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | nitrogen dioxide mass mixing ratio
SO2_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | sulphur dioxide mass mixing ratio
CO_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | carbon monoxide mass mixing ratio
HCHO_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | formaldehyde mass mixing ratio
NO2_column_density | float | {latitude, longitude} | [kg/m^2] | total column nitrogen dioxide
SO2_column_density | float | {latitude, longitude} | [kg/m^2] | total column sulphur dioxide
CO_column_density | float | {latitude, longitude} | [kg/m^2] | total column carbon monoxide
HCHO_column_density | float | {latitude, longitude} | [kg/m^2] | total column formaldehyde
O3_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | ozone mass mixing ratio
O3_column_density | float | {latitude, longitude} | [kg/m^2] | total column ozone
aerosol_optical_depth | float | {latitude, longitude, spectral} | [] | total aerosol optical depth
sea_salt_aerosol_optical_depth | float | {latitude, longitude} | [] | sea salt aerosol optical depth (at 550nm)
dust_aerosol_optical_depth | float | {latitude, longitude} | [] | dust aerosol optical depth (at 550nm)
organic_matter_aerosol_optical_depth | float | {latitude, longitude} | [] | organic matter aerosol optical depth (at 550nm)
black_carbon_aerosol_optical_depth | float | {latitude, longitude} | [] | black carbon aerosol optical depth (at 550nm)
sulphate_aerosol_optical_depth | float | {latitude, longitude} | [] | sulphate aerosol optical depth (at 550nm)
fine_aerosol_optical_depth | float | {latitude, longitude} | [] | fine mode aerosol optical depth (at 550nm)
aerosol_extinction_coefficient | float | {latitude, longitude, vertical} | [1/m] | aerosol extinction coefficient (at 1064nm)
aerosol_backscatter_coefficient | float | {latitude, longitude, vertical} | [1/(m sr)] | aerosol backscatter coefficient (at 1064nm from ground)
HNO3_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | nitric acid mass mixing ratio
C2H3NO5_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | peroxyacetyl nitrate (PAN) mass mixing ratio
C5H8_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | isoprene mass mixing ratio
NO_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | nitrogen monoxide mass mixing ratio
OH_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | hydroxyl radical mass mixing ratio
C2H6_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | ethane mass mixing ratio
C3H8_mass_mixing_ratio_dry_air | float | {latitude, longitude, vertical} | [kg/kg] | propane mass mixing ratio
CH4_column_density | float | {latitude, longitude} | [kg/m^2] | total column methane
HNO3_column_density | float | {latitude, longitude} | [kg/m^2] | total column nitric acid
C2H3NO5_column_density | float | {latitude, longitude} | [kg/m^2] | total column peroxyacetyl nitrate
C5H8_column_density | float | {latitude, longitude} | [kg/m^2] | total column isoprene
NO_column_density | float | {latitude, longitude} | [kg/m^2] | total column nitrogen oxide
OH_column_density | float | {latitude, longitude} | [kg/m^2] | total column hydroxyl radical
C2H6_column_density | float | {latitude, longitude} | [kg/m^2] | total column ethane
C3H8_column_density | float | {latitude, longitude} | [kg/m^2] | total column propane
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 | condition | GRIB1
path | /[]/grib1/yearOfCentury, /[]/grib1/month, /[]/grib1/day, /[]/grib1/hour, /[]/grib1/minute, /[]/grib1/centuryOfReferenceTimeOfData
description | time of the measurement converted from TAI93 to seconds since 2000-01-01T00:00:00
condition | GRIB2
path | /[]/grib2/year, /[]/grib2/month, /[]/grib2/day, /[]/grib2/hour, /[]/grib2/minute, /[]/grib2/second
description | time of the measurement converted from TAI93 to seconds since 2000-01-01T00:00:00
longitude | condition | GRIB1
path | /[]/grib1/grid/Ni, /[]/grib1/grid/longitudeOfFirstGridPoint, /[]/grib1/grid/longitudeOfLastGridPoint
description | based on linear interpolation using Ni points from first to last grid point
condition | GRIB2
path | /[]/grib2/grid[]/Ni, /[]/grib2/grid[]/longitudeOfFirstGridPoint, /[]/grib2/grid[]/longitudeOfLastGridPoint
description | based on linear interpolation using Ni points from first to last grid point
latitude | condition | GRIB1
path | /[]/grib1/grid/Nj, /[]/grib1/grid/latitudeOfFirstGridPoint, /[]/grib1/grid/latitudeOfLastGridPoint
description | based on linear interpolation using Nj points from first to last grid point
condition | GRIB2
path | /[]/grib2/grid[]/Nj, /[]/grib2/grid[]/latitudeOfFirstGridPoint, /[]/grib2/grid[]/latitudeOfLastGridPoint
description | based on linear interpolation using Nj points from first to last grid point
wavelength | available | optional
condition | one or more AOD quantities are present
description | the values are based on the available AODs; possible values are: 469, 550, 670, 865, 1240
rain_water_mass_mixing_ratio | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,75)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,1,85)
snow_water_mass_mixing_ratio | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,76)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,1,86)
liquid_water_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,78)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,128,78)
ice_water_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,79)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,128,79)
surface_geopotential | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,129), (160,129), (170,129), (180,129), or (190,129)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,3,4)
temperature | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,130), (160,130), (170,130), (180,130), or (190,130)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,0,0)
H2O_mass_mixing_ratio | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,133), (160,133), (170,133), (180,133), or (190,133)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,1,0)
H2O_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,137) or (180,137)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,128,137)
relative_vorticity | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (160,138), (128,138), (170,138), (180, 138) or (190,138)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,2,12)
surface_pressure | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,152) or (190,152); returned value = exp(lnsp)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,3,25); returned value = exp(lnsp)
pressure | available | optional
condition | surface_pressure is available and at least one parameter has vertical coordinate values
path | …./coordinateValues[]
description | the coordinateValues contain [a(1), …, a(N+1), b(1), …, b(N+1)] coefficients for the N+1 vertical layer boundaries; p(N-i) = (a(i) + a(i+1) + (b(i) + b(i+1))exp(lnsp))/2
pressure_bounds | available | optional
condition | surface_pressure is available and at least one parameter has vertical coordinate values
path | …./coordinateValues[]
description | the coordinateValues contain [a(1), …, a(N+1), b(1), …, b(N+1)] coefficients for the N+1 vertical layer boundaries; p(N-i,1) = a(i) + b(i)exp(lnsp); p(N-i,2) = a(i+1) + b(i+1)exp(lnsp)
planetary_boundary_layer_height | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,159)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,128,159)
cloud_fraction | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,164), (160,164), (170,164), (180,164), or (190,164)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,128,164)
surface_zonal_wind_velocity | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,165), (160,165), (180,165), or (190,165)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,2,2)
surface_meridional_wind_velocity | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,166), (160,166), (180,166), or (190,166)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,2,3)
surface_temperature | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,167), (160,167), (180,167), or (190,167)
land_flag | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,172), (160,172), (171,172), (174,172), (175,172), (180,172), or (190,172)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (2,0,0)
liquid_water_mass_mixing_ratio | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,246)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,1,83)
ice_water_mass_mixing_ratio | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (128,247)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,1,84)
CO2_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,61)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,20,2,constituentType=3) or (192,210,61)
CH4_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,62) or (217,4)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,20,2,constituentType=2), (192,210,62) or (192,217,4)
surface_PM1_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,72)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,72)
surface_PM2p5_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,73)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,73)
surface_PM10_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,74)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,74)
NO2_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,121)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,20,2,constituentType=5) or (192,210,121)
SO2_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,122)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,20,2,constituentType=8) or (192,210,122)
CO_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,123)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,20,2,constituentType=4) or (192,210,123)
HCHO_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,124)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,20,2,constituentType=7) or (192,210,124)
NO2_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,125)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,125)
SO2_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,126)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,126)
CO_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,127)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,127)
HCHO_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,128)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,128)
O3_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,203)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,20,2,constituentType=0) or (192,210,203)
O3_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,206)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,206)
aerosol_optical_depth | available | optional
condition | GRIB1
path | /[]/data/values[]
description | AODs are combined using a spectal axis; (table,indicator) = (210,218) [335nm], (210,221) [440nm], (210,213) [469nm], (210,207) [550nm], (210,214) [670nm], (210,215) [865nm], or (210,216) [1240nm]
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,218) [335nm], (192,210,221) [440nm], (192,210,213) [469nm], (192,210,207) [550nm], (192,210,214) [670nm], (192,210,215) [865nm], or (192,210,216) [1240nm]
sea_salt_aerosol_optical_depth | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,208)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,208)
dust_aerosol_optical_depth | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,209)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,209)
organic_matter_aerosol_optical_depth | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,210)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,210)
black_carbon_aerosol_optical_depth | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,211)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,211)
sulphate_aerosol_optical_depth | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (210,212)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,210,212)
fine_aerosol_optical_depth | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (215,122)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,215,122)
aerosol_extinction_coefficient | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (215,182)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,215,182)
aerosol_backscatter_coefficient | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (215,188)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,215,188)
HNO3_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (217,6)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,20,2,constituentType=17) or (192,217,6)
C2H3NO5_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (217,13)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,217,13)
C5H8_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (217,16)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,217,16)
NO_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (217,27)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (0,20,2,constituentType=11) or (192,217,27)
OH_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (217,30)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,217,30)
C2H6_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (217,45)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,217,45)
C3H8_mass_mixing_ratio_dry_air | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (217,47)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,217,47)
CH4_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (218,4)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,218,4)
HNO3_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (218,6)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,218,6)
C2H3NO5_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (218,13)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,218,13)
C5H8_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (218,16)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,218,16)
NO_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (218,27)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,218,27)
OH_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (218,30)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,218,30)
C2H6_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (218,45)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,218,45)
C3H8_column_density | available | optional
condition | GRIB1
path | /[]/data/values[]
description | (table,indicator) = (218,47)
condition | GRIB2
path | /[]/data[]/values[]
description | (discipline,category,number) = (192,218,47)