{ "cells": [ { "cell_type": "markdown", "id": "b38bafd6-2e37-46b0-b0a7-e6744f9eb0e7", "metadata": {}, "source": [ "---\n", "title: Example to load data from NRDA\n", "subtitle: Learn how to load data from the Norwegian Research Data Archive with rocrate\n", "authors:\n", " - name: Anne Fouilloux\n", " orcid: 0000-0002-1784-2920\n", " github: annefou\n", " affiliations:\n", " - id: Simula Research Laboratory\n", " institution: Simula Research Laboratory\n", " ror: 00vn06n10\n", "date: 2025-05-18\n", "keywords : earth and related environmental sciences\n", "---" ] }, { "cell_type": "markdown", "id": "b71d4ba8-5f12-4265-9e46-501613058c0b", "metadata": {}, "source": [ "(Introduction)=\n", "## Introduction\n", "\n", "The Norwegian Research Data Archive (NIRD RDA), managed by Sigma2, is the Norwegian national open-access repository for research data, built on the open-source CKAN platform. It aims at supporting the FAIR principles, enabling the discovery, access, and reuse of datasets across scientific domains. With nearly 1,000 TB of data, the archive facilitates Open Science by providing persistent identifiers and rich metadata. \n", "\n", "\n", "Below, we demonstrate how to access a dataset from the NIRD RDA using the rocrate Python library, leveraging RO-Crate metadata to retrieve and process a NetCDF file, as shown in the following example.\n", "\n" ] }, { "cell_type": "markdown", "id": "13b64621-633e-4a2a-bee4-0604ac68b226", "metadata": {}, "source": [ ":::{hint} Overview\n", "**Questions**\n", "- How can we access and extract metadata from a dataset in the Norwegian Research Data Archive using RO-Crate?\n", "- How can we programmatically retrieve and analyze NetCDF data files from an RO-Crate dataset?\n", "\n", "**Objectives**\n", "- Read and parse RO-Crate metadata from a local file to extract dataset details such as name, DOI, and geospatial coverage.\n", "- Access and process NetCDF data files referenced in the RO-Crate using `xarray` for scientific analysis.\n", ":::" ] }, { "cell_type": "markdown", "id": "48022fe9-4c4d-4f6e-b6fa-469892e7c419", "metadata": {}, "source": [ "(Setup)=\n", "## Setup\n", "\n", "- Install requirements e.g. Python packages;\n", "- Start importing the necessary libraries." ] }, { "cell_type": "code", "execution_count": 15, "id": "89991a2f-1206-4118-9a86-872707fd38b8", "metadata": { "collapsed": true, "hide-output": true, "jupyter": { "outputs_hidden": true } }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Requirement already satisfied: rocrate in /srv/conda/envs/notebook/lib/python3.12/site-packages (0.13.0)\n", "Collecting cmcrameri\n", " Using cached cmcrameri-1.9-py3-none-any.whl.metadata (4.6 kB)\n", "Requirement already satisfied: requests in /srv/conda/envs/notebook/lib/python3.12/site-packages (from rocrate) (2.32.3)\n", "Requirement already satisfied: arcp==0.2.1 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from rocrate) (0.2.1)\n", "Requirement already satisfied: jinja2 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from rocrate) (3.1.5)\n", "Requirement already satisfied: python-dateutil in /srv/conda/envs/notebook/lib/python3.12/site-packages (from rocrate) (2.9.0)\n", "Requirement already satisfied: click in /srv/conda/envs/notebook/lib/python3.12/site-packages (from rocrate) (8.1.8)\n", "Requirement already satisfied: matplotlib in /srv/conda/envs/notebook/lib/python3.12/site-packages (from cmcrameri) (3.10.0)\n", "Requirement already satisfied: numpy in /srv/conda/envs/notebook/lib/python3.12/site-packages (from cmcrameri) (2.0.2)\n", "Requirement already satisfied: packaging in /srv/conda/envs/notebook/lib/python3.12/site-packages (from cmcrameri) (24.2)\n", "Requirement already satisfied: MarkupSafe>=2.0 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from jinja2->rocrate) (3.0.2)\n", "Requirement already satisfied: contourpy>=1.0.1 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from matplotlib->cmcrameri) (1.3.1)\n", "Requirement already satisfied: cycler>=0.10 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from matplotlib->cmcrameri) (0.12.1)\n", "Requirement already satisfied: fonttools>=4.22.0 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from matplotlib->cmcrameri) (4.55.4)\n", "Requirement already satisfied: kiwisolver>=1.3.1 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from matplotlib->cmcrameri) (1.4.8)\n", "Requirement already satisfied: pillow>=8 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from matplotlib->cmcrameri) (11.1.0)\n", "Requirement already satisfied: pyparsing>=2.3.1 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from matplotlib->cmcrameri) (3.2.1)\n", "Requirement already satisfied: six>=1.5 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from python-dateutil->rocrate) (1.17.0)\n", "Requirement already satisfied: charset_normalizer<4,>=2 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from requests->rocrate) (3.4.1)\n", "Requirement already satisfied: idna<4,>=2.5 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from requests->rocrate) (3.10)\n", "Requirement already satisfied: urllib3<3,>=1.21.1 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from requests->rocrate) (1.26.19)\n", "Requirement already satisfied: certifi>=2017.4.17 in /srv/conda/envs/notebook/lib/python3.12/site-packages (from requests->rocrate) (2024.12.14)\n", "Using cached cmcrameri-1.9-py3-none-any.whl (277 kB)\n", "Installing collected packages: cmcrameri\n", "Successfully installed cmcrameri-1.9\n", "Note: you may need to restart the kernel to use updated packages.\n" ] } ], "source": [ "pip install rocrate cmcrameri" ] }, { "cell_type": "code", "execution_count": 27, "id": "07ac67a3-28cc-4a20-a57e-d4d91dda7daa", "metadata": {}, "outputs": [], "source": [ "import requests\n", "import tempfile\n", "import json\n", "import os\n", "from rocrate.rocrate import ROCrate\n", "from rocrate.model.person import Person\n", "\n", "import xarray as xr\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import cartopy.crs as ccrs\n", "import cartopy.feature as cfeature\n", "import cmcrameri" ] }, { "cell_type": "markdown", "id": "c2e2394d-c0e3-4849-9e43-230e84687959", "metadata": {}, "source": [ "(Parameters)=\n", "## Input Parameters\n", "\n", "Currently, only temporary credentials are available. You need to access the archive to obtain a valid link and download the RO-Crate promptly, as the credentials expire after a few minutes.\n", "\n", "Visit the dataset at [https://data.archive-sandbox.sigma2.no/dataset/relative-humidity-over-small-sub-region2](https://data.archive-sandbox.sigma2.no/dataset/relative-humidity-over-small-sub-region2), and check the metadata to get the credentials." ] }, { "cell_type": "code", "execution_count": 3, "id": "8e479333-b3b1-4bd9-80fa-13c2a44a613a", "metadata": {}, "outputs": [], "source": [ "# URL of the RO-Crate metadata file\n", "url = \"https://s3.nird.sigma2.no/archive-sandbox-ro/3888d382-6269-479c-9448-701ad6e3fa74_metadata/dataset_metadata_10.82969_2025.pitlyjt0.json?response-content-disposition=attachment&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=TRnFBoNN9N9QfuRYw5mX%2F20250518%2Fauto%2Fs3%2Faws4_request&X-Amz-Date=20250518T175123Z&X-Amz-Expires=60&X-Amz-SignedHeaders=host&X-Amz-Signature=f089662d8f3c95f9fcde3fc9da0d00b7ff8a7ce2d0c2b8598a94d6f06f9ef30a\"\n", "# Output directory and file path\n", "data_dir = \"../data\"\n", "metadata_path = os.path.join(data_dir, \"ro-crate-metadata.json\")" ] }, { "cell_type": "markdown", "id": "c7de8a4d-9143-480b-b5fd-807626312d38", "metadata": {}, "source": [ "(Retrieve)=\n", "## Retrieve RO-Crate for a given dataset" ] }, { "cell_type": "code", "execution_count": 7, "id": "9dbc558e-3ff7-476d-b779-b840d5248870", "metadata": {}, "outputs": [], "source": [ "# Create data directory if it doesn't exist\n", "os.makedirs(data_dir, exist_ok=True)\n", "\n", "if not os.path.exists(metadata_path):\n", " # Download metadata\n", " response = requests.get(url)\n", " if response.status_code != 200:\n", " raise Exception(f\"Failed to download metadata: {response.status_code} - {response.text}\")\n", "\n", " # Save as data/ro-crate-metadata.json\n", " with open(metadata_path, \"wb\") as f:\n", " f.write(response.content)\n", " print(f\"Metadata saved to: {metadata_path}\")" ] }, { "cell_type": "markdown", "id": "393e7dc0-b897-419e-8e40-65686c26f2ad", "metadata": {}, "source": [ "(Load)=\n", "## Load RO-Crate to access collection" ] }, { "cell_type": "code", "execution_count": 6, "id": "32d265f9-7711-47ad-b5d4-3060ebe9a5c4", "metadata": {}, "outputs": [], "source": [ "crate = ROCrate(data_dir)" ] }, { "cell_type": "code", "execution_count": 13, "id": "45d4d8ae-f498-4b1c-b791-ee793e574979", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "=== Dataset Metadata ===\n", "Name: Relative humidity over small sub-region\n", "Description: rh_mean_july_1980_2018_small.nc\n", "\n", "Relative humidity (%) monthly values for July (year 1980 and 2018).\n", "DOI: https://doi.org/10.82969/2025.pitlyjt0\n", "Author: ['annef@simula.no']\n", "License: https://creativecommons.org/licenses/by/4.0/\n", "Date Published: 2025-05-18\n", "Temporal Coverage: 1980-06-30T21:00:00.000Z/2018-06-30T21:00:00.000Z\n", "Geospatial Coverage: Unknown\n", "\n", "=== Data Files ===\n", "File part of the collection: https://data.archive-sandbox.sigma2.no/dataset/3888d382-6269-479c-9448-701ad6e3fa74/download/rh_mean_july_1980_2018_small.nc\n", "\n", "=== Dataset found and opened with xarray (https://data.archive-sandbox.sigma2.no/dataset/3888d382-6269-479c-9448-701ad6e3fa74/download/rh_mean_july_1980_2018_small.nc) ===\n" ] } ], "source": [ "root_dataset = crate.root_dataset\n", "\n", "# Print metadata\n", "print(\"=== Dataset Metadata ===\")\n", "print(f\"Name: {root_dataset.get('name', 'Unnamed')}\")\n", "print(f\"Description: {root_dataset.get('description', 'No description')}\")\n", "print(f\"DOI: {root_dataset.get('identifier', 'No DOI')}\")\n", "print(f\"Author: {root_dataset.get('author', 'Unknown')}\")\n", "print(f\"License: {root_dataset.get('license', {}).get('@id', 'No license')}\")\n", "print(f\"Date Published: {root_dataset.get('datePublished', 'Unknown')}\")\n", "print(f\"Temporal Coverage: {root_dataset.get('temporalCoverage', 'Unknown')}\")\n", "location_entity = crate.dereference(root_dataset.get('location'))\n", "print(f\"Geospatial Coverage: {location_entity.get('polygon', 'Unknown') if location_entity else 'Unknown'}\")\n", "\n", "# Process hasPart files\n", "print(\"\\n=== Data Files ===\")\n", "files = []\n", "for part in root_dataset.get('hasPart', []):\n", " part_id = part if isinstance(part, str) else getattr(part, 'id', None)\n", " if not part_id:\n", " continue\n", " part_entity = crate.dereference(part_id)\n", " if not part_entity or \"File\" not in part_entity.type:\n", " continue\n", " file_url = part_entity.id\n", " if not (file_url.endswith(\".nc\") or file_url.endswith(\".zarr\")):\n", " continue\n", " print(f\"File part of the collection: {file_url}\")\n", " try:\n", " files.append(file_url)\n", " print(f\"\\n=== Dataset found and opened with xarray ({file_url}) ===\")\n", " except Exception as e:\n", " print(f\"Failed to open {file_url}: {e}\")" ] }, { "cell_type": "markdown", "id": "2b1fc97d-a741-4c0a-a728-455aa913ba3b", "metadata": {}, "source": [ "(Open)=\n", "## Access netCDF file from the dataset collection" ] }, { "cell_type": "code", "execution_count": 17, "id": "d2a86755-dec2-4d87-b585-0c5ca05e3ffd", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 4kB\n",
       "Dimensions:  (time: 2, lon: 17, lat: 24)\n",
       "Coordinates:\n",
       "  * time     (time) datetime64[ns] 16B 1980-07-01 2018-07-01\n",
       "  * lon      (lon) float64 136B 2.0 2.25 2.5 2.75 3.0 ... 5.0 5.25 5.5 5.75 6.0\n",
       "  * lat      (lat) float64 192B 44.62 44.88 45.12 45.38 ... 49.88 50.12 50.38\n",
       "Data variables:\n",
       "    R        (time, lat, lon) float32 3kB ...\n",
       "Attributes:\n",
       "    CDI:          Climate Data Interface version 2.4.4 (https://mpimet.mpg.de...\n",
       "    Conventions:  CF-1.6\n",
       "    institution:  European Centre for Medium-Range Weather Forecasts\n",
       "    history:      Tue May 06 13:47:23 2025: cdo -f nc -t ecmwf copy tmpg.grib...\n",
       "    CDO:          Climate Data Operators version 2.4.4 (https://mpimet.mpg.de...
" ], "text/plain": [ " Size: 4kB\n", "Dimensions: (time: 2, lon: 17, lat: 24)\n", "Coordinates:\n", " * time (time) datetime64[ns] 16B 1980-07-01 2018-07-01\n", " * lon (lon) float64 136B 2.0 2.25 2.5 2.75 3.0 ... 5.0 5.25 5.5 5.75 6.0\n", " * lat (lat) float64 192B 44.62 44.88 45.12 45.38 ... 49.88 50.12 50.38\n", "Data variables:\n", " R (time, lat, lon) float32 3kB ...\n", "Attributes:\n", " CDI: Climate Data Interface version 2.4.4 (https://mpimet.mpg.de...\n", " Conventions: CF-1.6\n", " institution: European Centre for Medium-Range Weather Forecasts\n", " history: Tue May 06 13:47:23 2025: cdo -f nc -t ecmwf copy tmpg.grib...\n", " CDO: Climate Data Operators version 2.4.4 (https://mpimet.mpg.de..." ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dset = xr.open_dataset(files[0], engine=\"h5netcdf\") if file_url.endswith(\".nc\") else xr.open_zarr(files[0])\n", "dset" ] }, { "cell_type": "markdown", "id": "b0a53ee8-8dc5-46b3-8c8f-34645e5eeac4", "metadata": {}, "source": [ "(Plot)=\n", "## Plot Relative Humidity" ] }, { "cell_type": "code", "execution_count": 33, "id": "56f4f3f5-2adf-42f7-9586-f36393a8e734", "metadata": {}, "outputs": [ { "data": { "image/png": "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K6PkXsOy3kcA+M9//gODwYB77rmn1Lwrt1Vyn2bJfZEljSRXbs/ZttxR8v548nkkIgoFzInKx5zIuznRd999h0GDBqFnz5746KOPSn35rWzu4crs2bOxfft2rFy5EkOGDMF1112Hf/zjH/joo4+wYsUKfPTRRwCYE1HVovd3AIGkSZMm9kF9unXrBpvNhnfeeQeffvopbrvtNsTHxwMApkyZ4jBwzuUaNWpU5vTs7Gx89dVXmDZtGh5//HH79MLCQocBXCqjd+/eSE1NxYIFC9C7d28sWLAA7dq1Q9OmTe3LxMfHo3r16k4HsIuKivIohiuVnGQKCwsdprt7EfZE9erVAQBZWVml5pU1raIeeugh3H777di6dSvmzZuHhg0bomfPnuWuFx8fj61bt3q0bb1ej5deegnTp0/Hvn37EB8fj5SUFPTu3Rt16tRBzZo1AQC//PILhBBo27atw/oGgwFXX3011q5da5/WvHlzLF68GFlZWQ7Jw44dOwAUP08aAPr374/MzMwy42revLl9+ctdWcblTpw4ga+++go333yzwz2JJa7cVp06dezbKim7Xbt29vklSV5Z23JXyWex5LNORFRVMSeShzlRaeXlRN999x0GDhyILl264LPPPoPRaCy1TGVyj/Js374dNWrUQEpKisP0knyq5H5+5kRUlbCHgQtz5sxBbGwspk6dCk3T0KhRIzRo0AC//PJLmS3Kbdq0cXqRURQFQohSA9a988479pHtS5Qs426Lnk6nw7Bhw7B06VL873//w+bNmzFq1CiHZW666SacPn0aNputzLidXdQrq6Qr2q+//uow/YsvvpC6nbI0atQIKSkpWLRokUOXrQMHDmDDhg3lrl9e/d9yyy32AXG+//57jBs3zq0uX40bN8bp06eRnZ3t5p44FxkZiebNmyMlJQVbt27FqlWr8PDDD9vnp6amAigeTflyhYWF2Lp1q71hAQAGDBgARVFKjbT83nvvISwsDDfeeCOA4qTjyuOmxC233ILff/8dP/30k32a1WrFhx9+iHbt2tnjudz7778Pi8VSZtc7AKW2VZL03HjjjTCbzaUG1HrvvfegKAoGDhzorNrK9ffffwOAQ2JJRETMiTzBnKg0VznRihUrMHDgQHTu3BlLly4tc7Dnkm1XNPcoT2pqKg4fPlyqG/7GjRsBwJ4/MSeiqoQ9DFyI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UBs7diwAYPr06aXmcdBDIiIiqiq8kROxwYCIKARU5RGBNU3zdwhEREQUIJgTycUxDIiIiIiIiIioFPYwICIKAVX5EUJldbu73NSpU30UCREREfkbcyLnKpMThWSDgauDpGRy8TJlry+EkBJDQCgnDIf6CPD+JgKevy9Cc15GydsuhICrQ0DKeyuhCFX1/A1ztS8lxauqClXnogw1QI51zw8Pl9w5d/jzc69CTpexAD8NlGnJkiUOf1ssFuzbtw96vR716tVjgwGRB6w2z7u3SkiroEkoRHWR6JTkGMU5gPNtqRKueS5SEbfJyIksVhfvraLZl7F4OSeSk3d7XITL41Rctoyr5fR6z6+iMo4xGfWhuThQL+VEzlNaf34VYk50iYycKCQbDIiIqOrYtm1bqWk5OTkYMWIEbrnlFj9EREREROR73siJgrHhhIiIrlDSs0rGKxRER0dj+vTpePrpp/0dChEREfkQcyJHnuZE7GFARBQCFAWQcXdIiFwbAQDnzp1Ddna2v8MgIiIiH2JOVJonOREbDIiIKKi98sorDn8LIXDs2DF88MEHuPHGG/0UFREREZFveSMnYoMBEVEIUCW1pgfKGJYV8fLLLzv8raoqEhISMHz4cEyZMsVPUREREZE/MCe6REZOxAYDIiIKavv27fN3CERERER+542ciA0GREQhoCo/c5iIiIioBHMiudhgQEQUAqpi97tBgwa5tdznn3/u5UiIiIgoUDAncq4yOREbDIiIKCjFxMQ4/P3xxx+jf//+iIqK8lNERERERL7nzZyIDQZERCFAUeQ8/ieYet8tWLDA4e9PP/0Uc+bMQd26df0UEREREfkbcyK5OREbDIiIQoCqKFAlXNlklEFERETkL8yJ5FL9HQARERERERERBR72MCAiCgEq5LQAsxWZiIiIghlzIrnYYEBEREHpiy++cPhb0zSsWrUKO3fudJh+8803+zIsIiIiIp/yZk7EBgMiohBQFQf4GThwYKlpY8aMcfhbURTYbDYfRURERET+xpyomKyciA0GREQhQIWkAX4QPFdHTdP8HQIREREFGOZEcoVmg4Fy8eVsXjnLqGoI3bFSznGu6kr+Vb17n47wvIiA+XIg4dwh4xhTVM8DUVycTFWduPiv4vKE6aoMX5JxfGg252VoKgDooAkNzjYVMMcoEdFFNhug2EpfhBWleJrV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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(12, 5), subplot_kw={'projection': ccrs.PlateCarree()})\n", "\n", "# Time points and human-readable labels\n", "times = dset['time'].values\n", "time_labels = [pd.Timestamp(t).strftime('%Y-%m-%d') for t in times]\n", "\n", "# Plot for 1980-07-01\n", "im1 = dset.sel(time=times[0]).R.plot(ax=ax1, cmap='Blues', vmin=0, vmax=100,\n", " cbar_kwargs={'label': 'Relative Humidity (%)'})\n", "ax1.coastlines()\n", "ax1.add_feature(cfeature.BORDERS, linestyle=':')\n", "ax1.set_title(f\"Relative Humidity ({time_labels[0]})\")\n", "ax1.set_xlabel('Longitude')\n", "ax1.set_ylabel('Latitude')\n", "ax1.gridlines(draw_labels=True, dms=True, x_inline=False, y_inline=False)\n", "\n", "# Plot for 2018-07-01\n", "im2 = dset.sel(time=times[1]).R.plot(ax=ax2, cmap='Blues', vmin=0, vmax=100,\n", " cbar_kwargs={'label': 'Relative Humidity (%)'})\n", "ax2.coastlines()\n", "ax2.add_feature(cfeature.BORDERS, linestyle=':')\n", "ax2.set_title(f\"Relative Humidity ({time_labels[1]})\")\n", "ax2.set_xlabel('Longitude')\n", "ax2.set_ylabel('Latitude')\n", "ax2.gridlines(draw_labels=True, dms=True, x_inline=False, y_inline=False)\n", "\n", "# Adjust layout and display\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": null, "id": "67d4a780-a8f9-4f4d-97c1-0727a131a763", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.8" }, "widgets": { "application/vnd.jupyter.widget-state+json": { "state": {}, "version_major": 2, "version_minor": 0 } } }, "nbformat": 4, "nbformat_minor": 5 }