ESGF Search Harvester — CMIP6 / CORDEX Climate Data
Pricing
from $0.35 / 1,000 record returneds
ESGF Search Harvester — CMIP6 / CORDEX Climate Data
Point at ANY ESGF federation node (LLNL, DKRZ, IPSL...) and harvest climate-model dataset/file records via the Search API. Facet-filter by project, model, experiment, variable, frequency. Modes: search, facets, wget file listing.
Pricing
from $0.35 / 1,000 record returneds
Rating
0.0
(0)
Developer
Datamule
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Point this Actor at any node in the Earth System Grid Federation (ESGF) and harvest
climate-model dataset and file records through the federation's uniform, Solr-backed
Search API. It's a generic runner: the same query grammar works across every ESGF index
node — LLNL, DKRZ, IPSL, CEDA, NCI and the rest — so you can target one node or the default
federation trio without changing anything but the nodes list.
Built for climate scientists, earth-system modellers and research-data engineers who need programmatic, structured access to CMIP6 / CMIP5 / CORDEX / obs4MIPs / input4MIPs holdings without hand-rolling the Solr query layer.
What it does
Three modes, auto-selected from the mode input:
| Mode | What you get |
|---|---|
| search | One row per dataset (aggregate) or file (.nc, with url + checksum), facet-filtered and paginated to completion (or a maxRecords cap). |
| facets | The node's controlled-vocabulary index — every value of the facet fields you ask for (experiment_id, source_id, variable, …) with its hit count. The fastest way to discover what a node actually holds. |
| wget | The ESGF-generated download script parsed into one clean row per file (filename, url, checksum_type, checksum) — a ready-to-use download manifest. |
Facet filters
Filter by the standard ESGF facets, exposed as first-class inputs (all optional, all multi-value):
project · experiment_id · variable · frequency · source_id (model) ·
institution_id · activity_id · variant_label · grid_label · realm ·
table_id · data_node — plus a free-text query and an extraFacets object for anything
else the node indexes.
Example input
{"nodes": ["https://esgf-node.llnl.gov/esg-search"],"mode": "search","type": "Dataset","project": ["CMIP6"],"experiment_id": ["historical"],"variable": ["tas"],"frequency": ["mon"],"latestOnly": true,"maxRecords": 200}
Example output (search / Dataset)
{"type": "Dataset","id": "CMIP6.CMIP.EC-Earth-Consortium.EC-Earth3.historical.r23i1p1f1.Amon.tas.gr.v20210527|eagle.alcf.anl.gov","title": "CMIP6.CMIP.EC-Earth-Consortium.EC-Earth3.historical.r23i1p1f1.Amon.tas.gr","project": ["CMIP6"],"source_id": ["EC-Earth3"],"experiment_id": ["historical"],"variable": ["tas"],"frequency": ["mon"],"institution_id": ["EC-Earth-Consortium"],"variant_label": ["r23i1p1f1"],"data_node": "eagle.alcf.anl.gov","size": 782045502}
Multi-valued Solr fields (variable, project, url, checksum, …) are preserved as
arrays — never flattened to the first element. The complete raw Solr document is kept under
raw so nothing is lost.
Notes on the federation
format=application/solr+jsonis pinned for you — without it ESGF returns XML.distribdefaults tofalse(query only the target node). Set ittrueto fan the query out across the whole federation — more coverage, but slower and can partially fail.latestOnly(defaulttrue) restricts to the latest dataset version;replicacontrols whether replica copies are included.- Pagination is automatic (
numFound+offset/limit); setmaxRecords: 0to harvest a result set to completion (can be very large — CMIP6 has tens of millions of records).
Pricing
Pay-per-result: you're charged per record returned. Discovery runs (facets mode, or a
small maxRecords) are cheap; full harvests scale with what you pull.
About the ESGF Search API
The ESGF Search API is a thin REST facade over a federated Apache Solr index. Every node speaks the same grammar, which is exactly what makes one generic Actor work across the whole federation. Reference: ESGF Search RESTful API.

