If you would like details about what intake-esgf is doing, you can consult your catalog’s session log. This will be everything we have done since your catalog was instantiated. Consider the following search.
from intake_esgf import ESGFCatalog
cat = ESGFCatalog().search(
source_id="IPSL-CM6A-LR",
experiment_id="piControl",
variable_id="areacella",
variant_label="r1i1p1f1",
frequency="fx",
)
ds = cat.to_dataset_dict(add_measures=False)
print(cat.session_log())2026-05-26 19:07:14 search begin source_id=['IPSL-CM6A-LR'], experiment_id=['piControl'], variable_id=['areacella'], variant_label=['r1i1p1f1'], frequency=['fx'], type=['Dataset'], project=['CMIP6'], latest=[True], retracted=[False]
2026-05-26 19:07:14 └─GlobusESGFIndex('ESGF2-US-1.5-Catalog') results=3 response_time=0.16
2026-05-26 19:07:14 combine_time=0.01
2026-05-26 19:07:14 search end total_time=0.18
2026-05-26 19:07:14 file info begin
2026-05-26 19:07:14 └─GlobusESGFIndex('ESGF2-US-1.5-Catalog') results=3 response_time=0.07
2026-05-26 19:07:14 combine_time=0.00
2026-05-26 19:07:14 file info end total_time=0.08
2026-05-26 19:07:24 download failed ConnectTimeout http://esgf-data04.diasjp.net/thredds/fileServer/esg_dataroot/CMIP6/CMIP/IPSL/IPSL-CM6A-LR/piControl/r1i1p1f1/fx/areacella/gr/v20200326/areacella_fx_IPSL-CM6A-LR_piControl_r1i1p1f1_gr.nc
2026-05-26 19:07:24 transfer_time=0.02 [s] at 1.65 [Mb s-1] https://g-52ba3.fd635.8443.data.globus.org/css03_data/CMIP6/CMIP/IPSL/IPSL-CM6A-LR/piControl/r1i1p1f1/fx/areacella/gr/v20200326/areacella_fx_IPSL-CM6A-LR_piControl_r1i1p1f1_gr.nc
2026-05-26 19:07:24 accessed /home/docs/.esgf/CMIP6/CMIP/IPSL/IPSL-CM6A-LR/piControl/r1i1p1f1/fx/areacella/gr/v20200326/areacella_fx_IPSL-CM6A-LR_piControl_r1i1p1f1_gr.nc
In this case you will see how long each index took to return a response and if any failed as well as from where the file was downloaded if not already on your system. Initially we randomize download locations from all available, but as you use intake-esgf we will remember the hosts which provide you the fastest download times. You can see where your data has come from by:
cat.download_summary()Loading...
We use this database to prioritize download locations internally to get you data as fast as we can.