{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Global Forecasting System - Meteorological forecast" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import xarray\n", "import pandas as pd\n", "import mikeio" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The file `gfs_wind.nc` contains a small sample of the [GFS](https://nomads.ncep.noaa.gov/) forecast data downloaded via their OpenDAP service" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "ds = xarray.open_dataset('../tests/testdata/gfs_wind.nc')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Running a Mike 21 HD model, needs at least three variables of meteorological forcing\n", "* Mean Sea Level Pressure\n", "* U 10m\n", "* V 10m" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n", "<defs>\n", "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n", "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n", "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", "</symbol>\n", "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n", "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n", "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "</symbol>\n", "</defs>\n", "</svg>\n", "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n", " *\n", " */\n", "\n", ":root {\n", " --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n", " --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n", " --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n", " --xr-border-color: var(--jp-border-color2, #e0e0e0);\n", " --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n", " --xr-background-color: var(--jp-layout-color0, white);\n", " --xr-background-color-row-even: var(--jp-layout-color1, white);\n", " --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n", "}\n", "\n", "html[theme=dark],\n", "body.vscode-dark {\n", " --xr-font-color0: rgba(255, 255, 255, 1);\n", " --xr-font-color2: rgba(255, 255, 255, 0.54);\n", " --xr-font-color3: rgba(255, 255, 255, 0.38);\n", " --xr-border-color: #1F1F1F;\n", " --xr-disabled-color: #515151;\n", " --xr-background-color: #111111;\n", " --xr-background-color-row-even: #111111;\n", " --xr-background-color-row-odd: #313131;\n", "}\n", "\n", ".xr-wrap {\n", " display: block;\n", " min-width: 300px;\n", " max-width: 700px;\n", "}\n", "\n", ".xr-text-repr-fallback {\n", " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n", " display: none;\n", "}\n", "\n", ".xr-header {\n", " padding-top: 6px;\n", " padding-bottom: 6px;\n", " margin-bottom: 4px;\n", " border-bottom: solid 1px var(--xr-border-color);\n", "}\n", "\n", ".xr-header > div,\n", ".xr-header > ul {\n", " display: inline;\n", " margin-top: 0;\n", " margin-bottom: 0;\n", "}\n", "\n", ".xr-obj-type,\n", ".xr-array-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", ".xr-obj-type {\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-sections {\n", " padding-left: 0 !important;\n", " display: grid;\n", " grid-template-columns: 150px auto auto 1fr 20px 20px;\n", "}\n", "\n", ".xr-section-item {\n", " display: contents;\n", "}\n", "\n", ".xr-section-item input {\n", " display: none;\n", "}\n", "\n", ".xr-section-item input + label {\n", " color: var(--xr-disabled-color);\n", "}\n", "\n", ".xr-section-item input:enabled + label {\n", " cursor: pointer;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-section-item input:enabled + label:hover {\n", " color: var(--xr-font-color0);\n", "}\n", "\n", ".xr-section-summary {\n", " grid-column: 1;\n", " color: var(--xr-font-color2);\n", " font-weight: 500;\n", "}\n", "\n", ".xr-section-summary > span {\n", " display: inline-block;\n", " padding-left: 0.5em;\n", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-section-summary-in + label:before {\n", " display: inline-block;\n", " content: '►';\n", " font-size: 11px;\n", " width: 15px;\n", " text-align: center;\n", "}\n", "\n", ".xr-section-summary-in:disabled + label:before {\n", " color: var(--xr-disabled-color);\n", "}\n", "\n", ".xr-section-summary-in:checked + label:before {\n", " content: '▼';\n", "}\n", "\n", ".xr-section-summary-in:checked + label > span {\n", " display: none;\n", "}\n", "\n", ".xr-section-summary,\n", ".xr-section-inline-details {\n", " padding-top: 4px;\n", " padding-bottom: 4px;\n", "}\n", "\n", ".xr-section-inline-details {\n", " grid-column: 2 / -1;\n", "}\n", "\n", ".xr-section-details {\n", " display: none;\n", " grid-column: 1 / -1;\n", " margin-bottom: 5px;\n", "}\n", "\n", ".xr-section-summary-in:checked ~ .xr-section-details {\n", " display: contents;\n", "}\n", "\n", ".xr-array-wrap {\n", " grid-column: 1 / -1;\n", " display: grid;\n", " grid-template-columns: 20px auto;\n", "}\n", "\n", ".xr-array-wrap > label {\n", " grid-column: 1;\n", " vertical-align: top;\n", "}\n", "\n", ".xr-preview {\n", " color: var(--xr-font-color3);\n", "}\n", "\n", ".xr-array-preview,\n", ".xr-array-data {\n", " padding: 0 5px !important;\n", " grid-column: 2;\n", "}\n", "\n", ".xr-array-data,\n", ".xr-array-in:checked ~ .xr-array-preview {\n", " display: none;\n", "}\n", "\n", ".xr-array-in:checked ~ .xr-array-data,\n", ".xr-array-preview {\n", " display: inline-block;\n", "}\n", "\n", ".xr-dim-list {\n", " display: inline-block !important;\n", " list-style: none;\n", " padding: 0 !important;\n", " margin: 0;\n", "}\n", "\n", ".xr-dim-list li {\n", " display: inline-block;\n", " padding: 0;\n", " margin: 0;\n", "}\n", "\n", ".xr-dim-list:before {\n", " content: '(';\n", "}\n", "\n", ".xr-dim-list:after {\n", " content: ')';\n", "}\n", "\n", ".xr-dim-list li:not(:last-child):after {\n", " content: ',';\n", " padding-right: 5px;\n", "}\n", "\n", ".xr-has-index {\n", " font-weight: bold;\n", "}\n", "\n", ".xr-var-list,\n", ".xr-var-item {\n", " display: contents;\n", "}\n", "\n", ".xr-var-item > div,\n", ".xr-var-item label,\n", ".xr-var-item > .xr-var-name span {\n", " background-color: var(--xr-background-color-row-even);\n", " margin-bottom: 0;\n", "}\n", "\n", ".xr-var-item > .xr-var-name:hover span {\n", " padding-right: 5px;\n", "}\n", "\n", ".xr-var-list > li:nth-child(odd) > div,\n", ".xr-var-list > li:nth-child(odd) > label,\n", ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", " background-color: var(--xr-background-color-row-odd);\n", "}\n", "\n", ".xr-var-name {\n", " grid-column: 1;\n", "}\n", "\n", ".xr-var-dims {\n", " grid-column: 2;\n", "}\n", "\n", ".xr-var-dtype {\n", " grid-column: 3;\n", " text-align: right;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-var-preview {\n", " grid-column: 4;\n", "}\n", "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", ".xr-preview,\n", ".xr-attrs dt {\n", " white-space: nowrap;\n", " overflow: hidden;\n", " text-overflow: ellipsis;\n", " padding-right: 10px;\n", "}\n", "\n", ".xr-var-name:hover,\n", ".xr-var-dims:hover,\n", ".xr-var-dtype:hover,\n", ".xr-attrs dt:hover {\n", " overflow: visible;\n", " width: auto;\n", " z-index: 1;\n", "}\n", "\n", ".xr-var-attrs,\n", ".xr-var-data {\n", " display: none;\n", " background-color: var(--xr-background-color) !important;\n", " padding-bottom: 5px !important;\n", "}\n", "\n", ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", ".xr-var-data-in:checked ~ .xr-var-data {\n", " display: block;\n", "}\n", "\n", ".xr-var-data > table {\n", " float: right;\n", "}\n", "\n", ".xr-var-name span,\n", ".xr-var-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", ".xr-var-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", "dl.xr-attrs {\n", " padding: 0;\n", " margin: 0;\n", " display: grid;\n", " grid-template-columns: 125px auto;\n", "}\n", "\n", ".xr-attrs dt,\n", ".xr-attrs dd {\n", " padding: 0;\n", " margin: 0;\n", " float: left;\n", " padding-right: 10px;\n", " width: auto;\n", "}\n", "\n", ".xr-attrs dt {\n", " font-weight: normal;\n", " grid-column: 1;\n", "}\n", "\n", ".xr-attrs dt:hover span {\n", " display: inline-block;\n", " background: var(--xr-background-color);\n", " padding-right: 10px;\n", "}\n", "\n", ".xr-attrs dd {\n", " grid-column: 2;\n", " white-space: pre-wrap;\n", " word-break: break-all;\n", "}\n", "\n", ".xr-icon-database,\n", ".xr-icon-file-text2 {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", " height: 1.5em !important;\n", " stroke-width: 0;\n", " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", "</style><pre class='xr-text-repr-fallback'><xarray.DataArray 'msletmsl' (time: 3, lat: 41, lon: 21)>\n", "array([[[101116.35 , 101134.555, ..., 101474.15 , 101485.35 ],\n", " [101122.95 , 101141.75 , ..., 101498.35 , 101509.15 ],\n", " ...,\n", " [101972.555, 102048.35 , ..., 101975.15 , 101966.15 ],\n", " [102029.555, 102074.95 , ..., 101970.75 , 101953.15 ]],\n", "\n", " [[100923.02 , 100932.43 , ..., 101305.43 , 101316.43 ],\n", " [100940.625, 100945.625, ..., 101329.83 , 101343.625],\n", " ...,\n", " [101875.43 , 101861.83 , ..., 101870.83 , 101875.83 ],\n", " [101912.43 , 101898.02 , ..., 101860.83 , 101876.83 ]],\n", "\n", " [[101001.36 , 101014.555, ..., 101453.76 , 101465.555],\n", " [101002.96 , 101017.96 , ..., 101513.36 , 101522.76 ],\n", " ...,\n", " [101853.36 , 101859.16 , ..., 101855.555, 101863.555],\n", " [101870.36 , 101869.96 , ..., 101866.36 , 101870.96 ]]], dtype=float32)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2021-09-02T12:00:00 ... 2021-09-02T18:00:00\n", " * lat (lat) float64 30.0 30.25 30.5 30.75 31.0 ... 39.25 39.5 39.75 40.0\n", " * lon (lon) float64 10.0 10.25 10.5 10.75 11.0 ... 14.25 14.5 14.75 15.0\n", "Attributes:\n", " long_name: ** mean sea level mslp (eta model reduction) [pa] </pre><div class='xr-wrap' hidden><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'msletmsl'</div><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 3</li><li><span class='xr-has-index'>lat</span>: 41</li><li><span class='xr-has-index'>lon</span>: 21</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-ccc8d6ba-563b-47e9-9e15-56752ed945a1' class='xr-array-in' type='checkbox' checked><label for='section-ccc8d6ba-563b-47e9-9e15-56752ed945a1' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>1.011e+05 1.011e+05 1.011e+05 ... 1.018e+05 1.019e+05 1.019e+05</span></div><div class='xr-array-data'><pre>array([[[101116.35 , 101134.555, ..., 101474.15 , 101485.35 ],\n", " [101122.95 , 101141.75 , ..., 101498.35 , 101509.15 ],\n", " ...,\n", " [101972.555, 102048.35 , ..., 101975.15 , 101966.15 ],\n", " [102029.555, 102074.95 , ..., 101970.75 , 101953.15 ]],\n", "\n", " [[100923.02 , 100932.43 , ..., 101305.43 , 101316.43 ],\n", " [100940.625, 100945.625, ..., 101329.83 , 101343.625],\n", " ...,\n", " [101875.43 , 101861.83 , ..., 101870.83 , 101875.83 ],\n", " [101912.43 , 101898.02 , ..., 101860.83 , 101876.83 ]],\n", "\n", " [[101001.36 , 101014.555, ..., 101453.76 , 101465.555],\n", " [101002.96 , 101017.96 , ..., 101513.36 , 101522.76 ],\n", " ...,\n", " [101853.36 , 101859.16 , ..., 101855.555, 101863.555],\n", " [101870.36 , 101869.96 , ..., 101866.36 , 101870.96 ]]], dtype=float32)</pre></div></div></li><li class='xr-section-item'><input id='section-025e894b-1250-40f7-813b-f3180fd8532d' class='xr-section-summary-in' type='checkbox' checked><label for='section-025e894b-1250-40f7-813b-f3180fd8532d' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2021-09-02T12:00:00 ... 2021-09-...</div><input id='attrs-b4926ad5-43a1-438a-869d-5d52f70cb244' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-b4926ad5-43a1-438a-869d-5d52f70cb244' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-4305f14a-55c5-4ddd-964f-da45cb81f755' class='xr-var-data-in' type='checkbox'><label for='data-4305f14a-55c5-4ddd-964f-da45cb81f755' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>grads_dim :</span></dt><dd>t</dd><dt><span>grads_mapping :</span></dt><dd>linear</dd><dt><span>grads_size :</span></dt><dd>129</dd><dt><span>grads_min :</span></dt><dd>12z02sep2021</dd><dt><span>grads_step :</span></dt><dd>3hr</dd><dt><span>long_name :</span></dt><dd>time</dd><dt><span>minimum :</span></dt><dd>12z02sep2021</dd><dt><span>maximum :</span></dt><dd>12z18sep2021</dd><dt><span>resolution :</span></dt><dd>0.125</dd></dl></div><div class='xr-var-data'><pre>array(['2021-09-02T12:00:00.000000000', '2021-09-02T15:00:00.000000000',\n", " '2021-09-02T18:00:00.000000000'], dtype='datetime64[ns]')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>30.0 30.25 30.5 ... 39.5 39.75 40.0</div><input id='attrs-2f7b13fc-42fa-491d-9dca-89a35514224a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-2f7b13fc-42fa-491d-9dca-89a35514224a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-07a33edd-fc33-493f-9746-a973215e0625' class='xr-var-data-in' type='checkbox'><label for='data-07a33edd-fc33-493f-9746-a973215e0625' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>grads_dim :</span></dt><dd>y</dd><dt><span>grads_mapping :</span></dt><dd>linear</dd><dt><span>grads_size :</span></dt><dd>721</dd><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>minimum :</span></dt><dd>-90.0</dd><dt><span>maximum :</span></dt><dd>90.0</dd><dt><span>resolution :</span></dt><dd>0.25</dd></dl></div><div class='xr-var-data'><pre>array([30. , 30.25, 30.5 , 30.75, 31. , 31.25, 31.5 , 31.75, 32. , 32.25,\n", " 32.5 , 32.75, 33. , 33.25, 33.5 , 33.75, 34. , 34.25, 34.5 , 34.75,\n", " 35. , 35.25, 35.5 , 35.75, 36. , 36.25, 36.5 , 36.75, 37. , 37.25,\n", " 37.5 , 37.75, 38. , 38.25, 38.5 , 38.75, 39. , 39.25, 39.5 , 39.75,\n", " 40. ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>10.0 10.25 10.5 ... 14.5 14.75 15.0</div><input id='attrs-fbe8de50-0af3-4be4-8eee-0fb263d1eb70' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-fbe8de50-0af3-4be4-8eee-0fb263d1eb70' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-49636cff-6297-4689-904b-f78dc4cfa5db' class='xr-var-data-in' type='checkbox'><label for='data-49636cff-6297-4689-904b-f78dc4cfa5db' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>grads_dim :</span></dt><dd>x</dd><dt><span>grads_mapping :</span></dt><dd>linear</dd><dt><span>grads_size :</span></dt><dd>1440</dd><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>minimum :</span></dt><dd>0.0</dd><dt><span>maximum :</span></dt><dd>359.75</dd><dt><span>resolution :</span></dt><dd>0.25</dd></dl></div><div class='xr-var-data'><pre>array([10. , 10.25, 10.5 , 10.75, 11. , 11.25, 11.5 , 11.75, 12. , 12.25,\n", " 12.5 , 12.75, 13. , 13.25, 13.5 , 13.75, 14. , 14.25, 14.5 , 14.75,\n", " 15. ])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-84caa854-3af1-43c6-aff9-6d4643415545' class='xr-section-summary-in' type='checkbox' checked><label for='section-84caa854-3af1-43c6-aff9-6d4643415545' class='xr-section-summary' >Attributes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>** mean sea level mslp (eta model reduction) [pa] </dd></dl></div></li></ul></div></div>" ], "text/plain": [ "<xarray.DataArray 'msletmsl' (time: 3, lat: 41, lon: 21)>\n", "array([[[101116.35 , 101134.555, ..., 101474.15 , 101485.35 ],\n", " [101122.95 , 101141.75 , ..., 101498.35 , 101509.15 ],\n", " ...,\n", " [101972.555, 102048.35 , ..., 101975.15 , 101966.15 ],\n", " [102029.555, 102074.95 , ..., 101970.75 , 101953.15 ]],\n", "\n", " [[100923.02 , 100932.43 , ..., 101305.43 , 101316.43 ],\n", " [100940.625, 100945.625, ..., 101329.83 , 101343.625],\n", " ...,\n", " [101875.43 , 101861.83 , ..., 101870.83 , 101875.83 ],\n", " [101912.43 , 101898.02 , ..., 101860.83 , 101876.83 ]],\n", "\n", " [[101001.36 , 101014.555, ..., 101453.76 , 101465.555],\n", " [101002.96 , 101017.96 , ..., 101513.36 , 101522.76 ],\n", " ...,\n", " [101853.36 , 101859.16 , ..., 101855.555, 101863.555],\n", " [101870.36 , 101869.96 , ..., 101866.36 , 101870.96 ]]], dtype=float32)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2021-09-02T12:00:00 ... 2021-09-02T18:00:00\n", " * lat (lat) float64 30.0 30.25 30.5 30.75 31.0 ... 39.25 39.5 39.75 40.0\n", " * lon (lon) float64 10.0 10.25 10.5 10.75 11.0 ... 14.25 14.5 14.75 15.0\n", "Attributes:\n", " long_name: ** mean sea level mslp (eta model reduction) [pa] " ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ds.msletmsl" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n", "<defs>\n", "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n", "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n", "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", "</symbol>\n", "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n", "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n", "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "</symbol>\n", "</defs>\n", "</svg>\n", "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n", " *\n", " */\n", "\n", ":root {\n", " --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n", " --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n", " --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n", " --xr-border-color: var(--jp-border-color2, #e0e0e0);\n", " --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n", " --xr-background-color: var(--jp-layout-color0, white);\n", " --xr-background-color-row-even: var(--jp-layout-color1, white);\n", " --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n", "}\n", "\n", "html[theme=dark],\n", "body.vscode-dark {\n", " --xr-font-color0: rgba(255, 255, 255, 1);\n", " --xr-font-color2: rgba(255, 255, 255, 0.54);\n", " --xr-font-color3: rgba(255, 255, 255, 0.38);\n", " --xr-border-color: #1F1F1F;\n", " --xr-disabled-color: #515151;\n", " --xr-background-color: #111111;\n", " --xr-background-color-row-even: #111111;\n", " --xr-background-color-row-odd: #313131;\n", "}\n", "\n", ".xr-wrap {\n", " display: block;\n", " min-width: 300px;\n", " max-width: 700px;\n", "}\n", "\n", ".xr-text-repr-fallback {\n", " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n", " display: none;\n", "}\n", "\n", ".xr-header {\n", " padding-top: 6px;\n", " padding-bottom: 6px;\n", " margin-bottom: 4px;\n", " border-bottom: solid 1px var(--xr-border-color);\n", "}\n", "\n", ".xr-header > div,\n", ".xr-header > ul {\n", " display: inline;\n", " margin-top: 0;\n", " margin-bottom: 0;\n", "}\n", "\n", ".xr-obj-type,\n", ".xr-array-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", ".xr-obj-type {\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-sections {\n", " padding-left: 0 !important;\n", " display: grid;\n", " grid-template-columns: 150px auto auto 1fr 20px 20px;\n", "}\n", "\n", ".xr-section-item {\n", " display: contents;\n", "}\n", "\n", ".xr-section-item input {\n", " display: none;\n", "}\n", "\n", ".xr-section-item input + label {\n", " color: var(--xr-disabled-color);\n", "}\n", "\n", ".xr-section-item input:enabled + label {\n", " cursor: pointer;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-section-item input:enabled + label:hover {\n", " color: var(--xr-font-color0);\n", "}\n", "\n", ".xr-section-summary {\n", " grid-column: 1;\n", " color: var(--xr-font-color2);\n", " font-weight: 500;\n", "}\n", "\n", ".xr-section-summary > span {\n", " display: inline-block;\n", " padding-left: 0.5em;\n", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-section-summary-in + label:before {\n", " display: inline-block;\n", " content: '►';\n", " font-size: 11px;\n", " width: 15px;\n", " text-align: center;\n", "}\n", "\n", ".xr-section-summary-in:disabled + label:before {\n", " color: var(--xr-disabled-color);\n", "}\n", "\n", ".xr-section-summary-in:checked + label:before {\n", " content: '▼';\n", "}\n", "\n", ".xr-section-summary-in:checked + label > span {\n", " display: none;\n", "}\n", "\n", ".xr-section-summary,\n", ".xr-section-inline-details {\n", " padding-top: 4px;\n", " padding-bottom: 4px;\n", "}\n", "\n", ".xr-section-inline-details {\n", " grid-column: 2 / -1;\n", "}\n", "\n", ".xr-section-details {\n", " display: none;\n", " grid-column: 1 / -1;\n", " margin-bottom: 5px;\n", "}\n", "\n", ".xr-section-summary-in:checked ~ .xr-section-details {\n", " display: contents;\n", "}\n", "\n", ".xr-array-wrap {\n", " grid-column: 1 / -1;\n", " display: grid;\n", " grid-template-columns: 20px auto;\n", "}\n", "\n", ".xr-array-wrap > label {\n", " grid-column: 1;\n", " vertical-align: top;\n", "}\n", "\n", ".xr-preview {\n", " color: var(--xr-font-color3);\n", "}\n", "\n", ".xr-array-preview,\n", ".xr-array-data {\n", " padding: 0 5px !important;\n", " grid-column: 2;\n", "}\n", "\n", ".xr-array-data,\n", ".xr-array-in:checked ~ .xr-array-preview {\n", " display: none;\n", "}\n", "\n", ".xr-array-in:checked ~ .xr-array-data,\n", ".xr-array-preview {\n", " display: inline-block;\n", "}\n", "\n", ".xr-dim-list {\n", " display: inline-block !important;\n", " list-style: none;\n", " padding: 0 !important;\n", " margin: 0;\n", "}\n", "\n", ".xr-dim-list li {\n", " display: inline-block;\n", " padding: 0;\n", " margin: 0;\n", "}\n", "\n", ".xr-dim-list:before {\n", " content: '(';\n", "}\n", "\n", ".xr-dim-list:after {\n", " content: ')';\n", "}\n", "\n", ".xr-dim-list li:not(:last-child):after {\n", " content: ',';\n", " padding-right: 5px;\n", "}\n", "\n", ".xr-has-index {\n", " font-weight: bold;\n", "}\n", "\n", ".xr-var-list,\n", ".xr-var-item {\n", " display: contents;\n", "}\n", "\n", ".xr-var-item > div,\n", ".xr-var-item label,\n", ".xr-var-item > .xr-var-name span {\n", " background-color: var(--xr-background-color-row-even);\n", " margin-bottom: 0;\n", "}\n", "\n", ".xr-var-item > .xr-var-name:hover span {\n", " padding-right: 5px;\n", "}\n", "\n", ".xr-var-list > li:nth-child(odd) > div,\n", ".xr-var-list > li:nth-child(odd) > label,\n", ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", " background-color: var(--xr-background-color-row-odd);\n", "}\n", "\n", ".xr-var-name {\n", " grid-column: 1;\n", "}\n", "\n", ".xr-var-dims {\n", " grid-column: 2;\n", "}\n", "\n", ".xr-var-dtype {\n", " grid-column: 3;\n", " text-align: right;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-var-preview {\n", " grid-column: 4;\n", "}\n", "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", ".xr-preview,\n", ".xr-attrs dt {\n", " white-space: nowrap;\n", " overflow: hidden;\n", " text-overflow: ellipsis;\n", " padding-right: 10px;\n", "}\n", "\n", ".xr-var-name:hover,\n", ".xr-var-dims:hover,\n", ".xr-var-dtype:hover,\n", ".xr-attrs dt:hover {\n", " overflow: visible;\n", " width: auto;\n", " z-index: 1;\n", "}\n", "\n", ".xr-var-attrs,\n", ".xr-var-data {\n", " display: none;\n", " background-color: var(--xr-background-color) !important;\n", " padding-bottom: 5px !important;\n", "}\n", "\n", ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", ".xr-var-data-in:checked ~ .xr-var-data {\n", " display: block;\n", "}\n", "\n", ".xr-var-data > table {\n", " float: right;\n", "}\n", "\n", ".xr-var-name span,\n", ".xr-var-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", ".xr-var-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", "dl.xr-attrs {\n", " padding: 0;\n", " margin: 0;\n", " display: grid;\n", " grid-template-columns: 125px auto;\n", "}\n", "\n", ".xr-attrs dt,\n", ".xr-attrs dd {\n", " padding: 0;\n", " margin: 0;\n", " float: left;\n", " padding-right: 10px;\n", " width: auto;\n", "}\n", "\n", ".xr-attrs dt {\n", " font-weight: normal;\n", " grid-column: 1;\n", "}\n", "\n", ".xr-attrs dt:hover span {\n", " display: inline-block;\n", " background: var(--xr-background-color);\n", " padding-right: 10px;\n", "}\n", "\n", ".xr-attrs dd {\n", " grid-column: 2;\n", " white-space: pre-wrap;\n", " word-break: break-all;\n", "}\n", "\n", ".xr-icon-database,\n", ".xr-icon-file-text2 {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", " height: 1.5em !important;\n", " stroke-width: 0;\n", " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", "</style><pre class='xr-text-repr-fallback'><xarray.DataArray 'ugrd10m' (time: 3, lat: 41, lon: 21)>\n", "array([[[ 1.021836, 1.151836, ..., -4.318164, -4.228164],\n", " [ 1.731836, 1.361836, ..., -4.408164, -4.138164],\n", " ...,\n", " [-2.328164, -0.578164, ..., 0.111836, 1.381836],\n", " [-1.368164, -0.248164, ..., 2.521836, 3.361836]],\n", "\n", " [[-1.186663, -0.896663, ..., -4.376663, -4.216662],\n", " [-0.516663, -0.106663, ..., -4.476663, -4.386662],\n", " ...,\n", " [-2.176662, -3.376662, ..., 2.673337, 3.193337],\n", " [-1.596663, -2.376662, ..., 2.923337, 3.493337]],\n", "\n", " [[-3.289988, -3.199988, ..., -5.399988, -5.479988],\n", " [-3.449988, -3.719988, ..., -7.419988, -6.809988],\n", " ...,\n", " [-2.629988, -3.189988, ..., 2.280012, 2.160012],\n", " [-1.719988, -2.939988, ..., 2.620012, 2.800012]]], dtype=float32)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2021-09-02T12:00:00 ... 2021-09-02T18:00:00\n", " * lat (lat) float64 30.0 30.25 30.5 30.75 31.0 ... 39.25 39.5 39.75 40.0\n", " * lon (lon) float64 10.0 10.25 10.5 10.75 11.0 ... 14.25 14.5 14.75 15.0\n", "Attributes:\n", " long_name: ** 10 m above ground u-component of wind [m/s] </pre><div class='xr-wrap' hidden><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'ugrd10m'</div><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 3</li><li><span class='xr-has-index'>lat</span>: 41</li><li><span class='xr-has-index'>lon</span>: 21</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-7978dbea-cba4-4f47-b909-f01ba528b653' class='xr-array-in' type='checkbox' checked><label for='section-7978dbea-cba4-4f47-b909-f01ba528b653' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>1.022 1.152 2.212 1.782 0.8518 1.172 ... 2.79 3.63 3.99 2.93 2.62 2.8</span></div><div class='xr-array-data'><pre>array([[[ 1.021836, 1.151836, ..., -4.318164, -4.228164],\n", " [ 1.731836, 1.361836, ..., -4.408164, -4.138164],\n", " ...,\n", " [-2.328164, -0.578164, ..., 0.111836, 1.381836],\n", " [-1.368164, -0.248164, ..., 2.521836, 3.361836]],\n", "\n", " [[-1.186663, -0.896663, ..., -4.376663, -4.216662],\n", " [-0.516663, -0.106663, ..., -4.476663, -4.386662],\n", " ...,\n", " [-2.176662, -3.376662, ..., 2.673337, 3.193337],\n", " [-1.596663, -2.376662, ..., 2.923337, 3.493337]],\n", "\n", " [[-3.289988, -3.199988, ..., -5.399988, -5.479988],\n", " [-3.449988, -3.719988, ..., -7.419988, -6.809988],\n", " ...,\n", " [-2.629988, -3.189988, ..., 2.280012, 2.160012],\n", " [-1.719988, -2.939988, ..., 2.620012, 2.800012]]], dtype=float32)</pre></div></div></li><li class='xr-section-item'><input id='section-fe308d7a-cdf5-4c72-b458-6448136351ba' class='xr-section-summary-in' type='checkbox' checked><label for='section-fe308d7a-cdf5-4c72-b458-6448136351ba' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2021-09-02T12:00:00 ... 2021-09-...</div><input id='attrs-55acf008-7c23-44b7-b3e1-bc62fbd83d1b' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-55acf008-7c23-44b7-b3e1-bc62fbd83d1b' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-497fb037-5eab-4230-a795-834bd31f9556' class='xr-var-data-in' type='checkbox'><label for='data-497fb037-5eab-4230-a795-834bd31f9556' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>grads_dim :</span></dt><dd>t</dd><dt><span>grads_mapping :</span></dt><dd>linear</dd><dt><span>grads_size :</span></dt><dd>129</dd><dt><span>grads_min :</span></dt><dd>12z02sep2021</dd><dt><span>grads_step :</span></dt><dd>3hr</dd><dt><span>long_name :</span></dt><dd>time</dd><dt><span>minimum :</span></dt><dd>12z02sep2021</dd><dt><span>maximum :</span></dt><dd>12z18sep2021</dd><dt><span>resolution :</span></dt><dd>0.125</dd></dl></div><div class='xr-var-data'><pre>array(['2021-09-02T12:00:00.000000000', '2021-09-02T15:00:00.000000000',\n", " '2021-09-02T18:00:00.000000000'], dtype='datetime64[ns]')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>30.0 30.25 30.5 ... 39.5 39.75 40.0</div><input id='attrs-aab7925e-643f-46cd-8425-92f4c5b50af1' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-aab7925e-643f-46cd-8425-92f4c5b50af1' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-1432ee11-ab65-4fa0-b8fc-c83582188e3f' class='xr-var-data-in' type='checkbox'><label for='data-1432ee11-ab65-4fa0-b8fc-c83582188e3f' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>grads_dim :</span></dt><dd>y</dd><dt><span>grads_mapping :</span></dt><dd>linear</dd><dt><span>grads_size :</span></dt><dd>721</dd><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>minimum :</span></dt><dd>-90.0</dd><dt><span>maximum :</span></dt><dd>90.0</dd><dt><span>resolution :</span></dt><dd>0.25</dd></dl></div><div class='xr-var-data'><pre>array([30. , 30.25, 30.5 , 30.75, 31. , 31.25, 31.5 , 31.75, 32. , 32.25,\n", " 32.5 , 32.75, 33. , 33.25, 33.5 , 33.75, 34. , 34.25, 34.5 , 34.75,\n", " 35. , 35.25, 35.5 , 35.75, 36. , 36.25, 36.5 , 36.75, 37. , 37.25,\n", " 37.5 , 37.75, 38. , 38.25, 38.5 , 38.75, 39. , 39.25, 39.5 , 39.75,\n", " 40. ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>10.0 10.25 10.5 ... 14.5 14.75 15.0</div><input id='attrs-4b829f85-ff73-464a-a154-0727fda45451' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-4b829f85-ff73-464a-a154-0727fda45451' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-5f76e1be-18f5-499f-9173-1bcd21e4ce54' class='xr-var-data-in' type='checkbox'><label for='data-5f76e1be-18f5-499f-9173-1bcd21e4ce54' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>grads_dim :</span></dt><dd>x</dd><dt><span>grads_mapping :</span></dt><dd>linear</dd><dt><span>grads_size :</span></dt><dd>1440</dd><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>minimum :</span></dt><dd>0.0</dd><dt><span>maximum :</span></dt><dd>359.75</dd><dt><span>resolution :</span></dt><dd>0.25</dd></dl></div><div class='xr-var-data'><pre>array([10. , 10.25, 10.5 , 10.75, 11. , 11.25, 11.5 , 11.75, 12. , 12.25,\n", " 12.5 , 12.75, 13. , 13.25, 13.5 , 13.75, 14. , 14.25, 14.5 , 14.75,\n", " 15. ])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-3e35da23-c476-4eaf-84ac-f726feadfe87' class='xr-section-summary-in' type='checkbox' checked><label for='section-3e35da23-c476-4eaf-84ac-f726feadfe87' class='xr-section-summary' >Attributes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>** 10 m above ground u-component of wind [m/s] </dd></dl></div></li></ul></div></div>" ], "text/plain": [ "<xarray.DataArray 'ugrd10m' (time: 3, lat: 41, lon: 21)>\n", "array([[[ 1.021836, 1.151836, ..., -4.318164, -4.228164],\n", " [ 1.731836, 1.361836, ..., -4.408164, -4.138164],\n", " ...,\n", " [-2.328164, -0.578164, ..., 0.111836, 1.381836],\n", " [-1.368164, -0.248164, ..., 2.521836, 3.361836]],\n", "\n", " [[-1.186663, -0.896663, ..., -4.376663, -4.216662],\n", " [-0.516663, -0.106663, ..., -4.476663, -4.386662],\n", " ...,\n", " [-2.176662, -3.376662, ..., 2.673337, 3.193337],\n", " [-1.596663, -2.376662, ..., 2.923337, 3.493337]],\n", "\n", " [[-3.289988, -3.199988, ..., -5.399988, -5.479988],\n", " [-3.449988, -3.719988, ..., -7.419988, -6.809988],\n", " ...,\n", " [-2.629988, -3.189988, ..., 2.280012, 2.160012],\n", " [-1.719988, -2.939988, ..., 2.620012, 2.800012]]], dtype=float32)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2021-09-02T12:00:00 ... 2021-09-02T18:00:00\n", " * lat (lat) float64 30.0 30.25 30.5 30.75 31.0 ... 39.25 39.5 39.75 40.0\n", " * lon (lon) float64 10.0 10.25 10.5 10.75 11.0 ... 14.25 14.5 14.75 15.0\n", "Attributes:\n", " long_name: ** 10 m above ground u-component of wind [m/s] " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ds.ugrd10m" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div><svg style=\"position: absolute; width: 0; height: 0; overflow: hidden\">\n", "<defs>\n", "<symbol id=\"icon-database\" viewBox=\"0 0 32 32\">\n", "<path d=\"M16 0c-8.837 0-16 2.239-16 5v4c0 2.761 7.163 5 16 5s16-2.239 16-5v-4c0-2.761-7.163-5-16-5z\"></path>\n", "<path d=\"M16 17c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", "<path d=\"M16 26c-8.837 0-16-2.239-16-5v6c0 2.761 7.163 5 16 5s16-2.239 16-5v-6c0 2.761-7.163 5-16 5z\"></path>\n", "</symbol>\n", "<symbol id=\"icon-file-text2\" viewBox=\"0 0 32 32\">\n", "<path d=\"M28.681 7.159c-0.694-0.947-1.662-2.053-2.724-3.116s-2.169-2.030-3.116-2.724c-1.612-1.182-2.393-1.319-2.841-1.319h-15.5c-1.378 0-2.5 1.121-2.5 2.5v27c0 1.378 1.122 2.5 2.5 2.5h23c1.378 0 2.5-1.122 2.5-2.5v-19.5c0-0.448-0.137-1.23-1.319-2.841zM24.543 5.457c0.959 0.959 1.712 1.825 2.268 2.543h-4.811v-4.811c0.718 0.556 1.584 1.309 2.543 2.268zM28 29.5c0 0.271-0.229 0.5-0.5 0.5h-23c-0.271 0-0.5-0.229-0.5-0.5v-27c0-0.271 0.229-0.5 0.5-0.5 0 0 15.499-0 15.5 0v7c0 0.552 0.448 1 1 1h7v19.5z\"></path>\n", "<path d=\"M23 26h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "<path d=\"M23 22h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "<path d=\"M23 18h-14c-0.552 0-1-0.448-1-1s0.448-1 1-1h14c0.552 0 1 0.448 1 1s-0.448 1-1 1z\"></path>\n", "</symbol>\n", "</defs>\n", "</svg>\n", "<style>/* CSS stylesheet for displaying xarray objects in jupyterlab.\n", " *\n", " */\n", "\n", ":root {\n", " --xr-font-color0: var(--jp-content-font-color0, rgba(0, 0, 0, 1));\n", " --xr-font-color2: var(--jp-content-font-color2, rgba(0, 0, 0, 0.54));\n", " --xr-font-color3: var(--jp-content-font-color3, rgba(0, 0, 0, 0.38));\n", " --xr-border-color: var(--jp-border-color2, #e0e0e0);\n", " --xr-disabled-color: var(--jp-layout-color3, #bdbdbd);\n", " --xr-background-color: var(--jp-layout-color0, white);\n", " --xr-background-color-row-even: var(--jp-layout-color1, white);\n", " --xr-background-color-row-odd: var(--jp-layout-color2, #eeeeee);\n", "}\n", "\n", "html[theme=dark],\n", "body.vscode-dark {\n", " --xr-font-color0: rgba(255, 255, 255, 1);\n", " --xr-font-color2: rgba(255, 255, 255, 0.54);\n", " --xr-font-color3: rgba(255, 255, 255, 0.38);\n", " --xr-border-color: #1F1F1F;\n", " --xr-disabled-color: #515151;\n", " --xr-background-color: #111111;\n", " --xr-background-color-row-even: #111111;\n", " --xr-background-color-row-odd: #313131;\n", "}\n", "\n", ".xr-wrap {\n", " display: block;\n", " min-width: 300px;\n", " max-width: 700px;\n", "}\n", "\n", ".xr-text-repr-fallback {\n", " /* fallback to plain text repr when CSS is not injected (untrusted notebook) */\n", " display: none;\n", "}\n", "\n", ".xr-header {\n", " padding-top: 6px;\n", " padding-bottom: 6px;\n", " margin-bottom: 4px;\n", " border-bottom: solid 1px var(--xr-border-color);\n", "}\n", "\n", ".xr-header > div,\n", ".xr-header > ul {\n", " display: inline;\n", " margin-top: 0;\n", " margin-bottom: 0;\n", "}\n", "\n", ".xr-obj-type,\n", ".xr-array-name {\n", " margin-left: 2px;\n", " margin-right: 10px;\n", "}\n", "\n", ".xr-obj-type {\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-sections {\n", " padding-left: 0 !important;\n", " display: grid;\n", " grid-template-columns: 150px auto auto 1fr 20px 20px;\n", "}\n", "\n", ".xr-section-item {\n", " display: contents;\n", "}\n", "\n", ".xr-section-item input {\n", " display: none;\n", "}\n", "\n", ".xr-section-item input + label {\n", " color: var(--xr-disabled-color);\n", "}\n", "\n", ".xr-section-item input:enabled + label {\n", " cursor: pointer;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-section-item input:enabled + label:hover {\n", " color: var(--xr-font-color0);\n", "}\n", "\n", ".xr-section-summary {\n", " grid-column: 1;\n", " color: var(--xr-font-color2);\n", " font-weight: 500;\n", "}\n", "\n", ".xr-section-summary > span {\n", " display: inline-block;\n", " padding-left: 0.5em;\n", "}\n", "\n", ".xr-section-summary-in:disabled + label {\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-section-summary-in + label:before {\n", " display: inline-block;\n", " content: '►';\n", " font-size: 11px;\n", " width: 15px;\n", " text-align: center;\n", "}\n", "\n", ".xr-section-summary-in:disabled + label:before {\n", " color: var(--xr-disabled-color);\n", "}\n", "\n", ".xr-section-summary-in:checked + label:before {\n", " content: '▼';\n", "}\n", "\n", ".xr-section-summary-in:checked + label > span {\n", " display: none;\n", "}\n", "\n", ".xr-section-summary,\n", ".xr-section-inline-details {\n", " padding-top: 4px;\n", " padding-bottom: 4px;\n", "}\n", "\n", ".xr-section-inline-details {\n", " grid-column: 2 / -1;\n", "}\n", "\n", ".xr-section-details {\n", " display: none;\n", " grid-column: 1 / -1;\n", " margin-bottom: 5px;\n", "}\n", "\n", ".xr-section-summary-in:checked ~ .xr-section-details {\n", " display: contents;\n", "}\n", "\n", ".xr-array-wrap {\n", " grid-column: 1 / -1;\n", " display: grid;\n", " grid-template-columns: 20px auto;\n", "}\n", "\n", ".xr-array-wrap > label {\n", " grid-column: 1;\n", " vertical-align: top;\n", "}\n", "\n", ".xr-preview {\n", " color: var(--xr-font-color3);\n", "}\n", "\n", ".xr-array-preview,\n", ".xr-array-data {\n", " padding: 0 5px !important;\n", " grid-column: 2;\n", "}\n", "\n", ".xr-array-data,\n", ".xr-array-in:checked ~ .xr-array-preview {\n", " display: none;\n", "}\n", "\n", ".xr-array-in:checked ~ .xr-array-data,\n", ".xr-array-preview {\n", " display: inline-block;\n", "}\n", "\n", ".xr-dim-list {\n", " display: inline-block !important;\n", " list-style: none;\n", " padding: 0 !important;\n", " margin: 0;\n", "}\n", "\n", ".xr-dim-list li {\n", " display: inline-block;\n", " padding: 0;\n", " margin: 0;\n", "}\n", "\n", ".xr-dim-list:before {\n", " content: '(';\n", "}\n", "\n", ".xr-dim-list:after {\n", " content: ')';\n", "}\n", "\n", ".xr-dim-list li:not(:last-child):after {\n", " content: ',';\n", " padding-right: 5px;\n", "}\n", "\n", ".xr-has-index {\n", " font-weight: bold;\n", "}\n", "\n", ".xr-var-list,\n", ".xr-var-item {\n", " display: contents;\n", "}\n", "\n", ".xr-var-item > div,\n", ".xr-var-item label,\n", ".xr-var-item > .xr-var-name span {\n", " background-color: var(--xr-background-color-row-even);\n", " margin-bottom: 0;\n", "}\n", "\n", ".xr-var-item > .xr-var-name:hover span {\n", " padding-right: 5px;\n", "}\n", "\n", ".xr-var-list > li:nth-child(odd) > div,\n", ".xr-var-list > li:nth-child(odd) > label,\n", ".xr-var-list > li:nth-child(odd) > .xr-var-name span {\n", " background-color: var(--xr-background-color-row-odd);\n", "}\n", "\n", ".xr-var-name {\n", " grid-column: 1;\n", "}\n", "\n", ".xr-var-dims {\n", " grid-column: 2;\n", "}\n", "\n", ".xr-var-dtype {\n", " grid-column: 3;\n", " text-align: right;\n", " color: var(--xr-font-color2);\n", "}\n", "\n", ".xr-var-preview {\n", " grid-column: 4;\n", "}\n", "\n", ".xr-var-name,\n", ".xr-var-dims,\n", ".xr-var-dtype,\n", ".xr-preview,\n", ".xr-attrs dt {\n", " white-space: nowrap;\n", " overflow: hidden;\n", " text-overflow: ellipsis;\n", " padding-right: 10px;\n", "}\n", "\n", ".xr-var-name:hover,\n", ".xr-var-dims:hover,\n", ".xr-var-dtype:hover,\n", ".xr-attrs dt:hover {\n", " overflow: visible;\n", " width: auto;\n", " z-index: 1;\n", "}\n", "\n", ".xr-var-attrs,\n", ".xr-var-data {\n", " display: none;\n", " background-color: var(--xr-background-color) !important;\n", " padding-bottom: 5px !important;\n", "}\n", "\n", ".xr-var-attrs-in:checked ~ .xr-var-attrs,\n", ".xr-var-data-in:checked ~ .xr-var-data {\n", " display: block;\n", "}\n", "\n", ".xr-var-data > table {\n", " float: right;\n", "}\n", "\n", ".xr-var-name span,\n", ".xr-var-data,\n", ".xr-attrs {\n", " padding-left: 25px !important;\n", "}\n", "\n", ".xr-attrs,\n", ".xr-var-attrs,\n", ".xr-var-data {\n", " grid-column: 1 / -1;\n", "}\n", "\n", "dl.xr-attrs {\n", " padding: 0;\n", " margin: 0;\n", " display: grid;\n", " grid-template-columns: 125px auto;\n", "}\n", "\n", ".xr-attrs dt,\n", ".xr-attrs dd {\n", " padding: 0;\n", " margin: 0;\n", " float: left;\n", " padding-right: 10px;\n", " width: auto;\n", "}\n", "\n", ".xr-attrs dt {\n", " font-weight: normal;\n", " grid-column: 1;\n", "}\n", "\n", ".xr-attrs dt:hover span {\n", " display: inline-block;\n", " background: var(--xr-background-color);\n", " padding-right: 10px;\n", "}\n", "\n", ".xr-attrs dd {\n", " grid-column: 2;\n", " white-space: pre-wrap;\n", " word-break: break-all;\n", "}\n", "\n", ".xr-icon-database,\n", ".xr-icon-file-text2 {\n", " display: inline-block;\n", " vertical-align: middle;\n", " width: 1em;\n", " height: 1.5em !important;\n", " stroke-width: 0;\n", " stroke: currentColor;\n", " fill: currentColor;\n", "}\n", "</style><pre class='xr-text-repr-fallback'><xarray.DataArray 'vgrd10m' (time: 3, lat: 41, lon: 21)>\n", "array([[[-0.474941, -0.634941, ..., -1.244941, -1.254941],\n", " [-1.124941, -0.504941, ..., -1.014941, -1.224941],\n", " ...,\n", " [-0.454941, 1.145059, ..., 1.505059, 1.635059],\n", " [ 1.695059, 2.595058, ..., 1.645059, 1.805059]],\n", "\n", " [[-4.673393, -3.993393, ..., -2.993393, -3.323394],\n", " [-4.393394, -4.633393, ..., -2.723393, -3.213393],\n", " ...,\n", " [-0.593394, 0.456606, ..., 0.616606, -0.323394],\n", " [ 0.046606, 1.156606, ..., 0.066606, -1.213394]],\n", "\n", " [[-2.777568, -3.487568, ..., -4.187568, -4.807568],\n", " [-1.427568, -1.767568, ..., -5.827568, -6.177568],\n", " ...,\n", " [-1.707568, -1.177568, ..., -2.307568, -2.357568],\n", " [-2.577568, -1.327568, ..., -2.947568, -3.897568]]], dtype=float32)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2021-09-02T12:00:00 ... 2021-09-02T18:00:00\n", " * lat (lat) float64 30.0 30.25 30.5 30.75 31.0 ... 39.25 39.5 39.75 40.0\n", " * lon (lon) float64 10.0 10.25 10.5 10.75 11.0 ... 14.25 14.5 14.75 15.0\n", "Attributes:\n", " long_name: ** 10 m above ground v-component of wind [m/s] </pre><div class='xr-wrap' hidden><div class='xr-header'><div class='xr-obj-type'>xarray.DataArray</div><div class='xr-array-name'>'vgrd10m'</div><ul class='xr-dim-list'><li><span class='xr-has-index'>time</span>: 3</li><li><span class='xr-has-index'>lat</span>: 41</li><li><span class='xr-has-index'>lon</span>: 21</li></ul></div><ul class='xr-sections'><li class='xr-section-item'><div class='xr-array-wrap'><input id='section-dd022b2d-9fa5-4fa3-a7d3-1d1d24bc0231' class='xr-array-in' type='checkbox' checked><label for='section-dd022b2d-9fa5-4fa3-a7d3-1d1d24bc0231' title='Show/hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-array-preview xr-preview'><span>-0.4749 -0.6349 -0.9649 -0.3649 1.155 ... -0.9676 -1.868 -2.948 -3.898</span></div><div class='xr-array-data'><pre>array([[[-0.474941, -0.634941, ..., -1.244941, -1.254941],\n", " [-1.124941, -0.504941, ..., -1.014941, -1.224941],\n", " ...,\n", " [-0.454941, 1.145059, ..., 1.505059, 1.635059],\n", " [ 1.695059, 2.595058, ..., 1.645059, 1.805059]],\n", "\n", " [[-4.673393, -3.993393, ..., -2.993393, -3.323394],\n", " [-4.393394, -4.633393, ..., -2.723393, -3.213393],\n", " ...,\n", " [-0.593394, 0.456606, ..., 0.616606, -0.323394],\n", " [ 0.046606, 1.156606, ..., 0.066606, -1.213394]],\n", "\n", " [[-2.777568, -3.487568, ..., -4.187568, -4.807568],\n", " [-1.427568, -1.767568, ..., -5.827568, -6.177568],\n", " ...,\n", " [-1.707568, -1.177568, ..., -2.307568, -2.357568],\n", " [-2.577568, -1.327568, ..., -2.947568, -3.897568]]], dtype=float32)</pre></div></div></li><li class='xr-section-item'><input id='section-d2f321f7-9fee-46f3-a665-27607ff958f2' class='xr-section-summary-in' type='checkbox' checked><label for='section-d2f321f7-9fee-46f3-a665-27607ff958f2' class='xr-section-summary' >Coordinates: <span>(3)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><ul class='xr-var-list'><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>time</span></div><div class='xr-var-dims'>(time)</div><div class='xr-var-dtype'>datetime64[ns]</div><div class='xr-var-preview xr-preview'>2021-09-02T12:00:00 ... 2021-09-...</div><input id='attrs-15c7bbed-17a5-48eb-9b75-a9730ef2fb9d' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-15c7bbed-17a5-48eb-9b75-a9730ef2fb9d' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-da9cd9a5-7494-49af-b905-0d2a3c1c049d' class='xr-var-data-in' type='checkbox'><label for='data-da9cd9a5-7494-49af-b905-0d2a3c1c049d' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>grads_dim :</span></dt><dd>t</dd><dt><span>grads_mapping :</span></dt><dd>linear</dd><dt><span>grads_size :</span></dt><dd>129</dd><dt><span>grads_min :</span></dt><dd>12z02sep2021</dd><dt><span>grads_step :</span></dt><dd>3hr</dd><dt><span>long_name :</span></dt><dd>time</dd><dt><span>minimum :</span></dt><dd>12z02sep2021</dd><dt><span>maximum :</span></dt><dd>12z18sep2021</dd><dt><span>resolution :</span></dt><dd>0.125</dd></dl></div><div class='xr-var-data'><pre>array(['2021-09-02T12:00:00.000000000', '2021-09-02T15:00:00.000000000',\n", " '2021-09-02T18:00:00.000000000'], dtype='datetime64[ns]')</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lat</span></div><div class='xr-var-dims'>(lat)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>30.0 30.25 30.5 ... 39.5 39.75 40.0</div><input id='attrs-d26fbb38-5ca3-4fdb-8a11-fcb42011f38a' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-d26fbb38-5ca3-4fdb-8a11-fcb42011f38a' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-fc3868dd-0c7a-482a-b36b-6fd9c900caa8' class='xr-var-data-in' type='checkbox'><label for='data-fc3868dd-0c7a-482a-b36b-6fd9c900caa8' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>grads_dim :</span></dt><dd>y</dd><dt><span>grads_mapping :</span></dt><dd>linear</dd><dt><span>grads_size :</span></dt><dd>721</dd><dt><span>units :</span></dt><dd>degrees_north</dd><dt><span>long_name :</span></dt><dd>latitude</dd><dt><span>minimum :</span></dt><dd>-90.0</dd><dt><span>maximum :</span></dt><dd>90.0</dd><dt><span>resolution :</span></dt><dd>0.25</dd></dl></div><div class='xr-var-data'><pre>array([30. , 30.25, 30.5 , 30.75, 31. , 31.25, 31.5 , 31.75, 32. , 32.25,\n", " 32.5 , 32.75, 33. , 33.25, 33.5 , 33.75, 34. , 34.25, 34.5 , 34.75,\n", " 35. , 35.25, 35.5 , 35.75, 36. , 36.25, 36.5 , 36.75, 37. , 37.25,\n", " 37.5 , 37.75, 38. , 38.25, 38.5 , 38.75, 39. , 39.25, 39.5 , 39.75,\n", " 40. ])</pre></div></li><li class='xr-var-item'><div class='xr-var-name'><span class='xr-has-index'>lon</span></div><div class='xr-var-dims'>(lon)</div><div class='xr-var-dtype'>float64</div><div class='xr-var-preview xr-preview'>10.0 10.25 10.5 ... 14.5 14.75 15.0</div><input id='attrs-f41667d8-823d-433d-a293-60071bdb8f6f' class='xr-var-attrs-in' type='checkbox' ><label for='attrs-f41667d8-823d-433d-a293-60071bdb8f6f' title='Show/Hide attributes'><svg class='icon xr-icon-file-text2'><use xlink:href='#icon-file-text2'></use></svg></label><input id='data-ff94d698-4098-4123-83fd-a0e93c100810' class='xr-var-data-in' type='checkbox'><label for='data-ff94d698-4098-4123-83fd-a0e93c100810' title='Show/Hide data repr'><svg class='icon xr-icon-database'><use xlink:href='#icon-database'></use></svg></label><div class='xr-var-attrs'><dl class='xr-attrs'><dt><span>grads_dim :</span></dt><dd>x</dd><dt><span>grads_mapping :</span></dt><dd>linear</dd><dt><span>grads_size :</span></dt><dd>1440</dd><dt><span>units :</span></dt><dd>degrees_east</dd><dt><span>long_name :</span></dt><dd>longitude</dd><dt><span>minimum :</span></dt><dd>0.0</dd><dt><span>maximum :</span></dt><dd>359.75</dd><dt><span>resolution :</span></dt><dd>0.25</dd></dl></div><div class='xr-var-data'><pre>array([10. , 10.25, 10.5 , 10.75, 11. , 11.25, 11.5 , 11.75, 12. , 12.25,\n", " 12.5 , 12.75, 13. , 13.25, 13.5 , 13.75, 14. , 14.25, 14.5 , 14.75,\n", " 15. ])</pre></div></li></ul></div></li><li class='xr-section-item'><input id='section-a22a56e0-53ff-4f62-98ca-69bb094bff80' class='xr-section-summary-in' type='checkbox' checked><label for='section-a22a56e0-53ff-4f62-98ca-69bb094bff80' class='xr-section-summary' >Attributes: <span>(1)</span></label><div class='xr-section-inline-details'></div><div class='xr-section-details'><dl class='xr-attrs'><dt><span>long_name :</span></dt><dd>** 10 m above ground v-component of wind [m/s] </dd></dl></div></li></ul></div></div>" ], "text/plain": [ "<xarray.DataArray 'vgrd10m' (time: 3, lat: 41, lon: 21)>\n", "array([[[-0.474941, -0.634941, ..., -1.244941, -1.254941],\n", " [-1.124941, -0.504941, ..., -1.014941, -1.224941],\n", " ...,\n", " [-0.454941, 1.145059, ..., 1.505059, 1.635059],\n", " [ 1.695059, 2.595058, ..., 1.645059, 1.805059]],\n", "\n", " [[-4.673393, -3.993393, ..., -2.993393, -3.323394],\n", " [-4.393394, -4.633393, ..., -2.723393, -3.213393],\n", " ...,\n", " [-0.593394, 0.456606, ..., 0.616606, -0.323394],\n", " [ 0.046606, 1.156606, ..., 0.066606, -1.213394]],\n", "\n", " [[-2.777568, -3.487568, ..., -4.187568, -4.807568],\n", " [-1.427568, -1.767568, ..., -5.827568, -6.177568],\n", " ...,\n", " [-1.707568, -1.177568, ..., -2.307568, -2.357568],\n", " [-2.577568, -1.327568, ..., -2.947568, -3.897568]]], dtype=float32)\n", "Coordinates:\n", " * time (time) datetime64[ns] 2021-09-02T12:00:00 ... 2021-09-02T18:00:00\n", " * lat (lat) float64 30.0 30.25 30.5 30.75 31.0 ... 39.25 39.5 39.75 40.0\n", " * lon (lon) float64 10.0 10.25 10.5 10.75 11.0 ... 14.25 14.5 14.75 15.0\n", "Attributes:\n", " long_name: ** 10 m above ground v-component of wind [m/s] " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ds.vgrd10m" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "<Figure size 432x288 with 2 Axes>" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "ds.ugrd10m[0].plot();" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Convert to dfs2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Time" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "DatetimeIndex(['2021-09-02 12:00:00', '2021-09-02 15:00:00',\n", " '2021-09-02 18:00:00'],\n", " dtype='datetime64[ns]', freq=None)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "time = pd.DatetimeIndex(ds.time)\n", "time" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Variable types" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Air Pressure" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mikeio.EUMType.Air_Pressure" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[hectopascal, millibar]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mikeio.EUMType.Air_Pressure.units" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Wind Velocity" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mikeio.EUMType.Wind_Velocity" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[meter per sec, feet per sec, miles per hour, km per hour, knot]" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mikeio.EUMType.Wind_Velocity.units" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "mslp = ds.msletmsl.values / 100 # conversion from Pa to hPa\n", "u = ds.ugrd10m.values\n", "v = ds.vgrd10m.values" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<mikeio.Grid2D>\n", "x: [10, 10.25, ..., 15] (nx=21, dx=0.25)\n", "y: [30, 30.25, ..., 40] (ny=41, dy=0.25)\n", "projection: LONG/LAT" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "geometry = mikeio.Grid2D(x=ds.lon.values, y=ds.lat.values, projection=\"LONG/LAT\")\n", "geometry" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [], "source": [ "from mikeio import ItemInfo, EUMType, EUMUnit\n", "\n", "mslp_da = mikeio.DataArray(data=mslp,time=time, geometry=geometry, item=ItemInfo(\"Mean Sea Level Pressure\", EUMType.Air_Pressure, EUMUnit.hectopascal))\n", "u_da = mikeio.DataArray(data=u,time=time, geometry=geometry, item=ItemInfo(\"Wind U\", EUMType.Wind_Velocity, EUMUnit.meter_per_sec))\n", "v_da = mikeio.DataArray(data=v,time=time, geometry=geometry, item=ItemInfo(\"Wind V\", EUMType.Wind_Velocity, EUMUnit.meter_per_sec))" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<mikeio.Dataset>\n", "dims: (time:3, y:41, x:21)\n", "time: 2021-09-02 12:00:00 - 2021-09-02 18:00:00 (3 records)\n", "geometry: Grid2D (ny=41, nx=21)\n", "items:\n", " 0: Mean Sea Level Pressure <Air Pressure> (hectopascal)\n", " 1: Wind U <Wind Velocity> (meter per sec)\n", " 2: Wind V <Wind Velocity> (meter per sec)" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "mds = mikeio.Dataset([mslp_da, u_da, v_da])\n", "mds" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "mds.to_dfs(\"gfs.dfs2\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Clean up (don't run this)" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "import os\n", "os.remove(\"gfs.dfs2\")" ] } ], "metadata": { "interpreter": { "hash": "f4041ee05ab07c15354d6207e763f17a216c3f5ccf08906343c2b4fd3fa7a6fb" }, "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.8.10" } }, "nbformat": 4, "nbformat_minor": 4 }