{ "cells": [ { "cell_type": "code", "execution_count": 23, "id": "4e41ba38", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import xarray as xr\n", "\n", "import discretisedfield as df" ] }, { "cell_type": "code", "execution_count": 24, "id": "8a12bd03", "metadata": {}, "outputs": [], "source": [ "mesh = df.Mesh(p1=(0, 0, 0), p2=(20, 10, 5), cell=(1, 1, 1))\n", "field0 = df.Field(mesh, dim=3, value=(0, 0, 1), norm=1)" ] }, { "cell_type": "markdown", "id": "d8e60fa7", "metadata": {}, "source": [ "Four additional fields with changed value, to resemble a time series." ] }, { "cell_type": "code", "execution_count": 25, "id": "d31efdd5", "metadata": {}, "outputs": [], "source": [ "field1 = df.Field(mesh, dim=3, value=(1, 0, 2), norm=1)\n", "field2 = df.Field(mesh, dim=3, value=(1, 0, 1), norm=1)\n", "field3 = df.Field(mesh, dim=3, value=(2, 0, 1), norm=1)\n", "field4 = df.Field(mesh, dim=3, value=(1, 0, 0), norm=1)" ] }, { "cell_type": "code", "execution_count": 4, "id": "547ca96e", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAfcAAAFgCAYAAACmFjDcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8QVMy6AAAACXBIWXMAAAsTAAALEwEAmpwYAABopElEQVR4nO3deXwTdf4/8FfStE3SBlracpfSlquipeUuV7HFBZRD2aJYAcVFioigiAcgFURRVgQXuRb0u8rhqiAKgusiiOgKqBWQH70oNC1HoSdNj9zJ/P5IEzJJWjIzSVPq++kjD2w6efeTeSfznplMPm8RwzAMCCGEENJqiH09AEIIIYR4FhV3QgghpJWh4k4IIYS0MlTcCSGEkFaGijshhBDSylBxJ4QQQloZKu6EEEJapZycHKSlpSEhIQGTJ0/G2bNnm1z+o48+woIFC9yOoVKp8Mwzz2DAgAEYPXo09uzZ44VnwQ8Vd0IIIa2OTqfD3LlzMWXKFPz222+YMWMG5s+fD71e77SsWq3G3//+d7z99tucYixfvhxyuRwnTpzAhg0bsHbtWuTl5TXL87sdKu6EEEJanVOnTkEsFiM9PR3+/v5IS0tDaGgojh075rTs/PnzUVxcjEceecTtGPX19Thy5AgWLFiAwMBAxMfHY8KECS3m6J2KOyGEkFZHqVQiNjaWdV90dDQKCgqcln3rrbewadMmhIeHux2juLgYEokEkZGRt43vCxJfD4AQQsifl/lGL0GPF3e84PJ+tVoNmUzGuk8qlUKr1Tot26FDB84x1Go1pFKpW/F9gY7cCSGEtDoymcyp0Gq1Wsjlco/E8ER8b6LiTgghxGfMAv9rTExMDJRKJes+pVKJHj16uD22pmJERUXBaDSipKSEd3xvouJOCCHEZ0yMWdCtMUlJSdDr9di5cycMBgP27t2LiooKjBgxwu2xNRUjODgYqampePfdd6HRaHDu3DkcPHgQEydO9MRqEYyKOyGEEJ8xgxF0a0xAQAC2b9+OQ4cOYfDgwdi1axe2bNkCuVyOzMxMZGZm3nZsTcUAgFWrVsFoNCI5ORkLFizAiy++iH79+nls3Qghon7uhBBCfEVzPVrQ42WdlLdf6E+IrpYnhBDiM019bk74o+JOCCHEZ0x08tgrqLgTQgjxmaY+Nyf80QV1hBBCSCtDR+6EEEJ8xkRH7l5BxZ0QQojP0Gl576DiTgghxGfogjrvoOJOCCHEZ+iLcN5BF9QRQgghrQwduRNCCPEZuqDOO6i4E0II8RkT1XavoOJOCCHEZ+gzd++g4k4IIcRnTBD5egitEl1QRwghhLQydOROCCHEZ8z0mbtXUHEnhBDiM3Ra3juouBNCCPEZKu7eQZ+5E0IIIa0MHbkTQgjxGTNDR+7eQMWdEEKIz9Bpee+g4k4IIcRnTPTpsFdQcSeEEOIzdFreO2iXiRBCCGll6MidEEKIz9Bn7t5BxZ0QQojPmBg6gewNVNwJIYT4jJk+HfYKKu6EEEJ8hk7LewftMhFCCCGtDB25E0II8Rn6zN07qLgTQgjxGTOdlvcKKu6EEEJ8hmao8w5aq4QQQlqlnJwcpKWlISEhAZMnT8bZs2ddLnfw4EGkpqYiMTERGRkZqKioAAAcOHAAiYmJrFufPn2wfPlyAMC5c+cQFxfH+v3WrVub6+k1ScQwDOPrQRBCCPlz+rowXtDjJ8acc3m/TqfDfffdh7lz52Lq1KnYv38/3nvvPXz//fcICAiwLZeXl4fHHnsM//d//4fevXtj1apVqKmpwfvvv+8U8+TJk3jxxRexd+9edOzYEZ9//jmOHj2Kf/7zn4KegzfQkTshhBCfMUMs6NaYU6dOQSwWIz09Hf7+/khLS0NoaCiOHTvGWu7rr79Gamoq+vXrB6lUisWLF+Po0aOorKxkLVdfX4+XX34ZK1asQMeOHQFYzgz06dPH8yvFA6i4E0II8RkTIxJ0a4xSqURsbCzrvujoaBQUFLDuKywsRI8ePWw/h4aGQqFQoLCwkLXcBx98gF69emHMmDG2+3Jzc3H69GmkpKRg9OjRWLNmDfR6vZDV4TFU3AkhhPiMCWJBt8ao1WrIZDLWfVKpFFqtlnWfRqOBVCpl3SeTyaDRaGw/19fXY9euXZg/fz5rudDQUKSkpODgwYPYuXMnfvnlF2zYsIHvqvAoKu6EEEJaHZlM5lTItVot5HI5677GCr79ckeOHEHnzp2RkJDAWm7r1q2YNWsW5HI5IiMjkZGRge+++86zT4QnKu6EEEJ8xsyIBd0aExMTA6VSybpPqVSyTsEDQGxsLGu5qqoqqFQq1in9Y8eOYfz48azHqVQqrFmzBnV1dbb7dDodAgMDea0HT6PiTgghxGe8dVo+KSkJer0eO3fuhMFgwN69e1FRUYERI0awlpswYQIOHz6MrKws6HQ6rFu3DqNGjUJoaKhtmT/++MPpqF2hUOC7777Dxo0bYTAYUFxcjK1bt2LKlCkeXT98UXEnhBDiM966oC4gIADbt2/HoUOHMHjwYOzatQtbtmyBXC5HZmYmMjMzAQBxcXFYtWoVli1bhqSkJJSVleGtt966NT6TCTdu3EBERAQrvlgsxtatW5GXl4ehQ4ciPT0d48aNw+OPP+6dFcURfc+dEEKIz+wsGCro8TN6nvLQSFoXmn6WEEKIz1A/d++g4k4IIcRnqCucd1BxJ4QQ4jPUFc47qLgTQgjxGTpy9w5aq4QQQkgrQ0fuhBBCfIb6uXsHFXdCCCE+Y27iu+qEPyruhBBCfIaO3L2DijshhBCfaWp+eMIfrVVCCCGklaEjd0IIIT5jou+5ewUVd0IIIT5Dp+W9g4o7IYQQn6Ejd++gXSZCCCGklaEjd0IIIT5Dp+W9g4o7IYQQn6G55b2DijshhBCfoa5w3kHFnRBCiM/Qkbt30FolhBBCWhk6cieEEOIz1DjGO6i4E0II8RlqHOMdVNwJIYT4DB25ewcVd0IIIT5jpiN3r6C1SgghhLQydOROCCHEZ0x0Wt4rqLgTQgjxGfrM3TuouBNCCPEZmlveO2itEkIIIa0MHbkTQgjxGern7h1U3AkhhPgMfebuHVTcCSGE+Ax95u4dtFYJIYT4jBkiQbem5OTkIC0tDQkJCZg8eTLOnj3rcrmDBw8iNTUViYmJyMjIQEVFhe13H3zwAe6++24kJibabllZWQAAlUqFZ555BgMGDMDo0aOxZ88ej60Xoai4E0IIaXV0Oh3mzp2LKVOm4LfffsOMGTMwf/586PV61nJ5eXl47bXXsG7dOpw8eRLh4eFYuXKl7fe5ubl4/vnncebMGdtt4MCBAIDly5dDLpfjxIkT2LBhA9auXYu8vLxmfZ6NoeJOCCHEZ0yMSNCtMadOnYJYLEZ6ejr8/f2RlpaG0NBQHDt2jLXc119/jdTUVPTr1w9SqRSLFy/G0aNHUVlZCcBS3OPi4pzi19fX48iRI1iwYAECAwMRHx+PCRMmtJijdyruhBBCfMbMiAXdGqNUKhEbG8u6Lzo6GgUFBaz7CgsL0aNHD9vPoaGhUCgUKCwshEajQVFREXbs2IHhw4dj/Pjx2Lt3LwCguLgYEokEkZGRTcb3FbqgjhBCiM9462p5tVoNmUzGuk8qlUKr1bLu02g0kEqlrPtkMhk0Gg0qKirQv39/PProo9iwYQPOnTuHuXPnIiIiAkFBQU6PcxXfV6i4E0II8ZnbXRTHl0wmcyq0Wq0WcrmcdV9jBV8ulyMyMhK7du2y3T9w4EBMnjwZR48exSOPPOJWfF+h0/KEEEJanZiYGCiVStZ9SqWSdQoeAGJjY1nLVVVVQaVSITY2FtnZ2di2bRtreZ1Oh4CAAERFRcFoNKKkpKTJ+L5CxZ0QQojPmBmRoFtjkpKSoNfrsXPnThgMBuzduxcVFRUYMWIEa7kJEybg8OHDyMrKgk6nw7p16zBq1CiEhoZCLpdj48aN+Pbbb2E2m3Hy5EkcOnQIDz30EIKDg5Gamop3330XGo0G586dw8GDBzFx4kRvrzK3iBiGYXw9CEIIIX9Oj5ycK+jxnyVtbfR3eXl5WLFiBfLz8xEVFYUVK1YgISEBmZmZAIDXX38dAPDNN9/gH//4B8rLyzFw4EC89dZbCAsLAwB8//33WL9+Pa5cuYIOHTrg+eefx7hx4wAA1dXVeO2113Dy5EnI5XLMnz8faWlpgp6Pp1BxJ4QQ4jNTTzwt6PF7hm3x0EhaFzotTwghhLQydLU8IYQQn/HW1fJ/dlTcCSGE+Ax1hfMOKu6EEEJ8hoq7d1BxJ4QQ4jNU3L2DLqgjhBBCWhk6cieEEOIzdOTuHVTcCSGE+AxdLe8dVNwJIYT4DB25ewcVd0IIIT5Dxd076II6QgghpJWhI3dCCCE+Q0fu3kHFnRBCiM9QcfcOKu6EEEJ8hqHi7hX0mTshhBDSytCROyGEEJ+h77l7BxV3QgghPkOfuXsHFXdCCCE+Q5+5ewcVd0IIIT5DR+7eQRfUEUIIIa0MHbkTQgjxGTot7x1U3AkhhPgMnZb3DiruhBBCfIZhfD2C1omKOyGEEJ+h77l7B11QRwghhLQydOROCCHEZ+iCOu+g4k4IIcRn6II676DiTgghxGfogjrvoM/cCSGEkFaGjtwJIYT4DH3m7h1U3AkhhPgMFXfvaJHFPfof7zb5e92Vqyjd/E9EvrECIj8/3n+n7vQZ1Hz/Azovfp53DACoPnwE+pLraP/EDEFxynf/G5KQEIQ+MF5QnOvvvY/gpKFQDBnEOwZjNuNK5uto/+TjkMZE845jqq/HleUr0XXFq5C0acM7ju7yZZRu3Y7IVQJz/vtp1PzwIzq/8BzvGABQ/e1hGErLEPH4dEFxynd9Akm7dgi9f5ygOCXrN6DN8GEIHjyQdwzGbMaV5SvRfvYsSKO7845jqqvDlczXEblyOfwUCt5xdEXFKN32oeV9Lub/CWJd1u+o+fF/6LxoIe8YAHDzP/+FsaICETMeExSnfOduSMLDETp+rKA4Jev+gTajRiB44ADeMSw5X4EOT/0Ngd2jmlxWufAF3n+nKd68oC4nJweZmZm4ePEioqKisHLlSiQkJDgtd/DgQaxfvx5VVVUYPHgw3nzzTYSHhwMAsrKysGbNGhQWFiI0NBSzZ8/GtGnTAADnzp3DI488AqlUaouVkZGBuXPneu05ueuO/MxdfT4bZo0G2kKloDia7Bzor16Dsbpa8Hg0eflgjEbeMRizGZqcPKjP5wgai6m2Frriy9BkC4uju3wF5ro6qAXG0eTkAWYzNDm5guKoz+fArNZAV1QkbDznc6C/chVGlUrYeLJzoM7NA2My8Y7BmEwey7n+8hXBudIVX4a5vl7wa0eTkwuYzVALzXl2DsxqNXRFxcLinM+B/vIVGFU1guJosnOg8UTOc/MEr2OjqsaSc4GvHV1RMcz1asGvHSEYRtitMTqdDnPnzsWUKVPw22+/YcaMGZg/fz70ej1ruby8PLz22mtYt24dTp48ifDwcKxcuRIAoFKpMG/ePMyYMQO//fYb/vGPf2DdunU4ceKE7bGjRo3CmTNnbLeWUNiBO7S4W98YQt4g1jcZAEEvbGON5U3GaLWCdjYsb7J6GK5fh7GqinccdU4ewDDQ5F8QtLPhiXUMAOrsbMu/AjdC1nEIicOYTFA35FyTzb/wGFUq6K9c9UzO1WoYSkpgvHmTdxx1dq4l5wJ3MDUN61bohl7tsdeONefZvGMwRiM0efmW8QjY2TBWq6C/es2yg6ks4h1HpyyCWa0RfFBhfS5Cc25dt74s7t5y6tQpiMVipKenw9/fH2lpaQgNDcWxY8dYy3399ddITU1Fv379IJVKsXjxYhw9ehSVlZUoKSlBcnIyJk2aBLFYjL59+2LIkCE4ffo0AMuZgT59+vji6d3WHVfcrW8yQNgL0vomA4RthOw3GEIKj/1zEfK8rM+F0emgLbjEfzwNz8VwoxSGikpeMRijEZpcy4ZVe+ECzAYDrzjGm9XQXyuxjEvAutEWKsFotQ1x+BcM+5xrWlrOLxUKGI9lnRiu34Chkt8OpqWYXrCMK09AzquqYCi5bonjsZwLX8dC43gq59bHCt3BtD4vQ4mwgwohGEYk6NYYpVKJ2NhY1n3R0dEoKChg3VdYWIgePXrYfg4NDYVCoUBhYSHi4uLwzjvv2H6nUqmQlZVlK+i5ubk4ffo0UlJSMHr0aKxZs8bpzABXGzduhEajcbq/rq4Ob731lttx7rjibr9hNZZXwFBaxiuO/RtLc+EizDodvzh2G3dNdg4Ynl/aZG88+B1hMEYjNPkXbsXJ4bfxMFZVwXD9usuxcaEtVIJpWK+M3gBtwUVeceyfh7GsHIbycl5x7J+H9kIBzDzfhPY5VwvJOeu1wy/nZoMBmvx81nj4MFRWwnCj9NZ4eL52tJcK7XKuh+4iv50N+1P6htIyGCoqeMVh5Tz/Asx6fjsbrKIsZIfOEznXG6C1e5/zfX8aKtjbT6Efo/DlreKuVqshk8lY90mlUmgbdvasNBoN6zNzAJDJZE4Ftra2FnPnzkXfvn2RkpICwLIjkJKSgoMHD2Lnzp345ZdfsGHDBs7roKqqCiUlJSgpKcGmTZtQWFho+9l6O3XqFP7973+7HfOOK+6OR1x8N2asxxmN0F4oaHzhRpgNBmgv3HqTGSsrYSgtbeIRrhkq2BtWbcFFmB1egO7QXrxk27AClg0Jn8LjuHPBex07bAT5boQcH8d342r/PBgDz5zrDazHGSsqYCjjvrNhKK+AoezWhlVTwG8HU1twEYxdweK7g+lYaHivY4fH8T1D4nhGhE8hZBjGIecGaAv45FzPepyxvJxfzsvKYbTbMdUW8NvB1BYUgLE7I8J3B9NxnQo5CyUEI/DWGJlM5lTItVot5HI5677GCr79cleuXMG0adPQtm1bbNy4EeKGCzy3bt2KWbNmQS6XIzIyEhkZGfjuu+84rgHgxx9/REpKClJTUwEAaWlpSE1NZd2effZZjB492u2Yd1RxN+v1ThtkPoXHUF4Oo8Obk08cxw0rwO8N4lT0TCZo8rlvhByfg+nmTRiu3xAcR3upkPPOBsMwzkU5O5fzRsis00FzgX3Ez2cnwVBaBmM5++iPX87ZG1bLeLgXMKe/bTTyyrnjujBWVrF2FPmOR3vxEs+cO+9888q5w1keXu/z0jIYHT5S4pXzCwVgDOzPtfnstDg+hu8OpuNzMFZU8jqD6RiH7w6mUN46co+JiYFSyf7IQqlUsk7BA0BsbCxruaqqKqhUKtsp/ezsbDz88MMYMWIENm/ebDvKV6lUWLNmDerq6myP1el0CAwM5LwOHnzwQXzyySfYuXMnGIbBpk2bsGvXLttt9+7d+Oqrr7B+/Xq3Y95Rxd3Vm0ynLIKpXs0pjqujEnV2LhizmVMcV4Wcz8bD1WO4FgyGYRp5XtzGY9ZqnU+fm0y2i5LcZSgthbGSvWE1Vd/67Nxd2gsFgMMFQ9pCJUxqjjl3uY6559zlOua1Q+ecX647LZYjU+cjWl45v+hwfYbJxPqIxx2GGzdgrGJfGGi6Wc36iMcdmvwLgMMV6dqLl2B28Tlkk3EayznHnQ1P5dwTcSw7UM455/raMWs0Hsl5S5aUlAS9Xo+dO3fCYDBg7969qKiowIgRI1jLTZgwAYcPH0ZWVhZ0Oh3WrVuHUaNGITQ0FBUVFZg9ezZmzZqFJUuW2I7YAUChUOC7777Dxo0bYTAYUFxcjK1bt2LKlCm8xtu/f38MHDgQR48exb333osBAwbYbv3790fv3r3hx+FrwHdUcdfk5iFo4AAEdIsEAAQlJiCwexQ0eXmc4mgLCtAmeST8QkIAAIrhSfALDoL+6lW3YzAMA62yCCHjxwIiy95jm9R7Yaqpgamu3u04Zq0WxspKtL0v1XZfyPix0BVf5lR4DDduQBzgD8XI4QAAcXAw2tybzPlzbs2FAgRGdkXQwP4AAP/OnRE8ZLDtwji342TnQtY3DrI4y4Un0t69ILu7L+crltW5eQgaNAABkV0BAEH9Extyzm082gsFaJM8Cn4hbQFYci6WyzjtbDAMA11REULuH2fLedvUFJhUKk47mCa1Bsaqm+yc3z8OuuJibjkvuQ6xNNCWc782Cn45z7+AwG6RCBpgyXlAl84IHjyIc87V2bmQ9b0Lsj69AdzKOddrSDS5+QgaNBABXbsAAIIGJCIwqhvnwqMpuIg2o0fBr61lfgXFiGEQy6Tccm4238p5g7apKTBVV3PawTSp1TBVV6PtmBTbfSH3j4OuqIhTzvXXSiCWSaEYMQwA4Ne2DdqMHuV0puN2NPkXEBjVDUEDEgEAAV27IHjwQM459wgvnZcPCAjA9u3bcejQIQwePBi7du3Cli1bIJfLkZmZiczMTABAXFwcVq1ahWXLliEpKQllZWW2C9f27t2LqqoqbNmyBYmJibbb+vXrIRaLsXXrVuTl5WHo0KFIT0/HuHHj8PjjjwtaHZ06dcLBgwexatUqZGZmYvny5aybu0QM36uBvKixSWxMdfXwCw5C6fb/gyY7B6GTJ6DN6GSY69XwCw5yO741zrW3/g5DaRnaz54F2V1xMGu08AuS3z4ALBevMQYDxDIZiha9BJjN6PzKi/APDwNjNELscIFGY8xaLUQSCYyqGlxbtRoAEPXuGsupXz8/iP393XtO9WqIZVJoCy6idMs2+IWGIvK1ZTDV1UMcJIdI5N5EEdbla38+gaq9X0Laqyc6zsuwrTN3WZev+nI/ao7/BMXwJIRN/SvvOKXbPoQmJxehD05Cm+SRvHN+dfUaGMvK0f6pJyGL68M/58+/CDAMuix5CZKwdvxyXq3CtTcsG5GodX8Ho9dDJJFAJHFvbilbzvMLUPrP7ZCEtUPX5Uv55/x/P6Pqi68g7d0LHZ+ewztXlfu+Qu2P/4NixDCEpU3hn/N/fgBNbh7aPTQZilEj+Of8zbdhLK9A+zl/g6xPb+45b8ht0XOLAQBdlr0MSWgov5zfrMa1N98GAHR/b63tfq451+Tlo2zbh5CEh6Prq6/wWsfiIDlqf/wfqr7cD1mf3ugw96km43hrEpuee94Q9PiCqa96aCQtwxtvvIHdu3ejd+/eUDhMAiUSibBjxw634rTIGeoa4+pFJxKJOL2oG40jFrv9hgfQ6BuSyxsVQKMbB3c3GlaNjd0T66alxaGcW1DOecShnDe5PNc4ntDyDi9967vvvsOrr76Kxx4TNhPiHXVanhBCCGnN6urqnK4L4IOKOyGEEJ/x1tXyd6rU1FR8++23guM0+2n5iooKTJw4EatXr8a9997b3H+eEEJIS9IKC7QQHTt2xKZNm/D999+je/fuCAgIYP1+1apVbsVp9uK+bNkyVAts1EIIIaR1oM/c2c6cOYN+/foBAEpK2N/scPciWaCZi/u///1vyGQydOrUqTn/LCGEkJaKijvLzp07PRKn2T5zLyoqwr/+9S+sWLGiuf4kIYQQcscxGo345ptvsHHjRlRXV+PXX39FFcfGPs1y5G40GvHiiy9i2bJlCGmYOEYQD53H4To72R3FU8+tpZwz89Q4WnHOGVPryrnHpuDw1HppiTz0emZ8ePjcGi+KE6KsrAyPP/44SktLodVqMXnyZPzrX//CuXPn8PHHHztNn9uYZjly37x5M+Li4pCcnOyReIEx3QGxGIFR3QXFkcbGQBwUBP+OHYXF6REL/w7t4ecw4QAXfkFy+HfuhMDYGNvsZ3z4t4+AuE0bSHvE3n7hJgR26wb4+VnWtZA40d0b/o0WFCcgujvgJ0Zg9yhBcaSxMRAHB8G/YwdhcXrEwr9jB4gVwbxj+AXJ4d+pEwJjY4XlvEMExAqF8JxHWXMuLFdSD+U8MLo74OeHgKhuwsYTGwOxIhj+HYTlPLBnLPw7dYQ4iH/OxUFB8O/UEYE9heXKv4PltRcYGyMoToA15wJzJYi3Osfcod5++2307NkTp06dss1T/8477+Duu+/GmjVr3I7TLMX9m2++waFDhzBw4EAMHDgQJSUlWLRoEbZt28YrnrleDZjNMGu4zS/uyFRXD3N9vdM81pzj1NTAUFkFkcT9eX8diSQSGCurYKpWCdrQg2FgrqmBqd79KXBdMWu1gMlk63nPl3UcZoHjYdRqwGSGmeOc8k7jqauHua5e8BGPSVUDY2Ulp4lMnEgkMFZWwKRSCRoLwzAw19YKXsdmjTXnAtexNedqT+TcBEbDvUOi43jMtXUAIzDn1TUwVgjLuUgigbGiEqbqGkFjAWOGubZO+PuqIeeMwJwLGgN9FY7ll19+wbx581hXyQcHB+OFF17A2bNn3Y7TLMX922+/xe+//46srCxkZWWhc+fOWLduHebMmcMrnrVxAt9WpAC7XSvfvueAXbtWo5F3v3LgVrtWS9tYfj3qgVvtWrUCOzxZG1oI6VFvebzwXFken2sbD1/27Vq5znduz9qulTF4IOd6A4wVFU5dCrmwrmOhXb08nnMBLUTt27XybRsLsNu18u2fDtxq18oYDNBeFJLzi2AMBt5tY600tvc5v7axVtZ1y7dtLPE8rVYLfxfTjuv1ek45uuMmsbHvg82nw5OVfbtWIRsh+2IjJI598RNSwGxxBHR4sm/Xaqy6CcMN7m1jAfaGlU/bWCv7Pth82sZa2bdr5dOm1UrtoZyzXjueyLmRXwtRgN2u1VhZBUMp97axALtdK5+2sVaGsnJbu1Yhhce+k6RH1jGE9T23f6wnxsO3bSzA3oEyVlQK2tkQhE7LswwfPhzbt29nveZra2uxbt06DBkyxO04Pinu33//Pe8JbOzfECaVCvqr13jFsd+w6pRFnFuIuhqPJieH10V6ju1a+b7pHdu18t0IObZr5VvAWC16ebSNtf19u0LMp23srTi3nof2khImnh85aBxzzqPweDTndq07+cZxbNfK97Wjybdr0StgB9N+54tP21grVs55tI29NR67XAnJud1ZQr478Y7tWnnn/Pp1mG5W242H/w6vMCKBt9Zl6dKl+P333zFy5EjodDrMnz8fo0ePxuXLl/HKK6+4HeeOO3J3fAHyeYM49cE2m6HJ5dY2FmjYsF4qtP1sqqnl1DbWynD9Bkw3b21YLT3quX+WprlQwLp+QJ3DvV854Hz6ku9GyHGngO9GyDEO35xrHHPOsVUw0LBhtc+5qobXDqah5DpMdpM5WXLOfQdTk5fPzjmPHvXWx7F/5lncs4XnCnD12uF+Sp0xm13knPsOpkmthrZQeevnahWvHUz9tRLLNTUNtIVKXgcVmrx81jUjGk/lXMAZCUHoyJ2lY8eOOHDgABYuXIhp06Zh6NCheOWVV3Do0CFERka6HeeOKu4mtQbaS0rWfXw2QpY3WTXrPj5HKo4bVoDfG8TpOTAMNDncC4/jczDX1UF3+Yrg8eiKL8NUW8spBmM2Q+NwLYMmJ4/zRsikVkOnLGpyfO7QX73mdOEan8Kjyc13uhhPfZ77EY/Tc+C5g+kYx1xbC/0V7juYjutCV1QMUx23HUzGbIY6x6Fg8NjBNNXXO+Wcz/tTf/UaTDXsC9f4vHZc5VzDI+dOjzGbefVPd3wOphp+O5iO65TvQYVgVNydyGQyTJ06FZmZmViyZAmmTp1qu3LeXXdUcdfk5Tm9yfRXrsLI8WpjVxt1dW4eGI5Xzbsq5LwKhos4XC8icrVh5TMeVxtWMAzUHHc29FevwlTD3iEw19dDV1TMKY4m10XOL1+BUcXtamNX60HDJ+eu4vDIuasdAq6Fx7ID5ZwXrnFMdXXOeWEYaFy8npqiv3wFZoedQHNdPXTFlznF0eTmOX3XXneZ+w6my1zlcM+5y+0Fn5x74LXDmEyeyXltLXSXHfLCMLx2MIlnlZeXY/ny5Zg4cSLGjh3rdHPXHVXcdcoihIwfa/s+r2LkcAQPHcz5VJv+WgnapT0ESXgYACBk/FjIevZwLmpNYMxmGKuqED7zMUBsWY3t0qZAJJXCyGHufFNtLeAnRtgjU233hc98DCZVDRjrZ5du0F++gsCoSIRMuB8A4Ne2LcIeToO+hNtnlZq8Cwga2B9tRo8CAAR2j0LIhPuhK+ZYlC9cRJvkUQjqnwgAkPeLR5t7kzlfXa5TFiHk/nG27/MqRo5A8JDB0OZzzHlJCdqlTYEkrCHn949DYEwMp50NxmSC8eZNRMycbvu6YrupUyAKCICx2v0dTFNtLUQSCcIeSbPdFzFzOkwqFafCoyu+bMnPA+MBAH4hbRE29a88cz4AbZJHArB8vzzkgfHcd8QKLqLN6FEISkwAAMgT+gnLecP37RWjRiJ40EBo8rh9fm8ouY52U6dA0i4UABDywHgExkRz2tlgTCYYq6sR8fh0231hU/8Kkb8/px1Mo6oGIn9/hD1sl/PHp8NYXc095zHRt3IeGop2U6fAwCPnwYMGQDGqIecNMbnm3CMYkbBbK5OZmYnDhw8jKSkJEydOdLq5q9kbxwjRbvJEiCQSlDacapa0C0Xbe0dzKoIAEDHzMYgkEtT+9DMAIKBLZ4SMvY9bHIZBx/lPQyQWo2LXvwFYJjZRDE/i9L15sUyGjs/OY13MFNQvHkEJ/TjNFBbQtQs6PPW3WxcwicVQDBuK4MEDwTCM2w0Hgvrdg+ABiaj5n2XdiAICEDImhfM6bjt6FEQSCaq+3A8A8AsOQrvJEznHaffgJIgkEttGRxLWDm1Hj+KR8+kQSSSo+fEnAA05/8sYznGsOS/fuRsAIOvRA4phPHNeeWs6SXlCPOQJ8ZxyHhjZFR2eetJ2alfk5wfF8CQEDxnELecJ8Qge2B81P/3PEicgACH3pXLP+b3JEEkkqNz3FQABOX9osiXnDTvb/mHt0CZ5JPecP96Q8x9+BNCQcx7Py5bzj3cBAKS9eiB42FBOOfcLkltyXnHrQtWgxATI+3HMebdIdJg9y3aWTuTnhzbDh0ExZLDbMSx/ux+CBw1AzXHL+0HMM+eeQN/AY/v999/x3nvvYdiwYYLi3FHFvbHJI7hOKuGJOCI/1xPWiEQigEucxsYi5nZSpSWtm9Yah3L+54tDOW8GVNxZAgIC0EHgbIqAm8W9vLwcP/30E86ePYvKykr4+fkhIiIC8fHxGD16NNq2bSt4IIQQQv6EWuGpdSHS09OxYcMGvP3225DJZLzjNFncL1++jE2bNuHQoUMICQlBz5490a5dOxiNRhQUFODgwYNYtmwZJk6ciKeffhrdugmbA5oQQgj5Mzt9+jR++eUXDBo0CBEREaxpaAHgv//9r1txGi3u//rXv/DRRx9h0qRJ+Oyzz9C3b1+Xy+Xk5ODLL79Eeno6Zs2ahb/97W8cngYhhJA/MxGdlmdJSEhAQkKC4DiNFveqqiocOnQIwcFNd0C66667cNddd+HZZ5/FP//5T8EDIoQQ8idCxZ1l/vz5HonTaHF/4YUXOAVq06YNXnzxRcEDIoQQ8idCn7k7+e6777Bt2zYUFBRAIpGgR48eePLJJ/GXv/zF7RhuXxpZW1uL4uJi6F10IOrfv7/bf5AQQgghrv3nP//BokWLMG7cODz44IMwm83IysrC888/j/Xr17td4N0q7l999RVee+01ly3nRCIRcnP5t1LkxUNfjOQ6U1UTkTwUx4M89dwE9j23ErqG+Myd7ZLHct7yeOz1LHRde+jt4Kmce+593vJ46rn5tN1rC9x8+tLmzZvx3HPPISMjw3bfjBkzsG3bNmzdutWzxf29997DpEmT8MQTT0AqlfIbsQdJe/eCJjcPsl69BMWRxfVB/e9nENDN/cn4XceJg6GyCpLQEN4x/BTB8O/aBX5BwbbZz/jw79wZYoUCsr538Y4BWCbkgVgMaVxvYXF690LN8Z8g6y0wV316Q3uhALJePYSNJy4O6jNnEcChAYPL8cT1gbH6JvxC+H8N1K+NAv5dusBPITDnXTtDHBwM2V1xvGMAgLRnD0Ashiyuj7A4fXqh9qf/QSr0/dmnN7QFFy3jEhInrg/Uf5xDQNeuguMYa2rg16YN7xiWnHeGREAMAAiI7ApxcBBkdwnMlTXnfYTlShAq7izFxcUYN26c0/1jx47Fpk2b3I7jVnFXqVT429/+hu7du7sd2JuMZWUAw8BQWoaALp15xzGUlsGsVsOkquH9ZmMYBvqS65ynDnViNsNw/QbMQXL+MWCZv91cW8u7H7eVsaISMJthLBXW49k6DkNpmbA4ZWWWdVRWjoDO/HNuLC2Fub4eppoaSNooeMWw5bymBoxJwNGl2QzDjRsw1wXxjwFLgyBzXZ0H1nFFwzoWFsfYkHOjwDi2nJdXIKBzJwHjKYO5rh7mulpASM6vX7f0SxByRsH6Pq+v5zSLoFOY2lqY6+phFJrz8grb+8pnqLizdOrUCRcuXEBUVBTr/ry8PISGhrodx63pkVJTU/G///2P2wi9xL5dK9+2lAC7XSvftpSAXbtWnl29rDT5lnatfNvG2uI0PBehHZ6sTXH4to11jCNkHdu3axXSltK+XaugnFvbtfJsG2tl7SrIt22slXWd8G0baxtPwzrh2zbWcTxC3p/27VqF9Bm3b9cq5LVja9fKs22slbVdK9+2sVbW58K3baxtPA3rlm/bWI+gueVZ0tLS8Nprr2HPnj24dOkSLl26hM8//xwrV67EQw895HYct47cX3rpJUycOBH//e9/0a1bN4gdpkxctWoVt9ELYN8H29rVq7EpIpti365VnZ2DkHHuX4Voz34DpsnORfAAfhcX2hcbdXYuAnlOCGQbT0OHp+CBAzjHsG/Xaq6rszSl6R51m0c5s2/Xam0b66fgfuSkv1Zia9eqybVshLhO2wmw+2Crs3MQMvY+zjGsj7XFzM5FcENzHO5xbl2rosnOQWAkv9PGtu5tDTsbfF6D9l0FzbWWHUw+r0FTvV3OG9rG+gVzPzOhv1Zia9dq3cEUmnNNdi5C/jKGcwzLY9nvT2tzHK6cct61C8/x2Oc8n9dr0D7nppoa6K+V8H4NEs958sknUVpaipUrV8JkMoFhGPj7+2PWrFmcvibn1rtl9erVqK+vh0ajweXLl1FUVGS7FXPsFiaU/YbVrFbz7mJkH4dP21gr+zc9nxaigHO7Vr5HlY7tWvkeqTi2a+V7BMbqg82jbawtjl17VHO9h3J++QqMNdzaxrqKo8nN5Z1z+5aqfNexY7tWPn3PAed2rXxfO6x2rTzaxt76+3Y559E21jYeu/XKp22sbTyOOedxlMuYzdDkeiDnDu1a+W4vdMWXYa67dXbPVRvi5iBihN2akpOTg7S0NCQkJGDy5Mk4e/asy+UOHjyI1NRUJCYmIiMjAxUVFW7FUKlUeOaZZzBgwACMHj0ae/bsEbw+/Pz88Oqrr+LUqVP47LPPsH//fmRlZWHRokXw43Ag61Zx/+GHH7Blyxbs3bsXO3fuZN127NjB+0nw4fgC5PMGcdUHm89GyFRby9romDUa2ylALnSXr8BcV2f7WX/1Gqe2sVaOfbA1efm8ujzZH11Yfua5oXd4nPVsAPfx5DT5sztc9cHmm3N9Q1dCADCrNdAVFXGOoyu+DLPdxyZ8dzA1ObmsnKt57mCqHdYF34LhlCueOXd+7XDPFWMysT8qYxin5+kOo6qGnXOeO5i6omKY7T420V++wqltrJXaIed8Dyoc16mQj6oEYQTeGqHT6TB37lxMmTIFv/32G2bMmIH58+c7fZ07Ly8Pr732GtatW4eTJ08iPDwcK1eudCvG8uXLIZfLceLECWzYsAFr165FnoCP6qzq6urwzTff4MCBA9i7dy/+85//QKvVcorhVnEPDQ1FZwEXMXmKsYb9JgP4HalY3mTsz6P5HKmoc9jFFOD3BnH1GD4FzPE5MFotr50Nx/EYSq7DWFXVyNKuOW1YYekhzXVnw6hSQX+FfQ0Cn3WsKyqG2eGzSV45z851yjmfOK5et5ps7oXH8XXCN+eOz0F/rQTGm9WcYrjMeS73HUxjtcrpGgQ+61inLIJZrWGPh8/708UOAZ+jXFeP4bPT4vgczGoN64yd++NxyPnVazBW8zuD2RKdOnUKYrEY6enp8Pf3R1paGkJDQ3Hs2DHWcl9//TVSU1PRr18/SKVSLF68GEePHkVlZWWTMerr63HkyBEsWLAAgYGBiI+Px4QJEwQfvV+4cAFjx47F22+/jT/++AO///47Vq5ciQceeADXrrl/bY5bxX3hwoVYvXo1rly5cvuFvcjVG8FQVma54pMDV4VTe6EAZr2B23i8VJQbi90Uxmh0eaEP142isbra5cVdjkfzt6MtVMKsYW9YGZ0O2ouXOMVxmfMbpTDY9cV2h+ucX4DZ4KOcu7hIzNV9TbHk/ILT/Vx3eI03b8JQ4nxxF9fnpb1UCMbh6ILR6WwXMbrL1To2XOe+g+lq/Jo87jl3GcdHO/Fmg8FlzrnGMVZVwXD9utP9vjh699ZpeaVSidjYWNZ90dHRKCgoYN1XWFiIHj1ufd0yNDQUCoUChYWFTcYoLi6GRCJBpN3Xal3F52rVqlVISEjAjz/+iD179mDfvn344Ycf0KNHD07Xt7lV3P/5z3/il19+wV/+8hfExcXh7rvvZt2ai7GiEuEzH7N9tzNk3F8QOuF+6Dh+7m9Wq9Hh6Tnwb98eABD2yFQoRg7nFIcxGiGSSNBp0UKg4UKf9k89CWlsDKfCY6yuRkDXLujw9BzbfZ0WLYA4UAqzi9kAG6O7chWKIYMR/tijAAC/0BB0eGYuGK2W0wQVOmURQu4fh5AHxgOwfA82YtZMGG/edDsGYDnya5c2BYrhSQCA4KGDEfZwGvQuNihNMVZUIWLmdMj6WL5vHzLuLwiZcD/n06JmtQYdnp4DSUQEACBs2sNQDB8GPYfPcm05f+E52/fS28/5G6TR0TBUul94jDerEdgtEh3mPmW7r9MLz0EcEMhpB1N3+QoUSUMQnv4IAEDSLhQd5mXAzDnnxeyc9+qJiCdmcC6m+pLraDd1CoKHDQUABCcNQdjUv0Jfwi3nhqoqRDw+HVJrzhvGpuWac40GHeZlQBIeDgAIe/RhKIYnOZ39azKGwQCxv78l5w3aZ8xGYFQUp/VjrKpCYFQUOmQ45Nzfn9POhv7yFSiGJyHs0Yach4dZcu6wI307WmUxQh4Yj5D7Ld+nlvbu1ZBzbu/zlkytVju1TJVKpU6ntzUajdP8LTKZDBqNpskYarXa6XGu4nP1//7f/8OiRYtYfV3atm2LF154Ab/88ovbcdy6Wn7OnDm3X6gZhDwwHiKRCPW/nwEAiAID0Pbe0ZxnVwp7OM3y/dKGb1H4KYKhSBrCLY6fHyJmPsa6SxIWhvBpD3OK49e2LSIem8YqDgFduiDi8emc4gR2j4I0ujs0+da9ehFkPXtYJqPhQJ7QDyKRCDX/+7khjAhB/eIhj7+HU5w2ySMhEolQ9eV+Sxg/PyiGDeWcq5AJlpzXZf1uiSOVou3oUdxz/oiLnA8dzD3nj09n3eUfFobwRznmPKQtwtOnsXYCA7p05p7z6O6QxkRbLlwEAJEIsl49OU/6Ik9syPlP/7PFCUroB3m/eE5xrDmv3PeVJYyfHxTDkzjnKnTC/Zac/5oFABAHBqJN8kgeOZ/qkHMFFEO45VwkkTjnPDwM4emPcMt5aCjC0x9hnWUMjOzKPecx0ZDGxthdO8Av50H9Eyw5P/6TJQrPnHuEl77OJpPJnAqtVquFXM6eS6Sxgi+Xy5uM4W58rjp37uzyjEF5eTnaNxyQusOt4s7lu3Xe1NiED1wngvBEnKaWbUlxfLFuWmscyvmfLw7lvBl4aRKbmJgY7Nq1i3WfUqnEhAkTWPfFxsZCqbx1nUpVVRVUKhViY2NRX1/faIyoqCgYjUaUlJTYrklTKpWsU/x8zJs3DytWrEBpaSkGDRoEiUSC7OxsrFu3Dg8//DBOnz5tW7apvi6NnpafMWMGzp8/7/aAzp49i+nTp99+QUIIIcTKS1fLJyUlQa/XY+fOnTAYDNi7dy8qKiowYsQI1nITJkzA4cOHkZWVBZ1Oh3Xr1mHUqFEIDQ1tMkZwcDBSU1Px7rvvQqPR4Ny5czh48CAmTpwoaHUsXrwYFRUVWLVqFSZNmoT7778fL774Iq5fv45//OMfSE9PR3p6Oh577LEm4zR65L5w4UIsXrwYERERGDduHJKTk9HVYW7mS5cu4dSpU/jyyy+hUqnw5ptvCnpShBBCiCcEBARg+/btWLFiBdatW4eoqChs2bIFcrkcmZmZAIDXX38dcXFxWLVqFZYtW4by8nIMHDgQb7311m1jAJaL31577TUkJydDLpfjxRdfRL9+/QSN++jRo8KeeINGi/vAgQNx4MABfPHFF/j444/xxhtvQCqVIiQkBGazGTdv3oTBYEB0dDSmT5+OtLQ0BAQENPnHsrKysGbNGhQWFiI0NBSzZ8/GtGnTPPJECCGE3HluNxGNEH369MGnn37qdP/rr7/O+vn+++/H/fffzykGAISEhOAf//iH8IHa6dKF36yFjpr8zD0gIACPPvooHn30USiVSvzxxx+orKyESCRCREQE4uPjnSa3b4xKpcK8efPw6quvYsKECcjNzcWsWbPQrVs3DBs2zCNPhhBCyB2GGsewXLlyBevXr0dBQYHThDsA8N///tetOG5dUAdYvr8XHR3t/ggdlJSUIDk5GZMmTQIA9O3bF0OGDMHp06epuBNCyJ8VFXeWl19+GaWlpRg/frygFutuF3eh4uLi8M4779h+VqlUyMrKwuTJk5trCIS0brSRJHcgb56WvxPl5ORg9+7d6Nu3r6A43NsseUBtbS3mzp2Lvn37IiUlhXsAD7Um5DPvuutALfDVafLMcxPUox6sHiI+HYeNp3LeAjEeyjnMAtc14/Av3zAeyrnH3uctkKeem8/avRInUVFR0HCclMiVZi/uV65cwbRp09C2bVts3LjRqX2sO2T3WPZo5H3vEjQWeXw8RFIpAmNihMW55274d+wI//Aw3jEkIW0RENkVsrvuss14x0dAVDeIg4MgTxB2xabsrjhAJIK8H7fJa5zi3H0X61++5PGWmRDld8UJi9MvHiKZTHDOZXf3hX+njpCEteMdQxIagoCuXSDre5dtxjs+AqKjIAoKglzgVbqyOMvMjzKOExY5xfFQzmUNOZcJzHlQv3iI5DIECvhYEbDkPKBzZ0hCQ3nHkISGIKBzZ8juFnZUFhgdDZFchqAEYZPOWNetdV37BPVzZ1m+fDlWrVqFr776CllZWTh9+jTr5i5Bp+XNZjNu3LjhdlOZ7OxszJ49G5MmTcLLL7/Mq7ADsDVJ0BYW2aaQ5RdHCUarheH6dfjF8tvYM2azZR71ujqY6ushaduWVxyzVgv91WsQSystZyZ49KgHAGNZuaVFJo/mIfZ0ymKAYaArLAJGjeQdR98wDr2yCEECNtK2nCuL4N8+gnccbaESjEZjyXkMv409YzZDV6iEub4eJrUakjZteMUxazTQXyuBuKpKWM5vlIKpr4dOKTDnRZapePWFRcDIEU0v3FSchpzrlEWQN+ww8KG36wvvHxHOO462UAlGrYHhxg34RXfnFYMxm6FTKmFWa2DWaOCnUPCKY9ZooL9+HWJVNe8e9QBguHEDjJpfF0p71mmc9coiYMRwQbF4a4EnPn1JqVTi0qVLeOWVV5x+JxKJkJvrXp8Pt15ZY8aMwb59+5zur6qqQmpqqlt/qKKiArNnz8asWbOwZMkS3oXdvl2rkCYH9u1a+bY0BdjtWvn2rrY81tJhjm/bWCvrc+HbNtY2noY4fNvGOo5HyDq2b9cqNOfWecUF5dyuXauwnFs6zPFtG2tlyznPtrGOcfi2jbWyvXaE5ryhwxzXhjr27Nu1ChmPrV0rz7axVtZ2rXzbxlpZnwvftrG28TSsW75tYz3Bm/3c70QbNmxAWloaDh48iKNHj7JuR44ccTuOWxX26tWryMzMxJo1a5zmQXZ3XuS9e/eiqqoKW7ZsQWJiou22fv16twcLOGxY87l3eLKy730u5E1v/1iundPs2RcbQQXDPg7P8dhvWPm2EAUaNqwN7Vr5tI210hVftrVr1eRzbxtrZd8H21M557uOAfbrRdhr59Zj+b52PJZzu3atfNrGWumKbrVr5dM21kqT66l17Jmca1g55/8aZOXczSM5R4zRaOtLIHQHUxAvzVB3p6qrq8Ps2bPRo0cPdOnSxenmLrcPnzdu3IhDhw7hqaeeQl3DkSrg/lzEc+fORX5+Ps6cOcO6Pf/8824PFmC3s2T0es4tRK3s31iG0jIYKri1jXUVR5t/gXPbWMC5XSuf3tWAc7tWvhsPx3atfAuhY6Hhu3G174PNp22sbTz2Ob9RCkMlt7axtvHYb+jz83ntYDrmnGubVivHdq18XzuO7Vo9l3N+ceyfB5+2sa7i8Gkba8XaoeO5g8kYjXaNnfivY8d2rYJyrtMJjkM8a+zYsZyO0BvjdnG/5557sGfPHlRVVSEtLQ3FxcW8T60L4XiKjs8bxFUfbD4vbGNVFQx27SwZgwFaHr18tYVK1obVWF4OQ1k55ziORxTaggJObWNtcVxsoLl25LI+jj0+ngXD4XF8CoarPth8CqqhsgqG6zdsPzN6A7QFFznHcdywGsrKWB3D3OW4LrQXCnjtYDq+dngXZcf3Zw7fOI45575jaDYYoL3g8D7n8bwMFZUw3Ci1/czodNAWcN/B1BZcYuf8Rimn9tBWzjnndwbTcZ0KOZMgBJ2WZ+vSpQvWr1+P9PR0LFmyBMuXL2fd3OVWdbYenXfo0AGffPIJevbsialTp+L333/nN3qeDJXsNxlgKcpcC4/2IvtNBvArPK42OHzeIK52LPh8zuj4txmDEdoL3Hc2HMdjrKiEobSMUwyz3gBtvkMxLbgIs8N6vx1DRYXT3+adc4cdHT65cvU64fXacZlzHuM575hz7juYDMM4/W1jufN6vx2zXu/0etNc4JHz8nIYHXZuNTx2MLUFF8E47Ojw2Yl3lV9+70/nx3jitcNnB5NhGKe/bSwrh6Gc+0GFYHRanuXXX39FfHw8/Pz8cPXqVRQVFdluxcXuX6fh1tXy9m8qqVSK999/H+vXr+d8Sl0o64ZM5C8BYzBC5O8PU3U1DCXXEdDFvSv2gYaNqEhk+cqZyQSRvz+0lwph1mgglsk4xbGOxTIuf2iyc8EwjNsfV1jfZCJ/fzANe98if3+oz+eg7b2j3R6LWa+HtqDgVpyGsyrq8zmQc/jajaGsHMbyclsc6/PTZOcgoGMHt+NoCwoaHu/P+leTfwFBHL5qpXaV85s3Ybh+AwGdO7kdR5OdY1knIhE751otxBxmgVK7ylV2Ltqlcc15tlMcTXY22o4e5fZYzDodNAUXXeecw9dEDWXlMFZUOOVcnZ2Dth3c/zaK9kKBLUf2OddeKID8Hve/auUq58bKShhKSxHQsaPbcTTnXeT84iUP5TwH7f76EKecNxanTbL730Yxa7XQXrx0K46fH8Aw0JzP4fQ1UUNpKYyVlc45P5+Dtvcmux3HI1phgRZi586dHonj1pH7/PnznRrQP//881i9ejUGDhzokYG4g2EYdFq0ENJevQAAIeP/gohZMzl/diqWy9Fl6Uu276WHPzYNYVOnQO9wVqDJsRiNCOzSBV2WL7VtVDvOfxqKkcM5fa5nUtUgeMggdHruWdt9XV59BdLo7pxOqRtulCJ08kREPDEDAODXti26LH0Zfm0UnI54DOXliJg5HaETHwBg+T5tp8XPAxy/Tmqqq0eHp+cgOGkoACB40EB0eGau7cI4tzEMOr3wHKQ9ewIAQu4fi4gnZnA+nSkOCkKXJS/ZvpcePj0dYX99CHq7U+y3HYrRiMCuXdFl+RLb99I7PjsPiuFJMFbddDuOqVqF4KFD0HHhfNt9XV5dgsCoKE6n1A03StFuymREPG5ptSwJDbHkXBHMKefG8nJEPD4doRMsjTMCY2IsOefIVN+Q86FDAADBQwahw7wMmOo55hwNOW/oix3ywHhEPDEDRq45D27IeTvL99LDZ6QjbMqDnN7nZoMBgZGR6Jq51HZfxwXPQDEsCSYO30YxVVdDMSwJHRc8Y7uva+ZSBEZGcjqlrr9RirApDyJ8hqXdpyQ0FF2WvARxcJDbMQDL2biIJ2Yg5IHxAABpbCw6vfAcqNK2DCUlJXjnnXcwZ84czJs3D+vXr8e1a9du/0A7bh25z58/3+X9kyZNss0V3xycjmpEIgT14z6JQ+j4sewwEgkUDUXIXSKJBKET2V2ERIGBCBnDbcY9SUhbhPxlDAyVt3YI/IKDbRtadwV2i0Rgt0jWBTv+4WEIvX8cpzjWI76a//18K3bXLgjsyq1TkWLIIAB2n9+LAFnPHkDPHpziOB1FiMQI4jFBj3PO/aAYJjzn4sBAhNzn3tdBrSShIZac2xUrPwWPnEd1Q2BUN9sVzwDPnDec2an56X+3YvPK+WAA7I8XZL16cooBwOmMlUgk4pdzh/UgkkigGJ7EKYbY398551I+OQ9FyH2prOsq/BQKp9i3I+0eBWn3KNbX8fwjwvnn/PhPtvsCI7siMLJrYw/xmtb4ubkQubm5mD59Otq0aYP4+HiYzWbs378fu3btwu7du9Gnj3tzRzTb3PKEEEIIadqaNWswatQo/P3vf4e/vz8AwGAw4JVXXsE777yDDz/80K04PplbnhBCCAFAF9Q5OHv2LObNm2cr7ADg7++PjIwMnDlzxu04dOROCCHEZ+i0PFubNm1Q3zBRm726ujpIJO6XbDpyJ4QQQlqI0aNH4/XXX8fly5dt9xUVFeHNN99EcrL732SgI3dCCCG+Q0fuLIsWLcKsWbMwduxYhDZ0IKyqqkJCQgKWLFnidhwq7oQQQnyHijtLSEgIvvjiC/z0008oKChAYGAgevTogaQkbt/0oOJOSGtBG8k/oTs/6fSZu7MvvvgCcrkcs2fPBmD5OvqNGzfw0EMPuR3jjvzMnTHxb0HKisOzo5xzoJb36hTSptWTcayTqTBmYevIY8/HUzlvgVpKzm3vB4HvC8r57VlnxxTK7KF1zQtdLc/y4YcfYvXq1TDa5SQ2Nhavv/46du/e7XacO7K4B/dPBADI47lPYGMvaEB/iAICIO3dS1Aceb94+Hdoz2l6Vkf+Ye0Q0LULZHf3hcjPj3ccaY9YiGUyBA/szzsGANt0ocEDhMWxTj4SlMh9EhJWnAGWnAfFuz+NqSvBA/pDFBgImdCcx98D/44d4M9helZH/uFh8O/cGfJ77oZIQBMmaa8eEEmlCBKcc8u0wEJfO0EJlvelnMfEM6w4A6zvc/enK3YdpyHnPCbUsSePvwf+nTrBPyKCdwz/iHD4d+ok+DnJevWEKDBQeM7jPZNz4jmffPIJ3nnnHUyePNl23/PPP4+3334bH3/8sdtx7sjibp0BS0hPbmscIW1jgVutO4W0jQVutWvl2zbWSqcsglmjEdy+UZNj6e0ttFOUtV2r0FxZHy+kJ7fl8TmC2sYCdjkX0DYWuNWulW/bWCtru1a+bWOtrLMJCn3tWB8v+P3ZEEfNs7Oclcaac55tY4Fb7VqFtI0FbrVr5ds21sraVVDwOm5Yt75s90pd4dgqKyvRs6fzjmhcXBxu3HB/uuw7rrjbt2sVUnjs27UKeYPYt2sV8gaxPhe+bWMd4/BtG+sYh2/bWKtbRZlf21iA3a5VSM7t27UKiWPfrlVIQbXlnGfbWCvrOubbNvbWeCw7Ynzbxt6Kk8P6lw/7dq1C3p/27VoF5dyuXauQOLac82wb6xiHb9tYK+u65ds21iPotDxLr169cODAAaf7Dx06hJiYGLfj3HHF3X7Dau3wxIf93MxCCo/9hsexDzq3OLku/58r+x0Mvhsh+3atfNvGAux2rXzaxlrpLhba2rVqebSNtbLvLc6nhaiV/XpVeyrnPOM4tmvln/Nb7VqF7GDat2vl0zbWyr5dK5+2sVas96eQnOfYr2MB70+7x/I9I+HYrpXvzo9Zp4PmgmWnUugOpiBU3FmeeeYZbNmyBTNnzsTatWuxdu1aPPHEE9i4cSMWLFjgdpw7rrizjo5NJlajFC7sj7hMN6thuH6dcwzHDav24iWYNRrOcaztWq3UOfw2QtZ2rVZ83/TWdq228fCM47iTwnc8rD7YAnJu/9oxVt2EgcMpLivHDSvfHUxru1b7sfHOud2RG++cN7RrtY2Hd65yHX7m+9qxe5yR/w6m/d83VlbBUOp+RzgrhmFYrx1twUV+OddqWQWUd85LS2G0azTFdx1rLxQAdh8NCD3FTzwjOTkZu3fvRkREBI4fP46ff/4ZYWFh2LNnD1JS3G9MdkcVd2sfbHt8ToU7blj5xjGUlrHbUJrN0OTlN/6ARjhuWE3VKuivlXCO4/gm1xYqYeLaYhWuinIuGLNZ8Hj4bIQcd6AAfqfCrX2wWePhk/Mb7A0rTCZeOdfkszespupq28dEnOI4vB+0lwp57WA6FmVNdi6vwuP0/uSdc8edBO5Hy2at1ulzdj6vHcP1GzDdtGvpazJZ8seRJr8AMJluhbl50/YxEac4Ds9Be6mQ186Gq3XM98yGEPSZu7PExES8++67+Prrr/Hll1/i3XffxV133cUpxh1V3A03bjj1zdbkcC88mvwLrDcZwG8j5GpPl08cV0VGcz7bxZIcx2M2s9qBuoNhGKfThaaaGuivcuslbNZonIqpTlkEk4s5k5tiuH4dppvVrPvUHso5nyMVV/ltUa8dnjnXOOZcpeKcc5NaA+0lJes+nbKI8w6m/lqJU690TU4O95zn5Xvkfe7qMY47MW6Nx8VjPDIeHjuYjNnsnPPqal4HFYLRaflG9e/fH1euXOH12DuquKvP50DkL4E4KAgA4BfSFub6euiKL9/mkWya8zkQy2UQBQQ0xAmB/vIVmGpruY0nOwd+IW1tP/uFhECTkwfGYYPSFOubzC8khBWH65vepFZDW6i0xRH5+0McJOdcwCwbVpUtjlguhyjAn/N4rBsbvzZtGv5VACIRNLl5nOJYcm55LkBDzuvqoLvM7QWvdpFzXfFlzjnXZDvnSpOTx6nwMGYz1Dm5zjnnuENnqq+HTlnklHOuudJfvQaTqsYp51xfO5o8S25v5dzyL9eca7Idcx4CU00t9FevcopjybnluVjj6IqKYarjtoOpOe/i/clxB7OxnHM9k2Cqq4euqPhWzgP8IZbLOZ+F0l+9ClNNrW37JQ6SQ+TPPeceQcW9UULOpNxRxV0SGoouy5cisHsUAKBN8kh0Wvy87WIrdwVGR6Hr8qWQhIYAAMLSHkKHeRkwVqvcjsEYjQgeOABdX10CNHxHuUPGbIQ9kgaTyv04ptpatHtwMjrOn2u7r8vSl6AYlsTpKnVTdTU6ZMxG+LSpAABxcDC6Zi6DtEcspxeIWaNBpxeeQ9sx9wIAArp2QdflS+EfHu52DAAQSSTosuQl2/fb5ffcjS5LX7YVV3dJ2rVDl+VLEBjVkPPRybxyLo3ujq6Zy2wbM945HzQQXV99BRCJAAAd5j6FsKlTuOW8phZhUyaj4zN2OV/2MhRJQzhdpW6qVqHD03MQ9kgaAMsOVNflSyGNjeGWc63WkvPU0QCAgMiulvdHWJjbMQBAJPFHlyUvQW79nnt8Q879OeY8rB26Zi5FYLduAIC291pybtZyu6hOGhONrplL4de2IedTp6DD03NgdDgr0BSzwYDgoYMsOW/Q8ek5CEubApOqxu04ppoahKVNQcd5Gbb7ur76CoKHDuJ0lbqxutqS84f/CgDwa9MWXTOXQhoT7XYMADDr9Oi0+Hm0vXc0ACAwMhJdM5dCEtaOUxxPoNPyjRM1bGf4uKOmn3U10UJg1y6c4yiShjrdJ+vZg1MMkUQCxTCHOCIRgvpxm1hH0rYtJP0TYLD7HFfk5wdF0hBOcQI6dwYA1sVm4sBA5zHehnU96IqLbff5KRQIHjSAUxzrJDj2/MPD4B/OrWB4LOcucuWJnItEIttEPe6ShLSFJDGB9RUmS8655SqgS0PO7U7Di6VS/jkvKrLdxyfnriYY4pdz57/rsZxznMhG7O/vnBcxn5yHQJIQwvqqokgi4Zxz63qw/5aGoJzbXZPgp1C4XPet1UcffYQPP/wQ9fX1SElJweuvvw65XO60nF6vx4oVK3DkyBFIJBLMmDEDTz/9tO33mzdvxueff466ujrExcVh+fLl6NXLMknWypUrsWfPHlZv9kOHDqFzw/balfz8fPTu3RvAn+jInRBCSCvjg9Pyx44dw4cffogdO3bg+PHjUKlU2LBhg8tl169fj5KSEhw9ehSffPIJ9uzZg++//x4AsG/fPuzfvx87d+7EqVOnkJSUhIyMDJgbPrLJzc3F2rVrcebMGdutqcIOAJMnT8ZDDz2EnTt34ujRo4iMjOT1HKm4E0II8RlfnJbfv38/0tLSEB0dDYVCgYULF2Lv3r0wubhe6sCBA8jIyIBCoUD37t0xffp0fP755wCAmzdvYu7cuYiMjIREIsHMmTNRUlKCGzduwGw2Iz8/H3FxcZzGdvjwYaSmpmLXrl0YNWoUnnnmGRw5coQ117w7qLgTQgjxHS8duRuNRtTU1Djd6urqUFhYiB49bn0sFx0djdraWpQ6zIOgUqlQUVHhtGxBw7wkf/vb31id2r7//nuEhISgY8eOKCoqglarxZo1azB06FA8+OCDOHbs2G1XR7du3TB//nz897//xc6dO9GhQwesWrUKI0eOxJtvvom8PPcuUG3Wz9xzcnKQmZmJixcvIioqCitXrkRCQkJzDoEQQkhL4qWL4n799VfMmjXL6f4uXbrAz88PUqnUdp9MJgMAaBzmiLD+bP09AEilUmhdzCvw22+/4bXXXsPrr78OsViMmpoaDB48GLNnz8Y999yD48eP47nnnsPnn39u+0z9dhITE6FrmJ1x3759OHDgAD799FPcc889ePPNNxEd3fiFlM125K7T6TB37lxMmTIFv/32G2bMmIH58+dDL2DeckIIIcSVYcOGIT8/3+n2/fffQyqV2oomcKuIBzV8zdrKugNgX8y1Wq3ThXdfffUV5syZg+XLl2PixIkAgISEBHz88cfo378//P39MWbMGCQlJeGHH3647djz8vKwZs0ajBo1Ck899RRKS0uxdu1a/Pzzz/jxxx8REhJy26lom624nzp1CmKxGOnp6fD390daWhpCQ0PdOk1BCCGkdRIJvPERGxuLwsJb3xRQKpVQKBRo357dwjkkJARhYWFQKpWsZWNjY20/b9q0CW+99RY2b96MKVOm2O4/efIkPv30U1Y8nU6HwMDAJsc2YcIEPPTQQzh58iSefPJJHD9+HJs2bcKYMWMgkUgQGhqKyZMn37ZDXLMVd8cVArA/uyCEEPIn5IOr5SdNmoTPPvsMBQUFqKurw4YNGzBx4kSIxc4lcdKkSXj//fdRXV2NoqIi7Nq1y9Zr/YsvvsDHH3+MTz75BElJSazHicVirFmzBllZWTCZTDh48CD++OMPjB8/vsmxJSUlYd++ffjqq6/wxBNPoF0757kHhgwZgm+++abJOCKmmSYT3rx5M3JycrBx40bbfS+99BLat2+PxYsXN8cQCCGEtDD9nlsv6PF/vPc8r8ft2LEDH330EWpqapCcnIw33njD9tl6YmIitm/fjoEDB0Kr1WL16tX47rvvIBKJMHPmTMyda5mAauzYsbh69SoCHCbn2rt3L2JjY7Fnzx5s374dZWVliI6OxpIlSzB48GBBz9ddzVbc//Wvf+Hnn3/GBx98YLtvwYIF6NOnD+bNm9ccQyCEENLC+Kq4t3bNdlo+JiaG9bkFYDlVb/8VA0IIIX8yNLe8VzRbcU9KSoJer8fOnTthMBiwd+9eVFRUYMSIEc01BEIIIS0NFXevaLbiHhAQgO3bt+PQoUMYPHgwdu3ahS1btricy5cQQsifAzWO8Y5mnaGuT58++PTTT3HmzBmsXr0ab7zxBhISEjB58mScPXvW5WMOHjyI1NRUJCYmIiMjAxUVFS6X87asrCxMnToVAwYMwJgxY5y+4mA1Z84cxMfHIzEx0XbzlQ8++AB33303ayxZWVlOy7WUdXzgwAHWWBMTE9GnTx8sX77cadmWsJ7PnTvHOvOkUqnwzDPPYMCAARg9ejT27NnT6GNzcnKQlpZ229e/N8d748YNzJs3D0OGDMHw4cOxatWqRuedcPe15O0xnzt3DnFxcaxxbN261eVjfbGOHcdcUlLi9Jru27cvxo4d6/KxzbmeG9umNfvrmI7cvYPxAa1Wy4wcOZLZvXs3o9frmT179jDDhw9ndDoda7nc3Fymf//+zNmzZxmNRsMsXbqUmT9/frOPt7q6mhk0aBCzf/9+xmQyMefPn2cGDRrE/Pzzz07Ljhgxgjl37lyzj9GVRYsWMR988EGTy7SUdezKiRMnmOHDhzPXr193+p0v17PZbGb27NnDDBgwgBk8eLDt/meffZZZvHgxo9VqmT/++IMZPHgwk5ub6/R4d1//3h7v9OnTmZUrVzJarZYpKytjpk6dyqxbt85lDHdeS57U2Jg/++wzZs6cObd9fHOv46bGbK+srIwZMWIEc/z4cZe/b6713NQ2rblfx/2eWSfoRlzzydzy7k5o8/XXXyM1NRX9+vWDVCrF4sWLcfToUVRWVjYS2TtKSkqQnJyMSZMmQSwWo2/fvhgyZAhOnz7NWq6yshJVVVW2dn++lpube9umBS1lHTuqr6/Hyy+/jBUrVqBjx46s3/l6PW/duhU7duywfR0GsIz3yJEjWLBgAQIDAxEfH48JEya4POpp7gmdXI1Xr9dDJpPh6aefRmBgICIiIjBx4kScOXPGZQx3Xkue5GrMgOVIsU+fPrd9vC8mzWpszPZee+01jBs3DqNGjXL5++Zaz01t05r7dUyn5b3DJ8Xd3QltHCf3Dw0NhUKhYM0s1Bzi4uLwzjvv2H5WqVTIyspy2sjk5OQgKCgIGRkZGDp0KKZNm9boxtLbNBoNioqKsGPHDgwfPhzjx4/H3r17nZZrKevY0QcffIBevXphzJgxTr/z9Xr+61//iv379+Oee+6x3VdcXAyJRMJqz9jYJE3NPaGTq/EGBARg27ZtiIiIsN137Ngxl4XT3deSt8cMWIrf6dOnkZKSgtGjR2PNmjUuP0rwxaRZjY3Z6uTJkzh9+jSee+45l79vzvXc2DYNQPO/jum0vFf4pLir1WrWRPyA68n4NRoNa3J/wDKBv+Pk/s2ptrYWc+fORd++fZGSksL6nU6nQ0JCApYtW4Yff/wRkyZNwlNPPYXy8vJmH2dFRQX69++PRx99FMeOHcOqVavw9ttv4/jx46zlWuI6rq+vx65duzB//nyXv/f1em7fvj1EIvbEl2q12mk9NtZgwt3Xv6e4Gq89hmHwxhtvoLCwEBkZGU6/d/e11BxjDg0NRUpKCg4ePIidO3fil19+cdmHu7nXcVNjttq2bRuefPJJp/nLrXyxngH2Nm3IkCHN/jqmI3fv8Elxl8lkTi8AV5PxN1bwfXWF/ZUrVzBt2jS0bdsWGzdudJqqcMyYMdi2bRt69uyJgIAApKeno1OnTvjll1+afayRkZHYtWsXkpOTERAQgIEDB2Ly5Mk4evQoa7mWto4B4MiRI+jcuXOjHQNb0nq2cvc1zXVZb9NqtVi4cCF++ukn7Ny5E2FhYU7LuPtaag5bt27FrFmzIJfLERkZiYyMDHz33XdOy7WkdQwA169fx2+//Ya0tLRGl/HFenbcpsnl8jvydUyc+aS4uzuhTWxsLGu5qqoqqFQqp1NBzSE7OxsPP/wwRowYgc2bNzvt3QLAt99+6zTfrzuNArwhOzsb27ZtcxqL4zSJLWkdWx07dqzJ+Zdb0nq2ioqKgtFoRElJie2+xiZpaikTOlVXV2P69Omorq7GZ599xjoVa8/d15K3qVQqrFmzBnV1daxxuMp7S1nHVseOHcPgwYNdzhNu1dzr2dU2zSevYzot7xU+Ke7uTmgzYcIEHD58GFlZWdDpdFi3bh1GjRqF0NDQZh1vRUUFZs+ejVmzZmHJkiUumwsAltNUb775Ji5evAiDwYAPPvgAWq0Ww4cPb9bxAoBcLsfGjRvx7bffwmw24+TJkzh06BAeeugh1nItZR3b++OPPxo9agda1nq2Cg4ORmpqKt59911oNBqcO3cOBw8etLV/tNcSJnRiGAbPPvsswsPD8eGHHyIkJKTRZd19LXmbQqHAd999h40bN8JgMKC4uBhbt25ldeKyagnr2N7tXtNA867nxrZpPnkdU3H3Cp8U96YmtMnMzERmZiYAy0Ufq1atwrJly5CUlISysjK89dZbzT7evXv3oqqqClu2bGF9/3T9+vWs8U6ZMgUzZ87E7NmzMWjQIHz//ffYvn27T05TRUdH47333sOmTZvQv39/rFixAm+99Rb69u3bItexlclkwo0bN1gXegFosevZ3qpVq2A0GpGcnIwFCxbgxRdfRL9+/QBYvsP/wAMPAGgZEzqdOXMGv/76K06cOIHBgwfbXtOPPfaY03ibei01J7FYjK1btyIvLw9Dhw5Feno6xo0bh8cff9xpzC1hHdu7du2a02sa8N16bmqb1tyvY/rM3TuarXEMIYQQ4mjAU+sFPf737dQ4xhWfHLkTQgghxHskvh4AIYSQPy8RnTz2CiruhBBCfIdqu1dQcSeEEOIzdFGcd1BxJ4QQ4jtU3L2CLqgjhBBCWhkq7oR4WFZWFqZPn8778WvXrsX//d//eXBEhLRc9D1376DiTogH6XQ6LFu2DC+99BLvGHPnzsVHH32EoqIizw2MkJaKZqjzCiruhHjQvn37EB4ejvj4eN4xgoODMWnSJGzevNmDIyOkZaIjd++g4k5II/7zn/+gd+/etpabDMNg1qxZeOihh1z2EAeAjz76iNX0Zt++fRg3bhy++uorjB49Gv369cPChQtRWlqKF154AQkJCUhOTsaXX37JijNu3Dh88803KC0t9d4TJIS0WlTcCWnE+PHjMWHCBKxYsQL19fXYuXMnzpw5g7Vr17rs1FVYWIiioiIkJyez7r969SoOHDiAbdu2YcOGDThy5AgmTZqE+Ph47Nu3DyNHjkRmZiZUKpXtMXfffTdCQkLw008/ef15EuJTdFreK6i4E9KEzMxMGI1GLFu2DO+++y6WLFnSaDvcc+fOQSqVomvXrqz7DQYDMjMz0atXLyQnJ6NPnz7o2bMnHn/8ccTExGDWrFnQ6/UoLi5mPa5Hjx74448/vPbcCGkJ6LS8d1BxJ6QJbdu2xeuvv47//Oc/GDhwIB555JFGl62oqEBISAhEIpHT77p162b7f7lczuqdbu1H7niqv127dqioqBD6FAhp2RhG2I24RMWdkNvIzs6Gn58fcnJyUFVV1ehyIpEIZrPZ6X4/Pz9bv2wrx59dMRqN8PPz4z5gQu4gdOTuHVTcCWnC+fPnsWXLFqxduxYRERG2nvKuRERE4ObNm/BUF+WbN2+67AFOCCG3Q8WdkEbo9Xq8/PLLSElJwf3334833ngDR48exVdffeVy+fj4eBgMBly8eFHw32YYBvn5+ejXr5/gWIS0aHRBnVdQcSekEevXr0d5ebntaD0+Ph4zZ87Em2++iRs3bjgt3717d8TExOCXX34R/Ldzc3NRX1/vdOU9Ia2NyCzsRlwTMZ46h0gIwe7du7Fv3z588cUXguK88cYbqK2txZo1azw0MkJapmEPvyvo8Sc+f8FDI2ld6MidEA+aOnUqqqurcfr0ad4xampq8O2332Lu3LkeHBkhLZOvLqj76KOPMHLkSPTv3x+LFy+GWq12uZxer8fSpUsxePBgDBs2DFu2bGH9/oEHHkC/fv2QmJiIxMREPPDAA7bfnThxAhMmTEBCQgLS09OhVCr5D5gjKu6EeFBAQABWr16NtWvX8o6xdetWzJw5E9HR0R4cGSHE6tixY/jwww+xY8cOHD9+HCqVChs2bHC57Pr161FSUoKjR4/ik08+wZ49e/D9998DALRaLZRKJY4dO4YzZ87gzJkzOHToEADLV2Pnz5+PRYsW4ddff8WwYcPwwgvNd5aBijshHjZkyBB88sknvB//0ksvYc6cOR4cESEtmA++575//36kpaUhOjoaCoUCCxcuxN69e2EymZyWPXDgADIyMqBQKNC9e3dMnz4dn3/+OQDgwoULCA8PR7t27Zwed/jwYcTFxSElJQUBAQF4+umnceXKFZw/f57XmLmi4k4IIcRnvHVa3mg0oqamxulWV1eHwsJC9OjRw7ZsdHQ0amtrnXo5qFQqVFRUOC1bUFAAAMjJyYFEIsEjjzyCoUOH4sknn8SlS5cAWKajtp/N0s/PD5GRkR75No07JM3yVwghhBBXvHRJ96+//opZs2Y53d+lSxf4+flBKpXa7pPJZAAAjUbDWtb6s/X3ACCVSqHVam0/33PPPXjxxRcRHh6OzZs346mnnsI333wDjUaD4OBgVjyZTOb0N7yFijshhJBWZ9iwYcjPz3f5u4kTJ0Kn09l+thbcoKAg1nLWHQCtVmsr1FqtFnK5HAAwbdo0TJs2zbb8888/j927dyM3NxcymYy1E2D9O9bHehudlieEEOIzvrhaPjY2FoWFhbaflUolFAoF2rdvz1ouJCQEYWFhrKvclUql7XT7Z599hhMnTth+ZzKZYDQaERgYiJiYGNbjTCYTLl++zDrF701U3AkhhPiODy6omzRpEj777DMUFBSgrq4OGzZswMSJE132fJg0aRLef/99VFdXo6ioCLt27cLkyZMBAGVlZXjzzTdx/fp1aLVavP3224iJiUGfPn1w33334fz58zh8+DD0ej22bNmCjh074q677hK0utxFxZ0QQojP+OLIPSUlBU899RQyMjIwevRoKBQKvPTSS7bfJyYmIisrCwDw3HPPoXv37hg/fjzS09Px8MMPY/z48QCAuXPnYsSIEZg6dSqSkpJw+fJlbNq0CWKxGBEREdi8eTM2btyIIUOG4MSJE3j//fdddo30BpqhjhBCiM+MmvSOoMf/eOBFD42kdaEjd0IIIaSVoavlCSGE+Az1ZPcOKu6EEEJ8x0zV3RuouBNCCPEdqu1eQcWdEEKIz9Bpee+gC+oIIYSQVoaO3AkhhPgOfRvbK6i4E0II8Rk6Le8dVNwJIYT4DhV3r6DP3AkhhJBWho7cCSGE+IyIPnP3CiruhBBCfMfs6wG0TlTcCSGE+AwduXsHFXdCCCG+Q7XdK+iCOkIIIaSVoSN3QgghvkOn5b2CijshhBCfoUlsvIOKOyGEEN+hI3evoOJOCCHEZ0T0VTivoAvqCCGEkFaGjtwJIYT4Dp2W9woq7oQQQnyHartXUHEnhBDiMzRDnXfQZ+6EEEJIK0NH7oQQQnyHjty9goo7IYQQ36GvwnkFFXdCCCE+Q5+5ewcVd0IIIb5Dxd0r6II6QgghpJWhI3dCCCG+Q0fuXkHFnRBCiO/QBXVeQaflCSGE+IyIYQTd+Proo48wcuRI9O/fH4sXL4ZarXa5nF6vx9KlSzF48GAMGzYMW7Zssf1u9uzZSExMtN369euH3r174/Tp0wCAlStX4u6772YtU1JSwnvMXNCROyGEEN/xwWn5Y8eO4cMPP8SOHTsQHh6ORYsWYcOGDXjllVecll2/fj1KSkpw9OhRVFZW4sknn0Tv3r2RkpKCDz74gLXsyy+/DKPRiP79+wMAcnNzsXbtWowbN65Znpc9OnInhBDyp7J//36kpaUhOjoaCoUCCxcuxN69e2EymZyWPXDgADIyMqBQKNC9e3dMnz4dn3/+udNyR44cwalTp7By5UoAgNlsRn5+PuLi4rz+fFyh4k4IIcR3GEbYrRFGoxE1NTVOt7q6OhQWFqJHjx62ZaOjo1FbW4vS0lJWDJVKhYqKCqdlCwoKnP7WW2+9hZdffhnBwcEAgKKiImi1WqxZswZDhw7Fgw8+iGPHjnlijbmFTssTQgjxHS+dlv/1118xa9Ysp/u7dOkCPz8/SKVS230ymQwAoNFoWMtaf7b+HgCkUim0Wi1ruW+++QaBgYGs0+81NTUYPHgwZs+ejXvuuQfHjx/Hc889h88//xy9e/cW/gRvg4o7IYQQ3/HS1fLDhg1Dfn6+y99NnDgROp3O9rO1iAcFBbGWs+4AaLVa2xG5VquFXC5nLbdv3z48/PDDEItvnQxPSEjAxx9/bPt5zJgxSEpKwg8//NAsxZ1OyxNCCPlTiY2NRWFhoe1npVIJhUKB9u3bs5YLCQlBWFgYlEola9nY2Fjbz3V1dfjtt98wfvx41mNPnjyJTz/9lHWfTqdDYGCgJ59Ko6i4E0II8RlffBVu0qRJ+Oyzz1BQUIC6ujps2LABEydOZB152y/7/vvvo7q6GkVFRdi1axcmT55s+/358+fRvn17dOjQgfU4sViMNWvWICsrCyaTCQcPHsQff/zhtBPgLXRanhBCiO/44KtwKSkpuHr1KjIyMlBTU4Pk5GS89NJLtt8nJiZi+/btGDhwIJ577jmsXr0a48ePh0gkwsyZM1kF+tq1a4iIiHD6G0OGDMHSpUuxdOlSlJWVITo6Glu3bnXaCfAWEcPQ3H+EEEJ8Y3xv5++Wc/Gf/Lc9NJLWhY7cCSGE+A4dX3oFfeZOCCGEtDJ05E4IIcR36MjdK6i4E0II8R0q7l5BxZ0QQojvmKm4ewMVd0IIIb7DUEN3b6AL6gghhJBWho7cCSGE+A595u4VVNwJIYT4Dn3m7hVU3AkhhPgOHbl7BX3mTgghhLQydOROCCHEd+jI3SuouBNCCPEdKu5eQcWdEEKI75jpe+7eQMWdEEKI79CRu1fQBXWEEEJIK0NH7oQQQnyHjty9goo7IYQQ36FJbLyCijshhBCfYahxjFfQZ+6EEEJIK0NH7oQQQnyHTst7BRV3QgghvkMX1HkFFXdCCCG+Q5PYeAUVd0IIIb5DR+5eQRfUEUIIIa0MHbkTQgjxGYZOy3sFFXdCCCG+Q6flvYKKOyGEEN+hr8J5BRV3QgghvkMz1HkFXVBHCCGEtDJU3AkhhPgMY2YE3fj66KOPMHLkSPTv3x+LFy+GWq1ucnmdToeHH34Yx44dczvOiRMnMGHCBCQkJCA9PR1KpZL3eLmi4k4IIcR3GLOwGw/Hjh3Dhx9+iB07duD48eNQqVTYsGFDo8tfuHABM2fOxB9//OF2nIqKCsyfPx+LFi3Cr7/+imHDhuGFF17gNV4+qLgTQgjxGV8cue/fvx9paWmIjo6GQqHAwoULsXfvXphMJqdlr127hhkzZmDs2LHo3Lmz23EOHz6MuLg4pKSkICAgAE8//TSuXLmC8+fP8xozV1TcCSGEtDpGoxE1NTVOt7q6OhQWFqJHjx62ZaOjo1FbW4vS0lKnOKGhoThy5AiefPJJiEQi1u+ailNYWIjY2Fjb7/z8/BAZGYmLFy964dk6o6vlCSGE+Mx3ps+8EvfXX3/FrFmznO7v0qUL/Pz8IJVKbffJZDIAgEajcVpeLpc3+jc0Gk2jcTQaDYKDg1nLy2Qyl3/DG6i4E0IIaXWGDRuG/Px8l7+bOHEidDqd7WdrwQ0KCuL0N6RSaaNxZDIZtFota3mNRtPkzoIn0Wl5QgghfyqxsbEoLCy0/axUKqFQKNC+fXuPxYmJiWFdHW8ymXD58mXWaXxvouJOCCHkT2XSpEn47LPPUFBQgLq6OmzYsAETJ06EWMytJDYV57777sP58+dx+PBh6PV6bNmyBR07dsRdd93lpWfFRsWdEELIn0pKSgqeeuopZGRkYPTo0VAoFHjppZdsv09MTERWVpagOBEREdi8eTM2btyIIUOG4MSJE3j//fedLsrzFhHD0Kz9hBBCSGtCR+6EEEJIK0PFnRBCCGllqLgTQgghrQwVd0IIIaSVoeJOCCGEtDJU3AkhhJBWhoo7IYQQ0spQcSeEEEJaGSruhBBCSCvz/wEAW8dWyISJFgAAAABJRU5ErkJggg==\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "field0.plane(\"y\").mpl()" ] }, { "cell_type": "code", "execution_count": 5, "id": "1a01b9b6", "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "field1.plane(\"y\").mpl()" ] }, { "cell_type": "markdown", "id": "75a21559", "metadata": {}, "source": [ "### Coordinates of the mesh/in time\n", "Mesh coordinates shoud at some point be available from `df.Mesh`." ] }, { "cell_type": "code", "execution_count": 26, "id": "0ca46893", "metadata": {}, "outputs": [], "source": [ "x = np.linspace(0.5, 19.5, 20)\n", "y = np.linspace(0.5, 9.5, 10)\n", "z = np.linspace(0.5, 4.5, 5)\n", "t = np.linspace(0, 4, 5)" ] }, { "cell_type": "markdown", "id": "64047690", "metadata": {}, "source": [ "---\n", "# Single field\n", "\n", "### DataArray" ] }, { "cell_type": "code", "execution_count": 27, "id": "be48fbad", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (x: 20, y: 10, z: 5, vector: 3)>\n",
       "array([[[[0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.]],\n",
       "\n",
       "        [[0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.]],\n",
       "\n",
       "        [[0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.]],\n",
       "\n",
       "        ...,\n",
       "\n",
       "...\n",
       "\n",
       "        ...,\n",
       "\n",
       "        [[0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.]],\n",
       "\n",
       "        [[0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.]],\n",
       "\n",
       "        [[0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.],\n",
       "         [0., 0., 1.]]]])\n",
       "Coordinates:\n",
       "  * x        (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n",
       "  * y        (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n",
       "  * z        (z) float64 0.5 1.5 2.5 3.5 4.5\n",
       "  * vector   (vector) <U2 'mx' 'my' 'mz'
" ], "text/plain": [ "\n", "array([[[[0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.]],\n", "\n", " [[0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.]],\n", "\n", " [[0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.]],\n", "\n", " ...,\n", "\n", "...\n", "\n", " ...,\n", "\n", " [[0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.]],\n", "\n", " [[0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.]],\n", "\n", " [[0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.],\n", " [0., 0., 1.]]]])\n", "Coordinates:\n", " * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n", " * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n", " * z (z) float64 0.5 1.5 2.5 3.5 4.5\n", " * vector (vector) \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (vector: 3)>\n",
       "array([0., 0., 1.])\n",
       "Coordinates:\n",
       "    x        float64 0.5\n",
       "    y        float64 0.5\n",
       "    z        float64 0.5\n",
       "  * vector   (vector) <U2 'mx' 'my' 'mz'
" ], "text/plain": [ "\n", "array([0., 0., 1.])\n", "Coordinates:\n", " x float64 0.5\n", " y float64 0.5\n", " z float64 0.5\n", " * vector (vector) \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (vector: 3)>\n",
       "array([0., 0., 1.])\n",
       "Coordinates:\n",
       "    x        float64 0.5\n",
       "    y        float64 0.5\n",
       "    z        float64 0.5\n",
       "  * vector   (vector) <U2 'mx' 'my' 'mz'
" ], "text/plain": [ "\n", "array([0., 0., 1.])\n", "Coordinates:\n", " x float64 0.5\n", " y float64 0.5\n", " z float64 0.5\n", " * vector (vector) \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (vector: 3)>\n",
       "array([0., 0., 1.])\n",
       "Coordinates:\n",
       "    x        float64 0.5\n",
       "    y        float64 0.5\n",
       "    z        float64 0.5\n",
       "  * vector   (vector) <U2 'mx' 'my' 'mz'
" ], "text/plain": [ "\n", "array([0., 0., 1.])\n", "Coordinates:\n", " x float64 0.5\n", " y float64 0.5\n", " z float64 0.5\n", " * vector (vector) \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray ()>\n",
       "array(0.)\n",
       "Coordinates:\n",
       "    x        float64 0.5\n",
       "    y        float64 0.5\n",
       "    z        float64 0.5\n",
       "    vector   <U2 'mx'
" ], "text/plain": [ "\n", "array(0.)\n", "Coordinates:\n", " x float64 0.5\n", " y float64 0.5\n", " z float64 0.5\n", " vector \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (x: 20, y: 10, z: 5)>\n",
       "array([[[0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.]],\n",
       "\n",
       "       [[0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "...\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.]],\n",
       "\n",
       "       [[0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.]]])\n",
       "Coordinates:\n",
       "  * x        (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n",
       "  * y        (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n",
       "  * z        (z) float64 0.5 1.5 2.5 3.5 4.5\n",
       "    vector   <U2 'mx'
" ], "text/plain": [ "\n", "array([[[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.]],\n", "\n", " [[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", "...\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.]],\n", "\n", " [[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.]]])\n", "Coordinates:\n", " * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n", " * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n", " * z (z) float64 0.5 1.5 2.5 3.5 4.5\n", " vector \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'vector' (vector: 3)>\n",
       "array(['mx', 'my', 'mz'], dtype='<U2')\n",
       "Coordinates:\n",
       "  * vector   (vector) <U2 'mx' 'my' 'mz'
" ], "text/plain": [ "\n", "array(['mx', 'my', 'mz'], dtype='" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "data.sel(z=0.5, vector=\"mz\").plot()" ] }, { "cell_type": "markdown", "id": "46ce5439", "metadata": {}, "source": [ "### Dataset" ] }, { "cell_type": "code", "execution_count": 31, "id": "126884e2", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset>\n",
       "Dimensions:  (x: 20, y: 10, z: 5)\n",
       "Coordinates:\n",
       "  * x        (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n",
       "  * y        (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n",
       "  * z        (z) float64 0.5 1.5 2.5 3.5 4.5\n",
       "Data variables:\n",
       "    mx       (x, y, z) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
       "    my       (x, y, z) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
       "    mz       (x, y, z) float64 1.0 1.0 1.0 1.0 1.0 1.0 ... 1.0 1.0 1.0 1.0 1.0
" ], "text/plain": [ "\n", "Dimensions: (x: 20, y: 10, z: 5)\n", "Coordinates:\n", " * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n", " * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n", " * z (z) float64 0.5 1.5 2.5 3.5 4.5\n", "Data variables:\n", " mx (x, y, z) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", " my (x, y, z) float64 0.0 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", " mz (x, y, z) float64 1.0 1.0 1.0 1.0 1.0 1.0 ... 1.0 1.0 1.0 1.0 1.0" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset = xr.Dataset(\n", " {\n", " \"mx\": ([\"x\", \"y\", \"z\"], field0.array[..., 0]), # field0.x\n", " \"my\": ([\"x\", \"y\", \"z\"], field0.array[..., 1]),\n", " \"mz\": ([\"x\", \"y\", \"z\"], field0.array[..., 2]),\n", " },\n", " coords={\n", " \"x\": x,\n", " \"y\": y,\n", " \"z\": z,\n", " },\n", ")\n", "dataset" ] }, { "cell_type": "code", "execution_count": 16, "id": "69ce008a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset>\n",
       "Dimensions:  ()\n",
       "Coordinates:\n",
       "    x        float64 0.5\n",
       "    y        float64 0.5\n",
       "    z        float64 0.5\n",
       "Data variables:\n",
       "    mx       float64 0.0\n",
       "    my       float64 0.0\n",
       "    mz       float64 1.0
" ], "text/plain": [ "\n", "Dimensions: ()\n", "Coordinates:\n", " x float64 0.5\n", " y float64 0.5\n", " z float64 0.5\n", "Data variables:\n", " mx float64 0.0\n", " my float64 0.0\n", " mz float64 1.0" ] }, "execution_count": 16, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset.loc[dict(x=0.5, y=0.5, z=0.5)]" ] }, { "cell_type": "code", "execution_count": 35, "id": "20f81c7a", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset>\n",
       "Dimensions:  ()\n",
       "Coordinates:\n",
       "    x        float64 0.5\n",
       "    y        float64 0.5\n",
       "    z        float64 0.5\n",
       "Data variables:\n",
       "    mx       float64 0.0\n",
       "    my       float64 0.0\n",
       "    mz       float64 1.0
" ], "text/plain": [ "\n", "Dimensions: ()\n", "Coordinates:\n", " x float64 0.5\n", " y float64 0.5\n", " z float64 0.5\n", "Data variables:\n", " mx float64 0.0\n", " my float64 0.0\n", " mz float64 1.0" ] }, "execution_count": 35, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset[{\"x\": 0, \"y\": 0, \"z\": 0}]" ] }, { "cell_type": "code", "execution_count": 50, "id": "8a2ac4e9", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray 'mx' (x: 20, y: 10, z: 5)>\n",
       "array([[[0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.]],\n",
       "\n",
       "       [[0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "...\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.]],\n",
       "\n",
       "       [[0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.],\n",
       "        [0., 0., 0., 0., 0.]]])\n",
       "Coordinates:\n",
       "  * x        (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n",
       "  * y        (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n",
       "  * z        (z) float64 0.5 1.5 2.5 3.5 4.5
" ], "text/plain": [ "\n", "array([[[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.]],\n", "\n", " [[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", "...\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.]],\n", "\n", " [[0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.],\n", " [0., 0., 0., 0., 0.]]])\n", "Coordinates:\n", " * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n", " * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n", " * z (z) float64 0.5 1.5 2.5 3.5 4.5" ] }, "execution_count": 50, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset.mx" ] }, { "cell_type": "markdown", "id": "2a5405e7", "metadata": {}, "source": [ "Access to the underlying numpy array" ] }, { "cell_type": "code", "execution_count": 55, "id": "f35013f3", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "numpy.ndarray" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(dataset.to_array().data)" ] }, { "cell_type": "code", "execution_count": 41, "id": "3759d28c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([0., 0., 1.])" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset.sel(x=0.5, y=0.5, z=0.5).to_array().data" ] }, { "cell_type": "code", "execution_count": 20, "id": "5973339c", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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bGy86L5vv/22zT/MMAzl5eXpgQceUENDg6P92WefVVBQkD799FNlZmbqxRdf1OHDh1scb7fblZaWpsmTJ2vPnj2aMWOG5s6dq/r6+jbXAABAW7X1unP48GEtWbJEGRkZ2rFjh3r27Klly5b9rHP8XOPHj9f777+vVatWKTMzU++//77uuusuPfzww1qwYEGbz9OmIDBt2jQdO3asRXt+fr6SkpLa/MOys7OVk5OjtLQ0R9u5c+e0fft2zZs3T127dtWtt96qxMTEVkcFdu7cKX9/f6WkpKhLly5KTk5WSEiISkpK2lwDAABt1dbrzubNm5WQkKAhQ4bIZrNpwYIFKi4u1smTJ9127RowYIA2b96se+65R5IUEBCgp556Sn/4wx+0b9++Np+nTUGge/fumjRpkuPi/P333+vRRx/VU089pUmTJrX5h02ZMkX5+fkaPHiwo+3LL79U586d1adPH0dbaGiojh492uL4yspKhYWFObVdrC8AwHf4Ga5tF9PW605FRYUGDBjg+BwSEqLg4GBVVFS47dqVnZ2tXr16tWiPiYlRQUFBm8/TpsWCb7zxhnJycvTcc8/pP//zP1VeXq5evXrp7bffdrqoX07v3r1btJ0/f142m82pzWazqa6urtW+gYGBbeoLAPAhblr539brTm1tbYtrWWBgoGpra9127WpoaNC7776ro0ePtphm8PPz0/Lly9t0njbfNTB16lTt27dPf/nLX9S5c2c988wzPysEXExgYGCLX0ZdXZ2CgoJc6gsA8CFuumugrdedi4WDoKAgt127Fi1apG3btik8PFxdu3Y1fZ42BYFPPvlES5cuVVNTk7Kzs3XgwAEtXLhQW7du1eLFi3X11VebLqBv375qbGxUVVWVrr/+ekk/DsX8dIjlgv79+ys3N9eprbKyUomJiaZ/PgAAF9PW605YWJgqKysdn0+dOqWamhqFhYXp3Llzbrl2ffzxx8rIyNAdd9zh0nnatEZg9uzZGjp0qDZv3qzRo0dr7ty5euutt/S3v/3NsUjBrG7duikhIUGrV69WbW2tysrKVFhYqAkTJrToGxsbq/r6em3cuFENDQ3Ky8tTdXW1062IAAAf5KbbB9t63UlMTNS2bdtUWloqu92ujIwMjRo1SiEhIW67dnXr1k2hoaEunUNqYxB46aWX9OKLL+oXv/iFo23QoEF6//33NXnyZJeLWLFihRobGxUfH6958+Zp4cKFGjJkiCSpoKBA48ePl/TjisgNGzaoqKhIMTExys3NVVZWFlMDAODj3LVY8FLXncWLF2vx4sWSpPDwcK1YsULp6emKjY3Vd999p5UrV172HK6YPXu2/uM//kNVVVUuncfPMIwO+zym/pmrPV0CAOAnKubNd8t5w1ZnuHT8/8x/4gpV0n7279+v2bNn68yZM/L395efn/OCyQMHDrTpPDxiGAAAC3r66afVr18/JSUluTS6QBAAAFhfhx3bvrjjx4+roKBA/fr1c+k8vH0QAGB57loj4M0GDRqkL7/80uXzMCIAALA+i75K2BW/+c1vlJ6erqlTp+rGG29U587Ol/TW7r5rDUEAAGB9Fv2r3hXz5/+48DIrK6vFPj8/P4IAAAAdWWtv6TWDIAAAsDyrzvN7A4IAAMD6CAKmEQQAAJbHiIB53D4IAIAPY0QAAGB9jAiYRhAAAFgfQcA0ggAAwPJYI2AeawQAAPBhBAEAAHwYUwMAAOtjasA0ggAAwPJYI2AeQQAAYH0EAdMIAgAA6yMImMZiQQAAfBgjAgAAy2ONgHkEAQCA9REETCMIAAAsjxEB81gjAACAD2NEAABgfYwImEYQAABYH0HANIIAAMDyWCNgHkEAAGB9BAHTWCwIAIAPY0QAAGB9jAiYRhAAAFgeawTM84ogUFBQoCVLlji11dbWaurUqVqxYoVT++zZs7Vz50516tTJ0bZv3752qRMA4KUIAqZ5RRBISkpSUlKS4/OOHTu0cOFCzZkzp0Xf8vJyvfnmmxo8eHB7lggA8GKMCJjndYsFz507p3/7t3/T0qVLde211zrtO3nypE6dOqWbb77ZQ9UBANCxeF0QeO2113TzzTdr7NixLfYdOnRIV111lVJTUzV8+HBNnz6daQEAwI9TA65sPsyrgsC5c+eUm5uruXPntrrfbrcrMjJS6enp+uSTT5SUlKSHHnpIJ06caOdKAQBehSBgmlcFge3bt+v6669XZGRkq/vHjh2r9evX66abblJAQIBSUlJ03XXXadeuXe1bKADAq/i5uPkyrwoCJSUlGjdu3EX3b926VVu2bHFqs9vt6tq1q7tLAwCgQ/KqILB///6LjgZI0vnz5/Xcc8/pb3/7mxoaGvTaa6+prq5OcXFx7VckAMD7MDVgmlfcPihJTU1N+uabb9SrVy+n9sWLF0uSli9frsmTJ+vEiROaNWuWTp8+rVtuuUUbNmxQUFCQJ0oGAHgJbh80z88wjA776+ufudrTJQAAfqJi3ny3nHfIY2tcOn7/y49foUqsx2tGBAAAMK3D/knrfl61RgAAALQvRgQAAJbHGgHzCAIAAOsjCJhGEAAAWB4jAuYRBAAA1kcQMI3FggAA+DBGBAAAlsfUgHkEAQCA9REETCMIAACsjyBgGmsEAADwYYwIAAAsjzUC5hEEAADWRxAwjSAAALA8v477Il23Y40AAMD6DBc3k/7whz/o9ttv19ChQ7VgwQKdP3++1X719fV6+umnFRMToxEjRigrK8tp/7p16zR69GhFR0drxowZ+uKLL8wX9TMRBAAAMKGkpESvv/66cnJy9PHHH6umpkaZmZmt9l2zZo2qqqpUXFysP/3pT9q0aZM++ugjSdJ7772n/Px8bdy4UTt37lRsbKxSU1PV3NzcLt+DIAAAsDw/w7XNjPz8fCUnJys0NFTBwcF67LHHlJeXp6amphZ9CwoKlJqaquDgYPXr10/33Xef3nnnHUnS999/r7S0NPXp00edO3fW/fffr6qqKn3zzTeu/ErajDUCAADrc9MSgcbGxlaH+/39/VVRUaE77rjD0RYaGqqzZ8/q22+/1fXXX+9or6mpUXV1tQYMGODU980335QkPfjgg07n/uijj9SjRw9de+21V/rrtIogAACwPHfdPrh7927NnDmzRfsNN9ygTp06yWazOdoCAwMlSbW1tU59L3y+sF+SbDab6urqWpx3z549WrJkiZYvXy5///YZtCcIAACsz01BYMSIETpy5Eir+yZMmCC73e74fOGCf9VVVzn1uxAW6urq1K1bN8d/BwUFOfX74IMPtGzZMj377LOaMGHCFfsOl0MQAADAhLCwMFVUVDg+V1ZWKjg4WL1793bq16NHD1199dWqrKxUz549HX3DwsIcfV599VXl5ORo3bp1io2NbZ8v8P+wWBAAYHmeWCyYlJSkt99+W0ePHtUPP/ygzMxMTZgwodUh/aSkJL3yyis6ffq0jh07ptzcXE2cOFGS9O677+qPf/yj/vSnP7V7CJAYEQAAdAQeeJ7QmDFj9Pe//12pqak6c+aM4uPj9eSTTzr2R0VFacOGDYqOjtZvf/tb/fu//7vGjRsnPz8/3X///Ro3bpwkaf369Tp37pySk5Odzp+Xl+c0auAufobRcR/H1D9ztadLAAD8RMW8+W457/D7Mlw6fmfuE1eoEuthagAAAB/G1AAAwPo67uC22xEEAACWx2uIzSMIAACsjyBgGkEAAGB5fu3zfp4OicWCAAD4MK8JAq+99poGDRqkqKgox1ZaWtqiX2FhoRISEhQVFaXU1FRVV1d7oFoAgFcxXNx8mNcEgfLycj3++OPat2+fY4uOjnbqc/jwYS1ZskQZGRnasWOHevbsqWXLlnmoYgCAt/DEkwU7Cq8KAuHh4Zfss3nzZiUkJGjIkCGy2WxasGCBiouLdfLkyXaqEgDglQzDtc2HeUUQqK2t1bFjx5STk6O4uDiNGzdOeXl5LfpVVFQ4vc85JCREwcHBTi99AAD4HkYEzPOKuwaqq6s1dOhQ3XvvvcrMzFRZWZnS0tLUq1cvxcfHO/rV1tY6vftZ+vH9zv/73c8AAKBtvCII9OnTR7m5uY7P0dHRmjhxooqLi52CgM1mU11dndOxtbW1Ld7pDADwMT7+V70rvGJq4ODBg1q/fr1Tm91uV0BAgFNbWFiYKisrHZ9PnTqlmpqadnk7EwDAezE1YJ5XBIGgoCCtXbtWW7duVXNzs3bs2KGioiJNmjTJqV9iYqK2bdum0tJS2e12ZWRkaNSoUQoJCfFQ5QAAr8BiQdO8YmogNDRUL730ktasWaNFixbpmmuu0cqVKxUREaHFixdLkpYvX67w8HCtWLFC6enpOnHihKKjo7Vy5UoPVw8AgHX5GUbHjUL9M1d7ugQAwE9UzJvvlvOOmrjKpeM/yV94hSqxHq8YEQAAwCUd9k9a9yMIAAAsz9cX/LmCIAAAsL5mkoBZXnHXAAAA8AxGBAAA1seAgGkEAQCA5bFGwDyCAADA+jrunfBuRxAAAFgeIwLmsVgQAAAfxogAAMD6GBEwjSAAALA8P9YImEYQAABYX7OnC7Au1ggAAODDGBEAAFgeUwPmEQQAANZHDjCNIAAAsD5GBEwjCAAALI8HCpnHYkEAAHwYIwIAAOtjasA0ggAAwPL8eI6AaQQBAID1MSJgGmsEAADwYYwIAACsjwEB0wgCAADL48mC5hEEAADWRxAwjSAAALA+7howjcWCAAD4MEYEAACWxxoB8wgCAADrIwiYRhAAAFgfQcA0ggAAwPpYLGia1wSB0tJSvfDCC6qoqFBISIhmzZql6dOnt+g3e/Zs7dy5U506dXK07du3rz1LBQCgw/CKIFBTU6NHHnlEzzzzjBITE1VeXq6ZM2fqxhtv1IgRI5z6lpeX680339TgwYM9VC0AwNuwWNA8r7h9sKqqSvHx8UpKSpK/v78iIiI0bNgw7d2716nfyZMnderUKd18880eqhQA4JUMw7XNh3lFEAgPD9eqVascn2tqalRaWqqBAwc69Tt06JCuuuoqpaamavjw4Zo+fTrTAgAAgoALvCII/NTZs2eVlpamiIgIjRkzxmmf3W5XZGSk0tPT9cknnygpKUkPPfSQTpw44aFqAQCwNq8KAsePH9f06dPVvXt3rV27Vv7+zuWNHTtW69ev10033aSAgAClpKTouuuu065duzxUMQDAKzAiYJrXBIGDBw9q2rRpGjlypNatWyebzdaiz9atW7VlyxanNrvdrq5du7ZXmQAAb9Ts4ubDvOKugerqas2aNUszZ87U7NmzL9rv/PnzWr16tW6++Wb17dtXf/zjH1VXV6e4uLh2rBYA4G24a8A8rwgCeXl5OnXqlLKyspSVleVov//++/X9999LkpYvX67JkyfrxIkTmjVrlk6fPq1bbrlFGzZsUFBQkKdKBwB4Aw8FgT/84Q96/fXXde7cOY0ZM0bLly9v9ZpUX1+vpUuXavv27ercubNmzJihhx9+uEW/vLw8rVq1ql2nvL0iCKSlpSktLa1NfVNTU5WamurmigAAuLSSkhK9/vrrysnJUc+ePfXEE08oMzNTixYtatF3zZo1qqqqUnFxsU6ePKkHHnhAv/rVr5wWxR8/flzPP/+80wPz2oPXrBEAAMC0ZsO1zYT8/HwlJycrNDRUwcHBeuyxx5SXl6empqYWfQsKCpSamqrg4GD169dP9913n9555x3H/qamJj355JOaNm2a6V+BWQQBAID1uemugcbGRp05c6bF9sMPP6iiokIDBgxw9A0NDdXZs2f17bffOp2jpqZG1dXVLfoePXrU8fnCHXHx8fFX8JfSNl4xNQAAgEvctEZg9+7dmjlzZov2G264QZ06dXK6wy0wMFCSVFtb69T3wucL+yXJZrOprq5OknTgwAHl5+fr3Xff1YEDB674d7gcggAAwPrcFARGjBihI0eOtLpvwoQJstvtjs8XLvhXXXWVU78LYaGurk7dunVz/HdQUJDq6uq0aNEi/e53v2txXHshCAAAYEJYWJgqKiocnysrKxUcHKzevXs79evRo4euvvpqVVZWqmfPno6+YWFhOnDggI4fP+5YMN/U1KTa2lpFR0eroKBA119/vdu/B2sEAADW54HFgklJSXr77bd19OhR/fDDD8rMzNSECRNaPBX3Qt9XXnlFp0+f1rFjx5Sbm6uJEycqOjpa+/fvV2lpqUpLS5Wdna3u3burtLS0XUKARBAAAHQERrNrmwljxozRQw89pNTUVI0ePVrBwcF68sknHfujoqJUWloqSfrtb3+rfv36ady4cUpJSdG0adM0bty4K/LVXeVnGB33cUz9M1d7ugQAwE9UzJvvlvOO6/e4S8f/5diaK1SJ9TAiAACAD2OxIADA+kzO84MgAADoCDruLLfbEQQAANZHEDCNIAAAsD6CgGksFgQAwIcxIgAAsL5mc88CAEEAANARMDVgGkEAAGB9BAHTCAIAAOvjOQKmsVgQAAAfxogAAMDyDJMvDgJBAADQETA1YBpBAABgfSwWNI01AgAA+DBGBAAA1scDhUwjCAAArI+pAdMIAgAAyzMYETCNIAAAsD5GBExjsSAAAD6MEQEAgPXxHAHTCAIAAOvjyYKmEQQAAJZnMCJgmtesETh06JCSk5MVGRmpiRMn6vPPP2+1X2FhoRISEhQVFaXU1FRVV1e3b6EAAO9jNLu2+TCvCAJ2u11paWmaPHmy9uzZoxkzZmju3Lmqr6936nf48GEtWbJEGRkZ2rFjh3r27Klly5Z5qGoAAKzPK4LAzp075e/vr5SUFHXp0kXJyckKCQlRSUmJU7/NmzcrISFBQ4YMkc1m04IFC1RcXKyTJ096qHIAgDcwmg2XNl/mFUGgsrJSYWFhTm2hoaE6evSoU1tFRYUGDBjg+BwSEqLg4GBVVFS0S50AAC/F1IBpXrFY8Pz58woMDHRqs9lsqqurc2qrra2VzWZzagsMDFRtbW2r562YN//KFgoA8EofNm/ydAmW5RUjAoGBgS0u+nV1dQoKCnJqu1g4+N/9AABA23hFEOjfv78qKyud2iorK52mASQpLCzMqd+pU6dUU1PTYloBAAC0jVcEgdjYWNXX12vjxo1qaGhQXl6eqqurNXLkSKd+iYmJ2rZtm0pLS2W325WRkaFRo0YpJCTEQ5UDAGBtfobhHW9qOHz4sJYuXaojR46ob9++Wrp0qSIjI7V48WJJ0vLlyyVJW7Zs0csvv6wTJ04oOjpaK1eu1NVXX+3J0gEAsC6jAzp48KAxZcoUY8iQIUZSUpKxb98+T5fkVfbs2WMkJycbQ4cONRISEow///nPni7J65w4ccIYPny48dFHH3m6FK/y9ddfG7NnzzaioqKM22+/3fjjH//o6ZK8xmeffWZMmjTJiIqKMu68806joKDA0yV5hf379xtxcXGOz6dPnzYeeeQRY+jQoUZ8fLzxzjvveLA6GIZhdLggUFdXZ9x+++3Gm2++adTX1xubNm0y4uLiDLvd7unSvMLp06eNX//610Z+fr7R1NRkHDhwwPj1r39t/Pd//7enS/Mqs2fPNgYOHEgQ+Inm5mZj0qRJxvPPP2/U19cbX3zxhfHrX//a+Oyzzzxdmsc1NjYaw4cPN/7yl78YhvFj2L7llluM48ePe7gyz2lubjY2bdpk3HbbbUZMTIyj/dFHHzUWLFhg1NXVGfv37zdiYmKM8vJyD1YKr1gjcCW19eFEvqqqqkrx8fFKSkqSv7+/IiIiNGzYMO3du9fTpXmNP//5zwoMDNR1113n6VK8yv79+/Xdd99pwYIF6tKli2666Sa99dZbCg0N9XRpHnfmzBmdOnVKTU1NMgxDfn5+6tKlizp16uTp0jwmOztbOTk5SktLc7SdO3dO27dv17x589S1a1fdeuutSkxM1KZN3PrnSR0uCLT14US+Kjw8XKtWrXJ8rqmpUWlpqQYOHOjBqrzHsWPH9MYbb2jp0qWeLsXrHDx4UDfddJNWrVqluLg43XXXXdq/fz+LdfXjw81SUlL0xBNPKCIiQr/5zW/07LPP+nSYnDJlivLz8zV48GBH25dffqnOnTurT58+jjb+ffY8r3ig0JXU1ocTQTp79qzS0tIUERGhMWPGeLocj2tsbNTChQuVnp6uHj16eLocr1NTU6Ndu3Zp+PDhKikp0YEDBzRr1iz16dNH0dHRni7Po5qbm2Wz2fTyyy9rzJgx+vTTTzV//nxFRET4bMju3bt3i7bz58+3eCgc/z57XocbEWjrw4l83fHjxzV9+nR1795da9eulb9/h/u/ws+2bt06hYeHKz4+3tOleKWAgAB1795dqampCggI0NChQ3XXXXepuLjY06V53LZt21RWVqa7775bAQEBGj16tEaPHq0PPvjA06V5Ff599k4d7l//tj6cyJcdPHhQ06ZN08iRI7Vu3boWCd1XbdmyRUVFRYqOjlZ0dLSqqqr0xBNPaP369Z4uzSuEhoaqtrZWjY2NjrYLc+K+7uuvv27xttTOnTurc+cON+jqkr59+6qxsVFVVVWONv599rwOFwTa+nAiX1VdXa1Zs2Zp5syZeuqppxgJ+ImtW7fqs88+U2lpqUpLS3X99dcrIyNDs2fP9nRpXiEuLk6/+MUvtHr1ajU2Nmrv3r368MMPdffdd3u6NI8bMWKEysvL9e6778owDO3evVsffvih7rrrLk+X5lW6deumhIQErV69WrW1tSorK1NhYaEmTJjg6dJ8Woe7CgQEBGjDhg0qKipSTEyMcnNzlZWVxdDT/5OXl6dTp04pKytLUVFRjm3NmjWeLg1ezmazaePGjfriiy80YsQILViwQM8884wiIyM9XZrH/epXv1JmZqZycnJ02223afny5XrhhRecFsrhRytWrFBjY6Pi4+M1b948LVy4UEOGDPF0WT7Na54sCAAA2l+HGxEAAABtRxAAAMCHEQQAAPBhBAEAAHwYQQAAAB9GEAAAwIcRBAAA8GEEAQAAfBhBAAAAH0YQALzU7373O40fP96p7auvvtKvfvUrHT582ENVAehoCAKAl5o8ebL+9re/6dChQ462goICDRw40GffcQ/gyiMIAF7qlltu0cCBA1VQUOBoKygo0KRJkzxYFYCOhiAAeLFJkyapsLBQzc3N2rdvn/7xj3/wylYAVxRBAPBiSUlJOn36tHbt2qWCggKNGjVKV199tafLAtCBEAQAL/bLX/5St99+u7Zt26bi4mKmBQBccQQBwMtNnjxZ7733nux2u0aPHu3pcgB0MAQBwMuNHj1aNptNiYmJCggI8HQ5ADoYggDg5X744QedO3dOkydP9nQpADqgzp4uAEDrvv/+e+3evVsffPCBBg0apIiICE+XBKADIggAXqqhoUHp6enq3bu3XnnlFU+XA6CD8jMMw/B0EQAAwDNYIwAAgA8jCAAA4MMIAgAA+DCCAAAAPowgAACADyMIAADgw/4vecbqWX1IK3oAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "dataset.mx.sel(z=0.5).plot()" ] }, { "cell_type": "markdown", "id": "239704f3", "metadata": {}, "source": [ "---\n", "# Time series" ] }, { "cell_type": "code", "execution_count": 21, "id": "f72bc868", "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.DataArray (t: 5, x: 20, y: 10, z: 5, vector: 3)>\n",
       "array([[[[[0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ]],\n",
       "\n",
       "         [[0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ]],\n",
       "\n",
       "         [[0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ],\n",
       "          [0.        , 0.        , 1.        ]],\n",
       "\n",
       "         ...,\n",
       "\n",
       "...\n",
       "\n",
       "         ...,\n",
       "\n",
       "         [[1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ]],\n",
       "\n",
       "         [[1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ]],\n",
       "\n",
       "         [[1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ],\n",
       "          [1.        , 0.        , 0.        ]]]]])\n",
       "Coordinates:\n",
       "  * t        (t) float64 0.0 1.0 2.0 3.0 4.0\n",
       "  * x        (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n",
       "  * y        (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n",
       "  * z        (z) float64 0.5 1.5 2.5 3.5 4.5\n",
       "  * vector   (vector) <U2 'mx' 'my' 'mz'
" ], "text/plain": [ "\n", "array([[[[[0. , 0. , 1. ],\n", " [0. , 0. , 1. ],\n", " [0. , 0. , 1. ],\n", " [0. , 0. , 1. ],\n", " [0. , 0. , 1. ]],\n", "\n", " [[0. , 0. , 1. ],\n", " [0. , 0. , 1. ],\n", " [0. , 0. , 1. ],\n", " [0. , 0. , 1. ],\n", " [0. , 0. , 1. ]],\n", "\n", " [[0. , 0. , 1. ],\n", " [0. , 0. , 1. ],\n", " [0. , 0. , 1. ],\n", " [0. , 0. , 1. ],\n", " [0. , 0. , 1. ]],\n", "\n", " ...,\n", "\n", "...\n", "\n", " ...,\n", "\n", " [[1. , 0. , 0. ],\n", " [1. , 0. , 0. ],\n", " [1. , 0. , 0. ],\n", " [1. , 0. , 0. ],\n", " [1. , 0. , 0. ]],\n", "\n", " [[1. , 0. , 0. ],\n", " [1. , 0. , 0. ],\n", " [1. , 0. , 0. ],\n", " [1. , 0. , 0. ],\n", " [1. , 0. , 0. ]],\n", "\n", " [[1. , 0. , 0. ],\n", " [1. , 0. , 0. ],\n", " [1. , 0. , 0. ],\n", " [1. , 0. , 0. ],\n", " [1. , 0. , 0. ]]]]])\n", "Coordinates:\n", " * t (t) float64 0.0 1.0 2.0 3.0 4.0\n", " * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n", " * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n", " * z (z) float64 0.5 1.5 2.5 3.5 4.5\n", " * vector (vector) \n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset>\n",
       "Dimensions:  (t: 5, x: 20, y: 10, z: 5)\n",
       "Coordinates:\n",
       "  * t        (t) float64 0.0 1.0 2.0 3.0 4.0\n",
       "  * x        (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n",
       "  * y        (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n",
       "  * z        (z) float64 0.5 1.5 2.5 3.5 4.5\n",
       "Data variables:\n",
       "    mx       (t, x, y, z) float64 0.0 0.0 0.0 0.0 0.0 ... 1.0 1.0 1.0 1.0 1.0\n",
       "    my       (t, x, y, z) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n",
       "    mz       (t, x, y, z) float64 1.0 1.0 1.0 1.0 1.0 ... 0.0 0.0 0.0 0.0 0.0
" ], "text/plain": [ "\n", "Dimensions: (t: 5, x: 20, y: 10, z: 5)\n", "Coordinates:\n", " * t (t) float64 0.0 1.0 2.0 3.0 4.0\n", " * x (x) float64 0.5 1.5 2.5 3.5 4.5 5.5 ... 15.5 16.5 17.5 18.5 19.5\n", " * y (y) float64 0.5 1.5 2.5 3.5 4.5 5.5 6.5 7.5 8.5 9.5\n", " * z (z) float64 0.5 1.5 2.5 3.5 4.5\n", "Data variables:\n", " mx (t, x, y, z) float64 0.0 0.0 0.0 0.0 0.0 ... 1.0 1.0 1.0 1.0 1.0\n", " my (t, x, y, z) float64 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 0.0 0.0 0.0\n", " mz (t, x, y, z) float64 1.0 1.0 1.0 1.0 1.0 ... 0.0 0.0 0.0 0.0 0.0" ] }, "execution_count": 22, "metadata": {}, "output_type": "execute_result" } ], "source": [ "dataset = xr.Dataset(\n", " {\n", " \"mx\": (\n", " [\"t\", \"x\", \"y\", \"z\"],\n", " np.stack(\n", " [\n", " field0.array[..., 0],\n", " field1.array[..., 0],\n", " field2.array[..., 0],\n", " field3.array[..., 0],\n", " field4.array[..., 0],\n", " ]\n", " ),\n", " ),\n", " \"my\": (\n", " [\"t\", \"x\", \"y\", \"z\"],\n", " np.stack(\n", " [\n", " field0.array[..., 1],\n", " field1.array[..., 1],\n", " field2.array[..., 1],\n", " field3.array[..., 1],\n", " field4.array[..., 1],\n", " ]\n", " ),\n", " ),\n", " \"mz\": (\n", " [\"t\", \"x\", \"y\", \"z\"],\n", " np.stack(\n", " [\n", " field0.array[..., 2],\n", " field1.array[..., 2],\n", " field2.array[..., 2],\n", " field3.array[..., 2],\n", " field4.array[..., 2],\n", " ]\n", " ),\n", " ),\n", " },\n", " coords={\n", " \"t\": t,\n", " \"x\": x,\n", " \"y\": y,\n", " \"z\": z,\n", " },\n", ")\n", "dataset" ] }, { "cell_type": "code", "execution_count": null, "id": "12934826", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.8.10" } }, "nbformat": 4, "nbformat_minor": 5 }