{ "cells": [ { "cell_type": "markdown", "id": "4b79d41a", "metadata": {}, "source": [ "# OSNAP" ] }, { "cell_type": "code", "execution_count": 1, "id": "e8ae0410", "metadata": {}, "outputs": [], "source": [ "import os\n", "from pathlib import Path\n", "import matplotlib.pyplot as plt\n", "import cartopy.crs as ccrs\n", "import xarray as xr\n", "import iconspy as ispy\n", "from iconspy.tests.conftest import get_ds_tgrid_lr" ] }, { "cell_type": "markdown", "id": "605c732b", "metadata": {}, "source": [ "## Grid setup\n", "Load the ICON grid file and produce an ICONSPy dataset" ] }, { "cell_type": "code", "execution_count": 2, "id": "87be7686", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 7MB\n",
       "Dimensions:                 (cell: 15105, vertex: 8067, edge: 23207, nc_e: 2,\n",
       "                             nv_c: 3, ne_c: 3, nv_v: 6, ne_v: 6, nv_e: 2,\n",
       "                             nc_v: 6, nc_c: 3, cart: 3)\n",
       "Coordinates:\n",
       "  * cell                    (cell) int32 60kB 0 1 2 3 ... 15102 15103 15104\n",
       "    clon                    (cell) float64 121kB 69.12 73.0 ... 74.57 76.01\n",
       "    clat                    (cell) float64 121kB 72.74 74.52 ... -46.83 -44.85\n",
       "  * vertex                  (vertex) int32 32kB 0 1 2 3 ... 8063 8064 8065 8066\n",
       "    vlon                    (vertex) float64 65kB 73.0 69.39 ... 80.59 77.56\n",
       "    vlat                    (vertex) float64 65kB 73.27 71.49 ... -45.35 -45.49\n",
       "  * edge                    (edge) int32 93kB 0 1 2 3 ... 23204 23205 23206\n",
       "    elon                    (edge) float64 186kB 71.11 76.98 ... 75.34 76.04\n",
       "    elat                    (edge) float64 186kB 72.39 73.25 ... -46.52 -45.54\n",
       "Dimensions without coordinates: nc_e, nv_c, ne_c, nv_v, ne_v, nv_e, nc_v, nc_c,\n",
       "                                cart\n",
       "Data variables: (12/40)\n",
       "    grid_sphere_radius      float64 8B 6.371e+06\n",
       "    grav                    float64 8B 9.807\n",
       "    earth_angular_velocity  float64 8B 7.292e-05\n",
       "    rho0                    float64 8B 1.025e+03\n",
       "    rhoi                    float64 8B 917.0\n",
       "    rhos                    float64 8B 300.0\n",
       "    ...                      ...\n",
       "    edge_cart_vec           (edge, cart) float64 557kB 0.09797 ... -0.7137\n",
       "    dual_edge_cart_vec      (edge, cart) float64 557kB 0.09801 ... -0.7136\n",
       "    edge_prim_norm          (edge, cart) float64 557kB 0.6463 -0.7466 ... 0.7001\n",
       "    fc                      (cell) float64 121kB 0.0001393 ... -0.0001029\n",
       "    fe                      (edge) float64 186kB 0.000139 ... -0.0001041\n",
       "    fv                      (vertex) float64 65kB 0.0001397 ... -0.000104\n",
       "Attributes:\n",
       "    converted_tgrid:      True\n",
       "    boundary_BallTree:    <iconspy.balltree.IspyBoundaryBallTree object at 0x...\n",
       "    wet_BallTree:         <iconspy.balltree.IspyWetBallTree object at 0x7ffb5...\n",
       "    uuidOfHGrid:          5bd948e8-ac1a-11ea-a6b1-d317264fdca9\n",
       "    IsD_compatible_flag:  True
" ], "text/plain": [ " Size: 7MB\n", "Dimensions: (cell: 15105, vertex: 8067, edge: 23207, nc_e: 2,\n", " nv_c: 3, ne_c: 3, nv_v: 6, ne_v: 6, nv_e: 2,\n", " nc_v: 6, nc_c: 3, cart: 3)\n", "Coordinates:\n", " * cell (cell) int32 60kB 0 1 2 3 ... 15102 15103 15104\n", " clon (cell) float64 121kB 69.12 73.0 ... 74.57 76.01\n", " clat (cell) float64 121kB 72.74 74.52 ... -46.83 -44.85\n", " * vertex (vertex) int32 32kB 0 1 2 3 ... 8063 8064 8065 8066\n", " vlon (vertex) float64 65kB 73.0 69.39 ... 80.59 77.56\n", " vlat (vertex) float64 65kB 73.27 71.49 ... -45.35 -45.49\n", " * edge (edge) int32 93kB 0 1 2 3 ... 23204 23205 23206\n", " elon (edge) float64 186kB 71.11 76.98 ... 75.34 76.04\n", " elat (edge) float64 186kB 72.39 73.25 ... -46.52 -45.54\n", "Dimensions without coordinates: nc_e, nv_c, ne_c, nv_v, ne_v, nv_e, nc_v, nc_c,\n", " cart\n", "Data variables: (12/40)\n", " grid_sphere_radius float64 8B 6.371e+06\n", " grav float64 8B 9.807\n", " earth_angular_velocity float64 8B 7.292e-05\n", " rho0 float64 8B 1.025e+03\n", " rhoi float64 8B 917.0\n", " rhos float64 8B 300.0\n", " ... ...\n", " edge_cart_vec (edge, cart) float64 557kB 0.09797 ... -0.7137\n", " dual_edge_cart_vec (edge, cart) float64 557kB 0.09801 ... -0.7136\n", " edge_prim_norm (edge, cart) float64 557kB 0.6463 -0.7466 ... 0.7001\n", " fc (cell) float64 121kB 0.0001393 ... -0.0001029\n", " fe (edge) float64 186kB 0.000139 ... -0.0001041\n", " fv (vertex) float64 65kB 0.0001397 ... -0.000104\n", "Attributes:\n", " converted_tgrid: True\n", " boundary_BallTree: " ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Visualise the mooring positions\n", "fig, ax = plt.subplots(subplot_kw={\"projection\": ccrs.PlateCarree()})\n", "\n", "ax.plot(\n", " ds_osnap_west[\"lon_sect\"],\n", " ds_osnap_west[\"lat_sect\"],\n", " transform=ccrs.PlateCarree(),\n", ")\n", "\n", "ax.plot(\n", " ds_osnap_east[\"lon_sect\"],\n", " ds_osnap_east[\"lat_sect\"],\n", " transform=ccrs.PlateCarree(),\n", ")\n", "\n", "ax.coastlines()" ] }, { "cell_type": "markdown", "id": "2ddd79f7", "metadata": {}, "source": [ "## OSNAP-West\n", "### Find stations\n", "We begin by finding the stations which make up OSNAP-West and discarding any stations which duplicate vertices" ] }, { "cell_type": "code", "execution_count": 5, "id": "c3e541a8", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Added OSNAP_West-West at vertex 900\n", "Added C1/1872 at vertex 903\n", "Skipped C1/1881 at vertex 903 because it is a duplicate\n", "Skipped C2/1873 at vertex 903 because it is a duplicate\n", "Skipped C2/1882 at vertex 903 because it is a duplicate\n", "Skipped C3/1874 at vertex 903 because it is a duplicate\n", "Skipped K7 at vertex 903 because it is a duplicate\n", "Added K8 at vertex 890\n", "Skipped DSOW1 at vertex 890 because it is a duplicate\n", "Skipped K9 at vertex 890 because it is a duplicate\n", "Skipped DSOW2 at vertex 890 because it is a duplicate\n", "Added K10 at vertex 892\n", "Skipped DSOW5 at vertex 892 because it is a duplicate\n", "Added DSOW3 at vertex 906\n", "Skipped LS8 at vertex 906 because it is a duplicate\n", "Skipped DSOW4 at vertex 906 because it is a duplicate\n", "Skipped LS7 at vertex 906 because it is a duplicate\n", "Skipped LS6 at vertex 906 because it is a duplicate\n", "Skipped LS5 at vertex 906 because it is a duplicate\n", "Skipped LS4 at vertex 906 because it is a duplicate\n", "Skipped LS3 at vertex 906 because it is a duplicate\n", "Skipped LS2 at vertex 906 because it is a duplicate\n", "Skipped LS1 at vertex 906 because it is a duplicate\n", "Added OSNAP_West-East at vertex 908\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create a list of the target stations at OSNAP West\n", "osnap_west_target_stations = []\n", "for mooring in ds_osnap_west[\"mooring_name\"].values:\n", " # Makr the boundary stations as such\n", " if mooring.startswith(\"OSNAP_West\"):\n", " boundary = True\n", " else:\n", " boundary = None\n", " \n", " osnap_west_target_stations += [\n", " ispy.TargetStation(\n", " name=mooring,\n", " lon=float(ds_osnap_west[\"lon_sect\"].sel(mooring_name=mooring).values),\n", " lat=float(ds_osnap_west[\"lat_sect\"].sel(mooring_name=mooring).values),\n", " boundary=boundary,\n", " )\n", " ]\n", " \n", "# Convert the target stations to model stations, but some of these may be duplicates.\n", "_osnap_west_model_stations = [target_station.to_model_station(ds_IsD) for target_station in osnap_west_target_stations]\n", "_osnap_west_model_stations\n", "\n", "# Remove repeat stations\n", "osnap_west_model_stations = []\n", "osnap_west_model_stations_vertices = []\n", "for model_station in _osnap_west_model_stations:\n", " if model_station.vertex not in osnap_west_model_stations_vertices:\n", " osnap_west_model_stations.append(model_station)\n", " osnap_west_model_stations_vertices.append(model_station.vertex)\n", " print(f\"Added {model_station.name} at vertex {model_station.vertex}\")\n", " else:\n", " print(f\"Skipped {model_station.name} at vertex {model_station.vertex} because it is a duplicate\")\n", "\n", "# Visualise the model stations on a map\n", "fig, ax = plt.subplots(subplot_kw={\"projection\": ccrs.PlateCarree()})\n", "\n", "for i, model_station in enumerate(osnap_west_model_stations):\n", " ax.text(\n", " model_station.model_lon,\n", " model_station.model_lat,\n", " f\"{i}\",\n", " transform=ccrs.PlateCarree(),\n", " color=\"red\",\n", " )\n", " \n", "ax.coastlines()\n", "ax.set_extent([-60, -40, 50, 70])" ] }, { "cell_type": "markdown", "id": "0d78e2c4", "metadata": {}, "source": [ "### Construct section" ] }, { "cell_type": "code", "execution_count": 6, "id": "44d5424b", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OSNAP_West-West to C1/1872\n", "C1/1872 to K8\n", "K8 to K10\n", "K10 to DSOW3\n", "DSOW3 to OSNAP_West-East\n" ] }, { "data": { "text/plain": [ "[Section(OSNAP_West-West to C1/1872, OSNAP_West-West, C1/1872, great circle),\n", " Section(C1/1872 to K8, C1/1872, K8, great circle),\n", " Section(K8 to K10, K8, K10, great circle),\n", " Section(K10 to DSOW3, K10, DSOW3, great circle),\n", " Section(DSOW3 to OSNAP_West-East, DSOW3, OSNAP_West-East, great circle)]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# First we generate a list of sections connecting the model stations\n", "osnap_west_sections = []\n", "for i in range(len(osnap_west_model_stations) - 1):\n", " model_station_a = osnap_west_model_stations[i]\n", " model_station_b = osnap_west_model_stations[i + 1]\n", " \n", " name = str(model_station_a.name) + \" to \" + str(model_station_b.name)\n", " print(name)\n", " osnap_west_sections.append(\n", " ispy.Section(\n", " name=name,\n", " model_station_a=model_station_a,\n", " model_station_b=model_station_b,\n", " ds_IsD=ds_IsD,\n", " section_type=\"great circle\",\n", " )\n", " )\n", " \n", "osnap_west_sections" ] }, { "cell_type": "code", "execution_count": 7, "id": "b2a932f4", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Now we combine these sections and visualise\n", "osnap_west_combined = ispy.CombinedSection(\"OSNAP West\", osnap_west_sections, ds_IsD)\n", "fig, ax = plt.subplots(subplot_kw={\"projection\": ccrs.PlateCarree()})\n", "osnap_west_combined.plot(ax=ax)\n", "ax.set_extent([-60, -40, 50, 70])" ] }, { "cell_type": "markdown", "id": "e034739f", "metadata": {}, "source": [ "## OSNAP-East" ] }, { "cell_type": "code", "execution_count": 8, "id": "9128a3c3", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Added OSNAP_East-West at vertex 908\n", "Skipped CF1 at vertex 908 because it is a duplicate\n", "Skipped CF2 at vertex 908 because it is a duplicate\n", "Skipped CF3 at vertex 908 because it is a duplicate\n", "Skipped CF4 at vertex 908 because it is a duplicate\n", "Skipped CF5 at vertex 908 because it is a duplicate\n", "Skipped CF6 at vertex 908 because it is a duplicate\n", "Skipped CF7 at vertex 908 because it is a duplicate\n", "Skipped NOC-M1 at vertex 908 because it is a duplicate\n", "Added NOC-M2 at vertex 911\n", "Skipped NOC-M3 at vertex 911 because it is a duplicate\n", "Skipped FLMA at vertex 911 because it is a duplicate\n", "Skipped FLMB at vertex 911 because it is a duplicate\n", "Skipped NOC-M4 at vertex 911 because it is a duplicate\n", "Skipped NOC-M5 at vertex 911 because it is a duplicate\n", "Added IC0 at vertex 912\n", "Skipped IC1 at vertex 912 because it is a duplicate\n", "Added RREX Moor.1 IRW at vertex 1297\n", "Skipped IC2 at vertex 1297 because it is a duplicate\n", "Skipped RREX Moor.2 IRM at vertex 1297 because it is a duplicate\n", "Skipped IC3 at vertex 1297 because it is a duplicate\n", "Skipped RREX Moor.3 IRE at vertex 1297 because it is a duplicate\n", "Skipped IC4 at vertex 1297 because it is a duplicate\n", "Skipped UM-M1 at vertex 1297 because it is a duplicate\n", "Skipped UM-D1 at vertex 1297 because it is a duplicate\n", "Skipped UM-D2 at vertex 1297 because it is a duplicate\n", "Added UM-D3 at vertex 1292\n", "Skipped UM-M2 at vertex 1292 because it is a duplicate\n", "Skipped UM-D4 at vertex 1292 because it is a duplicate\n", "Added UM-M3 at vertex 1291\n", "Added UM-M4 at vertex 1275\n", "Added SAMS Glider East Waypoint at vertex 1271\n", "Added RTWB1 at vertex 1274\n", "Skipped RTWB2 at vertex 1274 because it is a duplicate\n", "Added RTEB1 at vertex 1284\n", "Skipped RTADCP2 at vertex 1284 because it is a duplicate\n", "Added OSNAP_East-East at vertex 1235\n" ] }, { "data": { "image/png": "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fcuWLRF6EigJA4SkHOhEMI/CkTImbXxkiyghlShRQoLCiEyBGBU8fPhwM2rUKBELlilTRqYL6gk77hbM1atXS/Blj37GjCVTpkzy+ad8mBDZvXu3KVmypMxLcYUJlLwv0Tu5s6tmJDuj2LFhx1wtUGzmlVhgecClS5eYXyBfA4EbN27I8+nXr1+43505c8aqX7++/N71qFSpkjVlyhTr9u3bfnnMive4fv16uP9vokSJrKeeesoqXry4VaJECWvv3r0e3dapU6ectxESEmINHz7c2r17t3XgwAG5jT59+lj58+eX36dJk8b66quv9F/pB+rWrRvuf85x3333ydeKFStaP/zwg3z+ExJr166Vx//KK69Y+/bts/78809rz549Vo0aNeTyqlWrWvfu3ZPrXrt2zZo7d65c5voaPPjgg9bdu3f9/VQUH+Hp+h2UwcDhw4fl+fTo0cOaP3++NWHCBKtz587hThSc3BcvXmz9888//n7IipeZPXu29cwzzzj/1xkyZLDy5Mnj/JmFwVMWLlzo/Lv7778/3Im2du3achK+deuW/h/jCBbAGTNmWP3795evw4YNcxsMlC9f3po6dap81vk5ceLEVp06dawdO3b45HHt37/f+t///idB4bFjx5yXEzwuWLDAWrVqlbV9+3br6tWr4Z7P9OnTJagZOHCgBKGnT5+2xo0bZz3wwAPWs88+G+6+2OzwnDJmzGjlypXLGfi4HpkzZ47We11JeGgwEAlEwTly5HB7crAzBoES+Cj/Ye+QbFikWbwrV67s3DmWK1fO2rp1q8cv299//219//33zvfOkSNHrJUrV0oQuWjRonAndcX3n20Wfhb1sEHZ888/H+6zThbw5s2b8rcnT56U4IFzA5miatWqWePHj7cuXrwY6X0uXbrUqlChgryPvvnmG+vOnTvO3/F93759rerVqzuDzaRJk8qRJEkSq2PHjtZff/0lP4d9vB06dJDd/NmzZ60qVarI5WSZWPxdM1q5c+eWYNPd+53H1qlTJ+uTTz6xRo8e7cwKZMmSxfr666+t1atX++C/oMQnNBiIgvPnz8tJO2wQoAQmnFTt/3Pz5s2t9u3by/cjRoyQDEGyZMlktxY2YHDFzh4NHjxYdo41a9aUE7q9wyRDoPiXbdu2hfpMs3AeOnRIyjURBf/syF2hFDhq1KhQ13Fd4F0hkEie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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create a list of the target stations at OSNAP East\n", "osnap_east_target_stations = []\n", "for mooring in ds_osnap_east[\"mooring_name\"].values:\n", " # Makr the boundary stations as such\n", " if mooring.startswith(\"OSNAP_East\"):\n", " boundary = True\n", " else:\n", " boundary = None\n", " \n", " osnap_east_target_stations += [\n", " ispy.TargetStation(\n", " name=mooring,\n", " lon=float(ds_osnap_east[\"lon_sect\"].sel(mooring_name=mooring).values),\n", " lat=float(ds_osnap_east[\"lat_sect\"].sel(mooring_name=mooring).values),\n", " boundary=boundary,\n", " )\n", " ]\n", " \n", "# Convert the target stations to model stations, but some of these may be duplicates.\n", "_osnap_east_model_stations = [target_station.to_model_station(ds_IsD) for target_station in osnap_east_target_stations]\n", "_osnap_east_model_stations\n", "\n", "# Remove repeat stations\n", "osnap_east_model_stations = []\n", "osnap_east_model_stations_vertices = []\n", "for model_station in _osnap_east_model_stations:\n", " # LS2 is one edge away from LS1 which causes things to break.\n", " # Need to fix ispy to cope with this\n", " if model_station.name.name == \"LS2\":\n", " print(f\"Skipped {model_station.name} at vertex {model_station.vertex} because it is a near duplicate\")\n", " elif model_station.vertex not in osnap_east_model_stations_vertices:\n", " osnap_east_model_stations.append(model_station)\n", " osnap_east_model_stations_vertices.append(model_station.vertex)\n", " print(f\"Added {model_station.name} at vertex {model_station.vertex}\")\n", " else:\n", " print(f\"Skipped {model_station.name} at vertex {model_station.vertex} because it is a duplicate\")\n", "\n", "# Visualise the model stations on a map\n", "fig, ax = plt.subplots(subplot_kw={\"projection\": ccrs.PlateCarree()})\n", "\n", "for i, model_station in enumerate(osnap_east_model_stations):\n", " ax.text(\n", " model_station.model_lon,\n", " model_station.model_lat,\n", " f\"{i}\",\n", " transform=ccrs.PlateCarree(),\n", " color=\"red\",\n", " )\n", " \n", "ax.coastlines()\n", "ax.set_extent([-60, 0, 50, 70])" ] }, { "cell_type": "code", "execution_count": 9, "id": "4b0f4636", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "OSNAP_East-West to NOC-M2\n", "NOC-M2 to IC0\n", "IC0 to RREX Moor.1 IRW\n", "RREX Moor.1 IRW to UM-D3\n", "UM-D3 to UM-M3\n", "UM-M3 to UM-M4\n", "UM-M4 to SAMS Glider East Waypoint\n", "SAMS Glider East Waypoint to RTWB1\n", "RTWB1 to RTEB1\n", "RTEB1 to OSNAP_East-East\n" ] }, { "data": { "text/plain": [ "[Section(OSNAP_East-West to NOC-M2, OSNAP_East-West, NOC-M2, great circle),\n", " Section(NOC-M2 to IC0, NOC-M2, IC0, great circle),\n", " Section(IC0 to RREX Moor.1 IRW, IC0, RREX Moor.1 IRW, great circle),\n", " Section(RREX Moor.1 IRW to UM-D3, RREX Moor.1 IRW, UM-D3, great circle),\n", " Section(UM-D3 to UM-M3, UM-D3, UM-M3, great circle),\n", " Section(UM-M3 to UM-M4, UM-M3, UM-M4, great circle),\n", " Section(UM-M4 to SAMS Glider East Waypoint, UM-M4, SAMS Glider East Waypoint, great circle),\n", " Section(SAMS Glider East Waypoint to RTWB1, SAMS Glider East Waypoint, RTWB1, great circle),\n", " Section(RTWB1 to RTEB1, RTWB1, RTEB1, great circle),\n", " Section(RTEB1 to OSNAP_East-East, RTEB1, OSNAP_East-East, great circle)]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "osnap_east_sections = []\n", "for i in range(len(osnap_east_model_stations) - 1):\n", " model_station_a = osnap_east_model_stations[i]\n", " model_station_b = osnap_east_model_stations[i + 1]\n", " \n", " name = str(model_station_a.name) + \" to \" + str(model_station_b.name)\n", " print(name)\n", " osnap_east_sections.append(\n", " ispy.Section(\n", " name=name,\n", " model_station_a=model_station_a,\n", " model_station_b=model_station_b,\n", " ds_IsD=ds_IsD,\n", " section_type=\"great circle\",\n", " )\n", " )\n", " \n", "osnap_east_sections" ] }, { "cell_type": "code", "execution_count": 10, "id": "d32e058e", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "osnap_east_combined = ispy.CombinedSection(\"OSNAP East\", osnap_east_sections, ds_IsD)\n", "fig, ax = plt.subplots(subplot_kw={\"projection\": ccrs.PlateCarree()})\n", "osnap_east_combined.plot(ax=ax)\n", "ax.set_extent([-60, 0, 50, 70])" ] }, { "cell_type": "markdown", "id": "a55e0ec8", "metadata": {}, "source": [ "## Output in xarray formats" ] }, { "cell_type": "code", "execution_count": 11, "id": "f75ce1db", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 668B\n",
       "Dimensions:           (step_in_path: 10, step_in_path_v: 11)\n",
       "Coordinates:\n",
       "  * step_in_path      (step_in_path) int64 80B 0 1 2 3 4 5 6 7 8 9\n",
       "    elon              (step_in_path) float64 80B -40.95 -36.93 ... -10.47 -7.136\n",
       "    elat              (step_in_path) float64 80B 59.69 58.78 ... 57.51 56.79\n",
       "  * step_in_path_v    (step_in_path_v) int64 88B 0 1 2 3 4 5 6 7 8 9 10\n",
       "    vlon              (step_in_path_v) float64 88B -43.04 -38.92 ... -5.111\n",
       "    vlat              (step_in_path_v) float64 88B 60.1 59.25 ... 56.67 56.89\n",
       "Data variables:\n",
       "    edge_path         (step_in_path) int32 40B 2434 2433 3427 ... 3360 3386 3397\n",
       "    vertex_path       (step_in_path_v) int32 44B 908 911 912 ... 1274 1284 1235\n",
       "    path_orientation  (step_in_path) float64 80B 1.0 1.0 1.0 ... 1.0 1.0 -1.0\n",
       "Attributes:\n",
       "    date:          2026-07-14 14:12:18\n",
       "    ispy version:  0.2.0\n",
       "    uuidOfHGrid:   5bd948e8-ac1a-11ea-a6b1-d317264fdca9\n",
       "    section name:  OSNAP East\n",
       "    Created by:    m301014
" ], "text/plain": [ " Size: 668B\n", "Dimensions: (step_in_path: 10, step_in_path_v: 11)\n", "Coordinates:\n", " * step_in_path (step_in_path) int64 80B 0 1 2 3 4 5 6 7 8 9\n", " elon (step_in_path) float64 80B -40.95 -36.93 ... -10.47 -7.136\n", " elat (step_in_path) float64 80B 59.69 58.78 ... 57.51 56.79\n", " * step_in_path_v (step_in_path_v) int64 88B 0 1 2 3 4 5 6 7 8 9 10\n", " vlon (step_in_path_v) float64 88B -43.04 -38.92 ... -5.111\n", " vlat (step_in_path_v) float64 88B 60.1 59.25 ... 56.67 56.89\n", "Data variables:\n", " edge_path (step_in_path) int32 40B 2434 2433 3427 ... 3360 3386 3397\n", " vertex_path (step_in_path_v) int32 44B 908 911 912 ... 1274 1284 1235\n", " path_orientation (step_in_path) float64 80B 1.0 1.0 1.0 ... 1.0 1.0 -1.0\n", "Attributes:\n", " date: 2026-07-14 14:12:18\n", " ispy version: 0.2.0\n", " uuidOfHGrid: 5bd948e8-ac1a-11ea-a6b1-d317264fdca9\n", " section name: OSNAP East\n", " Created by: m301014" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ds_osnap_east = osnap_east_combined.to_ispy_section()\n", "ds_osnap_east" ] }, { "cell_type": "code", "execution_count": 13, "id": "f6c1134e", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset> Size: 668B\n",
       "Dimensions:           (step_in_path: 10, step_in_path_v: 11)\n",
       "Coordinates:\n",
       "  * step_in_path      (step_in_path) int64 80B 0 1 2 3 4 5 6 7 8 9\n",
       "    elon              (step_in_path) float64 80B -40.95 -36.93 ... -10.47 -7.136\n",
       "    elat              (step_in_path) float64 80B 59.69 58.78 ... 57.51 56.79\n",
       "  * step_in_path_v    (step_in_path_v) int64 88B 0 1 2 3 4 5 6 7 8 9 10\n",
       "    vlon              (step_in_path_v) float64 88B -43.04 -38.92 ... -5.111\n",
       "    vlat              (step_in_path_v) float64 88B 60.1 59.25 ... 56.67 56.89\n",
       "Data variables:\n",
       "    edge_path         (step_in_path) int32 40B 2434 2433 3427 ... 3360 3386 3397\n",
       "    vertex_path       (step_in_path_v) int32 44B 908 911 912 ... 1274 1284 1235\n",
       "    path_orientation  (step_in_path) float64 80B 1.0 1.0 1.0 ... 1.0 1.0 -1.0\n",
       "Attributes:\n",
       "    date:          2026-07-14 14:12:56\n",
       "    ispy version:  0.2.0\n",
       "    uuidOfHGrid:   5bd948e8-ac1a-11ea-a6b1-d317264fdca9\n",
       "    section name:  OSNAP East\n",
       "    Created by:    m301014
" ], "text/plain": [ " Size: 668B\n", "Dimensions: (step_in_path: 10, step_in_path_v: 11)\n", "Coordinates:\n", " * step_in_path (step_in_path) int64 80B 0 1 2 3 4 5 6 7 8 9\n", " elon (step_in_path) float64 80B -40.95 -36.93 ... -10.47 -7.136\n", " elat (step_in_path) float64 80B 59.69 58.78 ... 57.51 56.79\n", " * step_in_path_v (step_in_path_v) int64 88B 0 1 2 3 4 5 6 7 8 9 10\n", " vlon (step_in_path_v) float64 88B -43.04 -38.92 ... -5.111\n", " vlat (step_in_path_v) float64 88B 60.1 59.25 ... 56.67 56.89\n", "Data variables:\n", " edge_path (step_in_path) int32 40B 2434 2433 3427 ... 3360 3386 3397\n", " vertex_path (step_in_path_v) int32 44B 908 911 912 ... 1274 1284 1235\n", " path_orientation (step_in_path) float64 80B 1.0 1.0 1.0 ... 1.0 1.0 -1.0\n", "Attributes:\n", " date: 2026-07-14 14:12:56\n", " ispy version: 0.2.0\n", " uuidOfHGrid: 5bd948e8-ac1a-11ea-a6b1-d317264fdca9\n", " section name: OSNAP East\n", " Created by: m301014" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ds_osnap_west = osnap_east_combined.to_ispy_section()\n", "ds_osnap_west" ] } ], "metadata": { "kernelspec": { "display_name": "ispy_py311", "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.13.14" } }, "nbformat": 4, "nbformat_minor": 5 }