TNO Intern

Commit e6f148e1 authored by Arjo Segers's avatar Arjo Segers
Browse files

Added descriptions of inquire tasks.

parent 179e766f
Loading
Loading
Loading
Loading
+53 −37
Original line number Diff line number Diff line
@@ -52,46 +52,64 @@ Features:
  The recommended minimum is 0.5, this excludes cloudy scenes and other problematic retrievals.


Downloading Sentinel-5p data
============================

Sentinel-5p data could be downloaded from the `Copernicus Open Access Hub <https://scihub.copernicus.eu/>`_;
see the :ref:`cso-scihub` module for a detailed description.
.. Label between '.. _' and ':' ; use :ref:`text <label>` for reference
.. _s5p-hcho-inquire:

The :py:class:`cso_scihub.CSO_SciHub_Download` class is available to download data
from this server.
The jobtree configuration could look like::
Inquire Sentinel-5p/HCHO archive
================================

    ! download task:
    cso.s5p.hcho.task.class    :  cso.CSO_SciHub_Download
    cso.s5p.hcho.task.args     :  '${PWD}/rc/cso-s5p-hcho.rc', rcbase='cso.s5p.hcho.download-s5phub'
S5p/HCHO observations are available from the
`Copernicus Open Access Hub <https://scihub.copernicus.eu/>`_;
see the :ref:`cso-scihub` module for a detailed description.

See the class documentation for the general settings that define the download.
Data is available for different processing streams, each identified by a 4-character key:

Data could be download for different processing streams:
* ``NRTI`` : `Near real time`, available with a day after observation;
* ``OFFL`` : `Offline`, available within weeks after observations;
* ``RPRO`` : re-processing of all previously made observations;

* `Near real time (NRTI)`
* `Offline (OFFL)` : available within weeks after observations;
* `Reprocessing (RPRO)` : re-processing of all previously made observations.
The portals provide data files created with the same retrieval algorithm, 
but with different processor versions.
It is therefore necessary to first inquire both archives to see which data is available where,
and what the version numbers are.

For the `Reproecessing` stream the download query looks like::
The :py:class:`cso_scihub.CSO_SciHub_Inquire` class is available to inquire the
*Copernicus Open Access Hub*. The settings used by this class allow selection
on for example time range and intersection area. 
The result is a csv file which with columns for keywords such orbit number and processor version,
as well as the filename of the data and the url that should be used to actually download the data::

    cso.s5p.hcho.download-s5phub.query    :   platformname:Sentinel-5     AND \
                                              producttype:L2__HCHO__    AND \
                                          processinglevel:L2            AND \
                                           processingmode:Reprocessing
    orbit;start_time;end_time;processing;collection;processor_version;filename;href
    21497;2021-12-06 14:05:54;2021-12-06 15:47:24;OFFL;02;020301;S5P_OFFL_L2__HCHO____20211206T140554_20211206T154724_21497_02_020301_20211208T043331.nc;https://s5phub.copernicus.eu/dhus/odata/v1/Products('d9d33ffa-9fe5-43cc-b5a1-b65c22e874ad')/$value
    21852;2021-12-31 14:37:39;2021-12-31 16:19:09;OFFL;02;020301;S5P_OFFL_L2__HCHO____20211231T143739_20211231T161909_21852_02_020301_20220102T064010.nc;https://s5phub.copernicus.eu/dhus/odata/v1/Products('ff5c922c-450c-43db-97e4-f46bdd55ffb2')/$value
    :

The target directory for downloaded files is specified to have sub-directories per year and month::
See the section on *File name convention* in the *Product User Manual* for the meaning of all 
parts of the filename.

    ! output archive, store in subdirs per month:
    cso.s5p.hcho.download-s5phub.output.dir   :  ${my.work}/Copernicus/S5P/RPRO/HCHO/%Y/%m
To visualize what is available from the various portals, the
:py:class:`cso_scihub.CSO_SciHub_InquirePlot` could be used to create an overview figure:

The first downloaded files are then::
.. figure:: figs/NO2/Copernicus_S5p_NO2.png
   :scale: 50 %
   :align: center
   :alt: Overview of available NO2 processings.

    Copernicus/S5P/RPRO/HCHO/2018/06/S5P_RPRO_L2__HCHO___20180601T002022_20180601T020350_03272_01_010105_20190206T213821.nc
                                     S5P_RPRO_L2__HCHO___20180601T020152_20180601T034520_03273_01_010105_20190206T214248.nc
The jobtree configuration to inquire the portals and create the overview figure could look like::

See the section on *File name convention* in the *Product User Manual* for the meaning of the fields.
    ! single step:
    cso.s5p.hcho.inquire-scihub.class              :  utopya.UtopyaJobStep
    ! two tasks:
    cso.s5p.hcho.inquire-scihub.tasks              :  table
    !~ inquire available files:
    cso.s5p.hcho.inquire-scihub.table.class        :  cso.CSO_SciHub_Inquire
    cso.s5p.hcho.inquire-scihub.table.args         :  '${PWD}/config/ESA-S5p/cso-s5p-hcho.rc', \
                                                          rcbase='cso.s5p.hcho.inquire-s5phub-table'
    !~ create plot of available versions:
    cso.s5p.hcho.inquire-scihub.plot.class         :  cso.CSO_SciHub_InquirePlot
    cso.s5p.hcho.inquire-scihub.plot.args          :  '${PWD}/config/ESA-S5p/cso-s5p-hcho.rc', \
                                                          rcbase='cso.s5p.hcho.inquire-s5phub-plot'



@@ -111,7 +129,7 @@ which is initialized using the settings file::

  ! task initialization:
  cso.s5p.hcho.convert.class     :  cso.CSO_S5p_Convert
  cso.s5p.hcho.convert.args      :  '${PWD}/rc/cso-s5p-hcho.rc', rcbase='cso.s5p.hcho.convert'
  cso.s5p.hcho.convert.args      :  '${PWD}/config/ESA-S5p/cso-s5p-hcho.rc', rcbase='cso.s5p.hcho.convert'
  
See the class documentation for the general configuration,
below some specific choices are described.
@@ -354,7 +372,7 @@ Configuration could look like::

    ! catalogue creation task:
    cso.s5p.hcho.catalogue.task.figs.class  :  cso.CSO_Catalogue
    cso.s5p.hcho.catalogue.task.figs.args   :  '${PWD}/rc/cso-s5p-hcho.rc', \
    cso.s5p.hcho.catalogue.task.figs.args   :  '${PWD}/config/ESA-S5p/cso-s5p-hcho.rc', \
                                                rcbase='cso.s5p.hcho.catalogue'

The configuration describes where to find a *listing* file with orbits, 
@@ -394,7 +412,7 @@ Configuration could look like::

    ! index creation task:
    cso.s5p.hcho.catalogue.task.index.class     :  utopya.Indexer
    cso.s5p.hcho.catalogue.task.index.args      :  '${PWD}/rc/cso-s5p-hcho.rc', \
    cso.s5p.hcho.catalogue.task.index.args      :  '${PWD}/config/ESA-S5p/cso-s5p-hcho.rc', \
                                                   rcbase='cso.s5p.hcho.catalogue-index'

When succesful, the index creator displays an url that could be loaded in a browser::
@@ -518,10 +536,9 @@ Example settings::
  tutorial.S5p.hcho.var.ys.formula               :  A x
  tutorial.S5p.hcho.var.ys.formula_terms         :  A: A x: hx
  !~ standard attributes:
  tutorial.S5p.hcho.var.ys.attrs                 :  long_name units multiplication_factor_to_convert_to_molecules_percm2
  tutorial.S5p.hcho.var.ys.attrs                 :  long_name units
  tutorial.S5p.hcho.var.ys.attr.long_name        :  simulated retrieval
  tutorial.S5p.hcho.var.ys.attr.units            :  mol m-2
  tutorial.S5p.hcho.var.ys.attr.multiplication_factor_to_convert_to_molecules_percm2 : float: 6.022141e+19

  ! partial columns as sum over apriori layers
  !~ retrieval layers:
@@ -530,10 +547,9 @@ Example settings::
  tutorial.S5p.hcho.var.shx.formula              :  PartialColumns( nla, x )
  tutorial.S5p.hcho.var.shx.formula_terms        :  nla: nla x: hx
  !~ standard attributes:
  tutorial.S5p.hcho.var.shx.attrs                :  long_name units multiplication_factor_to_convert_to_molecules_percm2
  tutorial.S5p.hcho.var.shx.attrs                :  long_name units
  tutorial.S5p.hcho.var.shx.attr.long_name       :  tropospheric column in local model
  tutorial.S5p.hcho.var.shx.attr.units           :  mol m-2
  tutorial.S5p.hcho.var.shx.attr.multiplication_factor_to_convert_to_molecules_percm2 : float: 6.022141e+19


Sim-Catalogue
@@ -545,7 +561,7 @@ Configuration could look like::

    ! catalogue creation task:
    cso.s5p.TRACER.sim-catalogue.task.class          :  cso.CSO_SimCatalogue
    cso.s5p.TRACER.sim-catalogue.task.args           :  '${PWD}/rc/cso-s5p-TRACER.rc', \
    cso.s5p.TRACER.sim-catalogue.task.args           :  '${PWD}/config/ESA-S5p/cso-s5p-TRACER.rc', \
                                                      rcbase='cso.s5p.TRACER.sim-catalogue'

The configuration describes where to find a *listing* file with orbits, 
@@ -589,7 +605,7 @@ Configuration could look like::

    ! index creation task:
    cso.s5p.hcho.catalogue.task.index.class     :  utopya.Indexer
    cso.s5p.hcho.catalogue.task.index.args      :  '${PWD}/rc/cso-s5p-hcho.rc', \
    cso.s5p.hcho.catalogue.task.index.args      :  '${PWD}/config/ESA-S5p/cso-s5p-hcho.rc', \
                                                   rcbase='cso.s5p.hcho.catalogue-index'

When succesful, the index creator displays an url that could be loaded in a browser::
+95 −66
Original line number Diff line number Diff line
@@ -57,49 +57,63 @@ Features:



Downloading Sentinel-5p data
============================

Sentinel-5p data could be downloaded from the `Copernicus Open Access Hub <https://scihub.copernicus.eu/>`_;
see the :ref:`cso-scihub` module for a detailed description.

The :py:class:`cso_scihub.CSO_SciHub_Download` class is available to download data
from this server.
The jobtree configuration could look like::
.. Label between '.. _' and ':' ; use :ref:`text <label>` for reference
.. _s5p-so2-inquire:

    ! download task:
    cso.s5p.so2.task.class    :  cso.CSO_SciHub_Download
    cso.s5p.so2.task.args     :  '${PWD}/rc/cso-s5p-so2.rc', rcbase='cso.s5p.so2.download-s5phub'
Inquire Sentinel-5p/SO2 archive
===============================

See the class documentation for the general settings that define the download.
S5p/SO2 observations are available from the
`Copernicus Open Access Hub <https://scihub.copernicus.eu/>`_;
see the :ref:`cso-scihub` module for a detailed description.

Data could be download for different processing streams:
Data is available for different processing streams, each identified by a 4-character key:

* `Near real time (NRTI)`
* `Offline (OFFL)` : available within weeks after observations;
* `Reprocessing (RPRO)` : re-processing of all previously made observations.
* ``NRTI`` : `Near real time`, available with a day after observation;
* ``OFFL`` : `Offline`, available within weeks after observations;
* ``RPRO`` : re-processing of all previously made observations;

For the `Reprocessing` stream the download query looks like::
The portals provide data files created with the same retrieval algorithm, 
but with different processor versions.
It is therefore necessary to first inquire both archives to see which data is available where,
and what the version numbers are.

    cso.s5p.so2.download-s5phub.query    :   platformname:Sentinel-5     AND \
                                              producttype:L2__SO2___    AND \
                                          processinglevel:L2            AND \
                                           processingmode:Reprocessing
The :py:class:`cso_scihub.CSO_SciHub_Inquire` class is available to inquire the
*Copernicus Open Access Hub*. The settings used by this class allow selection
on for example time range and intersection area. 
The result is a csv file which with columns for keywords such orbit number and processor version,
as well as the filename of the data and the url that should be used to actually download the data::

The target directory for downloaded files is specified to have sub-directories per year and month::
    orbit;start_time;end_time;processing;collection;processor_version;filename;href
    21497;2021-12-06 14:05:54;2021-12-06 15:47:24;OFFL;02;020301;S5P_OFFL_L2__SO2____20211206T140554_20211206T154724_21497_02_020301_20211208T043331.nc;https://s5phub.copernicus.eu/dhus/odata/v1/Products('d9d33ffa-9fe5-43cc-b5a1-b65c22e874ad')/$value
    21852;2021-12-31 14:37:39;2021-12-31 16:19:09;OFFL;02;020301;S5P_OFFL_L2__SO2____20211231T143739_20211231T161909_21852_02_020301_20220102T064010.nc;https://s5phub.copernicus.eu/dhus/odata/v1/Products('ff5c922c-450c-43db-97e4-f46bdd55ffb2')/$value
    :

    ! output archive, store in subdirs per month:
    cso.s5p.so2.download-s5phub.output.dir   :  ${my.work}/Copernicus/S5P/RPRO/SO2/%Y/%m
See the section on *File name convention* in the *Product User Manual* for the meaning of all 
parts of the filename.

The first downloaded files are then::
To visualize what is available from the various portals, the
:py:class:`cso_scihub.CSO_SciHub_InquirePlot` could be used to create an overview figure:

    Copernicus/S5P/RPRO/SO2/2018/06/S5P_RPRO_L2__SO2____20180601T002022_20180601T020350_03272_01_010105_20190207T044248.nc  
                                    S5P_RPRO_L2__SO2____20180617T034326_20180617T052654_03501_01_010105_20190209T175809.nc
                                    S5P_RPRO_L2__SO2____20180601T020152_20180601T034520_03273_01_010105_20190207T052751.nc
                                    :
.. figure:: figs/NO2/Copernicus_S5p_NO2.png
   :scale: 50 %
   :align: center
   :alt: Overview of available NO2 processings.

The jobtree configuration to inquire the portals and create the overview figure could look like::

See the section on *File name convention* in the *Product User Manual* for the meaning of the fields.
    ! single step:
    cso.s5p.so2.inquire-scihub.class              :  utopya.UtopyaJobStep
    ! two tasks:
    cso.s5p.so2.inquire-scihub.tasks              :  table
    !~ inquire available files:
    cso.s5p.so2.inquire-scihub.table.class        :  cso.CSO_SciHub_Inquire
    cso.s5p.so2.inquire-scihub.table.args         :  '${PWD}/config/ESA-S5p/cso-s5p-so2.rc', \
                                                          rcbase='cso.s5p.so2.inquire-s5phub-table'
    !~ create plot of available versions:
    cso.s5p.so2.inquire-scihub.plot.class         :  cso.CSO_SciHub_InquirePlot
    cso.s5p.so2.inquire-scihub.plot.args          :  '${PWD}/config/ESA-S5p/cso-s5p-so2.rc', \
                                                          rcbase='cso.s5p.so2.inquire-s5phub-plot'



@@ -109,7 +123,12 @@ See the section on *File name convention* in the *Product User Manual* for the m
Conversion to CSO format
========================

The '``cso.s5p.so2.convert``' task creates netCDF files with selected pixels,
The '``cso.s5p.so2.convert``' task converts orbit files downloaded from a portal into a CSO format.

Files are downloaded from a portal if not present locally yet; eventually they are also removed
after conversion to avoid that the portal is completely mirrored.

To save storage, only selected pixels are included in the converted files,
for example only those within some region or cloud free pixels.
The selection criteria are defined in the settings, and added
to the '``history``' attribute of the created files as reminder.
@@ -119,11 +138,11 @@ which is initialized using the settings file::

  ! task initialization:
  cso.s5p.so2.convert.class     :  cso.CSO_S5p_Convert
  cso.s5p.so2.convert.args      :  '${PWD}/rc/cso-s5p-so2.rc', rcbase='cso.s5p.so2.convert'
  cso.s5p.so2.convert.args      :  '${PWD}/config/ESA-S5p/cso-s5p-so2.rc', rcbase='cso.s5p.so2.convert'
  
See the class documentation for the general configuration,
below some specific choices are described.
The example is based on the S5p SO2 file from which the header is available in:
The example is based on the S5p SO\ :sub:`2` file from which the header is available in:

* `doc/samples/S5P_OFFL_L2__SO2____20200101T005246_20200101T023416_11487_01_010107_20200103T022907.txt <../../samples/S5P_OFFL_L2__SO2____20200101T005246_20200101T023416_11487_01_010107_20200103T022907.txt>`_

@@ -153,35 +172,47 @@ Extension to the product guide
------------------------------

Several publications report extended data criteria beyond the PUMs quality_flags that should be used to ensure data quality.
Examples of such are the emission source detection paper by Fioletov et al., 2020 and the volcanic so2 monitoring paper by Theys et al., 2019. 
Both publications mention the poor quality of observations at the edges of TROPOMI observation swath as well as the reduced quality at high Solar Zenith Angles.
The integration time of pixels toward the edge of the swath has been reduced to decrease the pixel size, however this also reduces the overall quality of the observation (SNR).
Examples of such are the emission source detection paper by *(Fioletov et al., 2020)*,
and the volcanic SO\ :sub:`2` monitoring paper by Theys et al., 2019. 
Both publications mention the poor quality of observations at the edges of TROPOMI observation swath 
as well as the reduced quality at high Solar Zenith Angles.
The integration time of pixels toward the edge of the swath has been reduced to decrease the pixel size,
however this also reduces the overall quality of the observation (SNR).
Therefor we advise to only select the pixels with id's 25-425, and for really strict cases only 50-400.
Examples of both the edge pixels and SZA effects are shown in the figures below, with 2 figures from Fioletov et al.,2020 and an example for the SZA based on the CSO results.
Examples of both the edge pixels and SZA effects are shown in the figures below, 
with 2 figures from Fioletov et al., 2020 and an example for the SZA based on the CSO results.

.. topic:: Figure from Fioletov et al. (2020)

   .. figure:: figs/SO2/Example_fig1_fioletov_2020.png
      :scale: 85 %
      :align: center
   :alt: Index for S5p SO2 columns
      :alt: Figure 1 from Fioletov (2020)

.. topic:: Figure from Fioletov et al. (2020)

   .. figure:: figs/SO2/Example_fig2_fioletov_2020.png
      :scale: 85 %
      :align: center
   :alt: Index for S5p SO2 columns
      :alt: Figure 2 from Fioletov (2020)
   
.. figure:: figs/SO2/overpass_example_filters_so2.png
   :scale: 50 %
   :align: center
   :alt: Index for S5p SO2 columns
   :alt: Examples of column, error, and quality number for two orbits.
   
   *Examples of retrieved SO2 columns, retrieval errors, and quality flags.*
   
Furthermore, Fioletov et al., 2020 (Fig below) report large-scale biases in the current TROPOMI product, with TROPOMI showing significantly higher total columns, which can be expected to introduce a potential high bias throughout the domain.
A solution advised by Fioletov et al is to remove the bias by comparing up- and down-wind values around an SO2 emissions source, but that will not be included in this algorithm.
A solution advised by Fioletov et al is to remove the bias by comparing up- and down-wind values around an SO\ :sub:`2` emissions source, but that will not be included in this algorithm.

.. topic:: Figure from Fioletov et al. (2020)

   .. figure:: figs/SO2/Example_fig5_fioletov_2020.png
      :scale: 85 %
      :align: center
   :alt: Example of mean SO2 columns for TROPOMI OMI and OMPS over several regions (Fioletov et al., 2020).
      :alt: Example of mean SO\ :sub:`2` columns for TROPOMI OMI and OMPS over several regions (Fioletov et al., 2020).

   
Variable specification
----------------------
@@ -272,7 +303,7 @@ and this requires special processing::
  cso.s5p.so2.convert.output.var.pressure.hybb                    :   PRODUCT/tm5_constant_b
  cso.s5p.so2.convert.output.var.pressure.units                   :   Pa

Averaging kernels are converted to matrices with shape ``(layer,retr)``.
Averaging kernels are converted to matrices with shape ``(layer,retr)``::

  ! description:
  cso.s5p.so2.convert.output.var.kernel.dims                      :   pixel layer retr
@@ -309,7 +340,7 @@ the later could include a template for the orbit number::
    cso.s5p.so2.convert.output.dir          :  /Scratch/CSO/S5p/RPRO/SO2/Europe/%Y/%m
    cso.s5p.so2.convert.output.filename     :  S5p_RPRO_SO2_%{orbit}.nc

A flag is read to decide if existing files should be renewed or kept:
A flag is read to decide if existing files should be renewed or kept::

    cso.s5p.so2.convert.renew                  :  True     
    
@@ -361,7 +392,7 @@ Configuration could look like::

    ! catalogue creation task:
    cso.s5p.so2.catalogue.task.figs.class  :  cso.CSO_Catalogue
    cso.s5p.so2.catalogue.task.figs.args   :  '${PWD}/rc/cso-s5p-so2.rc', \
    cso.s5p.so2.catalogue.task.figs.args   :  '${PWD}/config/ESA-S5p/cso-s5p-so2.rc', \
                                                rcbase='cso.s5p.so2.catalogue'

The configuration describes where to find a *listing* file with orbits, 
@@ -393,7 +424,7 @@ Figures are saved to files with the basename of the original orbit file and the
.. figure:: figs/SO2/S5p_RPRO_SO2_03278__vcd.png 
   :scale: 50 %
   :align: center
   :alt: S5p SO2 columns
   :alt: S5p SO\ :sub:`2` columns

To search for interesting features in the data, 
the :py:class:`Indexer <utopya_index.Indexer>` class could be used to create index pages.
@@ -401,7 +432,7 @@ Configuration could look like::

    ! index creation task:
    cso.s5p.so2.catalogue.task.index.class     :  utopya.Indexer
    cso.s5p.so2.catalogue.task.index.args      :  '${PWD}/rc/cso-s5p-so2.rc', \
    cso.s5p.so2.catalogue.task.index.args      :  '${PWD}/config/ESA-S5p/cso-s5p-so2.rc', \
                                                   rcbase='cso.s5p.so2.catalogue-index'

When succesful, the index creator displays an url that could be loaded in a browser::
@@ -525,10 +556,9 @@ Example settings::
  tutorial.S5p.hcho.var.ys.formula               :  A x
  tutorial.S5p.hcho.var.ys.formula_terms         :  A: A x: hx
  !~ standard attributes:
  tutorial.S5p.hcho.var.ys.attrs                 :  long_name units multiplication_factor_to_convert_to_molecules_percm2
  tutorial.S5p.hcho.var.ys.attrs                 :  long_name units
  tutorial.S5p.hcho.var.ys.attr.long_name        :  simulated retrieval
  tutorial.S5p.hcho.var.ys.attr.units            :  mol m-2
  tutorial.S5p.hcho.var.ys.attr.multiplication_factor_to_convert_to_molecules_percm2 : float: 6.022141e+19

  ! partial columns as sum over apriori layers
  !~ retrieval layers:
@@ -537,10 +567,9 @@ Example settings::
  tutorial.S5p.hcho.var.shx.formula              :  PartialColumns( nla, x )
  tutorial.S5p.hcho.var.shx.formula_terms        :  nla: nla x: hx
  !~ standard attributes:
  tutorial.S5p.hcho.var.shx.attrs                :  long_name units multiplication_factor_to_convert_to_molecules_percm2
  tutorial.S5p.hcho.var.shx.attrs                :  long_name units
  tutorial.S5p.hcho.var.shx.attr.long_name       :  tropospheric column in local model
  tutorial.S5p.hcho.var.shx.attr.units           :  mol m-2
  tutorial.S5p.hcho.var.shx.attr.multiplication_factor_to_convert_to_molecules_percm2 : float: 6.022141e+19

Sim-Catalogue
=============
@@ -551,7 +580,7 @@ Configuration could look like::

    ! catalogue creation task:
    cso.s5p.TRACER.sim-catalogue.task.class          :  cso.CSO_SimCatalogue
    cso.s5p.TRACER.sim-catalogue.task.args           :  '${PWD}/rc/cso-s5p-TRACER.rc', \
    cso.s5p.TRACER.sim-catalogue.task.args           :  '${PWD}/config/ESA-S5p/cso-s5p-TRACER.rc', \
                                                      rcbase='cso.s5p.TRACER.sim-catalogue'

The configuration describes where to find a *listing* file with orbits, 
@@ -600,7 +629,7 @@ Configuration could look like::

    ! index creation task:
    cso.s5p.so2.catalogue.task.index.class     :  utopya.Indexer
    cso.s5p.so2.catalogue.task.index.args      :  '${PWD}/rc/cso-s5p-so2.rc', \
    cso.s5p.so2.catalogue.task.index.args      :  '${PWD}/config/ESA-S5p/cso-s5p-so2.rc', \
                                                   rcbase='cso.s5p.so2.catalogue-index'

When succesful, the index creator displays an url that could be loaded in a browser::
@@ -611,18 +640,18 @@ When succesful, the index creator displays an url that could be loaded in a brow
.. figure:: figs/SO2/CSO_SO2_sim-catalogue.png
   :scale: 50 %
   :align: center
   :alt: Index for Simulated and S5p SO2 columns
   :alt: Index for Simulated and S5p SO\ :sub:`2` columns


References
==========

* | Fioletov, V., McLinden, C. A., Griffin, D., Theys, N., Loyola, D. G., Hedelt, P., Krotkov, N. A., and Li, C.: 
  | Anthropogenic and volcanic point source SO2 emissions derived from TROPOMI on board Sentinel-5 Precursor: first results, 
  | Anthropogenic and volcanic point source SO\ :sub:`2` emissions derived from TROPOMI on board Sentinel-5 Precursor: first results, 
  | Atmos. Chem. Phys., 20, 5591-5607, `doi:10.5194/acp-20-5591-202 <https://doi.org/10.5194/acp-20-5591-2020>`_, 2020.

* | Theys, N., Hedelt, P., De Smedt, I. et al. 
  | Global monitoring of volcanic SO2 degassing with unprecedented resolution from TROPOMI onboard Sentinel-5 Precursor. 
  | Global monitoring of volcanic SO\ :sub:`2` degassing with unprecedented resolution from TROPOMI onboard Sentinel-5 Precursor. 
  | Sci Rep 9, 2643 (2019). `doi:10.1038/s41598-019-39279-y <https://doi.org/10.1038/s41598-019-39279-y>`_