Skip to main content

🛰️ VisuSat project :

Documentation Status Python Versions License: MIT PyPI version

VisuSat is a Python toolkit for visualising, handling and processing satellite and oceanographic data, with dedicated pipelines for :

  • EUMETSAT Data Store & Data Tailor
  • Copernicus Marine Service (CMEMS)

It provides high-level wrappers around eumdac, copernicusmarine, xarray,
and advanced visualisation utilities using cartopy and matplotlib.

📘 Full documentation: https://visusat.readthedocs.io/en/latest/


🌍 Examples of Visualisations :

🌦️ EUMETSAT Data Store - AMVs (Atmospheric Motion Vectors)

Derived from MTG-FCI Level 2 wind products :

📽️ Animation from MTG-FCI L1c products

Effective radiance from Visible 0.6µm channel, over Western Europe, between 12UTC and 16UTC the 22/10/2025. Product : FCI L1c High Resolution Image Data - MTG

The 0.6 µm visible channel of MTG FCI is a solar-reflectance channel that is sensitive to surface albedo, clouds (primarily their upper layers), and aerosols. Oceanic and continental surfaces tend to absorb most of the incoming solar radiation, leading to low radiances (dark tones), whereas clouds and aerosols reflect sunlight efficiently, resulting in high radiances (bright tones). In this image, the Benjamin depression is visible over the Atlantic Ocean and is characterized by a vortex-shaped pattern of enhanced radiances associated with thick cloud structures.

🌊 Copernicus Marine Service

Allows to download and visualize available datasets from Copernicus Marine datastore (https://data.marine.copernicus.eu/products).

Example of the the Sea Level Anomaly (in meter) from an aggregate of all available satellites data into Global Ocean Gridded Level4 product (link) :

🌐 Global Ocean Gridded Sea Level Anomaly (L4)

Product: SEALEVEL_GLO_PHY_L4_NRT_008_046

🌀 Global Ocean Physics (Mercator Ocean)

Hourly Sea Water Potential Temperature —
Product: GLOBAL_ANALYSISFORECAST_PHY_001_024


🚀 Installation :

VisuSat is available on PyPI:

pip install visusat

For devellopment :

git clone https://github.com/nsasso56-cell/VisuSat
cd VisuSat
pip install -e .

🔧 Upgrade VisuSat

pip install --upgrade visusat

💡 Quick Start Examples

Here is a minimal example showing how to download and plot a Copernicus Marine dataset:

from visusat import copernicus

request = copernicus.CopernicusRequest(
    dataset_id="cmems_obs-sl_glo_phy-ssh_nrt_allsat-l4-duacs-0.125deg_P1D",
    variables=["sla", "err_sla"],
    minimum_longitude=1,
    maximum_longitude=359,
    minimum_latitude=-70,
    maximum_latitude=80,
    start_datetime="2025-10-22T00:00:00",
    end_datetime="2025-10-22T00:00:00",
    output_filename="duacs_sla.nc",
)

ds = copernicus.load_dataset(request, force=False)

# Plot all fields
copernicus.plot_fields(request, ds)

# Plot surface currents
copernicus.plot_currents(request, ds, vectors = False)

More examples are available in the examples/ folder.


🛠️ Features

  • High-level wrappers for Copernicus Marine API
  • Automation of EUMETSAT Data Tailor workflows
  • Built-in plotting functions (AMVs, radiances, currents…)
  • Utilities for generating animated visualizations of satellite data.
  • Dataset registry and metadata helpers
  • Strong logging system
  • Full Sphinx documentation (ReadTheDocs)

📁 Project Structure

VisuSat/
├── pyproject.toml
├── README.md
├── src/
│   └── visusat/
│       ├── copernicus.py
│       ├── eumetsat.py
│       ├── utils.py
│       ├── plotting.py
│       └── eumetsat_products_registry.py
├── docs/
│   └── source/
├── examples/
│   ├── demo_copernicus_globmodel.py
│   ├── demo_eumetsat_datatailor.py
│   ├── demo_eumetsat_animation.py
│   └── images/
└── data/
    ├── copernicus/
    └── eumetsat/

📬 Contact

Author : Nicolas SASSO.


📄 License

Distributed under the MIT License.

Metadata

Release files for visusat 0.4.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for visusat 0.4.2
File Size Uploaded
visusat-0.4.2.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for visusat 0.4.2
File Interpreter ABI Platform
visusat-0.4.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / visusat-0.4.2.tar.gz

Download URL visusat-0.4.2.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
06f4a3b4f6203e9c36c1030d9ab15f158275df4510220bf7d41a5ecc9e5782b7
BLAKE2b-256 checksum
How to use checksums
0d191fa7228ea2c7528663845efb0c6501d139311ebfad8ebdadf6fb934ada06
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.24

Release files / visusat-0.4.2-py3-none-any.whl

Download URL visusat-0.4.2-py3-none-any.whl
Size 27.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
39bf995e5782079ca6ab9636672da0a42cfe62394324819e99ae8db9ecd9ae6e
BLAKE2b-256 checksum
How to use checksums
b175b4d8205dd0846b860fd130ed4b35280fd2c25565b040addd9cbfbdb0da13
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.8.24

Release history Release notifications | RSS feed

This release

0.4.2 This release

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.1

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page