{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "(10, 50, 50)\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# read true model from hdf5 file\n", "ftrue = \"./test_model_true.h5\"\n", "\n", "import h5py\n", "\n", "with h5py.File(ftrue, 'r') as f:\n", " eta_true = f['eta'][:]\n", " xi_true = f['xi'][:]\n", " zeta_true = f['zeta'][:]\n", " vel_true = f['vel'][:]\n", "\n", "# check the shape of the arrays\n", "print(eta_true.shape)\n", "\n", "# plot\n", "import matplotlib.pyplot as plt\n", "plt.imshow(eta_true[0,:,:], cmap='seismic')\n", "# inverse y\n", "plt.gca().invert_yaxis()\n", "# color bar\n", "plt.colorbar()\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/home/mnagaso/.pyenv/versions/3.10.8/lib/python3.10/abc.py:106: FutureWarning: xarray subclass Dataset should explicitly define __slots__\n", " cls = super().__new__(mcls, name, bases, namespace, **kwargs)\n" ] }, { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAksAAAHHCAYAAACvJxw8AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAAB04UlEQVR4nO3deXgURf4/8HfPnTskhASQS0EOAdEgGGWFBZYgeLDigaKIsuIBiOAFrgqe4IkXcngguvDDxWs9WBRBcNWIEEFQMZ4ICiEg5CDHzGSmfn/wzeiYTH2SdJJOyPv1PPMoU101NT2dSaW6692GUkqBiIiIiKpks7oDRERERI0ZB0tEREREGhwsEREREWlwsERERESkwcESERERkQYHS0REREQaHCwRERERaXCwRERERKTBwRIRERGRBgdLVC2zZ8+GYRhWd4PqyQsvvADDMLBz506ru0JE1OhwsETNymeffYbrrrsO6enpcDqd4gDwueeeQ/fu3eHxeNClSxc8+eST1X4tr9eLW2+9FW3atEFUVBT69++PNWvWmH0LR53PP/8c55xzDpKSkhAdHY2ePXviiSeeEOu9/vrryMzMRJs2beB2u3HMMcfg/PPPx5dfflnl9kVFRbjlllvQqVMnuN1utG3bFueffz5KSkpC2+zduxczZszAX//6V8TFxcEwDKxfv76u3mqN7dixA8OHD0dsbCySkpJw2WWXYf/+/WHb7NmzB5deeim6du2KuLg4JCYmol+/fli6dCl4NyuiuuGwugNEDWnVqlV49tln0bt3bxx77LH49ttvI267aNEiXHPNNRg9ejSmT5+O//3vf7j++utRUlKCW2+9VXyt8ePH45VXXsENN9yALl264IUXXsCIESPwwQcfYMCAAXX5tpqs9957D2effTZOOukk3HHHHYiNjcUPP/yAX375Ray7fft2tGjRAlOnTkXLli2Rm5uL559/Hv369UNWVhZOPPHE0LYFBQUYOHAgfvnlF0ycOBGdO3fG/v378b///Q9erxfR0dEAgJycHDzwwAPo0qULevXqhaysrHp775JffvkFZ5xxBhISEnD//ffj8OHDePjhh7F9+3Z89tlncLlcAIADBw7gl19+wfnnn4/27dvD7/djzZo1GD9+PHJycnD//fdb9h6IjhqKqBpmzZqljobDJTc3V5WUlCillJo0aVLE91RSUqKSk5PVyJEjw54fO3asiomJUQcPHtS+zsaNGxUA9dBDD4WeKy0tVccdd5zKyMgw+S5+d/jw4TppZ8mSJQqA+umnn+qkveooKChQqamp6u9//7sKBAJ10mZubq5yOBzq6quvDnv+2muvVYmJierHH3/U1i8sLFS//fabUkqplStXKgDqgw8+qJO+/REAtWTJEu021157rYqKilI///xz6Lk1a9YoAGrRokXia5x11lkqJiZGlZeXm+0uUbPH03BUyUcffYRTTjkFHo8Hxx13HBYtWhRx23/9619IT09HVFQUkpKSMGbMGOzevTtsm0GDBqFnz57Izs7GaaedhqioKHTq1AkLFy6s77dSSWpqKqKiosTtPvjgA/z222+47rrrwp6fNGkSiouL8c4772jrv/LKK7Db7Zg4cWLoOY/HgwkTJiArK6vSPqqOiuuKNmzYgOuuuw6tWrXCMcccAwD4+eefcd1116Fr166IiopCcnIyLrjggiqvQfrqq68wePBgREVF4ZhjjsG9996LYDBY4/6YtXz5cuzbtw/33XcfbDYbiouLTfejVatWiI6ORn5+fui5/Px8LFmyBBMnTkSnTp3g8/ng9XqrrB8XF4ekpKRqv151jv/aevXVV3HWWWehffv2oeeGDh2K448/Hv/+97/F+h07dkRJSQl8Pl+d9IeoOeNpOAqzfft2DBs2DCkpKZg9ezbKy8sxa9YspKamVtr2vvvuwx133IELL7wQ//jHP7B//348+eSTOOOMM7BlyxYkJiaGtj106BBGjBiBCy+8EBdffDH+/e9/49prr4XL5cKVV16p7VNBQQH8fr/Yd4/Hg9jY2Bq/56ps2bIFANC3b9+w59PT02Gz2bBlyxZceuml2vrHH3884uPjw57v168fAGDr1q1o165drfp23XXXISUlBXfeeSeKi4sBAJs2bcInn3yCMWPG4JhjjsHOnTuxYMECDBo0CF9//XXoNFNubi7++te/ory8HDNmzEBMTAwWL15crQEkcOQ6rKKiompt27JlS235+++/j/j4ePz6668YNWoUvv32W8TExOCyyy7DvHnz4PF4qvU6+fn58Pv9yM3NxWOPPYbCwkIMGTIkVP7RRx+hrKwMnTt3xvnnn4833ngDwWAQGRkZmD9/Pvr06VOt1/mzmhz/NfXrr78iLy+v0vEHHDmGVq1aVen50tJS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g2rBggXqlltuUV26dAkLYxw4cKBq06aNatWqlZoyZYp68skn1YABAxQAtXjx4gZ9fzt37lT33HOPuueee1T//v0VgNC//7zyaP78+QqAOv/889Uzzzyjxo0bpwBUWulUEdj551VTF1xwgXI4HOrmm29WixYtUqeddppyOBxqw4YN1ar/ZxUr0TZt2lSpbNy4ccput6upU6eqRYsWqfHjx6tjjjlGJScnh60S3LNnj0pOTlYtWrRQs2fPVg899JDq0qVL6PNtyFBKpZS68sorFQB14YUXqvnz56sLLrhAAVAzZ84M265iReQftWrVSl188cXqgQceUIsXL1Y333yzSkpKUh6PR3388cdh265bt07Z7XbVtWtX9eijj6pZs2apuLg4dfzxx6uioqKwbSuOhzFjxigA6sorrww990fVPf6rgmqEUu7atUslJyer4447Tj3xxBPq/vvvVy1atFC9evUKWwk3depU1bdvX3X77berxYsXq7lz56pTTjlFAVBTpkzRvgYRVQ8HS1TJhg0bVHp6unK5XOrYY49VCxcujJjg/eqrr6oBAwaomJgYFRMTo7p166YmTZqkcnJyQtsMHDhQnXDCCWrz5s0qIyNDeTwe1aFDB/XUU0815NtSSin1wQcfRFzqPnDgwErbL168WHXt2lW5XC513HHHqXnz5qlgMBi2TaTBTmlpqbrppptUWlqacrvd6pRTTlGrV6+u9Bo33nijMgxD7dixQ9t33WDp0KFD6oorrlAtW7ZUsbGxKjMzU33zzTeqQ4cOlSIVtm3bpgYOHKg8Ho9q27atuueee9Rzzz1nyWDJ5/Op2bNnqw4dOiin06k6d+6s5s2bV2m7qgZLs2bNUn379lUtWrRQDodDtWnTRo0ZM0Zt27atytdas2aNOvXUU5XH41FJSUnqsssuU3v37q20XaTjo7bHf1WqM1hSSqkvv/xSDRs2TEVHR6vExEQ1duxYlZubG7bNe++9p8466yzVpk0b5XQ6VVxcnDr99NPVkiVLKh2rRFQ7hlK80yLVr0GDBuHAgQMRb3Da3PXr1w8dOnTAypUrre4KERFVgRd4E1mosLAQX3zxBZYuXWp1V4iIKAIOlogsFB8fH/E+ZURE1DhwNRwRERGRBq9ZIiIiItLgzBIRERGRBgdLRERERBpH/QXewWAQe/bsQVxcHAzDsLo7RETUiCml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cdZZZyEuLg4nnHACTjrppLBHdezevRtTp07FsmXL4PHos35qYubMmSgoKAg9du/eXWdtExER1RWlzD+AI79P//h7b+bMmda+sUbi+OOPx1133YVvv/0W//vf/7B//35cccUVtWqrVoOlG264Afn5+di4cSOioqKwevVqLF26FF26dMGbb75ZrTays7ORl5eHk08+GQ6HAw6HAxs2bMATTzwBh8OB1NRU+Hw+5Ofnh9Xbt28f0tLSIrbrdrsRHx8f9iAiIjpa/fl3ntvtrnK7li1bwm63V1pVrvu9mpaWpt2+4r/SNn++gLy8vBwHDx7U/j6vC5999hluuOEG/P3vf8e3336LCy64oFbt1GqwtG7dOjz66KPo27cvbDYbOnTogEsvvRQPPvgg5syZU602hgwZgu3bt2Pr1q2hR9++fTF27NjQ/zudTqxduzZUJycnB7t27UJGRkZtuk1ERNRoBJUy/agJl8uF9PT0sN+rwWAQa9eujfh7NSMjI2x7AFizZk1o+06dOiEtLS1sm8LCQmzcuDG0TUZGBvLz85GdnR3aZt26dQgGg+jfv3+N3kN1fPvtt5g1axaOP/54nH766dixYwceeOAB7Nu3DytWrKhVm7W6Zqm4uDh0/rFFixbYv38/jj/+ePTq1Quff/55tdqIi4tDz549w56LiYlBcnJy6PkJEyZg+vTpSEpKQnx8PKZMmYKMjIxqr4QjIiJqrBTkyxql+jU1ffp0XH755ejbty/69euHxx57DMXFxaHTU+PGjUPbtm1DEx9Tp07FwIED8cgjj2DkyJFYsWIFNm/ejMWLFwNAKB/x3nvvRZcuXdCpUyfccccdaNOmDUaNGgUA6N69O4YPH46rrroKCxcuhN/vx+TJkzFmzJg6XwkHHFkMdsopp2DSpEkYM2ZMpeupaqNWg6WuXbsiJycHHTt2xIknnohFixahY8eOWLhwIVq3bm26UxXmzZsHm82G0aNHw+v1IjMzE08//XSdtU9ERNScXHTRRdi/fz/uvPNO5Obmok+fPli9enVoQLFr1y7Y/hAdcdppp2H58uW4/fbbcdttt6FLly544403wiY7brnlFhQXF2PixInIz8/HgAEDsHr16rDrkZctW4bJkydjyJAhod/rTzzxRL28x5ycHHTp0qVO26xRzlKFf/3rXygvL8f48eORnZ2N4cOH47fffoPL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JxgMYs+ePYiLizP9l3h1FRYWol27dti9ezfi4+Mb5DWPdtyndYv7s+5xn9Ytq/anUgpFRUVo06YNbLb6WwNVVlYGn89nuh2XywWPx1MHPSKdo35myWaz4ZhjjrHktePj4/mlWce4T+sW92fd4z6tW1bsz/qaUfojj8fDQU4TwugAIiIiIg0OloiIiIg0OFiqB263G7NmzYLb7ba6K0cN7tO6xf1Z97hP6xb3JzUmR/0F3kRERERmcGaJiIiISIODJSIiIiINDpaIiIiINDhYIiIiItLgYKmW5syZg1NOOQVxcXFo1aoVRo0ahZycnLBtrr76ahx33HGIiopCSkoKzj33XHzzzTcW9bjxq84+raCUwplnngnDMPDGG280bEebkOrs00GDBsEwjLDHNddcY1GPG7fqHqNZWVkYPHgwYmJiEB8fjzPOOAOlpaUW9Ljxk/bpzp07Kx2fFY+VK1da2HNqTjhYqqUNGzZg0qRJ+PTTT7FmzRr4/X4MGzYMxcXFoW3S09OxZMkS7NixA++++y6UUhg2bBgCAd4puirV2acVHnvssQa7fU1TVt19etVVV2Hv3r2hx4MPPmhRjxu36uzPrKwsDB8+HMOGDcNnn32GTZs2YfLkyfV664ymTNqn7dq1Czs29+7di7vuuguxsbE488wzLe49NRuK6kReXp4CoDZs2BBxmy+++EIBUN9//30D9qzpirRPt2zZotq2bav27t2rAKjXX3/dmg42QVXt04EDB6qpU6da16kmrKr92b9/f3X77bdb2KumrTrfpX369FFXXnllA/aKmjv+qVNHCgoKAABJSUlVlhcXF2PJkiXo1KkT2rVr15Bda7Kq2qclJSW45JJLMH/+fKSlpVnVtSYr0nG6bNkytGzZEj179sTMmTNRUlJiRfeanD/vz7y8PGzcuBGtWrXCaaedhtTUVAwcOBAfffSRld1sUqTv0uzsbGzduhUTJkxoyG5RM8dQyjoQDAZxzjnnID8/v9KX4tNPP41bbrkFxcXF6Nq1K9555x0cd9xxFvW06Yi0T6+++moEAgE8++yzAADDMPD6669j1KhRFvW06Yi0TxcvXowOHTqgTZs22LZtG2699Vb069cPr732moW9bfyq2p+ffvopMjIykJSUhIcffhh9+vTBiy++iKeffhpffvklunTpYnGvGzfdd2mF6667DuvXr8fXX3/dwL2jZs3qqa2jwTXXXKM6dOigdu/eXaksPz9fffvtt2rDhg3q7LPPVieffLIqLS21oJdNS1X79D//+Y/q3LmzKioqCj0HnoarNt1x+kdr167l6eJqqGp/fvzxxwqAmjlzZti2vXr1UjNmzGjoLjY50jFaUlKiEhIS1MMPP9zAPaPmjoMlkyZNmqSOOeYY9eOPP4rber1eFR0drZYvX94APWu6Iu3TqVOnKsMwlN1uDz0AKJvNpgYOHGhNZ5uImhynhw8fVgDU6tWrG6BnTVOk/fnjjz8qAOqll14Ke/7CCy9Ul1xySUN2scmpzjH64osvKqfTqfLy8hqwZ0RKOayc1WrKlFKYMmUKXn/9daxfvx6dOnWqVh2lFLxebwP0sOmR9umMGTPwj3/8I+y5Xr16Yd68eTj77LMbsqtNRm2O061btwIAWrduXc+9a3qk/dmxY0e0adOmUpzAt99+y5VbEdTkGH3uuedwzjnnICUlpQF7SARwsFRLkyZNwvLly/Gf//wHcXFxyM3NBQAkJCQgKioKP/74I15++WUMGzYMKSkp+OWXXzB37lxERUVhxIgRFve+cZL2aVpaWpUXdbdv375ag4DmSNqnP/zwA5YvX44RI0YgOTkZ27Ztw7Rp03DGGWegd+/eFve+8ZH2p2EYuPnmmzFr1iyceOKJ6NOnD5YuXYpvvvkGr7zyisW9b5ykfVrh+++/x4cffohVq1ZZ1VVqziyc1WrSAFT5WLJkiVJKqV9//VWdeeaZqlWrVsrpdKpjjjlGXXLJJeqbb76xtuONmLRPI9XhNUuRSft0165d6owzzlBJSUnK7Xarzp07q5tvvlkVFBRY2/FGqrrH6Jw5c9QxxxyjoqOjVUZGhvrf//5nTYebgOru05kzZ6p27dqpQCBgTUepWeNqOCIiIiIN5iwRERERaXCwRERERKTBwRIRERGRBgdLRERERBocLBERERFpcLBEREREpMHBEhEREZEGB0tER6FBgwbhhhtusLobRERHBQ6WiIiIiDQ4WCIiIiLS4GCJ6Ch36NAhjBs3Di1atEB0dDTOPPNMfPfdd6HyF154AYmJiXj33XfRvXt3xMbGYvjw4di7d6+FvSYiajw4WCI6yo0fPx6bN2/Gm2++iaysLCilMGLECPj9/tA2JSUlePjhh/HSSy/hww8/xK5du3DTTTdZ2GsiosbDYXUHiKj+fPfdd3jzzTfx8ccf47TTTgMALFu2DO3atcMbb7yBCy64AADg9/uxcOFCHHfccQCAyZMn4+6777as30REjQlnloiOYjt27IDD4UD//v1DzyUnJ6Nr167YsWNH6Lno6OjQQAkAWrdujby8vAbtKxFRY8XBEhHB6XSG/dswDCilLOoNEVHjwsES0VGse/fuKC8vx8aNG0PP/fbbb8jJyUGPHj0s7BkRUdPBwRLRUaxLly4499xzcdVVV+Gjjz7CF198gUsvvRRt27bFueeea3X3iIiaBA6WiI5yS5YsQXp6Os466yxkZGRAKYVVq1ZVOvVGRERVMxQvTCAiIiKKiDNLRERERBocLBERERFpcLBEREREpMHBEhEREZEGB0tEREREGhwsEREREWlwsERERESkwcESERERkQYHS0REREQaHCwRERERaXCwRERERKTBwRIRERGRxv8H8U3KaBh15JQAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# read the calculate values\n", "\n", "fres_data = \"OUTPUT_FILES/out_data_sim.h5\"\n", "fres_grid = \"OUTPUT_FILES/out_data_grid.h5\"\n", "\n", "from pytomoatt.data import *\n", "attdata = ATTData.read(fres_data,\n", " './input_params.yml',\n", " fres_grid, \n", " format='hdf5')\n", "\n", "ax = attdata.to_xarray()\n", "\n", "ax['eta_inv_0029'][0,:,:].plot(x='lon', y='lat')\n" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "\n", "
<xarray.Dataset>\n",
       "Dimensions:       (r: 10, t: 50, p: 50)\n",
       "Coordinates:\n",
       "    dep           (r) float64 10.0 7.778 5.556 3.333 ... -5.556 -7.778 -10.0\n",
       "    rad           (r) float64 6.361e+03 6.363e+03 ... 6.379e+03 6.381e+03\n",
       "    lat           (t) float64 37.7 37.79 37.89 37.98 ... 42.02 42.11 42.21 42.3\n",
       "    lon           (p) float64 22.7 22.79 22.89 22.98 ... 27.02 27.11 27.21 27.3\n",
       "Dimensions without coordinates: r, t, p\n",
       "Data variables: (12/90)\n",
       "    eta_inv_0001  (r, t, p) float64 3.094e-05 3.827e-05 ... 2.974e-07 2.096e-07\n",
       "    eta_inv_0002  (r, t, p) float64 6.748e-05 8.346e-05 ... 6.182e-07 4.369e-07\n",
       "    eta_inv_0003  (r, t, p) float64 9.108e-05 0.0001125 ... 8.88e-07 6.293e-07\n",
       "    eta_inv_0004  (r, t, p) float64 9e-05 0.0001106 ... 1.108e-06 7.869e-07\n",
       "    eta_inv_0005  (r, t, p) float64 4.428e-05 5.273e-05 ... 1.251e-06 8.914e-07\n",
       "    eta_inv_0006  (r, t, p) float64 -4.276e-05 -5.687e-05 ... 8.875e-07\n",
       "    ...            ...\n",
       "    xi_inv_0025   (r, t, p) float64 -2.307e-05 -6.187e-05 ... -2.291e-06\n",
       "    xi_inv_0026   (r, t, p) float64 -3.233e-05 -7.32e-05 ... -2.331e-06\n",
       "    xi_inv_0027   (r, t, p) float64 -2.429e-05 -6.387e-05 ... -2.312e-06\n",
       "    xi_inv_0028   (r, t, p) float64 -3.359e-05 -7.502e-05 ... -2.342e-06\n",
       "    xi_inv_0029   (r, t, p) float64 -2.636e-05 -6.656e-05 ... -2.325e-06\n",
       "    xi_inv_0030   (r, t, p) float64 -3.402e-05 -7.566e-05 ... -2.352e-06
" ], "text/plain": [ "\n", "Dimensions: (r: 10, t: 50, p: 50)\n", "Coordinates:\n", " dep (r) float64 10.0 7.778 5.556 3.333 ... -5.556 -7.778 -10.0\n", " rad (r) float64 6.361e+03 6.363e+03 ... 6.379e+03 6.381e+03\n", " lat (t) float64 37.7 37.79 37.89 37.98 ... 42.02 42.11 42.21 42.3\n", " lon (p) float64 22.7 22.79 22.89 22.98 ... 27.02 27.11 27.21 27.3\n", "Dimensions without coordinates: r, t, p\n", "Data variables: (12/90)\n", " eta_inv_0001 (r, t, p) float64 3.094e-05 3.827e-05 ... 2.974e-07 2.096e-07\n", " eta_inv_0002 (r, t, p) float64 6.748e-05 8.346e-05 ... 6.182e-07 4.369e-07\n", " eta_inv_0003 (r, t, p) float64 9.108e-05 0.0001125 ... 8.88e-07 6.293e-07\n", " eta_inv_0004 (r, t, p) float64 9e-05 0.0001106 ... 1.108e-06 7.869e-07\n", " eta_inv_0005 (r, t, p) float64 4.428e-05 5.273e-05 ... 1.251e-06 8.914e-07\n", " eta_inv_0006 (r, t, p) float64 -4.276e-05 -5.687e-05 ... 8.875e-07\n", " ... ...\n", " xi_inv_0025 (r, t, p) float64 -2.307e-05 -6.187e-05 ... -2.291e-06\n", " xi_inv_0026 (r, t, p) float64 -3.233e-05 -7.32e-05 ... -2.331e-06\n", " xi_inv_0027 (r, t, p) float64 -2.429e-05 -6.387e-05 ... -2.312e-06\n", " xi_inv_0028 (r, t, p) float64 -3.359e-05 -7.502e-05 ... -2.342e-06\n", " xi_inv_0029 (r, t, p) float64 -2.636e-05 -6.656e-05 ... -2.325e-06\n", " xi_inv_0030 (r, t, p) float64 -3.402e-05 -7.566e-05 ... -2.352e-06" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "ax" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# calculate the RMAE for each step for vel xi eta\n", "\n", "rmae_vel = []\n", "rmae_xi = []\n", "rmae_eta = []\n", "\n", "n_steps = 30\n", "\n", "for i in range(1,n_steps+1):\n", " # get value from ax\n", " vel = ax['vel_inv_{}'.format(str(i).zfill(4))][:,:,:].data\n", " xi = ax['xi_inv_{}'.format(str(i).zfill(4))][:,:,:].data\n", " eta = ax['eta_inv_{}'.format(str(i).zfill(4))][:,:,:].data\n", "\n", " # calculate rmae\n", " r_vel = np.sum(np.abs(vel - vel_true))/np.sum(np.abs(vel_true)) * 100\n", " r_xi = np.sum(np.abs(xi - xi_true))/np.sum(np.abs(xi_true)) * 100\n", " r_eta = np.sum(np.abs(eta - eta_true))/np.sum(np.abs(eta_true)) * 100\n", "\n", " # append to list\n", " rmae_vel.append(r_vel)\n", " rmae_xi.append(r_xi)\n", " rmae_eta.append(r_eta)\n", "\n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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fOYzw9KBrq4ubd68uXC8detWbdy4UU1NTZozZ47WrFmjVatWacmSJTr55JN12223KZFI6LLLLhuW1wcAAAAAAJjQ/DXOiLFqvbYLW7Zs0Y4dO2RZlt555x0df/zxI9SxwzekUE2SXnvtNW3btk3pdLqk/mMf+5ir+/zXf/2XVqxYUThes2aNJGnVqlVav369LrnkEu3du1c333yzdu3apRNPPFG/+c1v+ixeAAAAAAAAgAoMY9BTMKspnU7rM5/5jC655BItXLhQX/ziF/XKK68M+8zI4eI6VHv77bd1wQUX6JVXXpFhGLJtW5KzYIGkiiuDDuS0004r3KM/q1ev1urVq912FQAAAAAAAOPE1772NcViMd1+++2qq6vTr3/9a11++eV66KGHqt21ilw/U+3LX/6y5s+frz179qimpkZ//vOf9cQTT2jJkiV67LHHRqCLI6O9vV1tbW1aunRptbsCAAAAAAAwqT322GO67bbb9POf/1yRSEQej0c///nP9eSTT+onP/lJtbtXkWEfaphYmebmZv3+97/XCSecoGg0queee04LFy7U73//e1133XV68cUXR6qvIyIejysajSoWiykSiVS7OwAAAAAAAIclmUxq69atmj9/vkKhULW7M+YM9Pm4yYlcj1QzTVP19fWSnIBtxw7nQXdz587Vpk2b3N4OAAAAAAAAGHdcP1PtuOOO00svvaT58+dr2bJl+u53v6tAIKC77rpLCxYsGIk+AgAAAAAAAGOK61Dt61//uhKJhCTpm9/8pv77f//vOvXUUzVlyhTdf//9w95BAAAAAAAAYKxxHaqtXLmyUD7yyCP1xhtvaP/+/WpsbCysAAoAAAAAAABMZK5DtUqampqG4zYAAAAAAADAuOA6VEsmk/rxj3+sRx99VHv27JFlWSXn//SnPw1b5wAAAAAAAICxyHWo9oUvfEGPPPKILr74Yp188slM+QQAAAAAAMCk4zpUe+ihh/TrX/9ap5xyykj0Z9S0t7ervb1dpmlWuysAAAAAAAAYZzxuL5g5c6bq6+tHoi+j6qqrrtJrr72m559/vtpdAQAAAAAAwDjjOlT7/ve/r69+9at69913R6I/AAAAAAAAwJjnOlRbsmSJksmkFixYoPr6ejU1NZVsAAAAAAAAwHB77LHHZBiGDh48WO2uSBrCM9U+9alPafv27fq7v/s7TZ8+nYUKAAAAAAAAMOm4DtWefvppPfPMM1q0aNFI9AcAAAAAAACTlGVZ+s53vqO77rpLu3bt0tFHH62bbrpJS5Ys0YoVKyRJjY2NkqRVq1Zp/fr1+s1vfqNvf/vbevXVV+X1erV8+XL96Ec/0hFHHDGifXUdqh1zzDHq6ekZib4AAAAAAABgmNm2rZ5sdbKcsC/sapbjunXr9C//8i+68847ddRRR+mJJ57QZz7zGf32t7/Vv/3bv+miiy7Spk2bFIlEFA6HJUmJREJr1qzRCSecoK6uLt1888264IILtHHjRnk8rp98NmiGbdu2mwseeeQRrV27Vn/7t3+r448/Xn6/v+R8JBIZ1g6OtHg8rmg0qlgsNu76DgAAAAAAUC6ZTGrr1q2aP3++QqGQujPdWnbvsqr05dlPP6saf82g2qZSKTU1Nel3v/udli9fXqj/4he/qO7ubl155ZVasWKFDhw4oIaGhn7v09HRoalTp+qVV17Rcccd1+d8+edTzE1O5Hqk2tlnny1JOuOMM0rqbduWYRgyTdPtLQEAAAAAADDJbd68Wd3d3frIRz5SUp9Op/XBD36w3+veeust3XzzzXr22WfV0dEhy7IkSdu2basYqg0X16Hao48+OhL9AAAAAAAAwAgI+8J69tPPVu21B6urq0uS9PDDD2vmzJkl54LBoLZs2VLxuvPOO09z587VT3/6U7W2tsqyLB133HFKp9ND7/gguArVMpmMvvnNbxbmtY5n7e3tam9vZ2QdAAAAAACY0AzDGPQUzGpqa2tTMBjUtm3b9Jd/+Zd9zr/33nuSVJLl7Nu3T5s2bdJPf/pTnXrqqZKkP/zhD6PSX1ehmt/v18svvzxSfRlVV111la666qrCXFkAAAAAAABUT319va6//npde+21sixLf/EXf6FYLKannnpKkUhEZ555pgzD0EMPPaRzzz1X4XBYjY2NmjJliu666y7NmDFD27Zt0w033DAq/XW9BMJnPvMZ/Z//839Goi8AAAAAAACYxL71rW/ppptu0rp163Tsscfq7LPP1sMPP6z58+dr5syZWrt2rW644QZNnz5dq1evlsfj0X333acXXnhBxx13nK699lrdeuuto9JX16t/Xn311br77rt11FFHafHixaqtrS05/4Mf/GBYOzjSWP0TAAAAAABMJAOtbokqrv756quv6qSTTpIk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N910kySpvr5e69ev12uvvaYf/ehH+ulPf6of/vCHkqRLLrlE1113nT7wgQ8UXu+SSy7p069EIqGVK1eqsbFRzz//vH75y1/qd7/7XZ/Xf/TRR7VlyxY9+uij+ud//metX7++ENIBAACMV0z/BAAAGOOamprk9XpVX19fMv1y3bp1uvTSSwvPWTvqqKN0++236y//8i/1k5/8RKFQSJJ0+umn67rrriu559e//vVCed68ebr++ut133336Stf+YrC4bDq6urk8/kGnO557733KplM6u6771Ztba0k6Y477tB5552n73znO5o+fbokqbGxUXfccYe8Xq+OOeYYffSjH9WGDRt0xRVXDMvnAwAAUA2EagAAAOPUSy+9pJdffln33HNPoc62bVmWpa1bt+rYY4+VJC1ZsqTPtffff79uv/12bdmyRV1dXcpms4pEIq5e//XXX9eiRYsKgZoknXLKKbIsS5s2bSqEah/4wAfk9XoLbWbMmKFXXnnF1WsBAACMNYRqAAAA41RXV5f+5//8n/qrv/qrPufmzJlTKBeHXpL0zDPP6NJLL9XatWu1cuVKRaNR3Xffffr+978/Iv30+/0lx4ZhyLKsEXktAACA0UKoBgAAMA4EAgGZpllSd9JJJ+m1117TkUce6epeTz/9tObOnauvfe1rhbp33333kK9X7thjj9X69euVSCQKwd1TTz0lj8ejhQsXuuoTAADAeMNCBQAAAOPAvHnz9MQTT2j79u3q6OiQ5Kzg+fTTT2v16tXauHGj3nrrLf3qV7/qs1BAuaOOOkrbtm3Tfffdpy1btuj222/XAw880Of1tm7dqo0bN6qjo0OpVKrPfS699FKFQiGtWrVKr776qh599FFdffXV+uxnP1uY+gkAADBREaoBAACMA9/85jf1zjvv6IgjjtDUqVMlSSeccIIef/xxvfnmmzr11FP1wQ9+UDfffLNaW1sHvNfHPvYxXXvttVq9erVOPPFEPf3004VVQfMuuuginX322VqxYoWmTp2qX/ziF33uU1NTo9/+9rfav3+/li5dqosvvlhnnHGG7rjjjuF74wAAAGOUYdu2Xe1OAAAAAAAAAOMJI9UAAAAAAAAAlwjVAAAAAAAAAJcI1QAAAAAAAACXCNUAAAAAAAAAlwjVAAAAAAAAAJcI1QAAAAAAAACXCNUAAAAAAAAAlwjVAAAAAAAAAJcI1QAAAAAAAACXCNUAAAAAAAAAlwjVAAAAAAAAAJcI1QAAAAAAAACX/j/hFLDsl/fFKQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "#plot rmae_* arrays\n", "\n", "import matplotlib.pyplot as plt\n", "import numpy as np\n", "\n", "\n", "plt.figure(figsize=(15, 5))\n", "plt.plot(rmae_vel, label='vel')\n", "plt.plot(rmae_xi, label='xi')\n", "plt.plot(rmae_eta, label='eta')\n", "\n", "# y log\n", "plt.yscale('log')\n", "\n", "# x axis is iteration number\n", "plt.xlabel('iteration')\n", "plt.ylabel('rmae %')\n", "plt.legend()" ] }, { "cell_type": "markdown", "metadata": {}, "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.10.8" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }