{ "cells": [ { "cell_type": "markdown", "id": "af0d7600-d3fb-4b3d-98b2-630f613c4f9e", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "## list-of-dicts: defining geography" ] }, { "cell_type": "raw", "id": "150bca58-93b3-4ae9-b7fe-b5350cbc117b", "metadata": { "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "This example demonstrates the various ways to define the values and the geography for :ref:`data-sources-lod` fieldlists. " ] }, { "cell_type": "raw", "id": "756ea884-74b9-4a46-a7f0-3a306648700b", "metadata": { "editable": true, "raw_mimetype": "text/restructuredtext", "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "First, we create a helper method to generate the input data." ] }, { "cell_type": "code", "execution_count": 1, "id": "49a5d9d0-2b27-4662-941f-2e7fc89b1059", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [], "source": [ "import numpy as np\n", "import earthkit.data as ekd\n", "\n", "def build_lod(data):\n", " prototype = {\n", " **data,\n", " \"valid_datetime\": \"2018-08-01T09:00:00Z\",\n", " \"param\": \"t\", \n", " }\n", " \n", " lod = [\n", " {\"level\": 500, **prototype},\n", " {\"level\": 850, **prototype},\n", " ]\n", " return lod" ] }, { "cell_type": "markdown", "id": "5e0e6d2a-77f2-4829-b03f-809b5073771f", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "#### Disctinct latitudes-longitudes" ] }, { "cell_type": "markdown", "id": "df0ee6f1-5681-401d-a00e-3f67b15aa064", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "source": [ "For structured grids, the latitudes and longitudes can be specified as distinct values, the 2D field structure will be automatically built from them." ] }, { "cell_type": "code", "execution_count": 2, "id": "fdde9002-e8fe-47d1-9ff6-5fb9928c9328", "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "data": { "text/html": [ "
| \n", " | param | \n", "level | \n", "base_datetime | \n", "valid_datetime | \n", "step | \n", "number | \n", "
|---|---|---|---|---|---|---|
| 0 | \n", "t | \n", "500 | \n", "None | \n", "2018-08-01T09:00:00+00:00 | \n", "None | \n", "None | \n", "
| 1 | \n", "t | \n", "850 | \n", "None | \n", "2018-08-01T09:00:00+00:00 | \n", "None | \n", "None | \n", "