Estimate SO2 flux emitted by Piton de la Fournaise volcano

using Sentinel-5P TROPOMI data

This notebook demonstrates how to estimate SO2 (sulfur dioxide) flux emitted by Piton de la Fournaise volcano, using SO2 mass burdens from Sentinel-5P TROPOMI imagery.

Mass burdens are extracted the VolcPlume portal (https://www.icare.univ-lille.fr/volcplume), and results are stored on the EaSy Data repository (https://doi.org/10.57932/235f8c42-142b-40ee-9948-518e83554a7d).

The notebook shows how mass can be converted to SO2 flux using the method described in Grandin et al. (2024).

Reference (JGR-Solid Earth)

Grandin, R., Boichu, M., Mathurin, T., & Pascal, N. (2024).
Automatic estimation of daily volcanic sulfur dioxide gas flux from TROPOMI satellite observations: Application to Etna and Piton de la Fournaise.
Journal of Geophysical Research: Solid Earth, 129(6), e2024JB029309.
https://doi.org/10.1029/2024JB029309

Algorithm source (ICARE GitLab)

https://git.icare.univ-lille.fr/icare-public/so2-flux-calculator

Dataset (EaSy Data repository)

Grandin, R., Boichu, M., Mathurin, T., & Pascal, N. (2024b).
Sulfur Dioxide emissions from Etna and Piton de la Fournaise volcanoes (2021-2023) from Sentinel-5P/TROPOMI [Dataset].
https://doi.org/10.57932/235f8c42-142b-40ee-9948-518e83554a7d

VolcPlume portal

Boichu, M and Mathurin, T (2022)
“VOLCPLUME, an interactive web portal for the multiscale analysis of volcanic plume physico-chemical properties.”.
[Interactive Web based Ressource]
Direct access: https://www.icare.univ-lille.fr/volcplume
https://doi.org/10.25326/362

Author: Raphaël Grandin - March 2025 - grandin - at - ipgp.fr

Import packages

# For installation, please follow guidelines in https://gitlab.in2p3.fr/ForMaTer/gaia-data/use-case-volcan/so2-tropomi
from so2_tropomi import *
from so2_flux_calculator.command_line import read_mass_from_csv, read_cf_from_csv

Search for product in Easy Data repository

Setup search API

EASY_DATA_API_URL="https://www.easydata.earth/api/csw"

Search product and dataset using bounding box

string_search = "Piton de la Fournaise"
bbox = "151.09596,-33.609279,151.336939,-33.479914"
request_url = EASY_DATA_API_URL + "?REQUEST=GetRecords&SERVICE=CSW&VERSION=2.0.2&namespace=xmlns(csw=http%3A%2F%2Fwww.opengis.net%2Fcat%2Fcsw%2F2.0.2)&OUTPUTSCHEMA=http://www.isotc211.org/2005/gmd&constraintLanguage=CQL_TEXT&constraint_language_version=1.1.0&constraint=csw:title+LIKE+'" + string_search + "'&typeNames=csw:Record&resultType=results&ElementSetName=brief"
request_url
"https://www.easydata.earth/api/csw?REQUEST=GetRecords&SERVICE=CSW&VERSION=2.0.2&namespace=xmlns(csw=http%3A%2F%2Fwww.opengis.net%2Fcat%2Fcsw%2F2.0.2)&OUTPUTSCHEMA=http://www.isotc211.org/2005/gmd&constraintLanguage=CQL_TEXT&constraint_language_version=1.1.0&constraint=csw:title+LIKE+'Piton de la Fournaise'&typeNames=csw:Record&resultType=results&ElementSetName=brief"
r = requests.get(request_url, allow_redirects=True, headers=headers)#.json()#['data']
root = ET.fromstring(r.text)
ET.dump(root)
<ns0:GetRecordsResponse xmlns:ns0="http://www.opengis.net/cat/csw/2.0.2" xmlns:ns2="http://www.isotc211.org/2005/gmd" xmlns:ns3="http://www.isotc211.org/2005/gco" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/cat/csw/2.0.2 http://schemas.opengis.net/csw/2.0.2/CSW-discovery.xsd">
  <ns0:SearchStatus timestamp="2025-09-26T14:14:40.494064Z" />
  <ns0:SearchResults numberOfRecordsMatched="6" numberOfRecordsReturned="6" elementSet="brief" nextRecord="0">
    <ns2:MD_Metadata>
      <ns2:fileIdentifier>
        <ns3:CharacterString>b6d83680-00ac-4d7f-9651-5eac38c3c42f</ns3:CharacterString>
      </ns2:fileIdentifier>
      <ns2:hierarchyLevel>
        <ns2:MD_ScopeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_ScopeCode" codeListValue="Repository" />
      </ns2:hierarchyLevel>
      <ns2:hierarchyLevelName>
        <ns3:CharacterString>Study</ns3:CharacterString>
      </ns2:hierarchyLevelName>
      <ns2:identificationInfo>
        <ns2:MD_DataIdentification>
          <ns2:citation>
            <ns2:CI_Citation>
              <ns2:title xsi:type="lan:PT_FreeText_PropertyType">
                <ns3:CharacterString>Volcanic Sulfur Dioxide emissions from Sentinel-5P/TROPOMI (Etna and Piton de la Fournaise)</ns3:CharacterString>
                <ns2:PT_FreeText>
                  <ns2:textGroup>
                    <ns2:LocalisedCharacterString locale="#EN">Volcanic Sulfur Dioxide emissions from Sentinel-5P/TROPOMI (Etna and Piton de la Fournaise)</ns2:LocalisedCharacterString>
                  </ns2:textGroup>
                </ns2:PT_FreeText>
              </ns2:title>
            </ns2:CI_Citation>
          </ns2:citation>
          <ns2:extent>
            <ns2:EX_Extent>
              <ns2:geographicElement>
                <ns2:EX_GeographicBoundingBox>
                  <ns2:westBoundLongitude>
                    <ns3:Decimal>14.799</ns3:Decimal>
                  </ns2:westBoundLongitude>
                  <ns2:southBoundLatitude>
                    <ns3:Decimal>37.548</ns3:Decimal>
                  </ns2:southBoundLatitude>
                  <ns2:eastBoundLongitude>
                    <ns3:Decimal>15.199</ns3:Decimal>
                  </ns2:eastBoundLongitude>
                  <ns2:northBoundLatitude>
                    <ns3:Decimal>37.948</ns3:Decimal>
                  </ns2:northBoundLatitude>
                </ns2:EX_GeographicBoundingBox>
              </ns2:geographicElement>
            </ns2:EX_Extent>
            <ns2:EX_Extent>
              <ns2:geographicElement>
                <ns2:EX_GeographicBoundingBox>
                  <ns2:westBoundLongitude>
                    <ns3:Decimal>55.508</ns3:Decimal>
                  </ns2:westBoundLongitude>
                  <ns2:southBoundLatitude>
                    <ns3:Decimal>-21.444</ns3:Decimal>
                  </ns2:southBoundLatitude>
                  <ns2:eastBoundLongitude>
                    <ns3:Decimal>55.908</ns3:Decimal>
                  </ns2:eastBoundLongitude>
                  <ns2:northBoundLatitude>
                    <ns3:Decimal>-21.044</ns3:Decimal>
                  </ns2:northBoundLatitude>
                </ns2:EX_GeographicBoundingBox>
              </ns2:geographicElement>
            </ns2:EX_Extent>
          </ns2:extent>
        </ns2:MD_DataIdentification>
      </ns2:identificationInfo>
    </ns2:MD_Metadata>
    <ns2:MD_Metadata>
      <ns2:fileIdentifier>
        <ns3:CharacterString>235f8c42-142b-40ee-9948-518e83554a7d</ns3:CharacterString>
      </ns2:fileIdentifier>
      <ns2:hierarchyLevel>
        <ns2:MD_ScopeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_ScopeCode" codeListValue="dataset" />
      </ns2:hierarchyLevel>
      <ns2:hierarchyLevelName>
        <ns3:CharacterString>Dataset</ns3:CharacterString>
      </ns2:hierarchyLevelName>
      <ns2:identificationInfo>
        <ns2:MD_DataIdentification>
          <ns2:citation>
            <ns2:CI_Citation>
              <ns2:title xsi:type="lan:PT_FreeText_PropertyType">
                <ns3:CharacterString>Sulfur Dioxide emissions from Etna and Piton de la Fournaise volcanoes (2021-2023) from Sentinel-5P/TROPOMI</ns3:CharacterString>
                <ns2:PT_FreeText>
                  <ns2:textGroup>
                    <ns2:LocalisedCharacterString locale="#EN">Sulfur Dioxide emissions from Etna and Piton de la Fournaise volcanoes (2021-2023) from Sentinel-5P/TROPOMI</ns2:LocalisedCharacterString>
                  </ns2:textGroup>
                </ns2:PT_FreeText>
              </ns2:title>
            </ns2:CI_Citation>
          </ns2:citation>
          <ns2:extent>
            <ns2:EX_Extent>
              <ns2:geographicElement>
                <ns2:EX_GeographicBoundingBox>
                  <ns2:westBoundLongitude>
                    <ns3:Decimal>14.799</ns3:Decimal>
                  </ns2:westBoundLongitude>
                  <ns2:southBoundLatitude>
                    <ns3:Decimal>37.548</ns3:Decimal>
                  </ns2:southBoundLatitude>
                  <ns2:eastBoundLongitude>
                    <ns3:Decimal>15.199</ns3:Decimal>
                  </ns2:eastBoundLongitude>
                  <ns2:northBoundLatitude>
                    <ns3:Decimal>37.948</ns3:Decimal>
                  </ns2:northBoundLatitude>
                </ns2:EX_GeographicBoundingBox>
              </ns2:geographicElement>
            </ns2:EX_Extent>
            <ns2:EX_Extent>
              <ns2:geographicElement>
                <ns2:EX_GeographicBoundingBox>
                  <ns2:westBoundLongitude>
                    <ns3:Decimal>55.508</ns3:Decimal>
                  </ns2:westBoundLongitude>
                  <ns2:southBoundLatitude>
                    <ns3:Decimal>-21.444</ns3:Decimal>
                  </ns2:southBoundLatitude>
                  <ns2:eastBoundLongitude>
                    <ns3:Decimal>55.908</ns3:Decimal>
                  </ns2:eastBoundLongitude>
                  <ns2:northBoundLatitude>
                    <ns3:Decimal>-21.044</ns3:Decimal>
                  </ns2:northBoundLatitude>
                </ns2:EX_GeographicBoundingBox>
              </ns2:geographicElement>
            </ns2:EX_Extent>
          </ns2:extent>
        </ns2:MD_DataIdentification>
      </ns2:identificationInfo>
    </ns2:MD_Metadata>
    <ns2:MD_Metadata>
      <ns2:fileIdentifier>
        <ns3:CharacterString>114f069f-db72-40e0-9f3f-cfb31679cb80</ns3:CharacterString>
      </ns2:fileIdentifier>
      <ns2:hierarchyLevel>
        <ns2:MD_ScopeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_ScopeCode" codeListValue="Repository" />
      </ns2:hierarchyLevel>
      <ns2:hierarchyLevelName>
        <ns3:CharacterString>Study</ns3:CharacterString>
      </ns2:hierarchyLevelName>
      <ns2:identificationInfo>
        <ns2:MD_DataIdentification>
          <ns2:citation>
            <ns2:CI_Citation>
              <ns2:title xsi:type="lan:PT_FreeText_PropertyType">
                <ns3:CharacterString>Évaluation de l'état des terres affectées par la désertification en France métropolitaine</ns3:CharacterString>
                <ns2:PT_FreeText>
                  <ns2:textGroup>
                    <ns2:LocalisedCharacterString locale="#FR">Évaluation de l'état des terres affectées par la désertification en France métropolitaine</ns2:LocalisedCharacterString>
                  </ns2:textGroup>
                </ns2:PT_FreeText>
              </ns2:title>
            </ns2:CI_Citation>
          </ns2:citation>
          <ns2:extent>
            <ns2:EX_Extent>
              <ns2:geographicElement>
                <ns2:EX_GeographicBoundingBox>
                  <ns2:westBoundLongitude>
                    <ns3:Decimal>-5.1413</ns3:Decimal>
                  </ns2:westBoundLongitude>
                  <ns2:southBoundLatitude>
                    <ns3:Decimal>41.3336</ns3:Decimal>
                  </ns2:southBoundLatitude>
                  <ns2:eastBoundLongitude>
                    <ns3:Decimal>9.5601</ns3:Decimal>
                  </ns2:eastBoundLongitude>
                  <ns2:northBoundLatitude>
                    <ns3:Decimal>51.089</ns3:Decimal>
                  </ns2:northBoundLatitude>
                </ns2:EX_GeographicBoundingBox>
              </ns2:geographicElement>
            </ns2:EX_Extent>
          </ns2:extent>
        </ns2:MD_DataIdentification>
      </ns2:identificationInfo>
    </ns2:MD_Metadata>
    <ns2:MD_Metadata>
      <ns2:fileIdentifier>
        <ns3:CharacterString>6d94c1bf-11a5-4157-90a7-2748ee1f4a94</ns3:CharacterString>
      </ns2:fileIdentifier>
      <ns2:hierarchyLevel>
        <ns2:MD_ScopeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_ScopeCode" codeListValue="dataset" />
      </ns2:hierarchyLevel>
      <ns2:hierarchyLevelName>
        <ns3:CharacterString>Dataset</ns3:CharacterString>
      </ns2:hierarchyLevelName>
      <ns2:identificationInfo>
        <ns2:MD_DataIdentification>
          <ns2:citation>
            <ns2:CI_Citation>
              <ns2:title xsi:type="lan:PT_FreeText_PropertyType">
                <ns3:CharacterString>Reportage vidéo sur les essaims de séismes et le projet SISM@LP-Swarm</ns3:CharacterString>
                <ns2:PT_FreeText>
                  <ns2:textGroup>
                    <ns2:LocalisedCharacterString locale="#FR">Reportage vidéo sur les essaims de séismes et le projet SISM@LP-Swarm</ns2:LocalisedCharacterString>
                  </ns2:textGroup>
                </ns2:PT_FreeText>
              </ns2:title>
            </ns2:CI_Citation>
          </ns2:citation>
          <ns2:extent>
            <ns2:EX_Extent>
              <ns2:geographicElement>
                <ns2:EX_GeographicBoundingBox>
                  <ns2:westBoundLongitude>
                    <ns3:Decimal>6.28</ns3:Decimal>
                  </ns2:westBoundLongitude>
                  <ns2:southBoundLatitude>
                    <ns3:Decimal>45.41</ns3:Decimal>
                  </ns2:southBoundLatitude>
                  <ns2:eastBoundLongitude>
                    <ns3:Decimal>6.34</ns3:Decimal>
                  </ns2:eastBoundLongitude>
                  <ns2:northBoundLatitude>
                    <ns3:Decimal>45.45</ns3:Decimal>
                  </ns2:northBoundLatitude>
                </ns2:EX_GeographicBoundingBox>
              </ns2:geographicElement>
            </ns2:EX_Extent>
          </ns2:extent>
        </ns2:MD_DataIdentification>
      </ns2:identificationInfo>
    </ns2:MD_Metadata>
    <ns2:MD_Metadata>
      <ns2:fileIdentifier>
        <ns3:CharacterString>88b7df2b-a041-456b-8fb1-7867cfc8ed43</ns3:CharacterString>
      </ns2:fileIdentifier>
      <ns2:hierarchyLevel>
        <ns2:MD_ScopeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_ScopeCode" codeListValue="dataset" />
      </ns2:hierarchyLevel>
      <ns2:hierarchyLevelName>
        <ns3:CharacterString>Dataset</ns3:CharacterString>
      </ns2:hierarchyLevelName>
      <ns2:identificationInfo>
        <ns2:MD_DataIdentification>
          <ns2:citation>
            <ns2:CI_Citation>
              <ns2:title xsi:type="lan:PT_FreeText_PropertyType">
                <ns3:CharacterString>Continuous atmospheric measurements of CH₄, CO, CO₂ and meteorological parameters at Port-de-Bouc (PdB), France (2021–2023)</ns3:CharacterString>
                <ns2:PT_FreeText>
                  <ns2:textGroup>
                    <ns2:LocalisedCharacterString locale="#EN">Continuous atmospheric measurements of CH₄, CO, CO₂ and meteorological parameters at Port-de-Bouc (PdB), France (2021–2023)</ns2:LocalisedCharacterString>
                  </ns2:textGroup>
                </ns2:PT_FreeText>
              </ns2:title>
            </ns2:CI_Citation>
          </ns2:citation>
          <ns2:extent>
            <ns2:EX_Extent>
              <ns2:geographicElement>
                <ns2:EX_GeographicBoundingBox>
                  <ns2:westBoundLongitude>
                    <ns3:Decimal>4.977848317478758</ns3:Decimal>
                  </ns2:westBoundLongitude>
                  <ns2:southBoundLatitude>
                    <ns3:Decimal>43.407830441180685</ns3:Decimal>
                  </ns2:southBoundLatitude>
                  <ns2:eastBoundLongitude>
                    <ns3:Decimal>4.980966775539664</ns3:Decimal>
                  </ns2:eastBoundLongitude>
                  <ns2:northBoundLatitude>
                    <ns3:Decimal>43.411605427602574</ns3:Decimal>
                  </ns2:northBoundLatitude>
                </ns2:EX_GeographicBoundingBox>
              </ns2:geographicElement>
            </ns2:EX_Extent>
          </ns2:extent>
        </ns2:MD_DataIdentification>
      </ns2:identificationInfo>
    </ns2:MD_Metadata>
    <ns2:MD_Metadata>
      <ns2:fileIdentifier>
        <ns3:CharacterString>4c351b6a-d5e1-41f2-b441-b1163cb3b496</ns3:CharacterString>
      </ns2:fileIdentifier>
      <ns2:hierarchyLevel>
        <ns2:MD_ScopeCode codeList="http://standards.iso.org/iso/19139/resources/gmxCodelists.xml#MD_ScopeCode" codeListValue="Repository" />
      </ns2:hierarchyLevel>
      <ns2:hierarchyLevelName>
        <ns3:CharacterString>Study</ns3:CharacterString>
      </ns2:hierarchyLevelName>
      <ns2:identificationInfo>
        <ns2:MD_DataIdentification>
          <ns2:citation>
            <ns2:CI_Citation>
              <ns2:title xsi:type="lan:PT_FreeText_PropertyType">
                <ns3:CharacterString>A two-year analysis of atmospheric CH4 variability at the Port-de-Bouc urban-industrial site, Aix-Marseille-Provence metropolis, France.</ns3:CharacterString>
                <ns2:PT_FreeText>
                  <ns2:textGroup>
                    <ns2:LocalisedCharacterString locale="#EN">A two-year analysis of atmospheric CH4 variability at the Port-de-Bouc urban-industrial site, Aix-Marseille-Provence metropolis, France.</ns2:LocalisedCharacterString>
                  </ns2:textGroup>
                </ns2:PT_FreeText>
              </ns2:title>
            </ns2:CI_Citation>
          </ns2:citation>
          <ns2:extent>
            <ns2:EX_Extent>
              <ns2:geographicElement>
                <ns2:EX_GeographicBoundingBox>
                  <ns2:westBoundLongitude>
                    <ns3:Decimal>4.806972243815836</ns3:Decimal>
                  </ns2:westBoundLongitude>
                  <ns2:southBoundLatitude>
                    <ns3:Decimal>43.211936989667976</ns3:Decimal>
                  </ns2:southBoundLatitude>
                  <ns2:eastBoundLongitude>
                    <ns3:Decimal>5.5045995114559325</ns3:Decimal>
                  </ns2:eastBoundLongitude>
                  <ns2:northBoundLatitude>
                    <ns3:Decimal>43.686711065405866</ns3:Decimal>
                  </ns2:northBoundLatitude>
                </ns2:EX_GeographicBoundingBox>
              </ns2:geographicElement>
            </ns2:EX_Extent>
          </ns2:extent>
        </ns2:MD_DataIdentification>
      </ns2:identificationInfo>
    </ns2:MD_Metadata>
  </ns0:SearchResults>
</ns0:GetRecordsResponse>

The above search allows for identifying the product and dataset IDs

# ID of the product "Volcanic Sulfur Dioxide emissions from Sentinel-5P/TROPOMI (Etna and Piton de la Fournaise)"
PRODUCT_ID="b6d83680-00ac-4d7f-9651-5eac38c3c42f"
# Dataset ID (last part of the DOI)
DATASET_ID="235f8c42-142b-40ee-9948-518e83554a7d"

Search within product

request_url = EASY_DATA_API_URL + "?service=CSW&request=GetRecordById&version=2.0.2&id=%s" % PRODUCT_ID
display(request_url)

r = requests.get(request_url, allow_redirects=True, headers=headers)#.json()#['data']
root = ET.fromstring(r.text)
ET.dump(root)
#tree#.write("file.xml")
'https://www.easydata.earth/api/csw?service=CSW&request=GetRecordById&version=2.0.2&id=b6d83680-00ac-4d7f-9651-5eac38c3c42f'
<ns0:GetRecordByIdResponse xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ns0="http://www.opengis.net/cat/csw/2.0.2" xmlns:ns2="http://purl.org/dc/terms/">
  <ns0:SummaryRecord>
    <dc:identifier>b6d83680-00ac-4d7f-9651-5eac38c3c42f</dc:identifier>
    <dc:title>Volcanic Sulfur Dioxide emissions from Sentinel-5P/TROPOMI (Etna and Piton de la Fournaise)</dc:title>
    <dc:type>Repository</dc:type>
    <dc:subject>DATA TERRA</dc:subject>
    <dc:subject>Pôle FORM@TER</dc:subject>
    <dc:subject>Pole AERIS</dc:subject>
    <dc:subject>Atmosphere</dc:subject>
    <dc:subject>Solid earth</dc:subject>
    <dc:subject>Earth Observation Satellites</dc:subject>
    <dc:subject>Sulfur</dc:subject>
    <dc:subject>Volcano</dc:subject>
    <dc:subject />
    <dc:subject>étude</dc:subject>
    <dc:subject>geoscientificInformation</dc:subject>
    <ns2:modified>2024-05-14</ns2:modified>
    <ns2:abstract>This repository contains multi-year time-series of volcanic sulfur dioxide (SO2) emission rates released by Etna and Piton de la Fournaise volcanoes. The emission rates are estimated from measurements of the TROPOMI sensor onboard of the Sentinel-5-Precursor (Sentinel-5P) satellite. Emission rates are computed from SO2 mass burdens extracted from the TROPOMI images, using the "disk method" described in the Grandin et al. (2023) publication.

This dataset contains files that can be used for replicating results for the two cases studied in the publication:
* Piton de la Fournaise (2021-2023)
* Etna (2021) 

The dataset contains input and output data for the "SO2 Flux Calculator" algorithm, which is available as :
* a command-line tool: https://git.icare.univ-lille.fr/icare-public/so2-flux-calculator
* an on-demand interactive web app: https://dataviz.icare.univ-lille.fr/so2-flux-calculator

Acknowledgements: 
* The web-based VolcPlume Platform was used for satellite and ground-based multi-station analysis (https://www.icare.univ-lille.fr/volcplume)
* Facilities of the European Space Agency (ESA) were used for access to Sentinel-5P TROPOMI Level 2 SO2 products (https://documentation.dataspace.copernicus.eu/Data/SentinelMissions/Sentinel5P.html#sentinel-5p-level-2-sulfur-dioxide)
* Facilities of the Copernicus Climate Change Service Climate Data Store (CDS) were used for access to European Centre for Medium-Range Weather Forecasts (ECMWF) ERA-5 global reanalysis (https://cds.climate.copernicus.eu/cdsapp)

Support from AERIS/ICARE (Atmosphere Data and Services centre) for the co-development of the VolcPlume Platform, is acknowledged. This project is also supported by FormaTerre (Solid Earth Data and Service centre), and by the ``Data Terra'' Research Infrastructure. The research was supported by funding from Horizon Europe FAIR-EASE project (grant No. 101058785) and CaPPA Labex (Agence Nationale de la Recherche No. ANR-11-LABX-0005-0).</ns2:abstract>
  </ns0:SummaryRecord>
</ns0:GetRecordByIdResponse>

Search within dataset

request_url = EASY_DATA_API_URL + "?service=CSW&request=GetRecordById&version=2.0.2&id=%s&ElementSetName=full" % DATASET_ID
display(request_url)
'https://www.easydata.earth/api/csw?service=CSW&request=GetRecordById&version=2.0.2&id=235f8c42-142b-40ee-9948-518e83554a7d&ElementSetName=full'
r = requests.get(request_url, allow_redirects=True, headers=headers)#.json()#['data']
root = ET.fromstring(r.text)
ET.dump(root)
<ns0:GetRecordByIdResponse xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:ns0="http://www.opengis.net/cat/csw/2.0.2" xmlns:ns2="http://purl.org/dc/terms/" xmlns:ns3="http://www.opengis.net/ows">
  <ns0:Record>
    <dc:identifier>235f8c42-142b-40ee-9948-518e83554a7d</dc:identifier>
    <dc:title>Sulfur Dioxide emissions from Etna and Piton de la Fournaise volcanoes (2021-2023) from Sentinel-5P/TROPOMI
            
              
                Sulfur Dioxide emissions from Etna and Piton de la Fournaise volcanoes (2021-2023) from Sentinel-5P/TROPOMI</dc:title>
    <dc:type>dataset</dc:type>
    <dc:subject>Atmosphere
            
              
                Atmosphere
              
              
                atmosphère</dc:subject>
    <dc:subject>Solid earth
            
              
                Solid earth
              
              
                Terre Solide</dc:subject>
    <dc:subject>Earth Observation Satellites
            
              
                Earth Observation Satellites
              
              
                Satellites d'observation</dc:subject>
    <dc:subject>Sulfur
            
              
                Sulfur
              
              
                Soufre</dc:subject>
    <dc:subject>Volcano
            
              
                Volcano
              
              
                Volcano</dc:subject>
    <dc:subject />
    <dc:subject>donnée
            
              
                donnée
              
              
                donnée</dc:subject>
    <dc:subject>geoscientificInformation</dc:subject>
    <ns2:abstract>This repository contains multi-year time-series of volcanic sulfur dioxide (SO2) emission rates released by Etna and Piton de la Fournaise volcanoes. The emission rates are estimated from measurements of the TROPOMI sensor onboard of the Sentinel-5-Precursor (Sentinel-5P) satellite. Emission rates are computed from SO2 mass burdens extracted from the TROPOMI images, using the "disk method" described in the Grandin et al. (2023) publication.

This dataset contains files that can be used for replicating results for the two cases studied in the publication:
* Piton de la Fournaise (2021-2023)
* Etna (2021) 

The dataset contains input and output data for the "SO2 Flux Calculator" algorithm, which is available as :
* a command-line tool: https://git.icare.univ-lille.fr/icare-public/so2-flux-calculator
* an on-demand interactive web app: https://dataviz.icare.univ-lille.fr/so2-flux-calculator

Detailed content of the dataset is described in the Readme.txt file.
This dataset was produced as part of the EOSC FAIR-EASE project (Grant number: 101058785).
        
          
            This repository contains multi-year time-series of volcanic sulfur dioxide (SO2) emission rates released by Etna and Piton de la Fournaise volcanoes. The emission rates are estimated from measurements of the TROPOMI sensor onboard of the Sentinel-5-Precursor (Sentinel-5P) satellite. Emission rates are computed from SO2 mass burdens extracted from the TROPOMI images, using the "disk method" described in the Grandin et al. (2023) publication.

This dataset contains files that can be used for replicating results for the two cases studied in the publication:
* Piton de la Fournaise (2021-2023)
* Etna (2021) 

The dataset contains input and output data for the "SO2 Flux Calculator" algorithm, which is available as :
* a command-line tool: https://git.icare.univ-lille.fr/icare-public/so2-flux-calculator
* an on-demand interactive web app: https://dataviz.icare.univ-lille.fr/so2-flux-calculator

Detailed content of the dataset is described in the Readme.txt file.
This dataset was produced as part of the EOSC FAIR-EASE project (Grant number: 101058785).</ns2:abstract>
    <dc:description>This repository contains multi-year time-series of volcanic sulfur dioxide (SO2) emission rates released by Etna and Piton de la Fournaise volcanoes. The emission rates are estimated from measurements of the TROPOMI sensor onboard of the Sentinel-5-Precursor (Sentinel-5P) satellite. Emission rates are computed from SO2 mass burdens extracted from the TROPOMI images, using the "disk method" described in the Grandin et al. (2023) publication.

This dataset contains files that can be used for replicating results for the two cases studied in the publication:
* Piton de la Fournaise (2021-2023)
* Etna (2021) 

The dataset contains input and output data for the "SO2 Flux Calculator" algorithm, which is available as :
* a command-line tool: https://git.icare.univ-lille.fr/icare-public/so2-flux-calculator
* an on-demand interactive web app: https://dataviz.icare.univ-lille.fr/so2-flux-calculator

Detailed content of the dataset is described in the Readme.txt file.
This dataset was produced as part of the EOSC FAIR-EASE project (Grant number: 101058785).
        
          
            This repository contains multi-year time-series of volcanic sulfur dioxide (SO2) emission rates released by Etna and Piton de la Fournaise volcanoes. The emission rates are estimated from measurements of the TROPOMI sensor onboard of the Sentinel-5-Precursor (Sentinel-5P) satellite. Emission rates are computed from SO2 mass burdens extracted from the TROPOMI images, using the "disk method" described in the Grandin et al. (2023) publication.

This dataset contains files that can be used for replicating results for the two cases studied in the publication:
* Piton de la Fournaise (2021-2023)
* Etna (2021) 

The dataset contains input and output data for the "SO2 Flux Calculator" algorithm, which is available as :
* a command-line tool: https://git.icare.univ-lille.fr/icare-public/so2-flux-calculator
* an on-demand interactive web app: https://dataviz.icare.univ-lille.fr/so2-flux-calculator

Detailed content of the dataset is described in the Readme.txt file.
This dataset was produced as part of the EOSC FAIR-EASE project (Grant number: 101058785).</dc:description>
    <dc:rights>unrestricted</dc:rights>
    <dc:rights>license</dc:rights>
    <ns3:BoundingBox crs="urn:ogc:def:crs:EPSG:6.6:4326">
      <ns3:LowerCorner>37.548 14.799</ns3:LowerCorner>
      <ns3:UpperCorner>37.948 15.199</ns3:UpperCorner>
    </ns3:BoundingBox>
    <ns3:BoundingBox crs="urn:ogc:def:crs:EPSG:6.6:4326">
      <ns3:LowerCorner>-21.444 55.508</ns3:LowerCorner>
      <ns3:UpperCorner>-21.044 55.908</ns3:UpperCorner>
    </ns3:BoundingBox>
    <dc:URI protocol="Publication en accès ouvert" name="&#10;                Automatic estimation of daily volcanic sulfur dioxide gas flux from TROPOMI satellite observations: application to Etna and Piton de la Fournaise&#10;                &#10;                  &#10;                    Automatic estimation of daily volcanic sulfur dioxide gas flux from TROPOMI satellite observations: application to Etna and Piton de la Fournaise&#10;                  &#10;                &#10;              " description="&#10;                Understanding the dynamics of sulfur dioxide (SO2) degassing is of primary importance for tracking temporal variations in volcanic activity. Here we introduce the novel “disk method”, which aims at estimating the daily volcanic SO2 mass flux from satellite data (such as those provided by Sentinel-5P/TROPOMI). The method calculates a “proto-flux” using a regression, as a function of distance, of SO2 mass integrated in a series of nested circular domains centered on the volcano. After regression, a single multiplication by plume speed suffices to deduce the SO2 mass flux, without requiring a re-run of the regression. This way, a range of plume speed and plume altitude scenarios can be easily explored. Noise intensity in the image is simultaneously evaluated by the regression, which allows for estimating posterior uncertainties on SO2 flux and improving the level of detection for weak sources in noisy environments. A statistical test is also introduced to automatically detect occurrences of volcanic degassing, lowering the risk of false positives. Application to multi-year time-series at Etna (2021) and Piton de la Fournaise (2021–2023) demonstrates (a) a reliable quantification of SO2 emissions across a broad range of degassing styles (from passive degassing to effusive or paroxysmal events), and (b) a reasonable day-to-day correlation between SO2 flux and seismic energy. The method is distributed as in open-source software, and is implemented as an interactive web app within the “Volcano Space Observatory Portal”, facilitating near-real-time exploitation of the TROPOMI archive for both volcano monitoring and assessment of volcanogenic atmospheric hazards.&#10;                &#10;                  &#10;                    Understanding the dynamics of sulfur dioxide (SO2) degassing is of primary importance for tracking temporal variations in volcanic activity. Here we introduce the novel “disk method”, which aims at estimating the daily volcanic SO2 mass flux from satellite data (such as those provided by Sentinel-5P/TROPOMI). The method calculates a “proto-flux” using a regression, as a function of distance, of SO2 mass integrated in a series of nested circular domains centered on the volcano. After regression, a single multiplication by plume speed suffices to deduce the SO2 mass flux, without requiring a re-run of the regression. This way, a range of plume speed and plume altitude scenarios can be easily explored. Noise intensity in the image is simultaneously evaluated by the regression, which allows for estimating posterior uncertainties on SO2 flux and improving the level of detection for weak sources in noisy environments. A statistical test is also introduced to automatically detect occurrences of volcanic degassing, lowering the risk of false positives. Application to multi-year time-series at Etna (2021) and Piton de la Fournaise (2021–2023) demonstrates (a) a reliable quantification of SO2 emissions across a broad range of degassing styles (from passive degassing to effusive or paroxysmal events), and (b) a reasonable day-to-day correlation between SO2 flux and seismic energy. The method is distributed as in open-source software, and is implemented as an interactive web app within the “Volcano Space Observatory Portal”, facilitating near-real-time exploitation of the TROPOMI archive for both volcano monitoring and assessment of volcanogenic atmospheric hazards.&#10;                  &#10;                &#10;              ">https://doi.org/10.1029/2024JB029309 
                  
                    https://doi.org/10.1029/2024JB029309</dc:URI>
    <dc:URI protocol="Code source en accès ouvert" name="&#10;                SO2 Flux Calculator (command line tool)&#10;                &#10;                  &#10;                    SO2 Flux Calculator (command line tool)&#10;                  &#10;                &#10;              " description="&#10;                This Git repository contains source code for the Python package &quot;SO2 Flux Calculator&quot;.&#10;                &#10;                  &#10;                    This Git repository contains source code for the Python package &quot;SO2 Flux Calculator&quot;.&#10;                  &#10;                &#10;              ">https://git.icare.univ-lille.fr/icare-public/so2-flux-calculator 
                  
                    https://git.icare.univ-lille.fr/icare-public/so2-flux-calculator</dc:URI>
    <dc:URI protocol="Code source en accès ouvert" name="&#10;                SO2 Flux Calculator - Python implementation of the volcanic SO2 flux calculator add-on of the VolcPlume platform&#10;                &#10;                  &#10;                    SO2 Flux Calculator - Python implementation of the volcanic SO2 flux calculator add-on of the VolcPlume platform&#10;                  &#10;                &#10;              " description="&#10;                Archived the source code of the Python package &quot;SO2 Flux Calculator&quot; in Software Heritage&#10;                &#10;                  &#10;                    Archived the source code of the Python package &quot;SO2 Flux Calculator&quot; in Software Heritage&#10;                  &#10;                &#10;              ">https://archive.softwareheritage.org/swh:1:dir:53d6328db7d35b348666768dfd31bec3ebe99c21 
                  
                    https://archive.softwareheritage.org/swh:1:dir:53d6328db7d35b348666768dfd31bec3ebe99c21</dc:URI>
    <dc:URI protocol="Site Web projet" name="&#10;                SO2 Flux Calculator (web app)&#10;                &#10;                  &#10;                    SO2 Flux Calculator (web app)&#10;                  &#10;                &#10;              " description="&#10;                This service implements the &quot;SO2 Flux Calculator&quot; as an on-demand interactive web app.&#10;                &#10;                  &#10;                    This service implements the &quot;SO2 Flux Calculator&quot; as an on-demand interactive web app.&#10;                  &#10;                &#10;              ">https://dataviz.icare.univ-lille.fr/so2-flux-calculator 
                  
                    https://dataviz.icare.univ-lille.fr/so2-flux-calculator</dc:URI>
    <dc:URI protocol="Site Web projet" name="&#10;                FAIR-EASE website&#10;                &#10;                  &#10;                    FAIR-EASE website&#10;                  &#10;                &#10;              " description="&#10;                The website presents the FAIR-Ease project&#10;                &#10;                  &#10;                    The website presents the FAIR-Ease project&#10;                  &#10;                &#10;              ">https://fairease.eu/ 
                  
                    https://fairease.eu/</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                TROPOMI_CloudFraction_mean_25-50-75-100-150-200-250-300-400-500-1000km_Etna_qa-0_sza-90_tracks-22_2021-01-01_2021-12-31.csv&#10;                &#10;                  &#10;                    TROPOMI_CloudFraction_mean_25-50-75-100-150-200-250-300-400-500-1000km_Etna_qa-0_sza-90_tracks-22_2021-01-01_2021-12-31.csv&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_CloudFraction_mean_25-50-75-100-150-200-250-300-400-500-1000km_Etna_qa-0_sza-90_tracks-22_2021-01-01_2021-12-31.csv 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_CloudFraction_mean_25-50-75-100-150-200-250-300-400-500-1000km_Etna_qa-0_sza-90_tracks-22_2021-01-01_2021-12-31.csv</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                TROPOMI_SO2-7km_mass_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31.csv&#10;                &#10;                  &#10;                    TROPOMI_SO2-7km_mass_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31.csv&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_mass_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31.csv 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_mass_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31.csv</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                ERA5_wind_Etna_0600hPa_2021-01-01_2021-12-31.csv&#10;                &#10;                  &#10;                    ERA5_wind_Etna_0600hPa_2021-01-01_2021-12-31.csv&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/ERA5_wind_Etna_0600hPa_2021-01-01_2021-12-31.csv 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/ERA5_wind_Etna_0600hPa_2021-01-01_2021-12-31.csv</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                ERA5_wind_Etna_0600hPa_2021-01-01_2021-12-31.nc&#10;                &#10;                  &#10;                    ERA5_wind_Etna_0600hPa_2021-01-01_2021-12-31.nc&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/ERA5_wind_Etna_0600hPa_2021-01-01_2021-12-31.nc 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/ERA5_wind_Etna_0600hPa_2021-01-01_2021-12-31.nc</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31_0600hPa.csv&#10;                &#10;                  &#10;                    TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31_0600hPa.csv&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31_0600hPa.csv 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31_0600hPa.csv</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31_0600hPa.png&#10;                &#10;                  &#10;                    TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31_0600hPa.png&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31_0600hPa.png 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500-1000km_Etna_sza-90_tracks-22_du-0_qa-0_2021-01-01_2021-12-31_0600hPa.png</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                TROPOMI_CloudFraction_mean_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_qa-0_2021-09-15_2023-09-14.csv&#10;                &#10;                  &#10;                    TROPOMI_CloudFraction_mean_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_qa-0_2021-09-15_2023-09-14.csv&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_CloudFraction_mean_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_qa-0_2021-09-15_2023-09-14.csv 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_CloudFraction_mean_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_qa-0_2021-09-15_2023-09-14.csv</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                TROPOMI_SO2-7km_mass_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14.csv&#10;                &#10;                  &#10;                    TROPOMI_SO2-7km_mass_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14.csv&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_mass_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14.csv 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_mass_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14.csv</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                ERA5_wind_Fournaise-Piton-de-la_0700hPa_2021-09-15_2023-09-14.csv&#10;                &#10;                  &#10;                    ERA5_wind_Fournaise-Piton-de-la_0700hPa_2021-09-15_2023-09-14.csv&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/ERA5_wind_Fournaise-Piton-de-la_0700hPa_2021-09-15_2023-09-14.csv 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/ERA5_wind_Fournaise-Piton-de-la_0700hPa_2021-09-15_2023-09-14.csv</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                ERA5_wind_Fournaise-Piton-de-la_0700hPa_2021-09-15_2023-09-14.nc&#10;                &#10;                  &#10;                    ERA5_wind_Fournaise-Piton-de-la_0700hPa_2021-09-15_2023-09-14.nc&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/ERA5_wind_Fournaise-Piton-de-la_0700hPa_2021-09-15_2023-09-14.nc 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/ERA5_wind_Fournaise-Piton-de-la_0700hPa_2021-09-15_2023-09-14.nc</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14_0700hPa_max500km.csv&#10;                &#10;                  &#10;                    TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14_0700hPa_max500km.csv&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14_0700hPa_max500km.csv 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14_0700hPa_max500km.csv</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14_0700hPa_max500km.png&#10;                &#10;                  &#10;                    TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14_0700hPa_max500km.png&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14_0700hPa_max500km.png 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_flux_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14_0700hPa_max500km.png</dc:URI>
    <dc:URI protocol="Site Web projet" name="&#10;                VolcPlume platform&#10;                &#10;                  &#10;                    VolcPlume platform&#10;                  &#10;                &#10;              " description="&#10;                The VolcPlume Portal (https://volcplume.aeris-data.fr) is dedicated to the near-real time and retrospective tracking and analysis of the physico-chemical properties of volcanic plumes in the atmosphere, from the source to regional/global scales. The portal allows for jointly analysing a broad panel of satellite and ground-based active and passive remote sensing observations of both volcanic gas and particles, as well as in-situ ground air quality monitoring measurements to detect and isolate a volcanic plume signature down to the ground. Benefiting from developments favouring interactivity and flexibility, this portal thus aims to facilitate an in-depth assessment of the multi-scale atmospheric impacts of volcanic plumes that can include, depending on the type and magnitude of the eruption, modifications of the atmospheric chemistry, degradation of air quality, aviation hazards, and climate impacts.&#10;                &#10;                  &#10;                    The VolcPlume Portal (https://volcplume.aeris-data.fr) is dedicated to the near-real time and retrospective tracking and analysis of the physico-chemical properties of volcanic plumes in the atmosphere, from the source to regional/global scales. The portal allows for jointly analysing a broad panel of satellite and ground-based active and passive remote sensing observations of both volcanic gas and particles, as well as in-situ ground air quality monitoring measurements to detect and isolate a volcanic plume signature down to the ground. Benefiting from developments favouring interactivity and flexibility, this portal thus aims to facilitate an in-depth assessment of the multi-scale atmospheric impacts of volcanic plumes that can include, depending on the type and magnitude of the eruption, modifications of the atmospheric chemistry, degradation of air quality, aviation hazards, and climate impacts.&#10;                  &#10;                &#10;              ">https://www.icare.univ-lille.fr/volcplume 
                  
                    https://www.icare.univ-lille.fr/volcplume</dc:URI>
    <dc:URI protocol="WWW:LINK-1.0-http--link" name="&#10;                Readme.txt&#10;                &#10;                  &#10;                    Readme.txt&#10;                  &#10;                &#10;              ">https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/Readme.txt 
                  
                    https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/Readme.txt</dc:URI>
    <dc:URI protocol="DOI" name="&#10;                Digital Object Identifier (DOI)&#10;                &#10;                  &#10;                    Digital Object Identifier (DOI)&#10;                  &#10;                &#10;              ">https://doi.org/10.57932/235f8c42-142b-40ee-9948-518e83554a7d 
                  
                    https://doi.org/10.57932/235f8c42-142b-40ee-9948-518e83554a7d</dc:URI>
  </ns0:Record>
</ns0:GetRecordByIdResponse>

Download data

Dataset URL

data_in_SO2_mass_URL = "https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_SO2-7km_mass_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_du-0_qa-0_2021-09-15_2023-09-14.csv"
data_in_cloud_fraction_URL = "https://www.easydata.earth/back/public-api/v1/metadata/datasets/235f8c42-142b-40ee-9948-518e83554a7d/files/TROPOMI_CloudFraction_mean_25-50-75-100-150-200-250-300-400-500km_Fournaise-Piton-de-la_sza-90_tracks-7_qa-0_2021-09-15_2023-09-14.csv"

Read SO2 mass and cloud fraction

def filename_from_url(url):
    r = requests.get(url, headers=headers)
    filename = get_filename_from_cd(r.headers.get('content-disposition'))
    with open(filename, 'wb') as file:
        file.write(r.content)
    return filename   

# Save files locally
localfilename_so2 = filename_from_url(data_in_SO2_mass_URL)
localfilename_cf = filename_from_url(data_in_cloud_fraction_URL)

# Read CSV
df_so2_mass = read_mass_from_csv(localfilename_so2, utc_time=0)
df_cf = read_cf_from_csv(localfilename_cf, utc_time=0)

# Display result
display(df_so2_mass.head(), df_cf.head())
TROPOMI_SO2-7km_mass npoints centroid_lon centroid_lat fraction_filtered_edge_tracks fraction_filtered_quality fraction_filtered_sza fraction_filtered_total
Time radius
2021-09-15 00:00:00+00:00 25 0.002795 50.0 55.811651 -21.274005 0.0 0.0 0.0 0.0
50 0.015633 198.0 55.753008 -21.250200 0.0 0.0 0.0 0.0
75 0.045795 440.0 55.716098 -21.277688 0.0 0.0 0.0 0.0
100 0.089700 786.0 55.687237 -21.282824 0.0 0.0 0.0 0.0
150 0.220414 1772.0 55.704500 -21.208305 0.0 0.0 0.0 0.0
TROPOMI_CloudFraction_mean npoints fraction_filtered_edge_tracks fraction_filtered_quality fraction_filtered_sza fraction_filtered_total
Time radius
2021-09-15 00:00:00+00:00 25 0.641550 50 0.0 0.0 0.0 0.0
50 0.421468 198 0.0 0.0 0.0 0.0
75 0.256836 440 0.0 0.0 0.0 0.0
100 0.180345 786 0.0 0.0 0.0 0.0
150 0.130227 1772 0.0 0.0 0.0 0.0

Compute SO2 flux with fixed wind speed

from so2_flux_calculator.command_line import run
run(csv_in_mass=localfilename_so2,
    cloud_fraction_file=localfilename_cf,
    output_directory='.',
    output_file="Piton_SO2_flux",
    wind_speed_fixed=6)
## Uncomment lines below to display PNG in cell
from IPython.display import Image
Image("Piton_SO2_flux.png")

title

Interactive version (opens in new tab)

run(csv_in_mass=localfilename_so2,
    cloud_fraction_file=localfilename_cf,
    output_directory='.',
    output_file="Piton_SO2_flux",
    wind_speed_fixed=6,
    interactive_figure=True)
Launching server at http://localhost:37545