Skip to content

Direct download links#

There have been some issues accessing the data via metagrid. Here we demonstrate how direct download links can be obtained from the links provided in github.com/PCMDI/input4MIPs_CVs/blob/main/direct-download-info/direct-download-info.json. We will attempt to keep direct-download-info.json up-to-date as files are published as a backup to finding files via metagrid or globus (see https://app.globus.org/file-manager?origin_id=904ff241-867c-404e-b355-64b701ba6ac1&origin_path=%2Fuser_pub_work%2Finput4MIPs%2FCMIP7%2F).

To get your direct download links, a script like the following will work.

import json
import urllib.request

direct_download_info_url = "https://raw.githubusercontent.com/PCMDI/input4MIPs_CVs/refs/heads/direct-download-links/direct-download-info/direct-download-info.json"
with urllib.request.urlopen(direct_download_info_url) as response:
    raw_response = response.read()
    direct_download_info = json.loads(raw_response)

data_of_interest = [
    v for v in direct_download_info if v["source_id"] == "FZJ-CMIP-ozone-vl-1-0"
]
download_links = [v["download_link"] for v in data_of_interest]
print("You can then download the links with your tool of choice")
for dl in download_links:
    print(f"- {dl}")

At the time of writing, this produced the following output

You can then download the links with your tool of choice
- https://esgf-node.ornl.gov/thredds/fileServer/user_pub_work/input4MIPs/CMIP7/ScenarioMIP/FZJ/FZJ-CMIP-ozone-vl-1-0/atmos/mon/zmta/gn/v20260409/zmta_input4MIPs_ozone_ScenarioMIP_FZJ-CMIP-ozone-vl-1-0_gn_202201-210012.nc
- https://esgf-node.ornl.gov/thredds/fileServer/user_pub_work/input4MIPs/CMIP7/ScenarioMIP/FZJ/FZJ-CMIP-ozone-vl-1-0/atmos/mon/vmro3/gn/v20260409/vmro3_input4MIPs_ozone_ScenarioMIP_FZJ-CMIP-ozone-vl-1-0_gn_206001-210012.nc
- https://esgf-node.ornl.gov/thredds/fileServer/user_pub_work/input4MIPs/CMIP7/ScenarioMIP/FZJ/FZJ-CMIP-ozone-vl-1-0/atmos/mon/vmro3/gn/v20260409/vmro3_input4MIPs_ozone_ScenarioMIP_FZJ-CMIP-ozone-vl-1-0_gn_202201-205912.nc

If you're familiar with pandas, you can also make your data exploration slightly more straightforward with code like the below

import pandas as pd

# Building on the code above
# (you can also initialise the DataFrame directly from the URL if you wish)
direct_download_info_df = pd.DataFrame(direct_download_info)

# For example
direct_download_info_df[
    (direct_download_info_df["source_id"] == "CR-vl-1-1-0")
    & (direct_download_info_df["variable_id"] == "co2")
]
direct_download_info_df[
    (direct_download_info_df["source_id"] == "CR-vl-1-1-0")
    & (direct_download_info_df["frequency"] == "yr")
    & (direct_download_info_df["variable_id"] == "co2")
    & (direct_download_info_df["grid_label"] == "gm")
]