- Dataset Availability
- 2018-12-05T11:53:01Z–2024-12-18T11:29:38Z
- Dataset Provider
- European Union/ESA/Copernicus
- Earth Engine Snippet
-
ee.ImageCollection("COPERNICUS/S5P/OFFL/L3_SO2")
- Revisit Interval
- 2 Days
- Tags
Description
OFFL/L3_SO2
This dataset provides offline high-resolution imagery of atmospheric sulfur dioxide (SO2) concentrations.
Sulfur dioxide (SO2) enters the Earth's atmosphere through both natural and anthropogenic processes. It plays a role in chemistry on a local and global scale and its impact ranges from short-term pollution to effects on climate. Only about 30% of the emitted SO2 comes from natural sources; the majority is of anthropogenic origin. SO2 emissions adversely affect human health and air quality. SO2 has an effect on climate through radiative forcing, via the formation of sulfate aerosols. Volcanic SO2 emissions can also pose a threat to aviation, along with volcanic ash. S5P/TROPOMI samples the Earth's surface with a revisit time of one day with unprecedented spatial resolution of 3.5 x 7 km which allows the resolution of fine details including the detection of much smaller SO2 plumes. More information.
For this L3 SO2 product, the absorbing_aerosol_index is calculated with a pair of measurements at the 340 nm and 380 wavelengths. The COPERNICUS/S5P/OFFL/L3_AER_AI product has the absorbing_aerosol_index calculated using the 354 nm and 388 nm wavelengths.
OFFL L3 Product
To make our OFFL L3 products, we find areas within the product's bounding box with data using a command like this:
harpconvert --format hdf5 --hdf5-compression 9
-a 'SO2_column_number_density_validity>50;derive(datetime_stop {time})'
S5P_OFFL_L2__SO2____20181228T231131_20181229T005301_06265_01_010105_20190104T083244.nc
grid_info.h5
We then merge all the data into one large mosaic (area-averaging values for pixels that may have different values for different times). From the mosaic, we create a set of tiles containing orthorectified raster data.
The qa value is adjusted before running harpconvert to satisfy all of the following criteria:
- snow_ice < 0.5
- sulfurdioxide_total_air_mass_factor_polluted > 0.1
- sulfurdioxide_total_vertical_column > -0.001
- qa_value > 0.5
- cloud_fraction_crb < 0.3
- solar_zenith_angle < 60
The 15km SO2 band is ingested only when solar_zenith_angle < 70.
Example harpconvert invocation for one tile:
harpconvert --format hdf5 --hdf5-compression 9
-a 'SO2_column_number_density_validity>50;derive(datetime_stop {time});
bin_spatial(2001, 50.000000, 0.01, 2001, -120.000000, 0.01);
keep(SO2_column_number_density,SO2_column_number_density_amf,
SO2_slant_column_number_density,absorbing_aerosol_index,cloud_fraction, sensor_altitude,
sensor_azimuth_angle, sensor_zenith_angle,solar_azimuth_angle,
solar_zenith_angle)'
S5P_OFFL_L2__SO2____20181228T231131_20181229T005301_06265_01_010105_20190104T083244.nc
output.h5
Sentinel-5 Precursor
Sentinel-5 Precursor is a satellite launched on 13 October 2017 by the European Space Agency to monitor air pollution. The onboard sensor is frequently referred to as Tropomi (TROPOspheric Monitoring Instrument).
All of the S5P datasets, except CH4, have two versions: Near Real-Time (NRTI) and Offline (OFFL). CH4 is available as OFFL only. The NRTI assets cover a smaller area than the OFFL assets, but appear more quickly after acquisition. The OFFL assets contain data from a single orbit (which, due to half the earth being dark, contains data only for a single hemisphere).
Because of noise on the data, negative vertical column values are often observed in particular over clean regions or for low SO2 emissions. It is recommended not to filter these values except for outliers, i.e. for vertical columns lower than -0.001 mol/m^2.
The original Sentinel 5P Level 2 (L2) data is binned by time, not by latitude/longitude. To make it possible to ingest the data into Earth Engine, each Sentinel 5P L2 product is converted to L3, keeping a single grid per orbit (that is, no aggregation across products is performed).
Source products spanning the antimeridian are ingested as two Earth Engine assets, with suffixes _1 and _2.
The conversion to L3 is done by the harpconvert
tool using the bin_spatial
operation. The source data is filtered to
remove pixels with QA values less than:
- 80% for AER_AI
- 75% for the tropospheric_NO2_column_number_density band of NO2
- 50% for all other datasets except for O3 and SO2
The O3_TCL product is ingested directly (without running harpconvert).
Bands
Resolution
1113.2 meters
Bands
Name | Units | Min | Max | Description |
---|---|---|---|---|
SO2_column_number_density |
mol/m^2 | -0.4051* | 0.2079* | SO2 vertical column density at ground level, calculated using the DOAS technique. |
SO2_column_number_density_amf |
mol/m^2 | 0.1* | 3.387* | Weighted mean of cloudy and clear air mass factor (amf) weighted by intensity-weighted cloud fraction. |
SO2_slant_column_number_density |
mol/m^2 | -0.14746* | 0.16159* | SO2 ring corrected slant column number density |
absorbing_aerosol_index |
-11.733* | 18.657* | A measure of the prevalence of aerosols in the atmosphere, calculated by this equation using the 340/380 wavelength pair. |
|
cloud_fraction |
Fraction | 0* | 1* | Effective cloud fraction. See the Sentinel 5P L2 Input/Output Data Definition Spec, p.220. |
sensor_azimuth_angle |
deg | -180* | 180* | Azimuth angle of the satellite at the ground pixel location (WGS84); angle measured East-of-North. |
sensor_zenith_angle |
deg | 0.098* | 67* | Zenith angle of the satellite at the ground pixel location (WGS84); angle measured away from the vertical. |
solar_azimuth_angle |
deg | -180* | 180* | Azimuth angle of the Sun at the ground pixel location (WGS84); angle measured East-of-North. |
solar_zenith_angle |
deg | 8* | 102* | Zenith angle of the satellite at the ground pixel location (WGS84); angle measured away from the vertical. |
SO2_column_number_density_15km |
mol/m^2 | SO2 vertical column density at 15km, calculated using the DOAS technique. |
Image Properties
Image Properties
Name | Type | Description |
---|---|---|
ALGORITHM_VERSION | STRING | The algorithm version used in L2 processing. It is separate from the processor (framework) version, to accommodate different release schedules for different products. |
BUILD_DATE | STRING | The date, expressed as milliseconds since 1 Jan 1970, when the software used to perform L2 processing was built. |
HARP_VERSION | INT | The version of the HARP tool used to grid the L2 data into an L3 product. |
INSTITUTION | STRING | The institution where data processing from L1 to L2 was performed. |
L3_PROCESSING_TIME | INT | The date, expressed as milliseconds since 1 Jan 1970, when Google processed the L2 data into L3 using harpconvert. |
LAT_MAX | DOUBLE | The maximum latitude of the asset (degrees). |
LAT_MIN | DOUBLE | The minimum latitude of the asset (degrees). |
LON_MAX | DOUBLE | The maximum longitude of the asset (degrees). |
LON_MIN | DOUBLE | The minimum longitude of the asset (degrees). |
ORBIT | INT | The orbit number of the satellite when the data was acquired. |
PLATFORM | STRING | Name of the platform which acquired the data. |
PROCESSING_STATUS | STRING | The processing status of the product on a global level, mainly based on the availability of auxiliary input data. Possible values are "Nominal" and "Degraded". |
PROCESSOR_VERSION | STRING | The version of the software used for L2 processing, as a string of the form "major.minor.patch". |
PRODUCT_ID | STRING | Id of the L2 product used to generate this asset. |
PRODUCT_QUALITY | STRING | Indicator that specifies whether the product quality is degraded or not. Allowed values are "Degraded" and "Nominal". |
SENSOR | STRING | Name of the sensor which acquired the data. |
SPATIAL_RESOLUTION | STRING | Spatial resolution at nadir. For most products this is |
TIME_REFERENCE_DAYS_SINCE_1950 | INT | Days from 1 Jan 1950 to when the data was acquired. |
TIME_REFERENCE_JULIAN_DAY | DOUBLE | The Julian day number when the data was acquired. |
TRACKING_ID | STRING | UUID for the L2 product file. |
Terms of Use
Terms of Use
The use of Sentinel data is governed by the Copernicus Sentinel Data Terms and Conditions.
Explore with Earth Engine
Code Editor (JavaScript)
var collection = ee.ImageCollection('COPERNICUS/S5P/OFFL/L3_SO2') .select('SO2_column_number_density') .filterDate('2019-06-01', '2019-06-11'); var band_viz = { min: 0.0, max: 0.0005, palette: ['black', 'blue', 'purple', 'cyan', 'green', 'yellow', 'red'] }; Map.addLayer(collection.mean(), band_viz, 'S5P SO2'); Map.setCenter(0.0, 0.0, 2);