{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Combine comparers\n", "ModelSkill comparers can be combined by using the \"+\" operator. You may want to add a new ModelResult to your existing comparison or a new observation or a new time period:\n", "\n", " cc = cc1 + cc2" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import modelskill as ms" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Observations" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "o1 = ms.PointObservation('../tests/testdata/SW/HKNA_Hm0.dfs0', item=0, x=4.2420, y=52.6887, name=\"HKNA\")\n", "o2 = ms.PointObservation(\"../tests/testdata/SW/eur_Hm0.dfs0\", item=0, x=3.2760, y=51.9990, name=\"EPL\")\n", "o3 = ms.TrackObservation(\"../tests/testdata/SW/Alti_c2_Dutch.dfs0\", item=3, name=\"c2\")" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Model Results" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<modelskill.model.grid.GridModelResult at 0x13a26ac96d0>" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "fn = \"../tests/testdata/SW/CMEMS_DutchCoast_*.nc\"\n", "mr1 = ms.model_result(fn, name='CMEMS', item='VHM0')\n", "mr1" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "mr2 = ms.model_result('../tests/testdata/SW/HKZN_local_2017_DutchCoast.dfsu', name='MIKE21SW', item=0)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Connect and extract\n", "Notice that the two ModelResults doesn't cover the exact same period." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<Axes: >" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAo8AAADhCAYAAACp8V94AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAzGklEQVR4nO3deVhU9f4H8PewDrIpi4qKK+4iuKAomoh1s9RuZmallYV2Fc18zPSi5pZlXjU1RS+WWpZp16Vc6l4z9zLNNTEXwl1xwQUGFAaY+fz+4DdHRsCOCMz2fj0Pj/Kd7znz/Zwz5/Cec86c0YiIgIiIiIhIBSdLD4CIiIiIbAfDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESquVh6AFQ8o9GI1NRUeHt7Q6PRWHo4REREZOdEBJmZmahRowacnEo+vsjwaKVSU1MRHBxs6WEQERGRg7l48SJq1apV4uMMj1bK29sbQMEK9PHxsfBoiIiIyN7pdDoEBwcrGaQkDI9WynSq2sfHh+GRiIiIKsxfXS7HD8yUg3PnziE2Nhb16tWDh4cHGjRogEmTJiE3N9fSQyMiIiJ6JDzyWA5OnjwJo9GIxMREhISE4NixYxg8eDDu3LmDWbNmWXp4RERERKXG8PgIjEYjZs2ahcWLF+PixYuoVq0a/vGPf2D8+PHo3r270q9+/fo4deoUFi1axPBIRERENo3h8RHEx8fj008/xZw5c9CpUydcuXIFJ0+eLLZvRkYG/Pz8SpyXXq+HXq9XftfpdGU+XiJHlTBkW4mPDft3TAWOpGIteXcXcjLzi7RrvV0QO/MxC4yIqOw56vZtSQyPpZSZmYl58+ZhwYIFeO211wAADRo0QKdOnYr0TUlJwfz58x941HH69OmYMmVKuY2XiBxPccHxQe1ERGrwAzOldOLECej1enTr1u2B/S5fvozu3bujb9++GDx4cIn94uPjkZGRofxcvHixrIdMRA5G61388YGS2omI1NCIiFh6ELYoKSkJLVu2xJkzZ1CvXr1i+6SmpiI6OhqRkZH4/PPPH3i39vvpdDr4+voiIyODt+ohIiKicqc2e/DIYyk1bNgQHh4e2Lp1a7GPX758GdHR0WjTpg2WLVv2UMGRiIiIyFrx3EUpabVajB07FmPGjIGbmxuioqKQlpaGP/74A927d0d0dDTq1KmDWbNmIS0tTZmuevXqFhw1ERER0aNheHwE7733HlxcXDBx4kSkpqYiKCgIQ4YMwZYtW5CSkoKUlJQi3w3JqwSIiIjIlvGaRyvFax6JiIioIvGaRyIiIiIqcwyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPBIRERGRagyPRERERKQawyMRERERqcbwSERERESqMTwSERERkWoMj0RERESkGsMjEREREanG8EhEREREqjE8EhEREZFqDI9EREREpBrDIxERERGpxvBIRERERKoxPJZg4MCB0Gg0RX66d+8OAKhbt67S5unpidatW2P16tXK9JMnT0Z4eLiFRk9ERERUPhgeH6B79+64cuWK2c/KlSuVx6dOnYorV67g8OHDiIiIQL9+/bBnzx4LjpiIiIiofDE8PoC7uzuqV69u9lOlShXlcW9vb1SvXh2NGjVCQkICPDw8sHHjRguOmIiIiKh8uVh6APbCxcUFrq6uyM3NLdX0er0eer1e+V2n05XV0P5S3vXryE9LM2vLv30bEMDFr4p5Z40TIMa/7FvWbZZ8bmsbD5cFn9vaxsNlYR3PbW3j4bIou+cGAJfAQLhWrQprwPD4AJs2bYKXl5dZ27hx4zBu3DizttzcXMyePRsZGRmIiYkp1XNNnz4dU6ZMKfVYH0X6N//BjYQEVX09IiKQvX9/OY/I+p67OFwW9zjqsuB6sI7nLg6XxT1cFvfY8rIIGDYMgW8NL8MRlR7D4wN07doVixYtMmvz8/NT/j927FhMmDABOTk58PLywkcffYQePXqU6rni4+MxatQo5XedTofg4ODSDfwhVe73Arxiupq12du7NnsaD5cFn9vaxsNlYR3PbW3j4bIo+yOP1oLh8QE8PT0REhJS4uPvvvsuBg4cCC8vL1SrVg0ajabUz+Xu7g53d/dST/8oXKtWtZpD4URERGTdGB4fQUBAwAPDJREREZG9YXh8AL1ej6tXr5q1ubi4ICAgQNX02dnZOHLkiFmbt7c3GjRoUFZDJCIiIqpQDI8P8L///Q9BQUFmbY0bN8bJkydVTZ+cnIxWrVqZtXXr1g0//fRTmY2RiIiIqCJpREQsPQgqSqfTwdfX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", "text/plain": [ "<Figure size 700x225 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ms.plotting.temporal_coverage(obs=[o1,o2,o3], mod=[mr1,mr2], limit_to_model_period=False)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "cc1 = ms.match(obs=[o1,o2,o3], mod=mr1)#, name='SW')\n", "cc2 = ms.match(obs=[o1,o2,o3], mod=mr2)# , name='SW')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>n</th>\n", " <th>bias</th>\n", " <th>rmse</th>\n", " <th>urmse</th>\n", " <th>mae</th>\n", " <th>cc</th>\n", " <th>si</th>\n", " <th>r2</th>\n", " </tr>\n", " <tr>\n", " <th>observation</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>EPL</th>\n", " <td>43</td>\n", " <td>-0.440930</td>\n", " <td>0.518713</td>\n", " <td>0.273210</td>\n", " <td>0.443256</td>\n", " <td>0.920165</td>\n", " <td>0.089591</td>\n", " <td>0.445177</td>\n", " </tr>\n", " <tr>\n", " <th>HKNA</th>\n", " <td>242</td>\n", " <td>-0.741920</td>\n", " <td>0.881698</td>\n", " <td>0.476388</td>\n", " <td>0.741920</td>\n", " <td>0.902987</td>\n", " <td>0.127873</td>\n", " <td>0.221544</td>\n", " </tr>\n", " <tr>\n", " <th>c2</th>\n", " <td>39</td>\n", " <td>-0.302117</td>\n", " <td>0.472280</td>\n", " <td>0.363006</td>\n", " <td>0.397694</td>\n", " <td>0.935287</td>\n", " <td>0.091603</td>\n", " <td>0.745605</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " n bias rmse urmse mae cc si \\\n", "observation \n", "EPL 43 -0.440930 0.518713 0.273210 0.443256 0.920165 0.089591 \n", "HKNA 242 -0.741920 0.881698 0.476388 0.741920 0.902987 0.127873 \n", "c2 39 -0.302117 0.472280 0.363006 0.397694 0.935287 0.091603 \n", "\n", " r2 \n", "observation \n", "EPL 0.445177 \n", "HKNA 0.221544 \n", "c2 0.745605 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cc1.skill()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th>n</th>\n", " <th>bias</th>\n", " <th>rmse</th>\n", " <th>urmse</th>\n", " <th>mae</th>\n", " <th>cc</th>\n", " <th>si</th>\n", " <th>r2</th>\n", " </tr>\n", " <tr>\n", " <th>observation</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th>EPL</th>\n", " <td>67</td>\n", " <td>-0.066597</td>\n", " <td>0.223597</td>\n", " <td>0.213449</td>\n", " <td>0.188513</td>\n", " <td>0.969846</td>\n", " <td>0.082522</td>\n", " <td>0.932596</td>\n", " </tr>\n", " <tr>\n", " <th>HKNA</th>\n", " <td>386</td>\n", " <td>-0.194260</td>\n", " <td>0.351964</td>\n", " <td>0.293499</td>\n", " <td>0.251839</td>\n", " <td>0.971194</td>\n", " <td>0.094489</td>\n", " <td>0.905300</td>\n", " </tr>\n", " <tr>\n", " <th>c2</th>\n", " <td>113</td>\n", " <td>-0.001210</td>\n", " <td>0.351797</td>\n", " <td>0.351794</td>\n", " <td>0.294585</td>\n", " <td>0.974335</td>\n", " <td>0.127776</td>\n", " <td>0.899507</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " n bias rmse urmse mae cc si \\\n", "observation \n", "EPL 67 -0.066597 0.223597 0.213449 0.188513 0.969846 0.082522 \n", "HKNA 386 -0.194260 0.351964 0.293499 0.251839 0.971194 0.094489 \n", "c2 113 -0.001210 0.351797 0.351794 0.294585 0.974335 0.127776 \n", "\n", " r2 \n", "observation \n", "EPL 0.932596 \n", "HKNA 0.905300 \n", "c2 0.899507 " ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cc2.skill()" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Add the two Comparers" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "cc = cc1 + cc2" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/html": [ "<div>\n", "<style scoped>\n", " .dataframe tbody tr th:only-of-type {\n", " vertical-align: middle;\n", " }\n", "\n", " .dataframe tbody tr th {\n", " vertical-align: top;\n", " }\n", "\n", " .dataframe thead th {\n", " text-align: right;\n", " }\n", "</style>\n", "<table border=\"1\" class=\"dataframe\">\n", " <thead>\n", " <tr style=\"text-align: right;\">\n", " <th></th>\n", " <th></th>\n", " <th>n</th>\n", " <th>bias</th>\n", " <th>rmse</th>\n", " <th>urmse</th>\n", " <th>mae</th>\n", " <th>cc</th>\n", " <th>si</th>\n", " <th>r2</th>\n", " </tr>\n", " <tr>\n", " <th>model</th>\n", " <th>observation</th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " <th></th>\n", " </tr>\n", " </thead>\n", " <tbody>\n", " <tr>\n", " <th rowspan=\"3\" valign=\"top\">CMEMS</th>\n", " <th>EPL</th>\n", " <td>43</td>\n", " <td>-0.440930</td>\n", " <td>0.518713</td>\n", " <td>0.273210</td>\n", " <td>0.443256</td>\n", " <td>0.920165</td>\n", " <td>0.089591</td>\n", " <td>0.445177</td>\n", " </tr>\n", " <tr>\n", " <th>HKNA</th>\n", " <td>242</td>\n", " <td>-0.741920</td>\n", " <td>0.881698</td>\n", " <td>0.476388</td>\n", " <td>0.741920</td>\n", " <td>0.902987</td>\n", " <td>0.127873</td>\n", " <td>0.221544</td>\n", " </tr>\n", " <tr>\n", " <th>c2</th>\n", " <td>39</td>\n", " <td>-0.302117</td>\n", " <td>0.472280</td>\n", " <td>0.363006</td>\n", " <td>0.397694</td>\n", " <td>0.935287</td>\n", " <td>0.091603</td>\n", " <td>0.745605</td>\n", " </tr>\n", " <tr>\n", " <th rowspan=\"3\" valign=\"top\">MIKE21SW</th>\n", " <th>EPL</th>\n", " <td>43</td>\n", " <td>-0.078281</td>\n", " <td>0.204842</td>\n", " <td>0.189294</td>\n", " <td>0.173804</td>\n", " <td>0.973262</td>\n", " <td>0.062073</td>\n", " <td>0.913476</td>\n", " </tr>\n", " <tr>\n", " <th>HKNA</th>\n", " <td>242</td>\n", " <td>-0.229809</td>\n", " <td>0.411363</td>\n", " <td>0.341185</td>\n", " <td>0.295643</td>\n", " <td>0.948802</td>\n", " <td>0.091582</td>\n", " <td>0.830548</td>\n", " </tr>\n", " <tr>\n", " <th>c2</th>\n", " <td>39</td>\n", " <td>0.321283</td>\n", " <td>0.406855</td>\n", " <td>0.249616</td>\n", " <td>0.353367</td>\n", " <td>0.963817</td>\n", " <td>0.062990</td>\n", " <td>0.811206</td>\n", " </tr>\n", " </tbody>\n", "</table>\n", "</div>" ], "text/plain": [ " n bias rmse urmse mae cc \\\n", "model observation \n", "CMEMS EPL 43 -0.440930 0.518713 0.273210 0.443256 0.920165 \n", " HKNA 242 -0.741920 0.881698 0.476388 0.741920 0.902987 \n", " c2 39 -0.302117 0.472280 0.363006 0.397694 0.935287 \n", "MIKE21SW EPL 43 -0.078281 0.204842 0.189294 0.173804 0.973262 \n", " HKNA 242 -0.229809 0.411363 0.341185 0.295643 0.948802 \n", " c2 39 0.321283 0.406855 0.249616 0.353367 0.963817 \n", "\n", " si r2 \n", "model observation \n", "CMEMS EPL 0.089591 0.445177 \n", " HKNA 0.127873 0.221544 \n", " c2 0.091603 0.745605 \n", "MIKE21SW EPL 0.062073 0.913476 \n", " HKNA 0.091582 0.830548 \n", " c2 0.062990 0.811206 " ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "cc.skill()" ] } ], "metadata": { "interpreter": { "hash": "fa576ebcd40e010bdc0ae86b06ce09151f3424f9e9aed6893ff04f39a9299d89" }, "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.11.5" }, "orig_nbformat": 2 }, "nbformat": 4, "nbformat_minor": 2 }