Skip to main content

fsspec implementation for ECMWF File Storage System

Project description

CI

ecmwfspec

This is work in progress! This unofficial repository aims to provide an fsspec driver for the ECMWF File Storage System.

Pull requests (also for additional protocols like MARS and FDB) are welcomed!

import fsspec

with fsspec.open("ec:/<user>/path/to/file", "r") as f:
    print(f.read())

Loading datasets

import fsspec
import xarray as xr

url = fsspec.open("ec:/arch/project/file.grib").open()
ds = xr.open_dataset(url, engine='cfgrib')  # does not work until https://github.com/ecmwf/cfgrib/issues/326 is solved

Usage in connection with gribscan

This is just an example what ecmwfspec can be used for.

import gribscan
import json
import xarray as xr

file_to_scan = "ec:///path/to/some/grib/file/forecast+0038.grib2"
index_file = "index.json"
reference_file = "reference.json"

gribscan.write_index(gribfile=file_to_scan, idxfile=index_file)  # required currently patch https://github.com/gribscan/gribscan/commit/7a5e595759f48e3118964091358f1b2e9eb32b37 to work with fsspec paths
magician = gribscan.magician.HarmonieMagician()  # use magician fitting the grib file
refs = gribscan.grib_magic(
                        filenames=[index_file],
                        magician=magician,
                        global_prefix="",
                    )


with open(reference_file, "w") as outfile:
    json.dump(refs["heightAboveGround"], outfile)
ds = xr.open_zarr(f"reference::{reference_file}")
ds.u.max()  # with the help of ecmwfspec the data is now fetched if it is not locally cached

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ecmwfspec-0.0.6.tar.gz (12.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

ecmwfspec-0.0.6-py2.py3-none-any.whl (14.1 kB view details)

Uploaded Python 2Python 3

File details

Details for the file ecmwfspec-0.0.6.tar.gz.

File metadata

  • Download URL: ecmwfspec-0.0.6.tar.gz
  • Upload date:
  • Size: 12.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.22.4 CPython/3.13.2 Linux/6.8.0-1021-azure

File hashes

Hashes for ecmwfspec-0.0.6.tar.gz
Algorithm Hash digest
SHA256 2b4846dffb62d0fd1acd631bb2eb978ca3128e058b86b2bb283efeb597a10022
MD5 fbe1f1f8b13a14fe8cee4c7d8d96ea82
BLAKE2b-256 39236d77a380a6c982b9f7f6ce28984d06c38508f71d33b87e7ffeedac4a5573

See more details on using hashes here.

File details

Details for the file ecmwfspec-0.0.6-py2.py3-none-any.whl.

File metadata

  • Download URL: ecmwfspec-0.0.6-py2.py3-none-any.whl
  • Upload date:
  • Size: 14.1 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.22.4 CPython/3.13.2 Linux/6.8.0-1021-azure

File hashes

Hashes for ecmwfspec-0.0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a145284e8c9859040498e4ebd1f0f2eb78ab6b4a354f4fb972a2d3287d50085a
MD5 a3dbef002edf6e2562e0ee696e13d32a
BLAKE2b-256 f6873a6b1015099d1793cbc0f3d01b9eda60af8183040f1f6032f58976d9b146

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page