GOME2_NO2_2024_banner.png

Title

This notebook is an AC SAF notebook prepared by BIRA-IASB (Gaia Pinardi), on illustrating the use of:

A sample zip file is provided with this notebook and instructions on how to register and download more data from the AC SAF archive are also provided below.

Companion notebooks on L2 and on L3 using STAC service are available here: https://acsaf.org/notebooks.php.

Table of Contents

This notebook contains several sections:

Data description

Documentation

The GOME-2/MetOp total column products are generated at DLR in the framework of EUMETSAT’s AC SAF.

For information and access to all AC SAF products, please refer to the AC SAF web page and help desk: AC SAF Web page: http://acsaf.org AC SAF Helpdesk: helpdesk@acsaf.org

Additional information can be found in EUMETSAT's product Navigator accessible through the following link: http://navigator.eumetsat.int

Current and historical quick look images as well as value added products generated by DLR are available at: http://atmos.eoc.dlr.de/gome2

Data download is described here: https://acsaf.org/offline_access.php and rely on accessing an ftp server after registration on the acsaf.org website.

Downloading test data

For this example, one netcdf file is included in the zip folder available with this notebook: GOME_NO2_L3_20250729_METOPC_DLR_v1.nc

It has been downloaded from acsaf.eoc.dlr.de, in the following structure: /gome2c/level3/NO2/2025/07

save the file into the data folder, at the same level than this notebook

Data files

The GOME-2 NO2 L3 daily file is provided as one netCDF file per day, with the following structure:

image.png

Several NO2 componenets (total, stratosheric and tropospheric) are provided into the same file, as well as informations about clouds and surface properties.

Imports

Standard library / numerics / IO imports for what follows: h5py/netCDF4/xarray to read the HDF5 file with three different approaches, numpy for arrays, cf_units for unit handling, datetime/warnings as usual helpers (glob for multi-file patterns, matplotlib/cartopy for the maps built later).

Reading the data

Here we points at a sample day of GOME-2 data on the downloaded folder, builds the exact file name for that day and then lists the matching files on disk as a quick existence check before opening anything.

view the data with netCDF4

reading the data with xarray

As we are interested in the Tropospheric vertical column density of Nitrogen Dioxide (NO2), no2trop, we can retrieve the parameter using square brackets [] and the name of the parameter of interest. We will get an xarray DataArrary, which has a shape of a one-dimensional vector.

The xarray DataArray also store the variable attributes, like the unit, title, ... of the variable.

see attributes

We want to see the variable's metadata (title, unit, fill value, ...), that we can use later to build plot labels and units automatically.

create a xarray dataArray with geolocations

check the loaded NO2 values:

The advantage of L3 daily files, is that the NO2 data are already pre-filtered for valid data only. Compared to the L2 data discussed in the other notebokks, we don't have to filter out valkues based on flag values.

For the moment, I don't have latitude and longitude values loaded as coordinates, yet. Do it:

Plotting of the data

To plot the L3 data, we can directly use the xarray plot function. We pre-define some arguments such as the type of projection, the colorbar type, the colorbar min and max, ...

plot NO2 total

in the figure above, you see the different orbits

plot NO2 tropo

the tropopsheric column is only valid where there are no clouds, which are here the white (masked) part of the orbits