|
40 | 40 | "id": "2", |
41 | 41 | "metadata": {}, |
42 | 42 | "source": [ |
43 | | - "## Setting up the individual Grids and Fields" |
| 43 | + "## Setting up the individual Grids and Fields\n", |
| 44 | + "\n", |
| 45 | + "Before we start, define a helper function to quickly set up a nested dataset" |
44 | 46 | ] |
45 | 47 | }, |
46 | 48 | { |
|
54 | 56 | "grid_polygons = []\n", |
55 | 57 | "\n", |
56 | 58 | "\n", |
57 | | - "def setup_nestedFields(polygon):\n", |
| 59 | + "def setup_nested_ds(polygon):\n", |
58 | 60 | " xdim, ydim = 20, 20\n", |
59 | | - "\n", |
60 | | - " ds = simple_UV_dataset(dims=(1, 1, ydim, xdim), mesh=\"spherical\").isel(\n", |
61 | | - " time=0, depth=0\n", |
62 | | - " )\n", |
| 61 | + " ds = simple_UV_dataset(dims=(1, 1, ydim, xdim), mesh=\"spherical\")\n", |
63 | 62 | " ds[\"lon\"][:] = np.linspace(polygon[:, 0].min(), polygon[:, 0].max(), xdim)\n", |
64 | 63 | " ds[\"lat\"][:] = np.linspace(polygon[:, 1].min(), polygon[:, 1].max(), ydim)\n", |
65 | 64 | " return ds" |
|
83 | 82 | "polygon = np.array([(10, 15), (25, 10), (25, 25), (10, 35)])\n", |
84 | 83 | "grid_polygons.append(polygon)\n", |
85 | 84 | "\n", |
86 | | - "ds_in.append(setup_nestedFields(polygon))\n", |
| 85 | + "ds_in.append(setup_nested_ds(polygon))\n", |
87 | 86 | "ds_in[-1][\"U\"][:] = 1.0\n", |
88 | 87 | "ds_in[-1][\"V\"][:] = 0.0" |
89 | 88 | ] |
|
106 | 105 | "polygon = np.array([(0, -5), (35, 0), (35, 25), (0, 20)])\n", |
107 | 106 | "grid_polygons.append(polygon)\n", |
108 | 107 | "\n", |
109 | | - "ds_in.append(setup_nestedFields(polygon))\n", |
| 108 | + "ds_in.append(setup_nested_ds(polygon))\n", |
110 | 109 | "ds_in[-1][\"U\"][:] = 1.0\n", |
111 | 110 | "ds_in[-1][\"V\"][:] = 1.0" |
112 | 111 | ] |
|
129 | 128 | "polygon = np.array([(-10, -20), (60, -20), (60, 40), (-10, 40)])\n", |
130 | 129 | "grid_polygons.append(polygon)\n", |
131 | 130 | "\n", |
132 | | - "ds_in.append(setup_nestedFields(polygon))\n", |
| 131 | + "ds_in.append(setup_nested_ds(polygon))\n", |
133 | 132 | "lon_g, lat_g = np.meshgrid(ds_in[-1][\"lon\"], ds_in[-1][\"lat\"])\n", |
134 | 133 | "ds_in[-1][\"U\"][:] = 1.0\n", |
135 | 134 | "ds_in[-1][\"V\"][:] = np.cos(lon_g / 5 * np.pi / 2)" |
|
156 | 155 | "fig, ax = plt.subplots()\n", |
157 | 156 | "\n", |
158 | 157 | "for i in range(n_grids):\n", |
159 | | - " ds = ds_in[i]\n", |
| 158 | + " ds = ds_in[i].isel(time=0, depth=0)\n", |
160 | 159 | " ax.quiver(ds.lon, ds.lat, ds.U, ds.V, color=f\"C{i}\")\n", |
161 | 160 | " poly = grid_polygons[i]\n", |
162 | 161 | " ax.plot(\n", |
|
0 commit comments