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 are welcomed!

import fsspec

with fsspec.open("ec:///ec/res4/scratch/user/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.2.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

ecmwfspec-0.0.2-py2.py3-none-any.whl (13.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: ecmwfspec-0.0.2.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.19.1 CPython/3.10.12 Linux/6.8.0-1014-azure

File hashes

Hashes for ecmwfspec-0.0.2.tar.gz
Algorithm Hash digest
SHA256 b93992ff0bff10137088b1fce6b789f45ebb5e876ca3f0bcb978541ea57c79f5
MD5 683f7742f3c933577d65e8a25c50b25c
BLAKE2b-256 6c9eb3b044955a3f350ca38eb9a6370041dc938cc2bf89b2b7fe39e284da1224

See more details on using hashes here.

File details

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

File metadata

  • Download URL: ecmwfspec-0.0.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 13.0 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: pdm/2.19.1 CPython/3.10.12 Linux/6.8.0-1014-azure

File hashes

Hashes for ecmwfspec-0.0.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 143ae2419897bf0dc46a1c58e20bc8b93f904d1a426f8e98b4880c50156037a1
MD5 8ed3cc1a1273229a7dd7e67eedb5b3aa
BLAKE2b-256 550275cecea2a1bddf22e6e2343ca861e9312e2c3af2dd798d3ab8c5b5c27a61

See more details on using hashes here.

Supported by

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