Skip to main content

Intake-esm

Badges

CI GitHub Workflow Status Code Coverage Status pre-commit.ci status
Docs Documentation Status
Package Conda PyPI Versions
License License
Citation Zenodo

Motivation

Computer simulations of the Earth’s climate and weather generate huge amounts of data. These data are often persisted on HPC systems or in the cloud across multiple data assets of a variety of formats (netCDF, zarr, etc...). Finding, investigating, loading these data assets into compute-ready data containers costs time and effort. The data user needs to know what data sets are available, the attributes describing each data set, before loading a specific data set and analyzing it.

Finding, investigating, loading these assets into data array containers such as xarray can be a daunting task due to the large number of files a user may be interested in. Intake-esm aims to address these issues by providing necessary functionality for searching, discovering, data access/loading.

Overview

intake-esm is a data cataloging utility built on top of intake, pandas, polars and xarray, and it's pretty awesome!

  • Opening an ESM catalog definition file: An Earth System Model (ESM) catalog file is a JSON file that conforms to the ESM Collection Specification. When provided a link/path to an esm catalog file, intake-esm establishes a link to a database (CSV file) that contains data assets locations and associated metadata (i.e., which experiment, model, the come from). The catalog JSON file can be stored on a local filesystem or can be hosted on a remote server.

    In [1]: import intake
    
    In [2]: import intake_esm
    
    In [3]: cat_url = intake_esm.tutorial.get_url("google_cmip6")
    
    In [4]: cat = intake.open_esm_datastore(cat_url)
    
    In [5]: cat
    Out[5]: <GOOGLE-CMIP6 catalog with 4 dataset(s) from 261 asset(s>
    
  • Search and Discovery: intake-esm provides functionality to execute queries against the catalog:

    In [5]: cat_subset = cat.search(
       ...:     experiment_id=["historical", "ssp585"],
       ...:     table_id="Oyr",
       ...:     variable_id="o2",
       ...:     grid_label="gn",
       ...: )
    
    In [6]: cat_subset
    Out[6]: <GOOGLE-CMIP6 catalog with 2 dataset(s) from 67 asset(s)>
    
  • Access: when the user is satisfied with the results of their query, they can load data assets (netCDF and/or Zarr stores) into xarray datasets:

      In [7]: dset_dict = cat_subset.to_dataset_dict()
    
      --> The keys in the returned dictionary of datasets are constructed as follows:
              'activity_id.institution_id.source_id.experiment_id.table_id.grid_label'
      |███████████████████████████████████████████████████████████████| 100.00% [2/2 00:18<00:00]
    

See documentation for more information.

Installation

Intake-esm can be installed from PyPI with pip:

python -m pip install intake-esm

It is also available from conda-forge for conda installations:

conda install -c conda-forge intake-esm

Release files for intake-esm-access 2026.4.15

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

Source distribution (sdist)

Source distribution for intake-esm-access 2026.4.15
File Size Uploaded
intake_esm_access-2026.4.15.tar.gz 144.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for intake-esm-access 2026.4.15
File Interpreter ABI Platform
intake_esm_access-2026.4.15-py3-none-any.whl Python 3 none any Details

Total release size:184.6 kB

Release files / intake_esm_access-2026.4.15.tar.gz

Download URL intake_esm_access-2026.4.15.tar.gz
Size 144.6 kB
Tags Source
SHA-256 checksum
How to use checksums
4880d4ac36c61c8c179152e3ad13fcc770f8f10f7084c9c1edf47d3f64c14f66
BLAKE2b-256 checksum
How to use checksums
e5a97af02a451fbde566eb4a355f65f7431025452dc4a387a2f91030e4ea393e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 16, 2026.

Transparency log

Release files / intake_esm_access-2026.4.15-py3-none-any.whl

Download URL intake_esm_access-2026.4.15-py3-none-any.whl
Size 40.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4aa2c30466a27f381f0be141b4eacdb8e2fddcfbf6f7501f5b0ab8a4e3456bb5
BLAKE2b-256 checksum
How to use checksums
dbd444fbf68f8043087f6dee8aa6f4a4e651515e34828a305decfc2bfcf56cd9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Apr 16, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

2026.4.15 This release

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