diff --git a/notebooks/rooki.ipynb b/notebooks/rooki.ipynb index fbc3097..0977036 100644 --- a/notebooks/rooki.ipynb +++ b/notebooks/rooki.ipynb @@ -2,12 +2,22 @@ "cells": [ { "cell_type": "markdown", - "id": "31690744", + "id": "931a4b84-bb67-44e4-aa91-30f3d8bcc529", "metadata": { "tags": [] }, "source": [ - "# Compute Demo: Use Rooki to access CMIP6 data\n", + "# Compute Demo: Use Rooki to access CMIP6 data" + ] + }, + { + "cell_type": "markdown", + "id": "81f6c01b-1e08-463d-90d5-b9e7be5a61ac", + "metadata": { + "tags": [] + }, + "source": [ + "## Overview\n", "\n", "[Rooki](https://github.com/roocs/rooki) is a Python client to interact with [Rook](https://github.com/roocs/rook) data subsetting service for climate model data. This service is used in the backend by the [European Copernicus Climate Data Store](https://cds.climate.copernicus.eu) to access the CMIP6 data pool. The Rook service is deployed for load-balancing at IPSL (Paris) and DKRZ (Hamburg). The CMIP6 data pool is shared with ESGF. The provided CMIP6 subset for Copernicus is synchronized at both sites. \n", "\n", @@ -15,22 +25,33 @@ "\n", "The operators can be called remotly using the [OGC Web Processing Service](https://ogcapi.ogc.org/processes/) (WPS) standard.\n", "\n", + "![rook 4 cds](https://github.com/atmodatcode/tgif_copernicus/raw/main/media/rook.png)\n", + "\n", "**ROOK**: **R**emote **O**perations **O**n **K**limadaten\n", "\n", "* Rook: https://github.com/roocs/rook\n", "* Rooki: https://github.com/roocs/rooki\n", "* Clisops: https://github.com/roocs/clisops\n", - "* Rook Presentation: https://github.com/cehbrecht/talk-rook-status-kickoff-meeting-2022/blob/main/Rook_C3S2_380_2022-02-11.pdf\n" + "* Rook Presentation: https://github.com/cehbrecht/talk-rook-status-kickoff-meeting-2022/blob/main/Rook_C3S2_380_2022-02-11.pdf" ] }, { "cell_type": "markdown", - "id": "dd77c5b2", - "metadata": {}, + "id": "31d3693d-4e01-4982-b1d0-dffcd2a13157", + "metadata": { + "tags": [] + }, "source": [ - "## Overview\n", + "## Prerequisites\n", + "\n", + "| Concepts | Importance | Notes |\n", + "| --- | --- | --- |\n", + "| [Intro to Xarray](https://foundations.projectpythia.org/core/xarray/xarray-intro.html) | Necessary | |\n", + "| [Understanding of NetCDF](https://foundations.projectpythia.org/core/data-formats/netcdf-cf.html) | Helpful | Familiarity with metadata structure |\n", + "| [Knowing OGC services](https://ogcapi.ogc.org/processes/) | Helpful | Understanding of the service interfaces |\n", "\n", - "![rook 4 cds](https://github.com/atmodatcode/tgif_copernicus/raw/main/media/rook.png)" + "\n", + "- **Time to learn**: 15 minutes" ] }, { @@ -59,7 +80,11 @@ "id": "d6ed87c2", "metadata": {}, "source": [ - "## Retrieve subset of CMIP6 data" + "## Retrieve subset of CMIP6 data\n", + "\n", + "The CMIP6 dataset is identified by a dataset-id. An intake catalog as available to lookup the available datasets:\n", + "\n", + "https://nbviewer.org/github/roocs/rooki/blob/master/notebooks/demo/demo-intake-catalog.ipynb" ] }, { @@ -93,7 +118,7 @@ "id": "f822b3c8", "metadata": {}, "source": [ - "## Open Dataset with xarray" + "### Open Dataset with xarray" ] }, { @@ -106,7 +131,7 @@ "name": "stdout", "output_type": "stream", "text": [ - "Downloading to /var/folders/5f/t661zdnd181ck1dv429s4p8r0000gn/T/metalink_bs7xsieh/tas_Amon_MPI-ESM1-2-HR_historical_r1i1p1f1_gn_20000116-20000116.nc.\n" + "Downloading to /var/folders/5f/t661zdnd181ck1dv429s4p8r0000gn/T/metalink_c868rf7f/tas_Amon_MPI-ESM1-2-HR_historical_r1i1p1f1_gn_20000116-20000116.nc.\n" ] }, { @@ -501,7 +526,7 @@ " variant_label: r1i1p1f1\n", " license: CMIP6 model data produced by MPI-M is licensed un...\n", " cmor_version: 3.5.0\n", - " tracking_id: hdl:21.14100/af75dd9f-d9c2-4e0e-a294-2bb0d5b740cf