Zarr offline downloader
The idea is to have an option to download a zarr dataset for offline reuse or conversion to netcdf. The package is a command line tool and is not covering all kind of different zarr stores. It has been tested with Google Cloud Storage of ECMWF ERA5 reanalysis.
usage: zarr-downloader.py [-h] [--variable VARIABLE] [--offset OFFSET] [--verbose]
[--to-netcdf] [--overwrite] url output
Download a zarr Array / Group from a URL
positional arguments:
url URL to download from
output Output directory to save the zarr file
options:
-h, --help show this help message and exit
--variable VARIABLE Subset of variables to download. e.g. t2m,lon,lat,...
--offset OFFSET Offset for the chunk access pattern
--verbose, -v Verbose output
--to-netcdf Convert to netcdf
--overwrite, -o Overwrite existing files
Examples
How to download a zarr dataset for offline reuse?
# Download ERA 5 surface 2m temperature from Google zarr store.
# There is an offset (chunks: 1000000.0)
# note t2m has two chunk dimensions: time,values
# this will download all chunks
zarr-downloader.py --offset 1000000,0 --variable t2m \
https://storage.googleapis.com/gcp-public-data-arco-era5/co/single-level-reanalysis.zarr-v2 \
/tmp/t2m
# this will download one chunk
zarr-downloader.py --offset 1000000,0 --size 1,1 --variable t2m \
https://storage.googleapis.com/gcp-public-data-arco-era5/co/single-level-reanalysis.zarr-v2 \
/tmp/t2m
# coordinates need to be downloaded completely
zarr-downloader.py --variable time,longitude,latitude \
https://storage.googleapis.com/gcp-public-data-arco-era5/co/single-level-reanalysis.zarr-v2 \
/tmp/t2m
after downloading one can open the full zarr dataset again, but access the downloaded parts:
import zarr
import xarray as xr
ds = xr.open_zarr('/tmp/t2m')
ds
<xarray.Dataset>
Dimensions: (time: 1323648, values: 542080)
Coordinates:
depthBelowLandLayer float64 ...
entireAtmosphere float64 ...
latitude (values) float64 ...
longitude (values) float64 ...
number int64 ...
step timedelta64[ns] ...
surface float64 ...
* time (time) datetime64[ns] 1900-01-01 ... 2050-12-31T23:0...
valid_time (time) datetime64[ns] ...
Dimensions without coordinates: values
Data variables: (12/38)
cape (time, values) float32 ...
d2m (time, values) float32 ...
hcc (time, values) float32 ...
istl1 (time, values) float32 ...
istl2 (time, values) float32 ...
istl3 (time, values) float32 ...
... ...
tsn (time, values) float32 ...
u10 (time, values) float32 ...
u100 (time, values) float32 ...
v10 (time, values) float32 ...
v100 (time, values) float32 ...
z (time, values) float32 ...
Attributes: (12/14)
Conventions: CF-1.7
GRIB_centre: ecmf
GRIB_centreDescription: European Centre for Medium-Range Weather Forec...
GRIB_edition: 1
GRIB_subCentre: 0
history: 2023-08-27T15:04 GRIB to CDM+CF via cfgrib-0.9...
... ...
pangeo-forge:recipe_hash: 09c22f5fffc2fbe3742fbb38c8c2c761e1b41b50570f09...
pangeo-forge:version: 0.9.5.dev2+gd43015b
valid_time_start: 1940-01-01
last_updated: 2025-05-12 03:32:06.266520+00:00
valid_time_stop: 2025-02-28
valid_time_stop_era5t: 2025-04-30
Contribution
Follow the general rules of user contribution and politeness. Please open a ticket under issues.
Metadata
Release files for zarrofflinedownloader 2025.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| zarrofflinedownloader-2025.5.tar.gz | 6.2 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| zarrofflinedownloader-2025.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 12.8 kB
Release files / zarrofflinedownloader-2025.5.tar.gz
| Download URL | zarrofflinedownloader-2025.5.tar.gz |
|---|---|
| Size | 6.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8575d1f264312da2fa96b66064d05a4e70d4424316abf885e9d0788c7fdf0467
|
|
BLAKE2b-256 checksum How to use checksums |
14545e760c703f1973d5bca2592a522abc73364dd930b03db54f5020fdb4d24d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Release files / zarrofflinedownloader-2025.5-py3-none-any.whl
| Download URL | zarrofflinedownloader-2025.5-py3-none-any.whl |
|---|---|
| Size | 6.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9683af69c3d67c95591d184a9924bc3e533e5796d596a0eb70e29c0574414e66
|
|
BLAKE2b-256 checksum How to use checksums |
f33c6a6e77088844f4da2c13d290880dddfe794996f2daa6c0707b76b963400d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.3
|
Security for zarrofflinedownloader 2025.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.