{ "cells": [ { "cell_type": "markdown", "id": "47cee8d5-1d5a-4e60-8bcd-fdf6496faadf", "metadata": {}, "source": [ "## Xarray: using CuPy" ] }, { "cell_type": "markdown", "id": "ec94158a-eb91-4cb0-a316-748b91f9696c", "metadata": {}, "source": [ "This notebook demonstrates how to use Xarray on a GPU with CuPy. Since CuPy is not a dependency for earthkit-data it has to be installed separately. Also a CUDA-based GPU environment has to be up and running for the notebook to work." ] }, { "cell_type": "code", "execution_count": 1, "id": "ebb1cb85-5e14-45dd-b956-432d970eed1c", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ " " ] } ], "source": [ "# Get GRIB data on pressure levels\n", "import earthkit.data as ekd\n", "ds = ekd.from_source(\"sample\", \"pl.grib\")" ] }, { "cell_type": "code", "execution_count": 2, "id": "8bd9660a-9d96-4bed-9c6e-4b3f1fdaeaea", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
<xarray.Dataset> Size: 176kB\n",
"Dimensions: (forecast_reference_time: 4, step: 2, level: 2,\n",
" latitude: 19, longitude: 36)\n",
"Coordinates:\n",
" * forecast_reference_time (forecast_reference_time) datetime64[ns] 32B 202...\n",
" * step (step) timedelta64[ns] 16B 00:00:00 06:00:00\n",
" * level (level) int64 16B 500 700\n",
" * latitude (latitude) float64 152B 90.0 80.0 ... -80.0 -90.0\n",
" * longitude (longitude) float64 288B 0.0 10.0 ... 340.0 350.0\n",
"Data variables:\n",
" r (forecast_reference_time, step, level, latitude, longitude) float64 88kB ...\n",
" t (forecast_reference_time, step, level, latitude, longitude) float64 88kB ...\n",
"Attributes:\n",
" class: od\n",
" stream: oper\n",
" levtype: pl\n",
" type: fc\n",
" expver: 0001\n",
" date: 20240603\n",
" time: 0\n",
" domain: g\n",
" number: 0\n",
" Conventions: CF-1.8\n",
" institution: ECMWF<xarray.DataArray 't' ()> Size: 8B\n",
"array(261.56490497)<xarray.DataArray 't' ()> Size: 8B\n",
"array(262.56490497)