{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# FMR\n", "\n", "In this tutorial we will use the FMR standard problem as an example to show how to use the FMR functionality in `mag2exp`.\n", "\n", "For more in-depth details of running the FMR standard problem in Ubermag please see [Tutorial for Standard Problem FMR](https://ubermag.github.io/examples/notebooks/10-tutorial-standard-problem-fmr.html).\n", "\n", "## Setting up and running the micromagnetic simulation\n", "In this first cell, we set up the micromagnetic simulation as detailed in the tutorial. This involves minimising the energy then applying a slight perturbation to the direction of the applied field and letting the system relax. \n", "\n", "Note: This simulation may take a while to complete." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Running OOMMF (ExeOOMMFRunner)[2025-06-01T15:39:40]... (0.3 s)\n", "Running OOMMF (ExeOOMMFRunner)[2025-06-01T15:39:41]... (21.0 s)\n" ] } ], "source": [ "import discretisedfield as df\n", "import micromagneticmodel as mm\n", "import numpy as np\n", "import oommfc as oc\n", "\n", "lx = ly = 120e-9 # x and y dimensions of the sample(m)\n", "lz = 10e-9 # sample thickness (m)\n", "dx = dy = dz = 5e-9 # discretisation in x, y, and z directions (m)\n", "\n", "Ms = 8e5 # saturation magnetisation (A/m)\n", "A = 1.3e-11 # exchange energy constant (J/m)\n", "H = 8e4 * np.array([0.81345856316858023, 0.58162287266553481, 0.0])\n", "alpha = 0.008 # Gilbert damping\n", "gamma0 = 2.211e5\n", "\n", "# Define the system\n", "mesh = df.Mesh(p1=(0, 0, 0), p2=(lx, ly, lz), cell=(dx, dy, dz))\n", "system = mm.System(name=\"stdprobfmr\")\n", "system.energy = mm.Exchange(A=A) + mm.Demag() + mm.Zeeman(H=H)\n", "system.dynamics = mm.Precession(gamma0=gamma0) + mm.Damping(alpha=alpha)\n", "system.m = df.Field(mesh, nvdim=3, value=(0, 0, 1), norm=Ms)\n", "\n", "# Minimize the energy\n", "md = oc.MinDriver()\n", "md.drive(system)\n", "\n", "# Change external magnetic field.\n", "H = 8e4 * np.array([0.81923192051904048, 0.57346234436332832, 0.0])\n", "system.energy.zeeman.H = H\n", "\n", "# Let the system relax\n", "T = 20e-9\n", "n = 4000\n", "td = oc.TimeDriver()\n", "td.drive(system, t=T, n=n)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have run the simulation we can see what modes were present when running the `TimeDriver`.\n", "\n", "## Analysing the FMR signal\n", "Firstly we will load the data using `micromagneticdata`.\n", "\n", "We can see that two drives have been run - the `MinDriver` and the `TimeDriver`." ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "editable": true, "slideshow": { "slide_type": "" }, "tags": [ "nbval-ignore-output" ] }, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
drive_numberdatetimestart_timeadapteradapter_versiondriverend_timeelapsed_timesuccessinfo.jsonnt
002025-06-0115:39:402025-06-01T15:39:40oommfc0.65.0MinDriver2025-06-01T15:39:4100:00:01Trueavailable<NA><NA>
112025-06-0115:39:412025-06-01T15:39:41oommfc0.65.0TimeDriver2025-06-01T15:40:0200:00:22Trueavailable40000.0
\n", "
" ], "text/plain": [ " drive_number date time start_time adapter \\\n", "0 0 2025-06-01 15:39:40 2025-06-01T15:39:40 oommfc \n", "1 1 2025-06-01 15:39:41 2025-06-01T15:39:41 oommfc \n", "\n", " adapter_version driver end_time elapsed_time success \\\n", "0 0.65.0 MinDriver 2025-06-01T15:39:41 00:00:01 True \n", "1 0.65.0 TimeDriver 2025-06-01T15:40:02 00:00:22 True \n", "\n", " info.json n t \n", "0 available \n", "1 available 4000 0.0 " ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import micromagneticdata as mdata\n", "\n", "data = mdata.Data(\"stdprobfmr\")\n", "data.info" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We are interested in the `Timedriver` so we will select this drive and use this for our calculations." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "drive = data[-1]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can import `mag2exp` and use the built in `ringdown` function in the `fmr` module to obtain the spatially resolved power and phase spectra.\n", "\n", "Note: This can be computationally heavy and may take time depending on the size of the simulation.\n", "\n", "We can also provide and optional `init_field` argument which takes a `discretisedfield.Field` object and subtracts it from each timestep of the micromagnetic drive." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "import mag2exp\n", "\n", "power, phase = mag2exp.fmr.ringdown(drive)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Both `power` and `phase` are `xarray.DataArray` objects, allowing us to use their built-in capabilities.\n", "\n", "For example, a common quantity to plot is the power spectra for the whole of the sample as a function of frequency. To do this, lets look at the mean `z` component of the power spectra." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "image/png": "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mTOYNWsWkpKSOm1+6SgjIwP3338/Ro0aheHDh2PBggXGt0YBsR9NEATs378fALBv3z54e3sjISHBKt8DEREREdkXm+1BXrduHV555RX4+fld9DEFBQVYsGABYmNjsXLlSnh4eODjjz/GokWL8PnnnyM5ORne3t74+9//jgcffBBeXl7QaDR47bXX4OHhYcXvhoiIiIjshU2uIKempmLFihVYvnw55s+ff9HHrV69Gnq9Hu+99x6mTZuG8ePHY9WqVQgJCcHrr78OQFyFfvHFF7Fx40bs27cPa9euxTPPPIOcnBxrfTtEREREZEdsMiD7+/tj/fr1mDt37kUfIwgCduzYgQkTJiAwMNB4u1qtxowZM5Cammo8JnbgwIHGloqhQ4eib9++OHr0qMW/DyIiIiKyPzYZkBMTEzFo0KBLPqa0tBR1dXWIj4+/4L6EhATo9XpkZmYiMTERv//+O8rKygCIbRnnzp1DUlKSRWonIiIiIvtmsz3Il1NRUQEAnVaPJdJtlZWVmDVrFu677z7cfffdEAQBLi4uePrppzFkyBCr1ktERERE9sFuA7I0cF+lUl1wn3Rba2srAOCee+7BPffc06PrV1Q09LJCIiIiIrKkkBAfi1zXJlssukOtVgMA2traLrhPCs/u7u5WrYmIiIiI7J/dBuSwsDAAQHV19QX3VVVVAQBCQ0OtWhMRERER2T+7DshBQUHIyMi44L709HSoVCoeBkJEREREPWa3ARkAZs6ciX379hk37AGARqPB9u3bMXHiRHh7e8tYHRERERHZI5vcpFdYWIiamhoAQHl5OQAgKysLGo0GAJCUlAS1Wo0lS5Zg27ZteOCBB7B06VKo1Wq899570Gg0ePzxx2Wrn4iIiIjsl0IQBEHuIs739NNPY9OmTRe9f8eOHYiKigIAnDt3DitXrsShQ4dgMBiQkpKCJ554AkOHDu1VDZxiQURERGTbLDXFwiYDsi1gQCYiIiKybRzzRkRERERkBQzIREREREQdMCATEREREXXAgExERERE1AEDMhERERFRBwzIREREREQdMCATEREREXXAgExERERE1AEDMhERERFRBwzIREREREQdMCATEREREXXAgExERERE1AEDMhERERFRBwzIREREREQdMCATEREREXXAgExERERE1AEDMhERERFRBwzIREREREQdMCATEREREXXAgExERERE1AEDMhERERFRBwzIREREREQdMCATEREREXXAgExERERE1AEDMhERERFRBwzIREREREQdMCATEREREXXAgExERERE1AEDMhERERFRBwzIREREREQdMCATEREREXXAgExERERE1AEDMhERERFRBwzIREREREQdMCATEREREXXAgExERERE1AEDMhERERFRBwzIREREREQdMCATEREREXXAgExERERE1AEDMhERERFRBwzIREREREQdMCATEREREXXAgExERERE1AEDMhERERFRBwzIRDL69XgRXvvyOM7k1chdChEREbVzlbsAImelNxiwfkcmtG0GnM6pxtVjonHz5P5QufJ1KxERkZz4l5hIJiWVGmjbDAAAAcDW1Hy89OkhFFU2yVsYERGRk2NAJpJJTmm98ePEKD8AQGFFE1ZvSoMgCHKVRURE5PQYkIlkklfaAADw81LjqQUjMGtsNACgpEqDek2bnKURERE5NQZkIpnktgfk2HAfKBQKjB4QaryvqKJRrrKIiIicHgMykQx0egMKysUQHBvhCwDoE+QFRfv9hRXsQyYiIpILAzKRDIorm9CmEzfoxYT7AADc1C4I8fcAwBVkIiIiOTEgE8lAaq8AxBYLSWSIFwCuIBMREcmJAZlIBtIGPX9vNfy93Yy3R4Z4AxBXmA2cZEFERCQLBmQiGeS2j3iLDfftdHtU+wpya5selXUtVq+LiIiIGJCJrE7coCe2UMRG+HS6T1pBBtiHTEREJBcGZCIrK6pogk4vbtDr2H8MAGEBHnB1EWdZsA+ZiIhIHgzIRFaW2+EEvZjzWixcXZQIDxTbLLiCTEREJA8GZCIrkzboBfi4wc9LfcH9UaHtAbmSK8hERERyYEAmsrKcDifodSUyWAzIpVUaYysGERERWQ8DMpEVtekMKDzvBL3zRbVv1NMbBJRWa6xWGxEREYkYkImsqKiyEXqDON/4oivI7aPeAKCQfchERERWx4BMZEX5ZX8E3piwrgNykK873NUuAMSJF0RERGRdDMhEVlTW3jLh5e4K3y426AGAQqEwriIzIBMREVkfAzKRFZXVNAMAwgI9L/k4qQ+ZLRZERETWx4BMZEVlNeIKcliAxyUfJ02yqKxrQXOrzuJ1ERER0R8YkImsxCAIKJdWkAO6t4IMAMVVbLMgIiKyJgZkIiupbWhFm06caxwa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ew8PD8TExOCbb76Bv78/8vLyAECj8gpZ7fTjWKpWldraWqxfvx76+vrYsWMHjI2Nu20rK1PR9KUhosFs165dyM7OVtq2evVq+b8LCgrg7OyMxMRE7NmzB+vXrwcATJgwAREREUov72rS17hx42BmZoa0tDRER0cjJCQE7e3tmD59OlJSUjSaS7k3mCATEXVDdgPubsW1+vp6pWnKxo4diytXrqC8vBxjxoxRaquqjk42CqrqLe3O07tpG4s2hg8fDlNTU9y8eRNNTU1KSWVbWxuysrIwYsQIzJs3D8CjZN3d3R0ZGRkoKSlBbm4ubGxslEo7umNkZARDQ8M+KWtob29HSEgI7ty5g48++qjHOkjZyz+df1dE1FVkZCQiIyN7bDd79mz5bDq97Qt49KLwnj17NGr7OHEeZCKibkgkEjz99NP49ddfUVRUpLSvrq4Obm5uSotMvPrqqwAgH1GVuX37No4dO9alf9lb2teuXVPaXlBQIJ8kX9dYtOXq6orW1lYcOnRIafvJkycRGhoKqVSqtN3HxwcAEBERgcrKSo1Gj2XGjx+Pu3fv4t69ezrHq0p8fDzOnj2LefPmwdfXt8f2N27ckMdDRKSII8hERN3Q09NDREQEVq1ahVWrVmH58uWYOHEiqqurkZ6ejoaGBqXlrD09PfHFF18gLS0NTU1NsLW1xf3795GamooZM2agsLBQqX8XFxdkZ2cjJiYGwKO66N9++03evqioCB0dHTrFoq3AwECcOHECMTExqK6uhqWlJW7cuIGUlBSYmJggMDBQqf20adPw4osv4ueff8aIESO0WrXQ3t4ely5dwk8//QRXV1edY1Z04cIFxMfHQ19fH3PmzMGRI0e6tHnttdeUasFlSX9Po11ENPgwQSYiUsPe3h4ZGRlISEjAwYMH0dDQgJEjR8La2horV65Ummlh2LBh2L9/P2JiYlBQUID8/HyYm5tjzZo1aG1t7ZIgOzo6IioqCl9++SVCQkKgr6+Pl19+GcnJyUhMTASgXH6hTSzaGjlyJDIyMhAXF4djx47h66+/hqmpKV5//XUEBwfLp3BS5OXlhd9//x0eHh5aLYDi4OCA5ORknDp16rElyFevXpUvER4aGqqyjayuEXj0YmJxcTHGjx+vUWkIEQ0uog7Z8AQREfWZrKwsbNy4EUFBQWpn13iShIWFISMjA99//73WSaaHhwcqKipQWFiodj7kvpKWlobNmzcjNDQUy5Yt6/fjE9G/G2uQiYhIayUlJTh8+DDmzp2r0wjshg0b0NLSgtjY2D6ITr3Gxkbs3r0b5ubm8Pb27vfjE9G/H0ssiIhIY99++y1qamqwd+9eGBsbK81tqo2ZM2diyZIlSE9Ph6urq9pFXR63yMhI3L17F7t27dJonmgiGnw4gkxERBrbsmUL4uLiIAgC9u/f3+OKeOps2rQJEokEa9asUVr2ui9lZmYiMzMT4eHhvarZJqKBjTXIREREREQKOIJMRERERKSACTIRERERkQImyERERERECpggExEREREpYIJMRERERKSACTIRERERkQImyERERERECpggExEREREp+C+PyvzpMHGsDgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "\n", "fig, ax = plt.subplots()\n", "\n", "# Take the mean, select the z component and plot the xarray\n", "power.mean(dim=(\"x\", \"y\", \"z\")).sel(vdims=\"z\").plot(ax=ax)\n", "\n", "# Set log scale for y-axis\n", "ax.set_yscale(\"log\")\n", "\n", "# Set axis labels\n", "ax.set_xlabel(\"Frequency (Hz)\")\n", "ax.set_ylabel(\"Power (a.b.s)\")\n", "\n", "# Set axis limits\n", "ax.set_xlim([6e9, 15e9])\n", "ax.set_ylim([1e4, 1e8])\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This closely mimics what we see in experiments. However, we can go a step further and look at the spatially resolved power dissipation. To do that we will select a particular frequency corresponding to a peak in out spectra, a plane (in this example `z=0`), and one of the `vdims`.\n", "\n", "From this we can see that a lot of power is lost in the top left and bottom left corners at this frequency." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAApwAAAJACAYAAAAgt7bxAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAczlJREFUeJzt3Xd4FOX6//HPJiQEAtITpHOAgEivB0RQQJoIKiBNulKkqCBFARGPhY4UESICgkgQFRUUQTCgFA0KR/lqaAoISCD0EiDJ7vz+4Jc9iUlgM5lJNsn7dV25LpjZefaZ2dnZe+6njMMwDEMAAACATXwyuwIAAADI3gg4AQAAYCsCTgAAANiKgBMAAAC2IuAEAACArQg4AQAAYCsCTgAAANiKgBMAAAC2IuAEAACArbw+4AwPD1e3bt1Uv359VatWTSNGjMjsKgEAbNKrVy9Vrlw5yV+vXr1sfc9x48Yle8/mzZvb+p5WSqj/P4/TvHnz3PsDZLZcmV2B2/nll180ZMgQGYahXLlyqXTp0vL19c3samWYBQsWqHjx4nr88cczuyopOn36tD744ANt375dx44d082bN5U/f35VqlRJLVq0UNeuXZUnTx5TZd+4cUMfffSRNm3apEOHDunq1avKmzevKlSooAcffFA9evRQ/vz5k23XvHlznTx50qP3ePvtt9WyZUtT9bNTVFSUli1bpu+++05RUVEyDEPFixdXs2bN1K9fPwUHB6e67fnz5/Xhhx9q27ZtOnr0qK5fv64iRYqobt266tmzp+rWrZuBe5I1HDlyRCtXrtTOnTv1999/Kz4+XoULF1b16tX1+OOPq0WLFmkuc9y4cVq7dq1Hr+3du7fGjx+f5vewwo0bN/TBBx9o06ZNOnbsmGJiYlS0aFHVq1dPTz75pGrWrJnqtrGxsfr888+1YcMGRUZG6sqVK8qfP7+qVKmixx57TB06dEhX3QoUKKC7775bklSmTJl0lXUnd999t6pUqSJJOnv2rM6ePWvr+2WUokWLuvcLyGwOb36W+owZM/Tuu+/K4XDoo48+Uo0aNTK7Shnm+PHjatmypRo0aKAVK1ZkdnWS2bZtm0aOHKmrV69KkgoWLKhChQrp9OnTiomJkSSVKlVKixcvVvny5dNU9tGjRzVw4EAdO3ZMkpQ3b14FBQUpKipKN27ckCSVKFFCS5YsSVZ2QsBZtGhRFS1a9Lbv8+KLL+rf//53mupmt+3bt2vEiBG6du2aHA6HSpQoIR8fH508eVIul0v58+fX22+/rYYNGybb9ueff9awYcN0/vx5SVKxYsWUP39+nThxQrGxsXI4HHruuec0ePDgjN4trxUWFqbXXntNcXFxkm4dM39/f506dUoul0uS9Mgjj2jq1KlputlNCDjz5s17x2DpkUce0VNPPWV+J0w6deqU+vTp4/6eFS1aVPnz59fff/+tmzdvysfHR6NHj1b//v2TbRsdHa1Bgwbpt99+kyTdddddKlasmM6cOaMrV65Ikh588EHNmzdPfn5+aapXr169FBERoccee0xTpkxJ516m3bx58zR//nyVLFlS3377bYa/vxkJ55u3/l4AkiTDi40bN84ICQkxGjdunNlVyXDr1683QkJCjCeffDKzq5LM8ePHjZo1axohISFG+/btjf/7v/9Lsv6bb74x6tata4SEhBjt2rUz4uLiPC772rVrRsuWLY2QkBCjYcOGxldffWW4XC7DMAzD5XIZH3/8sVGjRg33e8fHxyfZ/sEHHzRCQkKMuXPnpn9HM9iJEyeMWrVquT/3v/76y73u77//Nvr06WOEhIQY9erVM06fPp1k26ioKKNBgwZGSEiI0aJFC2Pv3r3udVeuXDEmT55shISEGCEhIcbXX3+dUbvk1bZu3eo+Jn379jWOHDniXnfu3Dlj5MiR7vWhoaFpKnvs2LFe+/01DMNwOp1Gx44djZCQEKNZs2bGjz/+6F535coVY8qUKUZISIhRuXJlY+vWrUm2dblcRteuXY2QkBCjZs2axtq1a93fw7i4OOOjjz4y7r33XiMkJMR49dVX01y3J5980ggJCTHGjh2bvp00ae7cuUZISIjx4IMPZsr7m+Ht5xtgGIbh1X04jf+ffM2dO3cm1yTj7du3L7OrkKqPP/5Y169flyTNnDlT9957b5L1LVu21HPPPSdJOnz4sHbv3u1x2Z9++qn++usvSdKsWbPUtm1bORwOSZLD4VCnTp00bNgwSdLBgwf1008/pXd3bNW8eXNVrlxZJ06cuONrFyxYoJiYGAUHB+udd95R6dKl3evuvvtuzZ8/X8HBwbp8+bIWLlyYZNulS5fq4sWL8vPz07vvvqtatWq51+XLl08vv/yy2rRpI0maNm2aO3uXk82ZM0eSVK5cOS1YsEDlypVzrytcuLCmTp2qkJAQSdKqVasyo4q2WbdunSIjI+VwODR//nw1aNDAvS5fvnwaO3asmjdvLsMwNGPGjCTbhoeHa+/evZKkiRMn6tFHH3Vnf3PlyqUuXbroxRdflHTruB09ejRjdgqAV/PKgDOhA3RCH6iTJ08m6zz+6aefqnLlyqpevbokacWKFWrVqpXuvfdezZs3L1mZmzdv1jPPPKMmTZqoWrVqql+/vjp37qz58+fr8uXLqdYlNjZWixcvVseOHVWrVi3VrVtXjz76qBYvXqz4+HgtXbpUlStXVv369S3Z94T9Wrp0qSQpIiLCve8p7VdmSGiCu+uuu9w/yP+UuK9gwus9cfjwYeXLl0+lSpVS48aNU3zNAw884P53ZGSkx2V76sqVK1qwYIG6dOmiBg0aqFq1amrSpIkGDx6sjRs3Wv5+0q3zbMOGDZKkrl27Kl++fMleky9fPj3xxBOSpPXr1ys+Pt697rvvvpMkNWnSJNUuDEOGDJEknThxwtJAPaUBF6n9eYtr167p/Pnz8vf31yOPPJJiX+NcuXKpSZMmkm5dg253nbCD0+nU2rVrNWDAADVu3FjVqlVTw4YN1aNHDy1btszdvcSML774QpLUsGFDVatWLcXX9OvXT9KtG7v/+7//cy9PONfuuusuPfrooylu27VrVxUpUkROp1Pr1683Xc9/OnjwoPtcioqK0qlTp/Tiiy+qadOmql69upo1a6bx48fr9OnT7m0++eQTPfHEE6pbt65q1qypxx9/XJ999plldbqTL774wl3nO918jx8/XpUrV1a9evV08+ZN9/KrV69q1qxZatOmjWrUqKGGDRuqW7du+uSTT25bXmqDhsLDw1W5cmVVrVpVknTo0CE9++yzuu+++1S9enW1aNFCb775prt7hNPp1NKlS9WxY0fVrl1btWvXVo8ePbRt27YU39cwDH311VcaPHiw7r//flWrVk116tRR69atNWrUKO3cufOOxy2jpTRYLaW/rDSYzNt45aChhA7cp06d0qVLl+Tn56cKFSpISrnz+Pr16/Xaa6+pYMGCKl++vPLmzeted/PmTb3wwgvatGmTpFs/2qVLl9bp06e1b98+7du3T2FhYVq8eHGyztWxsbF66qmn9OOPP0qSAgMDFRwcrFOnTmn69On6/vvvdd9990mSAgICLNn3AgUKqEqVKvrrr78UExOTpA/YnfokJujYsWOa37dbt27q3r27R68tVqyYpFsDDpxOZ4p92xIyoJLn9ZakV155Ra+88oqcTmeqr0k8WChx0GWF/fv36+mnn9aZM2ckScWLF1eBAgV08uRJhYeHKzw8XC1bttTs2bPl7+9v2fv+8ssvunbtmiSlGmhLUqNGjTRv3jxdunRJv/zyizuwTxgoVbFixVS3rVKliu666y5dvnxZO3bsSJLVSo/EAy5ScvDgQblcLuXK5fnlZt++fZowYUKa6/Laa6+5b0JvJzAwUFu3bpWk22Z77TzXbufSpUsaMmSIfv75Z0m3+kiXKlVKp06d0s8//6yff/5ZYWFhWrJkiUqUKJGmsuPi4tzXtNuda3Xq1FFAQIBu3Lih77//3h2YJpxr5cuXT7Vfa65cuVSrVi1t2bJFO3bscLdKpFfi1q5Tp05p+PDhunTpkkqWLKlr164pKipKH3/8sXbv3q0vvvhCU6dO1YcffqigoCAVKFBAp06d0m+//aaxY8fq5s2b6tq1qyX1up2WLVsqb968iomJ0caNG1NNTsTFxWnz5s2SpDZt2rj39eLFi+rZs6cOHz4s6dZvRJEiRfTHH3/opZde0p49e9Jcp8TH8ffff1evXr3kcrkUHBysq1ev6sSJE1q2bJl+/fVXffDBBxo6dKjCw8NVsmRJ3XXXXYqKitLPP/+swYMHa9GiRWratGmS8keOHKmvvvpK0q0++CVLlpTT6dTJkyd19OhRrV+/Xr169UrTd9zu37UyZcqkelPpdDp16NAhSUrTdQxJeeWRe/bZZ/Xss8+6O0IHBQXp888/T/G1hmHonXfe0YgRIzR48OBkF8A33nhDmzZtUkBAgLv5J+GE2b17tyZMmKCjR4/qmWee0bp16xQYGOje9r333nNfmIcNG6ZBgwbJ399fhmHo+++/1+jRo3XkyBFJ1p2ELVq0UIsWLdwd56tVq5bmTuD79+9P8/umZVRm8+bN9f777ys2NlabN29W69atk70m4c43X758pkZG326ARuJsS6VKlVJ93U8//aSvvvpKhw4d0vXr11W4cGHVrl1bnTt3dgfNiV28eNEdbFatWlVvvvmmO5CKjY3VsmXLNHfuXG3evFmzZs3SuHHj0rxfqUm4mN1pnxJnlA8fPuw+tgndT4w7jAEsUKCALl++7P7xskLC9zUla9ascf+opCXoiImJMXUeJwxYSwsfn9QbehIGxRQtWlSFCxdOc9nSrQz/2rVrtW/fPl28eFH58uVT1apV1bFjx1QD9RdeeEE///yzChYsqNdff10tWrSQw+GQYRjasmWLXnnlFR05ckTPPvuswsLC0jSg6a+//nIPkrrdDUquXLlUvnx5RUZGJjlfPD3XChYsKEmWnmuJP6vJkyerTp06+s9//qMCBQpIunXNnjZtmo4dO6aRI0dq9+7deu+995JkqgcOHKjDhw9r0aJFGRJw5s2bV82bN9f69eu1adMmjR8/3t1NKLGdO3fq4sWLkpIGV9OnT9fhw4fl4+OjV155RZ07d5avr69cLpc2btyol156KcUWkdtJOI6GYWjs2LHq2LGjxowZo4CAADmdTr355ptasWKF9uzZo+HDh2v//v365JNP3Dcd+/fv11NPPaXo6GiFhoYmCTg3b96sr776Sg6HQxMnTlSXLl3cN+dXr17VkiVL9Pbbb2vFihVq2bKlxwM37f5de/3111Nd99Zbb7mv0VbdPOVEXhlwpkVcXJwKFiyooUOHJlt35MgRrV69WpI0YcIEde7cOcn6+vXra/HixWrbtq1OnjypNWvWqG/fvpJuZT0++OADSbeyAMOHD3dv53A41LRpU02ZMsU94jelC0hmOXDggK3l//vf/1bnzp318ccfa/z48Tpz5oxatGihIkWK6PTp01q3bp3ee+89ORwOjRs3ToUKFbLsvZ1Op959911JtzJrqWVoPvjgA82fPz/Z8m3btmnRokV644031K5duyTrli5dqjNnzqhAgQJavHixihQp4l7n7++vgQMHyuVyafbs2frggw80cOBA00HIP/3999+Sbv043e7HI3/+/MqTJ4+uX7+epF9oiRIldOTIkSSB6z/FxsYqOjpa0q2pl+z2559/6o033pAkNWjQQIMGDfJ424YNG9p+Ht/J/v373VlQs1OT/f7772rXrl2y7OgPP/ygpUuXql+/fho9enSSQGrHjh3uZuvZs2cnOccdDodatmypQoUKqUePHvr111/dWXdPJZ427HZTbElSUFCQIiMjk51r0q3PNz4+PtWb7YT3uXz5sru1Jr0SX2ejo6O1evXqJNm6AQMGKCwsTH/99Ze2bNmiqVOnuoNNSSpZsqQGDhyoMWPG6OTJkzp16pR76iU7dejQQevXr9fp06e1Z8+eFG/CEzKCJUuWVL169STdOnYJyZYuXbokCZB9fHzUtm1bXbt2Lc3TaiUcR5fLJR8fH7388svudb6+vhozZoy7r/6WLVu0cuXKJF0vqlSpoh49emjOnDn65ZdfkpwHP/zwg6RbN849e/ZM8r758uXTiBEjdObMGZ07dy5N3VQy63oQERGhRYsWSbp1I5De6b5yMq/sw5lW7du3T3H5+vXrZRiG8ufPr8ceeyzF15QuXdrdJ/Drr792L4+MjHTfHaVW/oMPPpghFytv9Prrr2vy5MkqXry4XnvtNT344IOqUaOGHnroIc2dO1f169dXaGiounTpYun7Tp06Vf/9738l3ervlNqUK1euXFGfPn30xRdfaN++fdq1a5emTZum4OBgXb9+XaNGjdKOHTuSbLNu3TpJtz7vxMFmYt27d5evr2+S5i8rJDSnJ86wpybhhzthG0nuH9UdO3bozz//THG7sLAwd78/M5nAtIiNjdWoUaMUExOjggULavr06bfNJHqb8+fP69lnn1V8fLxKlCiRpmA5satXr6pJkyZasWKF9u7dq71792rZsmWqVauWDMPQkiVLkvXNTjgPK1WqlOoNVd26dd397xL6/noq8XlzpyAwpXPt/vvvd+9banON/v7774qIiHD/347zrUuXLikOKE1oBcibN2+ym0pJSfozJtyA2e2+++5z35ym1A88NjZWW7ZskXQrOE0ICHft2uXORqf2O9ShQwePrhupefLJJ5Mt8/f3dw+iK1u2rDsATizhOMfGxurSpUvJ1l+8eDFJP9TEXnvtNb3zzjtq1aqV6XpnhIsXL2r06NFyuVwqU6ZMksAcaZd1fgFuI7VmqV9++UWS9K9//eu2Td4J83tGRka6+3MlzhTdc889d9w2pzl//rz27dvn7ut41113qVy5cu7BF4cOHdJ3332X5IcqPZxOp1599VW9//77km4NgHnooYeSva5///569tlntWzZMr300kuqXLmy/P39VbhwYXXs2FGrVq1SwYIF5XK59Nprr7mbBc+ePevOyNyuSbtAgQIqW7aspKRN+3PmzFHHjh2T/SUcn4EDByZb9/TTT7u3T7gwezJnYULzVOKLeZ8+fZQ3b17Fx8dr0KBB7qBcuhUsvPvuu5o2bZq7P63do9Rnzpyp33//XdKtH5fixYvb+n5WOnHihHr27KmjR48qMDBQ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bVBBQjb24MGD7hHOV69eteW90iphTsJz585p8ODByZo69u/fryFDhiguLk7+/v7q379/kvWfffaZqlatqqpVqyaZq0+69dzh3bt3y8fHR7Nnz05TsPnYY4+5m90nTpyoNWvWJJlwOzIyUn379tXp06fl5+eX7ILSt29fFStWTE6nU4MHD9auXbuSrN+1a5f69u3r7mdZsmRJj+vmiYSpZBKOa+LA8ejRoxo0aJAuXbqku+++WwMGDEiy7eOPP64CBQrI5XJp6NChSUbFJ/SFvXDhgooVK5biCP+TJ0+6P5OUJsy/nddff11//vmnHA6HpkyZkuocpt7mtdde082bN3Xvvfdq1KhRad6+T58+qlq1arJR+BUrVnT3AV6zZo2mTJmSZILr6OhovfDCC+6ncQ0dOjRJU2qjRo3cc11OnTpVq1evTtKH748//tDgwYP1xx9/JLtueap58+Zq2LChJOn55593T9Yt3QoaXnrpJf3000/y8/Nz9zVMcM8997i3feONN5IEvOfOndOoUaMUERGhXLlyaeLEiRnSPSGjzJ8/3/09STyBflq0a9dOPj4++v333/Xpp59Kktq2bZtiprhYsWLu8+vDDz/U2rVrk0xB9cUXX2jGjBke94O0W4ECBeTv76/Y2Fg999xz+v7775NMwRYXF6fPPvvMnRDwlhksDMPQuHHjdP78efn7+2vmzJmWPa4a/5Otm9Ql6aWXXtLZs2e1ZcsWzZ07V6GhoSpRooSuXbum6OhouVwu+fv76/XXX0924R42bJh27typAwcOaObMmQoNDVVwcLDOnj2rixcvqlWrVgoJCUnzD7QnmjZtqvXr1+vGjRtq166d/Pz81LRpUy1YsMDy90qr1q1ba8yYMZo1a5b27Nmjjh07Kn/+/AoODtalS5fckykHBgZq+vTpyeZ5c7lc7nn5/jktybJlyyTdmnnAkzvMatWquR9JlidPHi1atEhPP/20Tp48qQkTJug///mPSpQooZiYGPd0M3nz5tXUqVNVp06dJGUVLFhQixYt0qBBgxQVFaW+ffuqSJEiKliwoHu6F+lWf8u5c+d6lMVLGH3qicKFC2vhwoUaOHCg9uzZo1atWqlkyZIyDEN///23DMNQcHCw3n333WR9ue666y5NmzZNw4cP18GDB/Xwww+rRIkS7m2lW30DFy1alGJAaBhGqp/J7Zw+fVpr1qyRdOsmbcaMGe6m9ZSYHdRjtf3797uDrDNnznj0JKERI0YkyUQmnMcpzTH56quv6uLFi9qxY4eWLl2q5cuXq3jx4vL19dWJEyfcP8KDBg1KsfvG9OnTNWTIEO3du1cvv/yypk6dquLFi+vSpUvufml33XWX5syZY3pqtjlz5qhfv36KjIxUnz59VKxYMQUGBurkyZOKi4tT7ty59eabb6Y4Hcwbb7yhnj17KioqSk8//bSKFCmi/Pnzu7cNCAjQf/7zH48fW5hVmP2eJBYcHKyGDRtq165d7uvD7QbEjB8/Xvv27dPff/+tcePGacqUKSpatKhOnz6tK1eu6PHHH1fBggW1ZMkSW+Y7Tas333xTffr00alTp/TUU08pMDBQxYoVk8vlUnR0tDvp8+CDD7pnzchse/bs0fbt2yUpxZusf0qIBZA22T7gDAgI0IIFC7R582atXbtWv/76q44fP67AwEB3c88TTzyRZO6zBPny5dOqVav07rvvauPGjTp58qSioqJUpkwZDR48WL1797YtAHzkkUd05MgRrV27VufOnVOhQoVMddy3y4ABA9SsWTOFhYXpxx9/1MmTJ3XkyBHly5dPNWrUUOPGjdWjR480fykTMkGxsbEedRL/Z5NMhQoV9OWXX2r16tXasmWLDh48qL/++svdFaBJkybq2bNnqvW69957tWHDBn3wwQcKDw/XkSNH9Ndff6lw4cK655579PDDD6tDhw62TPMiSTVr1tRXX32lJUuWKDw83D0YICQkRC1atFC/fv1SbYZ64IEHtG7dOr3//vv68ccfderUKTkcDlWpUkUPPfSQ+vTp41FTeloyUokzb558ZnY/4chTibssREdHe/TEmdS6j6QkX758eu+997Rx40b3067OnDmjXLlyqUyZMqpXr5569OiRpB9uYoUKFdLKlSv1+eef68svv1RkZKT++usv5c+fX/fee68efPBBdenSJV0T6hcqVEhr1qzRhx9+qK+++kp//vmnLl26pODgYN13333q27dvqpOClypVSl988YXCwsLc18aEx0Ted9996tOnT4rX1Ozkdg8TuZNHHnnE3YJSunTpFPtmJggODtYnn3yihQsXKjw8XFFRUTpz5owqVKigxx57TF27dnV3z0jtyT4ZqWzZsu5zY+vWrTpy5IhOnDghh8OhIkWKqHHjxurQoYNat27tNV1vEreEXbt27Y7XMU/mS0ZyDiMjZ77NhubNm6f58+erZMmSacpmAd7G5XKpRo0aGjt2rHr16pXZ1UEO1atXL0VEROixxx5LcW5bu93pmv75559rzJgx+vnnn3nyDJAG2boPJwDP/fbbb4qLi1PFihUzuyqA1/rll1909913E2wCaUTACUDSrUEJhQsXTtOsAkBOcuXKFa1bt85rBrsAWUm278MJ4M5u3rypUqVKacqUKTnyca2AJ44cOaLevXu7Zz8B4DkCTovNmTMnXX05zTyKC0iv3LlzWzYPJWCFb7/91j16O/FsFHZIfN2+3dNpatSokeKofQB3RsBpsVOnTpl6BFcCM4/iAoDs5tKlS+6ZAeyeIDy9120Ad8YodQAAANiKQUMAAACwFQFnKvbv3682bdqocuXKSR4TaIdx48apcuXKqf7NmzfP1vcHAACesSI+cLlc+uijj/T444+rbt26atCggbp27arPP//c4tp6D/pwpmDlypWaMmVKmp7jnR7Dhg1Tz549ky3ft2+fJk+erFq1amVIPQAAQOqsig+mT5+uJUuWqFevXhozZoxcLpe++OILjRkzRqdPn9bAgQMtqrH3oA/nP0REROipp57Syy+/rFOnTmn+/Pn66quvVKFChQyth8vlUufOnXX33Xe7H1sGAAAyh5XxQb169VSxYkWFhYW5lxmGoYceeki+vr7auHGjlVX3CjSp/0PBggUVFhamzp073/Z127dvV48ePVSrVi3VqlVL3bp107Zt2yyrx8cff6yDBw9q7NixlpUJAADMsTI+yJ07t3Lnzp1kmcPhUJ48eZQnTx7L6+4NCDj/ISQkRFWrVr3ta8LDw/X000+rQIECmjNnjubMmaOCBQtq0KBBCg8PT3cdrl+/rrlz56p79+4qU6ZMussDAADpY2V80K9fP0VEROijjz7S1atXdeXKFa1YsUKHDh1S3759bd6TzEEfThOmTZumypUr6+2335aPz62Y/b777tMjjzyiefPm6cEHH0xX+WFhYbp8+bIGDRpkRXUBAEAG8DQ+eOqpp5QnTx69+uqrmjhxoiQpT548mjZtmjp06JBp9bcTAWcanTp1Sn/++acGDRrkPpkkKVeuXHrggQe0dOlSXblyRQEBAfrrr79uW1b+/PkVFBSUZJnT6dSyZcvUrl07FS1a1JZ9AAAA1vI0Psif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s0PnAQAAsoRs0ltwy5Yt6tChgwYOHKgrV64kW9+pUyft3btX33zzjakxOaYCztdff11bt25V/vz5Vbp0aQUGBpopBgAAAF7g5MmT6t+//21fU69ePX355ZemyjcVcP7www964IEHNHfuXPn7+5t6YwAAgCwvm2Q4fXx85HLdfr6369evm54C0NQo9evXr6t169YEmwAAANlAxYoV9d1336W6PjY2Vh999JEqVapkqnxTAWfNmjWTDAgCAADIkQwb/zJQp06dtHnzZk2dOlUHDhyQJF25ckWHDh3SRx99pMcff1z79+9Xp06dTJVvqkl99OjRGjx4sGrVqqX77rvP1BsDAABkedlkWqRu3brpv//9r5YuXaply5ZJkoYOHepebxiGHnvsMT3xxBOmyjcVcFatWlW9evXSU089paCgIJUoUUJ+fn7JXsez0wEAALKGKVOmqG3btlq/fr0OHTqkmJgY5cuXTyEhIWrfvr2aNGliumxTAeeiRYv01ltvyTAMnT59WqdPn07xdTn22dIAACBHyC7PUj9z5oyCgoLUrFkzNWvWzPLyTQWcq1evVlBQkMaMGaNKlSpZPi3SgQMHNHPmTO3Zs0dOp1NVq1bVc889p/r16992u+vXr2vu3Ln68ssvdfHiRZUpU0Z9+vRRly5dLK0fAABAdtK0aVPdc889atq0qZo2baratWvLx8e6J6CbCjjPnj2rMWPG6OGHH7asIgmOHz+unj17qly5cpo2bZry5MmjpUuXql+/fvrwww9Vo0aNFLdzuVwaPHiwDh06pNGjR6tkyZJau3atJkyYIIfDoc6dO1teVwAAkMNlkwznQw89pIiICC1atEihoaHKnz+/Gjdu7A5AixYtmq7yTQWcd999t3x9fdP1xqlZsGCBnE6nQkNDVbhwYUlS3bp11bp1a82aNcvdkfWfvvzyS/3www9atWqV6tSpI0mqX7++Tp48qV9//ZWAEwAAIBXz5s2TJEVGRmrXrl364Ycf9P333+vrr7+Ww+FIkv1MiLPSwlTA2bdvX61Zs0adOnWydC5OwzC0ZcsWNW7c2B1sSpK/v79atmyplStX6tKlSypQoECybT///HPVqFEjyUFwOBxavny5ZfUDAADIzu655x7dc8896t+/v5xOp/bt26cffvhBu3fv1vvvv6/Q0FBTjy03FXCWK1dOFSpUUOvWrdWh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xo0bp+7du5sqO12/uKdPn9aaNWsUExOj3Llz6+jRo/r88881bNgw+fn5padoAAAA75dNMpyS1K9fPz3yyCP69ttvdfjwYcXExCgwMFCVKlVSixYtVKhQIdNlmw44V61apVmzZik2Nlbjx49Xx44dNXnyZC1atEjffvutXn/9ddWoUcN0xTJFFriTM1zWZ5McPhbvtw11NBzWfzYOi7MLdlxzbMloW81hQx3t+CpmhWPpa0O2OAtwpK+hLUWWl2h1pliy57tj9Slkw/U8u8kuTeoJjh49qjNnzujq1au6efOmJOn8+fM6efJkxgecPXv21J49e1SlShX3ACFJmjlzplq0aKHJkyere/fu6tu3r0aPHm26cgAAALDf1atXNXToUEVEREi61Yye2OzZs/XAAw9o1qxZpkaqmwo49+7dq6efflrDhw9P1nTerl071atXTy+++KKWLFlCwAkAALKvbJLhnD59un788UfVqlVL7dq1U9myZZU7d25dv35dx44d05dffqmtW7dq9uzZeumll9JcvqmAc/ny5apXr16q64OCgvTee+9p5crM68QLAAAAz2zZskWNGjXS4sWLU5xlqFevXurbt682bNhgKuA01TnjdsFmYj179jRTPAAAQNaQTSZ+v3z5stq1a5fqlJa+vr5q3779HSeHTw29gQEAAHK4u+++W3Fxcbd9TUxMjEqUKGGqfAJOAAAAkxyGfX8ZqXv37vr444/dI9P/6caNG/rss8/0xBNPmCrf2pmvAQAAkOX8+9//VkREhNq3b69OnTqpUqVKCgwM1M2bN/XHH39o7dq1Kly4sO69917t3r07ybb169e/Y/kEnAAAADnco48+KofDIcMwNGfOnGTrDcOQw+FwT5uUWGRk5B3LJ+AEAAAwK5tMi9S2bVvlzp07ySMtrUTACQAAkMPNnm3fM+ElAk4AAADTstujLe3CKHUAAADYigwnAACAWV6Q4dy1a5feeecdHThwQIZhqEKFCho0aJAeeOCBzK6aGxlOAACALOrbb79V//79lTt3bk2fPl0zZsxQ3rx5NWjQIG3YsCGzq+dGhhMAAMCsTM5wvvXWWypbtqwWLFggPz8/SVKDBg3UrFkzLV++XG3bts3cCv5/BJwAAABZkGEYGjJkiAoVKuQONiUpICBAZcuWVVRUVCbWLikCTgAAAJMyc5S6w+FIMYMZ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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "selection = {\"freq_t\": 8.25e9, \"z\": 0}\n", "power.sel(selection, method=\"nearest\").sel(vdims=\"z\").plot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also plot the phase using the same method." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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NzgRkali36eWiF4uPT0d1apVw7Jly0rk1M9E+XH79m2MHj3aOKoOESkLk1qJrV27tlB9a8VM60dUWLa2tpKN00okhZ9//tk4KkD2UU7kkP26ndcsVI0bN85xNAgiUgYmtRJ79OiRqOn8DMRM60dEVNwkJSUZR5yQe5D+wl63iUgZOPoBEREREakebxQjIiIiItVjUpuLq1evokePHvDy8jKZclQO8+bNg5eXV65/69evl/X5iYiIiNSOfWpzEBQUhGXLlsHJyalInm/KlCkYMWKE2fKIiAgsXrwYTZs2LZJ2EBEREakV+9T+S3h4ON566y188MEHePToETZs2IDjx4+jTp06RdoOvV6PQYMGoXLlysYpEImIiIgoZ+x+8C/Ozs4IDg7GoEGD8nzc2bNnMXz4cDRt2hRNmzbF0KFDcfr0acnaceDAAVy7dg1z586VLCYRERFRccWk9l88PT3h7e2d52PCwsIwYcIEODk5Ye3atVi7di2cnZ3h7++PsLCwQrchLS0N69atw7Bhw1CjRo1CxyMiIiIq7tinVoTAwEB4eXlh48aNKFUq63tBu3bt0KdPH6xfvx4dO3YsVPzg4GAkJyfD399fiuYSERERFXtMagvo0aNHuHXrFvz9/Y0JLQBYWVmhQ4cO2LFjB549ewY7Ozvcu3cvz1iOjo5wc3MzWabT6bBz50706tULFStWlGUfiIiIiIobJrUFFBMTAwDYsmULtmzZkuNjHj9+DFtbW/Tq1SvPWAMGDMCyZctMlp0+fRoxMTF44403pGkwERERUQnApLaANBoNAMDPz884L/m/Va1aFXZ2doiKiipw/NDQUDg7O6Nly5aFaicRERFRScKktoAqV64MIGvIrfr160se//z582jTpo1J1wYiIiIiyhszpwJyd3dHnTp1cOLECWi1WpN127Ztw969e0XHjo6OxsOHD+Hp6VnYZhIRERGVKIpNasVMU3vixAkMGTIELVq0QNu2beHn54dLly4V6HkfPHiAiIgIRERE4PHjxwCAGzduGJdptVrMnDkT8fHxGDt2LH766Sf89ttvWLJkCVasWIEXL14UeF8NDP11q1evLjoGERERUUmkyO4HYqapDQoKwkcffYR+/fph+vTpSE1NxebNmzFq1Ch8/fXXaNasWb7ibNiwAQcPHjRZNm3aNOO/Q0ND0blzZ2zduhWbN2/GnDlzAAC1a9fG0qVLXzppQ17i4uIAAA4ODqJjEBEREZVEipsmV8w0tTqdDj4+PqhXrx6++uor4/K4uDi89tpreP3117Fy5cqiaD4RERERWYDiKrWGaWq9vb2xfv36fG2TkZGBhQsXms2+5erqChcXF+PP+kRERERUPCkuqRVzk5SdnR169+5ttjwxMRFPnjzBq6++KkXTiIiIiEihFHujmBSWLl0KvV6PYcOGWbopRERERCSjYpvUrlmzBkePHkVAQACaNGli6eYQERERkYwU1/2gsHQ6HRYtWoT9+/dj/PjxmD59ev439tVI2xjtyx9SLNlYugH5JHU75dhvtcSUmhxttJc4nhxtlGPgE6ljukgcDwDkGMXQW9pwt+pKGw8AlkgfEjswUtqA/90tbTwA2CR9SEGGmPmmqSxfbOGRfLGLoWKV1GZkZGDq1Kk4ffo05s+fj9GjR1u6SURERFSsqaFSUDIUm6RWEAS8//77OHv2LD777DN0797d0k0iIiIioiJSbJLaXbt24fvvv8fq1auZ0BIREVERYaVWKRSX1D548ABPnjwBAJNpalNTUwEAXl5eOH78ON5//31s3boVvr6+SE5Oxrp169CyZUvUqFEDERERZnEbNWpUdDtBREREREVKcUltfqap1ev10Ol00Ov1AIDIyEikpKTg999/z3Wa2qioKPkaTURERCUUK7VKobhpci2Kox9IQy3vb45+oFwc/UC5MTn6gWQ4+oF0LDv6QQP5Ygt/yxe7GFJcpZaIiIhIPdRQKSgZiu3kC0RERERUcrBSS0RERCSataUbQP+PSS0RERGRaOx+oBTsfkBEREREqsdKLREREZForNQqBSu1RERERKR6rNQSERERicZKrVKwUktEREREqsdKLREREZForNQqBSu1RERERKR6rNQSERERicZKrVIwqZVTigwxtTLEVAM5rhlquA6pYb/V0EZA+vejHG18LkNMqfdbLdcgiV+f2m7SxgOAbuWkj/ktvpY0XnLDdpLGAwBsGiZ9TDjJEDO/1PBhUjKw+wERERERqR4rtURERESisVKrFKzUEhEREZHqsVJLREREJBortUrBSi0RERERqR4rtURERESisVKrFKzUEhEREZHqsVJLREREJBortUrBpJaIiIhINGtLN4D+H7sfEBEREZHqMaklIiIiEs1Gxr/8uXr1Knr06AEv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K7VEREREYrFPrWIwqSUiIiISi0mtYrD7ARERERGpHiu1RERERGKxUqsYrNQSERERkeqxUktEREQkFiu1isFKLRERERGpHiu1RERERGKxUqsYTGqzk/rElONE55tHubQyxJTj9ZajnURUcGp4Lz6XIWaKDDGJwKSWiIiISDwWmxSDSS0RERGRWExqFYM3ihERERGR6rFSS0RERCQWK7WKwUotEREREakeK7VEREREYrFSqxis1BIRERGR6rFSS0RERCQWK7WKwUotEREREakeK7VEREREYllbugFkwKSWiIiISCx2P1AMdj8gIiIiItVjpZaIiIhILFZqFYOVWiIiIiIqEmlpadiyZQuGDh2K1157DZcvXzauO3ToEJ4/fy46Niu1RERERGKxUptvKSkpGDZsGG7cuAFBEKDRaJCZmQkAePLkCebPn48vv/wSe/bsgaOjY4Hjs1JLRERERLLbsmULbt26hXfffRcnTpyAIAjGdeXLl8dHH32E27dvY9u2baLiM6klIiIiEstGxr9iJjQ0FH379sXEiRNRsWJFs/UDBw5E//798dNPP4mKn6/uB6NHjxYV/N80Gg2++uorSWIRERERkXpER0dj3LhxeT6mZcuWOHbsmKj4+Upqw8PDRQX/N41GI0kc2Uj9rUiOb1lq+OamtXQD8qmkHsuSut9UsvAckoYcx7G4vTZquKYqRKlSpaDX6/N8TFpamuh8Md83iq1btw7dunUT9SQA8MMPP+Ddd98VvT0RERGR4jCpzbe6devizJkzePPNN3Ncr9Vq8c0338DDw0NU/CLrU6vRaEw6BBMRERFRyTFw4ECEhIRg+fLliIqKAgA8e/YM169fxzfffIM33ngDV69excCBA0XF1wj5yDQPHjyIV155BZUrVxb1JADw8OFDXLhwAQMGDBAdQ3ZzJe4eESttOABAigwxpf4pSA1tlAN/ppNOSd1vkg7PIWmIHzI0d4kyxEy3XNFMc02+2IKnfLEtZd68eTh06JCx2Jm9q4EgCBgwYAA+/fRTUbHzldTmJjMzE4mJicYxxnJSpUoVseGLHpNaaaihjXJgUiudkrrfJB2eQ9JgUvtSTGoL7vTp0zh69CiuX7+O1NRUODg4wNPTE71794avr6/ouKKS2sTERLz//vs4e/YsdDpd7sE1Gvzzzz+iG1fkmNRKQw1tlAOTWumU1P0m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amijHNTyOcZjSUQlBJNaIiIiItH4rUwpeKMYEREREakeK7VEREREorFSqxSs1BIRERGR6rFSS0RERCQaK7VKwUotEREREakeK7VEREREorFSqxRMaomIiIhEy7B0A+j/sfsBEREREakeK7VEREREorH7gVKwUktEREREqsdKLREREZForNQqBSu1RERERKR6rNQSERERicZKrVKwUktEREREqsdKLREREZForNQqBZNaIiIiItGY1CoFux8QERERkeqxUpudg8TxUiSOB0jfRkD6dtpIHI+kJXVRQY7XWw2FD7Wc5yX1WPI8pyLDF1IpWKklIiIiItVjpZaIiIhINFZqlYKVWiIiIiJSPVZqiYiIiERjpVYpWKklIiIiItVjpZaIiIhINFZqlYJJLREREZFoTGqVgt0PiIiIiEj1WKklIiIiEi3D0g2g/8dKLRERERGpHiu1RERERKKxT61SsFJLRERERKqnyKQ2KioKEydORMuWLdGsWTOMGDECFy9eLFCMixcvol69ehg1apRMrSQiIqKSrhQyZfujglFcUnv//n2MGDECiYmJCAwMxKZNm2Bvbw8/Pz9cuXIlXzG0Wi0WLlwIQRBkbi0RERERKYHi+tRu2rQJOp0OW7duhYuLCwCgRYsW6N69O1avXo2dO3fmK8azZ8/QsGFDmVtLREREJRkrqsqhqEqtIAgIDQ2Fj4+PMaEFABsbG3Tp0gXh4eFISkrKM8a1a9ewbds2zJ49G2XLlpW7yURERFSCsfuBcigqqY2JiUFSUhLq1q1rts7DwwM6nQ7Xr1/PdXu9Xo8PPvgArVq1Qv/+/WVsKREREREpiaK6H8TFxQGASZXWwLAsPj4+1+337t2LyMhIHDlyRJ4GEhEREWXDiqpyKKpSq9VmjfVmbW1tts6wLD09PcdtY2JisGrVKkyePBk1atSQr5FEREREpDiKqtTa2NgAADIyzKecMyS8dnZ2OW67ePFiVK9eHePGjRPfgPLiN82RWsZjlrqdapkxUC2vj9RsJI4nx3GUuo0AX28lU8M5VFLPH3opNbzFSgpFJbXu7u4AgMTERLN1CQkJAAA3NzezdSdPnsTp06fx1VdfIT093VjN1el0AIDnz5/D2tramDQTERERUfGiuKS2QoUKiIqKMlsXGRkJa2treHh4mK0LCwuDTqfDyJEjc4zbvHlzTJkyBVOn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BUruNLmsepDSqOE8l2OaXPN7wQvvmQVTmbsy3pBekylaQSiu+wERERERUUEprvsBERERkWrwhi7FYKWWiIiIiFSPlVoiIiIisdhfXzFYqSUiIiIi1WOlloiIiEgsVmoVg0ktERERkVhMahWD3Q+IiIiISPVYqSUiIiISi5VaxWClloiIiIhUj5VaIiIiIrFYqVUMVmqJiIiISPVYqc1mAVpIGq8K/pA0HgDMkTwi8FZTaePZp0gbDwDwXIaYUrdTjjbayBBT6qqCHFUKNVQ+1NBGIpIfrwWKwUotEREREakeK7VEREREYrFSqxhMaomIiIjEYlKrGOx+QERERESqx0otERERkVis1CoGK7VEREREpHqs1BIRERGJxUqtYrBSS0RERESqx0otERERkVgZlm4AGbBSS0RERESqx0otERERkVjsU6sYTGqJiIiIxGJSqxjsfkBEREREqsekloiIiEgsrYx/EsvMzMTq1atRr149vPvuu/neLi0tDYGBgejQoQMaNmyIrl27YsuWLdDpdNI3shDY/YCIiIiomHv06BFmzJiB+/fvQxCEAm377rvv4sKFC5g5cybq1auHS5cuYd26dYiPj8f8+fNlanHBMaklIiIiEkslfWrnzJmD0qVL4+DBg/D19c33duHh4QgLC8OiRYswfPhwAEDLli2RlJSEHTt2YMyYMahWrZpczS4Qdj8gIiIiKuaGDBmCnTt3wtXVtUDbhYSEQKPR4PXXXzdZ3rt3b+h0OoSFhUnZzEJhpZaIiIhILJVUanv37i1qu6ioKLi5ucHJyclkeZ06daDRaHD16lUpmicJJrXZxf0uabiHrt9IGg8APsAQyWPWkThe7+oSBwSAezLEjJEhptTkuFhKHVMNbZQjpko+yIiICiMuLg4uLi5my21sbODg4ID4+HgLtCpnTGqJiIiIxLLgF9yMjAzcu5d31cfR0RFubm6in0Or1cLe3j7HddbW1khPTxcdW2pMaomIiIjEsmBSGxsbi169euX5mAEDBmDZsmWin8PW1hYZGRk5rtNqtbCzsxMdW2pMaomIiIhUqFq1aoiKipL1Odzc3HDjxg2z5enp6UhJSSlUFVhqHP2AiIiISCwVTb4gRv369fH48WMkJiaaLDfcIObt7W2JZuWISS0RERER5ahHjx4AgO+//95k+eHDh2FtbY1OnTpZolk5YvcD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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "phase.sel(selection, method=\"nearest\").sel(vdims=\"z\").plot(cmap=\"hsv\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can also use `hvplot` functionality to visualise the spatially resolved power spectra. This way we can move the slider to particular frequencies and visualise the spatially resolved power.\n", "\n", "To do this we need to import `hvplot.xarray`, this gives our `xarray` the additional plotting functionality." ] }, { "cell_type": "code", "execution_count": 8, "metadata": { "tags": [ "nbval-ignore-output" ] }, "outputs": [ { "data": { "text/html": [ "" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "(function(root) {\n", " function now() {\n", " return new Date();\n", " }\n", "\n", " const force = true;\n", " const py_version = '3.7.3'.replace('rc', '-rc.').replace('.dev', '-dev.');\n", " const reloading = false;\n", " const Bokeh = root.Bokeh;\n", "\n", " // Set a timeout for this load but only if we are not already initializing\n", " if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_failed_load = false;\n", " }\n", "\n", " function run_callbacks() {\n", " try {\n", " root._bokeh_onload_callbacks.forEach(function(callback) {\n", " if (callback != null)\n", " callback();\n", " });\n", " } finally {\n", " delete root._bokeh_onload_callbacks;\n", " }\n", " console.debug(\"Bokeh: all callbacks have finished\");\n", " }\n", "\n", " function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n", " if (css_urls == null) css_urls = [];\n", " if (js_urls == null) js_urls = [];\n", " if (js_modules == null) js_modules = [];\n", " if (js_exports == null) js_exports = {};\n", "\n", " root._bokeh_onload_callbacks.push(callback);\n", "\n", " if (root._bokeh_is_loading > 0) {\n", " // Don't load bokeh if it is still initializing\n", " console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n", " return null;\n", " } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n", " // There is nothing to load\n", " run_callbacks();\n", " return null;\n", " }\n", "\n", " function on_load() {\n", " root._bokeh_is_loading--;\n", " if (root._bokeh_is_loading === 0) {\n", " console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n", " run_callbacks()\n", " }\n", " }\n", " window._bokeh_on_load = on_load\n", "\n", " function on_error(e) {\n", " const src_el = e.srcElement\n", " console.error(\"failed to load \" + (src_el.href || src_el.src));\n", " }\n", "\n", " const skip = [];\n", " if (window.requirejs) {\n", " window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n", " root._bokeh_is_loading = css_urls.length + 0;\n", " } else {\n", " root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n", " }\n", "\n", " const existing_stylesheets = []\n", " const links = document.getElementsByTagName('link')\n", " for (let i = 0; i < links.length; i++) {\n", " const link = links[i]\n", " if (link.href != null) {\n", " existing_stylesheets.push(link.href)\n", " }\n", " }\n", " for (let i = 0; i < css_urls.length; i++) {\n", " const url = css_urls[i];\n", " const escaped = encodeURI(url)\n", " if (existing_stylesheets.indexOf(escaped) !== -1) {\n", " on_load()\n", " continue;\n", " }\n", " const element = document.createElement(\"link\");\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.rel = \"stylesheet\";\n", " element.type = \"text/css\";\n", " element.href = url;\n", " console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n", " document.body.appendChild(element);\n", " } var existing_scripts = []\n", " const scripts = document.getElementsByTagName('script')\n", " for (let i = 0; i < scripts.length; i++) {\n", " var script = scripts[i]\n", " if (script.src != null) {\n", " existing_scripts.push(script.src)\n", " }\n", " }\n", " for (let i = 0; i < js_urls.length; i++) {\n", " const url = js_urls[i];\n", " const escaped = encodeURI(url)\n", " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", " if (!window.requirejs) {\n", " on_load();\n", " }\n", " continue;\n", " }\n", " const element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " for (let i = 0; i < js_modules.length; i++) {\n", " const url = js_modules[i];\n", " const escaped = encodeURI(url)\n", " if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n", " if (!window.requirejs) {\n", " on_load();\n", " }\n", " continue;\n", " }\n", " var element = document.createElement('script');\n", " element.onload = on_load;\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.src = url;\n", " element.type = \"module\";\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " document.head.appendChild(element);\n", " }\n", " for (const name in js_exports) {\n", " const url = js_exports[name];\n", " const escaped = encodeURI(url)\n", " if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n", " if (!window.requirejs) {\n", " on_load();\n", " }\n", " continue;\n", " }\n", " var element = document.createElement('script');\n", " element.onerror = on_error;\n", " element.async = false;\n", " element.type = \"module\";\n", " console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n", " element.textContent = `\n", " import ${name} from \"${url}\"\n", " window.${name} = ${name}\n", " window._bokeh_on_load()\n", " `\n", " document.head.appendChild(element);\n", " }\n", " if (!js_urls.length && !js_modules.length) {\n", " on_load()\n", " }\n", " };\n", "\n", " function inject_raw_css(css) {\n", " const element = document.createElement(\"style\");\n", " element.appendChild(document.createTextNode(css));\n", " document.body.appendChild(element);\n", " }\n", "\n", " const js_urls = [\"https://cdn.holoviz.org/panel/1.7.1/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.3.min.js\", \"https://cdn.holoviz.org/panel/1.7.1/dist/panel.min.js\"];\n", " const js_modules = [];\n", " const js_exports = {};\n", " const css_urls = [];\n", " const inline_js = [ function(Bokeh) {\n", " Bokeh.set_log_level(\"info\");\n", " },\n", "function(Bokeh) {} // ensure no trailing comma for IE\n", " ];\n", "\n", " function run_inline_js() {\n", " if ((root.Bokeh !== undefined) || (force === true)) {\n", " for (let i = 0; i < inline_js.length; i++) {\n", " try {\n", " inline_js[i].call(root, root.Bokeh);\n", " } catch(e) {\n", " if (!reloading) {\n", " throw e;\n", " }\n", " }\n", " }\n", " // Cache old bokeh versions\n", " if (Bokeh != undefined && !reloading) {\n", " var NewBokeh = root.Bokeh;\n", " if (Bokeh.versions === undefined) {\n", " Bokeh.versions = new Map();\n", " }\n", " if (NewBokeh.version !== Bokeh.version) {\n", " Bokeh.versions.set(NewBokeh.version, NewBokeh)\n", " }\n", " root.Bokeh = Bokeh;\n", " }\n", " } else if (Date.now() < root._bokeh_timeout) {\n", " setTimeout(run_inline_js, 100);\n", " } else if (!root._bokeh_failed_load) {\n", " console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n", " root._bokeh_failed_load = true;\n", " }\n", " root._bokeh_is_initializing = false\n", " }\n", "\n", " function load_or_wait() {\n", " // Implement a backoff loop that tries to ensure we do not load multiple\n", " // versions of Bokeh and its dependencies at the same time.\n", " // In recent versions we use the root._bokeh_is_initializing flag\n", " // to determine whether there is an ongoing attempt to initialize\n", " // bokeh, however for backward compatibility we also try to ensure\n", " // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n", " // before older versions are fully initialized.\n", " if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n", " // If the timeout and bokeh was not successfully loaded we reset\n", " // everything and try loading again\n", " root._bokeh_timeout = Date.now() + 5000;\n", " root._bokeh_is_initializing = false;\n", " root._bokeh_onload_callbacks = undefined;\n", " root._bokeh_is_loading = 0\n", " console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n", " load_or_wait();\n", " } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n", " setTimeout(load_or_wait, 100);\n", " } else {\n", " root._bokeh_is_initializing = true\n", " root._bokeh_onload_callbacks = []\n", " const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n", " if (!reloading && !bokeh_loaded) {\n", " if (root.Bokeh) {\n", " root.Bokeh = undefined;\n", " }\n", " console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n", " }\n", " load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n", " console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n", " run_inline_js();\n", " });\n", " }\n", " }\n", " // Give older versions of the autoload script a head-start to ensure\n", " // they initialize before we start loading newer version.\n", " setTimeout(load_or_wait, 100)\n", "}(window));" ], "application/vnd.holoviews_load.v0+json": "(function(root) {\n function now() {\n return new Date();\n }\n\n const force = true;\n const py_version = '3.7.3'.replace('rc', '-rc.').replace('.dev', '-dev.');\n const reloading = false;\n const Bokeh = root.Bokeh;\n\n // Set a timeout for this load but only if we are not already initializing\n if (typeof (root._bokeh_timeout) === \"undefined\" || (force || !root._bokeh_is_initializing)) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks;\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, js_modules, js_exports, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n if (js_modules == null) js_modules = [];\n if (js_exports == null) js_exports = {};\n\n root._bokeh_onload_callbacks.push(callback);\n\n if (root._bokeh_is_loading > 0) {\n // Don't load bokeh if it is still initializing\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n } else if (js_urls.length === 0 && js_modules.length === 0 && Object.keys(js_exports).length === 0) {\n // There is nothing to load\n run_callbacks();\n return null;\n }\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n window._bokeh_on_load = on_load\n\n function on_error(e) {\n const src_el = e.srcElement\n console.error(\"failed to load \" + (src_el.href || src_el.src));\n }\n\n const skip = [];\n if (window.requirejs) {\n window.requirejs.config({'packages': {}, 'paths': {}, 'shim': {}});\n root._bokeh_is_loading = css_urls.length + 0;\n } else {\n root._bokeh_is_loading = css_urls.length + js_urls.length + js_modules.length + Object.keys(js_exports).length;\n }\n\n const existing_stylesheets = []\n const links = document.getElementsByTagName('link')\n for (let i = 0; i < links.length; i++) {\n const link = links[i]\n if (link.href != null) {\n existing_stylesheets.push(link.href)\n }\n }\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const escaped = encodeURI(url)\n if (existing_stylesheets.indexOf(escaped) !== -1) {\n on_load()\n continue;\n }\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n } var existing_scripts = []\n const scripts = document.getElementsByTagName('script')\n for (let i = 0; i < scripts.length; i++) {\n var script = scripts[i]\n if (script.src != null) {\n existing_scripts.push(script.src)\n }\n }\n for (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (let i = 0; i < js_modules.length; i++) {\n const url = js_modules[i];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) !== -1 || existing_scripts.indexOf(escaped) !== -1) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n for (const name in js_exports) {\n const url = js_exports[name];\n const escaped = encodeURI(url)\n if (skip.indexOf(escaped) >= 0 || root[name] != null) {\n if (!window.requirejs) {\n on_load();\n }\n continue;\n }\n var element = document.createElement('script');\n element.onerror = on_error;\n element.async = false;\n element.type = \"module\";\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n element.textContent = `\n import ${name} from \"${url}\"\n window.${name} = ${name}\n window._bokeh_on_load()\n `\n document.head.appendChild(element);\n }\n if (!js_urls.length && !js_modules.length) {\n on_load()\n }\n };\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n const js_urls = [\"https://cdn.holoviz.org/panel/1.7.1/dist/bundled/reactiveesm/es-module-shims@^1.10.0/dist/es-module-shims.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.3.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.3.min.js\", \"https://cdn.holoviz.org/panel/1.7.1/dist/panel.min.js\"];\n const js_modules = [];\n const js_exports = {};\n const css_urls = [];\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {} // ensure no trailing comma for IE\n ];\n\n function run_inline_js() {\n if ((root.Bokeh !== undefined) || (force === true)) {\n for (let i = 0; i < inline_js.length; i++) {\n try {\n inline_js[i].call(root, root.Bokeh);\n } catch(e) {\n if (!reloading) {\n throw e;\n }\n }\n }\n // Cache old bokeh versions\n if (Bokeh != undefined && !reloading) {\n var NewBokeh = root.Bokeh;\n if (Bokeh.versions === undefined) {\n Bokeh.versions = new Map();\n }\n if (NewBokeh.version !== Bokeh.version) {\n Bokeh.versions.set(NewBokeh.version, NewBokeh)\n }\n root.Bokeh = Bokeh;\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n }\n root._bokeh_is_initializing = false\n }\n\n function load_or_wait() {\n // Implement a backoff loop that tries to ensure we do not load multiple\n // versions of Bokeh and its dependencies at the same time.\n // In recent versions we use the root._bokeh_is_initializing flag\n // to determine whether there is an ongoing attempt to initialize\n // bokeh, however for backward compatibility we also try to ensure\n // that we do not start loading a newer (Panel>=1.0 and Bokeh>3) version\n // before older versions are fully initialized.\n if (root._bokeh_is_initializing && Date.now() > root._bokeh_timeout) {\n // If the timeout and bokeh was not successfully loaded we reset\n // everything and try loading again\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_is_initializing = false;\n root._bokeh_onload_callbacks = undefined;\n root._bokeh_is_loading = 0\n console.log(\"Bokeh: BokehJS was loaded multiple times but one version failed to initialize.\");\n load_or_wait();\n } else if (root._bokeh_is_initializing || (typeof root._bokeh_is_initializing === \"undefined\" && root._bokeh_onload_callbacks !== undefined)) {\n setTimeout(load_or_wait, 100);\n } else {\n root._bokeh_is_initializing = true\n root._bokeh_onload_callbacks = []\n const bokeh_loaded = root.Bokeh != null && (root.Bokeh.version === py_version || (root.Bokeh.versions !== undefined && root.Bokeh.versions.has(py_version)));\n if (!reloading && !bokeh_loaded) {\n if (root.Bokeh) {\n root.Bokeh = undefined;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n }\n load_libs(css_urls, js_urls, js_modules, js_exports, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n }\n // Give older versions of the autoload script a head-start to ensure\n // they initialize before we start loading newer version.\n setTimeout(load_or_wait, 100)\n}(window));" }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": [ "\n", "if ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n", " window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n", "}\n", "\n", "\n", " function JupyterCommManager() {\n", " }\n", "\n", " JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n", " if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", " comm_manager.register_target(comm_id, function(comm) {\n", " comm.on_msg(msg_handler);\n", " });\n", " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", " window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n", " comm.onMsg = msg_handler;\n", " });\n", " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", " google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n", " var messages = comm.messages[Symbol.asyncIterator]();\n", " function processIteratorResult(result) {\n", " var message = result.value;\n", " console.log(message)\n", " var content = {data: message.data, comm_id};\n", " var buffers = []\n", " for (var buffer of message.buffers || []) {\n", " buffers.push(new DataView(buffer))\n", " }\n", " var metadata = message.metadata || {};\n", " var msg = {content, buffers, metadata}\n", " msg_handler(msg);\n", " return messages.next().then(processIteratorResult);\n", " }\n", " return messages.next().then(processIteratorResult);\n", " })\n", " }\n", " }\n", "\n", " JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n", " if (comm_id in window.PyViz.comms) {\n", " return window.PyViz.comms[comm_id];\n", " } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n", " var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n", " var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n", " if (msg_handler) {\n", " comm.on_msg(msg_handler);\n", " }\n", " } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n", " var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n", " comm.open();\n", " if (msg_handler) {\n", " comm.onMsg = msg_handler;\n", " }\n", " } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n", " var comm_promise = google.colab.kernel.comms.open(comm_id)\n", " comm_promise.then((comm) => {\n", " window.PyViz.comms[comm_id] = comm;\n", " if (msg_handler) {\n", " var messages = comm.messages[Symbol.asyncIterator]();\n", " function processIteratorResult(result) {\n", " var message = result.value;\n", " var content = {data: message.data};\n", " var metadata = message.metadata || {comm_id};\n", " var msg = {content, metadata}\n", " msg_handler(msg);\n", " return messages.next().then(processIteratorResult);\n", " }\n", " return messages.next().then(processIteratorResult);\n", " }\n", " })\n", " var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n", " return comm_promise.then((comm) => {\n", " comm.send(data, metadata, buffers, disposeOnDone);\n", " });\n", " };\n", " var comm = {\n", " send: sendClosure\n", " };\n", " }\n", " window.PyViz.comms[comm_id] = comm;\n", " return comm;\n", " }\n", " window.PyViz.comm_manager = new JupyterCommManager();\n", " \n", "\n", "\n", "var JS_MIME_TYPE = 'application/javascript';\n", "var HTML_MIME_TYPE = 'text/html';\n", "var EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\n", "var CLASS_NAME = 'output';\n", "\n", "/**\n", " * Render data to the DOM node\n", " */\n", "function render(props, node) {\n", " var div = document.createElement(\"div\");\n", " var script = document.createElement(\"script\");\n", " node.appendChild(div);\n", " node.appendChild(script);\n", "}\n", "\n", "/**\n", " * Handle when a new output is added\n", " */\n", "function handle_add_output(event, handle) {\n", " var output_area = handle.output_area;\n", " var output = handle.output;\n", " if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n", " return\n", " }\n", " var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n", " var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n", " if (id !== undefined) {\n", " var nchildren = toinsert.length;\n", " var html_node = toinsert[nchildren-1].children[0];\n", " html_node.innerHTML = output.data[HTML_MIME_TYPE];\n", " var scripts = [];\n", " var nodelist = html_node.querySelectorAll(\"script\");\n", " for (var i in nodelist) {\n", " if (nodelist.hasOwnProperty(i)) {\n", " scripts.push(nodelist[i])\n", " }\n", " }\n", "\n", " scripts.forEach( function (oldScript) {\n", " var newScript = document.createElement(\"script\");\n", " var attrs = [];\n", " var nodemap = oldScript.attributes;\n", " for (var j in nodemap) {\n", " if (nodemap.hasOwnProperty(j)) {\n", " attrs.push(nodemap[j])\n", " }\n", " }\n", " attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n", " newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n", " oldScript.parentNode.replaceChild(newScript, oldScript);\n", " });\n", " if (JS_MIME_TYPE in output.data) {\n", " toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n", " }\n", " output_area._hv_plot_id = id;\n", " if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n", " window.PyViz.plot_index[id] = Bokeh.index[id];\n", " } else {\n", " window.PyViz.plot_index[id] = null;\n", " }\n", " } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n", " var bk_div = document.createElement(\"div\");\n", " bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n", " var script_attrs = bk_div.children[0].attributes;\n", " for (var i = 0; i < script_attrs.length; i++) {\n", " toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n", " }\n", " // store reference to server id on output_area\n", " output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n", " }\n", "}\n", "\n", "/**\n", " * Handle when an output is cleared or removed\n", " */\n", "function handle_clear_output(event, handle) {\n", " var id = handle.cell.output_area._hv_plot_id;\n", " var server_id = handle.cell.output_area._bokeh_server_id;\n", " if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n", " var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n", " if (server_id !== null) {\n", " comm.send({event_type: 'server_delete', 'id': server_id});\n", " return;\n", " } else if (comm !== null) {\n", " comm.send({event_type: 'delete', 'id': id});\n", " }\n", " delete PyViz.plot_index[id];\n", " if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n", " var doc = window.Bokeh.index[id].model.document\n", " doc.clear();\n", " const i = window.Bokeh.documents.indexOf(doc);\n", " if (i > -1) {\n", " window.Bokeh.documents.splice(i, 1);\n", " }\n", " }\n", "}\n", "\n", "/**\n", " * Handle kernel restart event\n", " */\n", "function handle_kernel_cleanup(event, handle) {\n", " delete PyViz.comms[\"hv-extension-comm\"];\n", " window.PyViz.plot_index = {}\n", "}\n", "\n", "/**\n", " * Handle update_display_data messages\n", " */\n", "function handle_update_output(event, handle) {\n", " handle_clear_output(event, {cell: {output_area: handle.output_area}})\n", " handle_add_output(event, handle)\n", "}\n", "\n", "function register_renderer(events, OutputArea) {\n", " function append_mime(data, metadata, element) {\n", " // create a DOM node to render to\n", " var toinsert = this.create_output_subarea(\n", " metadata,\n", " CLASS_NAME,\n", " EXEC_MIME_TYPE\n", " );\n", " this.keyboard_manager.register_events(toinsert);\n", " // Render to node\n", " var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n", " render(props, toinsert[0]);\n", " element.append(toinsert);\n", " return toinsert\n", " }\n", "\n", " events.on('output_added.OutputArea', handle_add_output);\n", " events.on('output_updated.OutputArea', handle_update_output);\n", " events.on('clear_output.CodeCell', handle_clear_output);\n", " events.on('delete.Cell', handle_clear_output);\n", " events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n", "\n", " OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n", " safe: true,\n", " index: 0\n", " });\n", "}\n", "\n", "if (window.Jupyter !== undefined) {\n", " try {\n", " var events = require('base/js/events');\n", " var OutputArea = require('notebook/js/outputarea').OutputArea;\n", " if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n", " register_renderer(events, OutputArea);\n", " }\n", " } catch(err) {\n", " }\n", "}\n" ], "application/vnd.holoviews_load.v0+json": "\nif ((window.PyViz === undefined) || (window.PyViz instanceof HTMLElement)) {\n window.PyViz = {comms: {}, comm_status:{}, kernels:{}, receivers: {}, plot_index: []}\n}\n\n\n function JupyterCommManager() {\n }\n\n JupyterCommManager.prototype.register_target = function(plot_id, comm_id, msg_handler) {\n if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n comm_manager.register_target(comm_id, function(comm) {\n comm.on_msg(msg_handler);\n });\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n window.PyViz.kernels[plot_id].registerCommTarget(comm_id, function(comm) {\n comm.onMsg = msg_handler;\n });\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n google.colab.kernel.comms.registerTarget(comm_id, (comm) => {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n console.log(message)\n var content = {data: message.data, comm_id};\n var buffers = []\n for (var buffer of message.buffers || []) {\n buffers.push(new DataView(buffer))\n }\n var metadata = message.metadata || {};\n var msg = {content, buffers, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n })\n }\n }\n\n JupyterCommManager.prototype.get_client_comm = function(plot_id, comm_id, msg_handler) {\n if (comm_id in window.PyViz.comms) {\n return window.PyViz.comms[comm_id];\n } else if (window.comm_manager || ((window.Jupyter !== undefined) && (Jupyter.notebook.kernel != null))) {\n var comm_manager = window.comm_manager || Jupyter.notebook.kernel.comm_manager;\n var comm = comm_manager.new_comm(comm_id, {}, {}, {}, comm_id);\n if (msg_handler) {\n comm.on_msg(msg_handler);\n }\n } else if ((plot_id in window.PyViz.kernels) && (window.PyViz.kernels[plot_id])) {\n var comm = window.PyViz.kernels[plot_id].connectToComm(comm_id);\n comm.open();\n if (msg_handler) {\n comm.onMsg = msg_handler;\n }\n } else if (typeof google != 'undefined' && google.colab.kernel != null) {\n var comm_promise = google.colab.kernel.comms.open(comm_id)\n comm_promise.then((comm) => {\n window.PyViz.comms[comm_id] = comm;\n if (msg_handler) {\n var messages = comm.messages[Symbol.asyncIterator]();\n function processIteratorResult(result) {\n var message = result.value;\n var content = {data: message.data};\n var metadata = message.metadata || {comm_id};\n var msg = {content, metadata}\n msg_handler(msg);\n return messages.next().then(processIteratorResult);\n }\n return messages.next().then(processIteratorResult);\n }\n })\n var sendClosure = (data, metadata, buffers, disposeOnDone) => {\n return comm_promise.then((comm) => {\n comm.send(data, metadata, buffers, disposeOnDone);\n });\n };\n var comm = {\n send: sendClosure\n };\n }\n window.PyViz.comms[comm_id] = comm;\n return comm;\n }\n window.PyViz.comm_manager = new JupyterCommManager();\n \n\n\nvar JS_MIME_TYPE = 'application/javascript';\nvar HTML_MIME_TYPE = 'text/html';\nvar EXEC_MIME_TYPE = 'application/vnd.holoviews_exec.v0+json';\nvar CLASS_NAME = 'output';\n\n/**\n * Render data to the DOM node\n */\nfunction render(props, node) {\n var div = document.createElement(\"div\");\n var script = document.createElement(\"script\");\n node.appendChild(div);\n node.appendChild(script);\n}\n\n/**\n * Handle when a new output is added\n */\nfunction handle_add_output(event, handle) {\n var output_area = handle.output_area;\n var output = handle.output;\n if ((output.data == undefined) || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n return\n }\n var id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n if (id !== undefined) {\n var nchildren = toinsert.length;\n var html_node = toinsert[nchildren-1].children[0];\n html_node.innerHTML = output.data[HTML_MIME_TYPE];\n var scripts = [];\n var nodelist = html_node.querySelectorAll(\"script\");\n for (var i in nodelist) {\n if (nodelist.hasOwnProperty(i)) {\n scripts.push(nodelist[i])\n }\n }\n\n scripts.forEach( function (oldScript) {\n var newScript = document.createElement(\"script\");\n var attrs = [];\n var nodemap = oldScript.attributes;\n for (var j in nodemap) {\n if (nodemap.hasOwnProperty(j)) {\n attrs.push(nodemap[j])\n }\n }\n attrs.forEach(function(attr) { newScript.setAttribute(attr.name, attr.value) });\n newScript.appendChild(document.createTextNode(oldScript.innerHTML));\n oldScript.parentNode.replaceChild(newScript, oldScript);\n });\n if (JS_MIME_TYPE in output.data) {\n toinsert[nchildren-1].children[1].textContent = output.data[JS_MIME_TYPE];\n }\n output_area._hv_plot_id = id;\n if ((window.Bokeh !== undefined) && (id in Bokeh.index)) {\n window.PyViz.plot_index[id] = Bokeh.index[id];\n } else {\n window.PyViz.plot_index[id] = null;\n }\n } else if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n var bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n var script_attrs = bk_div.children[0].attributes;\n for (var i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].childNodes[1].setAttribute(script_attrs[i].name, script_attrs[i].value);\n }\n // store reference to server id on output_area\n output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n }\n}\n\n/**\n * Handle when an output is cleared or removed\n */\nfunction handle_clear_output(event, handle) {\n var id = handle.cell.output_area._hv_plot_id;\n var server_id = handle.cell.output_area._bokeh_server_id;\n if (((id === undefined) || !(id in PyViz.plot_index)) && (server_id !== undefined)) { return; }\n var comm = window.PyViz.comm_manager.get_client_comm(\"hv-extension-comm\", \"hv-extension-comm\", function () {});\n if (server_id !== null) {\n comm.send({event_type: 'server_delete', 'id': server_id});\n return;\n } else if (comm !== null) {\n comm.send({event_type: 'delete', 'id': id});\n }\n delete PyViz.plot_index[id];\n if ((window.Bokeh !== undefined) & (id in window.Bokeh.index)) {\n var doc = window.Bokeh.index[id].model.document\n doc.clear();\n const i = window.Bokeh.documents.indexOf(doc);\n if (i > -1) {\n window.Bokeh.documents.splice(i, 1);\n }\n }\n}\n\n/**\n * Handle kernel restart event\n */\nfunction handle_kernel_cleanup(event, handle) {\n delete PyViz.comms[\"hv-extension-comm\"];\n window.PyViz.plot_index = {}\n}\n\n/**\n * Handle update_display_data messages\n */\nfunction handle_update_output(event, handle) {\n handle_clear_output(event, {cell: {output_area: handle.output_area}})\n handle_add_output(event, handle)\n}\n\nfunction register_renderer(events, OutputArea) {\n function append_mime(data, metadata, element) {\n // create a DOM node to render to\n var toinsert = this.create_output_subarea(\n metadata,\n CLASS_NAME,\n EXEC_MIME_TYPE\n );\n this.keyboard_manager.register_events(toinsert);\n // Render to node\n var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n render(props, toinsert[0]);\n element.append(toinsert);\n return toinsert\n }\n\n events.on('output_added.OutputArea', handle_add_output);\n events.on('output_updated.OutputArea', handle_update_output);\n events.on('clear_output.CodeCell', handle_clear_output);\n events.on('delete.Cell', handle_clear_output);\n events.on('kernel_ready.Kernel', handle_kernel_cleanup);\n\n OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n safe: true,\n index: 0\n });\n}\n\nif (window.Jupyter !== undefined) {\n try {\n var events = require('base/js/events');\n var OutputArea = require('notebook/js/outputarea').OutputArea;\n if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n register_renderer(events, OutputArea);\n }\n } catch(err) {\n }\n}\n" }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "
\n", "
\n", "" ] }, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "fb604aaf-c279-4e8b-b623-c54a313f30f3" } }, "output_type": "display_data" }, { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "
\n", "
\n", "" ], "text/plain": [ ":DynamicMap [vdims,z,freq_t]\n", " :Image [x,y] (power)" ] }, "execution_count": 8, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "f859b832-37f4-4115-9d2a-768b0d09cabd" } }, "output_type": "execute_result" } ], "source": [ "import hvplot.xarray # noqa: F401\n", "\n", "power.hvplot.image(x=\"x\", y=\"y\", colorbar=True, aspect=\"equal\")" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "nbval-ignore-output" ] }, "source": [ "and also the spatially resolved phase." ] }, { "cell_type": "code", "execution_count": 9, "metadata": { "tags": [ "nbval-ignore-output" ] }, "outputs": [ { "data": {}, "metadata": {}, "output_type": "display_data" }, { "data": { "application/vnd.holoviews_exec.v0+json": "", "text/html": [ "
\n", "
\n", "
\n", "" ], "text/plain": [ ":DynamicMap [vdims,z,freq_t]\n", " :Image [x,y] (phase)" ] }, "execution_count": 9, "metadata": { "application/vnd.holoviews_exec.v0+json": { "id": "1f69339d-4df7-49fc-a532-404f641bb1f8" } }, "output_type": "execute_result" } ], "source": [ "phase.hvplot.image(\n", " x=\"x\", y=\"y\", colorbar=True, cmap=\"hsv\", clim=(-np.pi, np.pi), aspect=\"equal\"\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Clean up system at the end of the tutorial." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# oc.delete(system)" ] } ], "metadata": { "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.13.3" } }, "nbformat": 4, "nbformat_minor": 4 }