{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"tags": []
},
"source": [
"# Copernicus Sentinel-5P TROPOMI - Ultraviolet Aerosol Index - Level 2"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```{hint} \n",
"Execute the notebook on the training platform >>\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The Copernicus [Sentinel-5 Ultraviolet Visible Near-Infrared Shortwave (UVNS) spectrometer](https://sentinels.copernicus.eu/web/sentinel/missions/sentinel-5) enables the measurement of trace gases which will improve air quality forecasts produced by the Copernicus Atmosphere Monitoring service.\n",
"\n",
"This notebook provides you an introduction to data from [Sentinel-5P](https://sentinels.copernicus.eu/web/sentinel/missions/sentinel-5p), the precursor instrument and proxy for data from [Sentinel-5](https://www.eumetsat.int/sentinel-5). Sentinel-5P data can be downloaded from the [Sentinel-5P Pre-Operations Data Hub](https://s5phub.copernicus.eu/dhus/#/home).\n",
"\n",
"The event featured is the [August Complex fire](https://www.fire.ca.gov/incidents/2020/8/16/august-complex-includes-doe-fire/) in California, USA in 2020. This was the largest wildfire in CA history, spreading over 1,000,000 acres (over 4,000 sq km). The image shown in this notebook is taken from 11 September 2020."
]
},
{
"cell_type": "markdown",
"metadata": {
"tags": []
},
"source": [
"For monitoring smoke, the `TROPOMI UV Aerosol Index (UVAI)` data can be used. Positive values of UVAI (typically > about 1.0) indicate the presence of absorbing-type aerosols: \n",
"- `smoke from forest fires`, \n",
"- `volcanic ash`, or \n",
"- `desert dust`. \n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```{admonition} Basic Facts\n",
"**Spatial resolution**: `Up to 5.5* km x 3.5 km` (5.5 km in the satellite flight direction and 3.5 km in the perpendicular direction at nadir)
\n",
"**Spatial coverage**: `Global`
\n",
"**Revisit time**: `less than one day`
\n",
"**Data availability**: `since April 2018`\n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"```{admonition} How to access the data\n",
"Sentinel-5P Pre-Ops data are disseminated in the `netCDF` format and can be downloaded via the Copernicus Open Access Hub. You need to register for an account before downloading data. \n",
"```"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"
<xarray.Dataset>\n", "Dimensions: (scanline: 12079, ground_pixel: 450, time: 1, corner: 4)\n", "Coordinates:\n", " * scanline (scanline) float64 0.0 1.0 ... 3.734e+03\n", " * ground_pixel (ground_pixel) float64 0.0 1.0 ... 449.0\n", " * time (time) datetime64[ns] 2020-09-11\n", " * corner (corner) float64 0.0 1.0 2.0 3.0\n", " latitude (time, scanline, ground_pixel) float32 dask.array<chunksize=(1, 4172, 450), meta=np.ndarray>\n", " longitude (time, scanline, ground_pixel) float32 dask.array<chunksize=(1, 4172, 450), meta=np.ndarray>\n", "Data variables:\n", " delta_time (time, scanline) datetime64[ns] dask.array<chunksize=(1, 4172), meta=np.ndarray>\n", " time_utc (time, scanline) object dask.array<chunksize=(1, 4172), meta=np.ndarray>\n", " qa_value (time, scanline, ground_pixel) float32 dask.array<chunksize=(1, 4172, 450), meta=np.ndarray>\n", " aerosol_index_354_388 (time, scanline, ground_pixel) float32 dask.array<chunksize=(1, 4172, 450), meta=np.ndarray>\n", " aerosol_index_340_380 (time, scanline, ground_pixel) float32 dask.array<chunksize=(1, 4172, 450), meta=np.ndarray>\n", " aerosol_index_354_388_precision (time, scanline, ground_pixel) float32 dask.array<chunksize=(1, 4172, 450), meta=np.ndarray>\n", " aerosol_index_340_380_precision (time, scanline, ground_pixel) float32 dask.array<chunksize=(1, 4172, 450), meta=np.ndarray>
array([0.000e+00, 1.000e+00, 2.000e+00, ..., 3.732e+03, 3.733e+03, 3.734e+03])
array([ 0., 1., 2., ..., 447., 448., 449.])
array(['2020-09-11T00:00:00.000000000'], dtype='datetime64[ns]')
array([0., 1., 2., 3.])
\n",
"
| \n",
" \n", " \n", " | \n", "
\n",
"
| \n",
" \n", " \n", " | \n", "
\n",
"
| \n",
" \n", " \n", " | \n", "
\n",
"
| \n",
" \n", " \n", " | \n", "
\n",
"
| \n",
" \n", " \n", " | \n", "
\n",
"
| \n",
" \n", " \n", " | \n", "
\n",
"
| \n",
" \n", " \n", " | \n", "
\n",
"
| \n",
" \n", " \n", " | \n", "
\n",
"
| \n",
" \n", " \n", " | \n", "
<xarray.DataArray 'aerosol_index_340_380' (scanline: 12079, ground_pixel: 450)>\n", "dask.array<getitem, shape=(12079, 450), dtype=float32, chunksize=(4172, 450), chunktype=numpy.ndarray>\n", "Coordinates:\n", " * scanline (scanline) float64 0.0 1.0 2.0 ... 3.733e+03 3.734e+03\n", " * ground_pixel (ground_pixel) float64 0.0 1.0 2.0 3.0 ... 447.0 448.0 449.0\n", " time datetime64[ns] 2020-09-11\n", " latitude (scanline, ground_pixel) float32 dask.array<chunksize=(4172, 450), meta=np.ndarray>\n", " longitude (scanline, ground_pixel) float32 dask.array<chunksize=(4172, 450), meta=np.ndarray>\n", "Attributes:\n", " units: 1\n", " proposed_standard_name: ultraviolet_aerosol_index\n", " comment: Aerosol index from 380 and 340 nm\n", " long_name: Aerosol index from 380 and 340 nm\n", " radiation_wavelength: [340. 380.]\n", " ancillary_variables: aerosol_index_340_380_precision
\n",
"
| \n",
" \n", " \n", " | \n", "
array([0.000e+00, 1.000e+00, 2.000e+00, ..., 3.732e+03, 3.733e+03, 3.734e+03])
array([ 0., 1., 2., ..., 447., 448., 449.])
array('2020-09-11T00:00:00.000000000', dtype='datetime64[ns]')
\n",
"
| \n",
" \n", " \n", " | \n", "
\n",
"
| \n",
" \n", " \n", " | \n", "
<xarray.DataArray 'aerosol_index_340_380' (scanline: 4550, ground_pixel: 450)>\n", "dask.array<where, shape=(4550, 450), dtype=float32, chunksize=(1582, 450), chunktype=numpy.ndarray>\n", "Coordinates:\n", " * scanline (scanline) float64 2.101e+03 2.102e+03 ... 3.559e+03 3.56e+03\n", " * ground_pixel (ground_pixel) float64 0.0 1.0 2.0 3.0 ... 447.0 448.0 449.0\n", " time datetime64[ns] 2020-09-11\n", " latitude (scanline, ground_pixel) float32 dask.array<chunksize=(1582, 450), meta=np.ndarray>\n", " longitude (scanline, ground_pixel) float32 dask.array<chunksize=(1582, 450), meta=np.ndarray>\n", "Attributes:\n", " units: 1\n", " proposed_standard_name: ultraviolet_aerosol_index\n", " comment: Aerosol index from 380 and 340 nm\n", " long_name: Aerosol index from 380 and 340 nm\n", " radiation_wavelength: [340. 380.]\n", " ancillary_variables: aerosol_index_340_380_precision
\n",
"
| \n",
" \n", " \n", " | \n", "
array([2101., 2102., 2103., ..., 3558., 3559., 3560.])
array([ 0., 1., 2., ..., 447., 448., 449.])
array('2020-09-11T00:00:00.000000000', dtype='datetime64[ns]')
\n",
"
| \n",
" \n", " \n", " | \n", "
\n",
"
| \n",
" \n", " \n", " | \n", "