{ "cells": [ { "metadata": {}, "cell_type": "markdown", "source": [ "# Exercise 2: Using best fit methods in gwrefpy\n", "\n", "This notebook introduces how to use the best fit method for a large `gwrefpy` model. \n", "\n", "This notebook can be downloaded from the source code [here](https://github.com/andersretznerSGU/gwrefpy/blob/main/docs/tutorial/exercises/1_exerciese1.ipynb).\n", "\n", "In this exercise, you will:\n", "1. Import the `gwrefpy` package and load the model (already done for you)\n", "5. Fit the model\n", "6. Plot the results" ], "id": "da019a3e0a3820ec" }, { "metadata": {}, "cell_type": "markdown", "source": "## 1. Import the gwrefpy package and load the data", "id": "402830e86ed13f04" }, { "cell_type": "code", "id": "initial_id", "metadata": { "collapsed": true, "ExecuteTime": { "end_time": "2025-09-23T18:58:58.664626Z", "start_time": "2025-09-23T18:58:58.585465Z" } }, "source": [ "import gwrefpy as gr\n", "\n", "model = gr.Model('large_example.gwref') # Load an example model for the package\n", "model.fits = [] # Clear any fits that may be present in the example model\n", "model.wells_summary()" ], "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Model 'Large Example' loaded from 'large_example.gwref'.\n" ] }, { "data": { "text/plain": [ " name well_type data_points start_date end_date mean_level \\\n", "0 01OBS observation 112 2020-01-01 2020-04-21 11.753155 \n", "1 02OBS observation 80 2020-01-01 2020-03-20 12.931890 \n", "2 03OBS observation 95 2020-01-01 2020-04-04 14.096635 \n", "3 04OBS observation 93 2020-01-01 2020-04-02 15.277157 \n", "4 05OBS observation 105 2020-01-01 2020-04-14 16.442842 \n", "5 06OBS observation 82 2020-01-01 2020-03-22 17.621488 \n", "6 07OBS observation 116 2020-01-01 2020-04-25 18.796522 \n", "7 08OBS observation 81 2020-01-01 2020-03-21 19.976834 \n", "8 09OBS observation 95 2020-01-01 2020-04-04 21.156969 \n", "9 10OBS observation 100 2020-01-01 2020-04-09 22.316877 \n", "10 11OBS observation 104 2020-01-01 2020-04-13 23.514971 \n", "11 12OBS observation 88 2020-01-01 2020-03-28 24.666201 \n", "12 01REF reference 112 2020-01-01 2020-04-21 8.759759 \n", "13 02REF reference 80 2020-01-01 2020-03-20 9.620159 \n", "14 03REF reference 95 2020-01-01 2020-04-04 10.494114 \n", "15 04REF reference 93 2020-01-01 2020-04-02 11.375509 \n", "16 05REF reference 105 2020-01-01 2020-04-14 12.253849 \n", "17 06REF reference 82 2020-01-01 2020-03-22 13.129146 \n", "18 07REF reference 116 2020-01-01 2020-04-25 13.999060 \n", "19 08REF reference 81 2020-01-01 2020-03-21 14.880381 \n", "20 09REF reference 95 2020-01-01 2020-04-04 15.745920 \n", "21 10REF reference 100 2020-01-01 2020-04-09 16.625979 \n", "22 11REF reference 104 2020-01-01 2020-04-13 17.500392 \n", "23 12REF reference 88 2020-01-01 2020-03-28 18.375225 \n", "\n", " latest_value latest_date latitude longitude elevation best_fit_ref_well \\\n", "0 11.562414 2020-04-21 None None None None \n", "1 12.925313 2020-03-20 None None None None \n", "2 14.106713 2020-04-04 None None None None \n", "3 15.287510 2020-04-02 None None None None \n", "4 16.579736 2020-04-14 None None None None \n", "5 17.655653 2020-03-22 None None None None \n", "6 18.716346 2020-04-25 None None None None \n", "7 20.053553 2020-03-21 None None None None \n", "8 20.993342 2020-04-04 None None None None \n", "9 22.388860 2020-04-09 None None None None \n", "10 23.588313 2020-04-13 None None None None \n", "11 24.744872 2020-03-28 None None None None \n", "12 8.747352 2020-04-21 None None None NaN \n", "13 9.607570 2020-03-20 None None None NaN \n", "14 10.446796 2020-04-04 None None None NaN \n", "15 11.427661 2020-04-02 None None None NaN \n", "16 12.174917 2020-04-14 None None None NaN \n", "17 13.109889 2020-03-22 None None None NaN \n", "18 14.108201 2020-04-25 None None None NaN \n", "19 14.838350 2020-03-21 None None None NaN \n", "20 15.777444 2020-04-04 None None None NaN \n", "21 16.671081 2020-04-09 None None None NaN \n", "22 17.443029 2020-04-13 None None None NaN \n", "23 18.342771 2020-03-28 None None None NaN \n", "\n", " best_rmse num_fits avg_rmse \n", "0 None NaN NaN \n", "1 None NaN NaN \n", "2 None NaN NaN \n", "3 None NaN NaN \n", "4 None NaN NaN \n", "5 None NaN NaN \n", "6 None NaN NaN \n", "7 None NaN NaN \n", "8 None NaN NaN \n", "9 None NaN NaN \n", "10 None NaN NaN \n", "11 None NaN NaN \n", "12 NaN 0.0 None \n", "13 NaN 0.0 None \n", "14 NaN 0.0 None \n", "15 NaN 0.0 None \n", "16 NaN 0.0 None \n", "17 NaN 0.0 None \n", "18 NaN 0.0 None \n", "19 NaN 0.0 None \n", "20 NaN 0.0 None \n", "21 NaN 0.0 None \n", "22 NaN 0.0 None \n", "23 NaN 0.0 None " ], "text/html": [ "
| \n", " | name | \n", "well_type | \n", "data_points | \n", "start_date | \n", "end_date | \n", "mean_level | \n", "latest_value | \n", "latest_date | \n", "latitude | \n", "longitude | \n", "elevation | \n", "best_fit_ref_well | \n", "best_rmse | \n", "num_fits | \n", "avg_rmse | \n", "
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | \n", "01OBS | \n", "observation | \n", "112 | \n", "2020-01-01 | \n", "2020-04-21 | \n", "11.753155 | \n", "11.562414 | \n", "2020-04-21 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 1 | \n", "02OBS | \n", "observation | \n", "80 | \n", "2020-01-01 | \n", "2020-03-20 | \n", "12.931890 | \n", "12.925313 | \n", "2020-03-20 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 2 | \n", "03OBS | \n", "observation | \n", "95 | \n", "2020-01-01 | \n", "2020-04-04 | \n", "14.096635 | \n", "14.106713 | \n", "2020-04-04 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 3 | \n", "04OBS | \n", "observation | \n", "93 | \n", "2020-01-01 | \n", "2020-04-02 | \n", "15.277157 | \n", "15.287510 | \n", "2020-04-02 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 4 | \n", "05OBS | \n", "observation | \n", "105 | \n", "2020-01-01 | \n", "2020-04-14 | \n", "16.442842 | \n", "16.579736 | \n", "2020-04-14 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 5 | \n", "06OBS | \n", "observation | \n", "82 | \n", "2020-01-01 | \n", "2020-03-22 | \n", "17.621488 | \n", "17.655653 | \n", "2020-03-22 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 6 | \n", "07OBS | \n", "observation | \n", "116 | \n", "2020-01-01 | \n", "2020-04-25 | \n", "18.796522 | \n", "18.716346 | \n", "2020-04-25 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 7 | \n", "08OBS | \n", "observation | \n", "81 | \n", "2020-01-01 | \n", "2020-03-21 | \n", "19.976834 | \n", "20.053553 | \n", "2020-03-21 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 8 | \n", "09OBS | \n", "observation | \n", "95 | \n", "2020-01-01 | \n", "2020-04-04 | \n", "21.156969 | \n", "20.993342 | \n", "2020-04-04 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 9 | \n", "10OBS | \n", "observation | \n", "100 | \n", "2020-01-01 | \n", "2020-04-09 | \n", "22.316877 | \n", "22.388860 | \n", "2020-04-09 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 10 | \n", "11OBS | \n", "observation | \n", "104 | \n", "2020-01-01 | \n", "2020-04-13 | \n", "23.514971 | \n", "23.588313 | \n", "2020-04-13 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 11 | \n", "12OBS | \n", "observation | \n", "88 | \n", "2020-01-01 | \n", "2020-03-28 | \n", "24.666201 | \n", "24.744872 | \n", "2020-03-28 | \n", "None | \n", "None | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "
| 12 | \n", "01REF | \n", "reference | \n", "112 | \n", "2020-01-01 | \n", "2020-04-21 | \n", "8.759759 | \n", "8.747352 | \n", "2020-04-21 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "
| 13 | \n", "02REF | \n", "reference | \n", "80 | \n", "2020-01-01 | \n", "2020-03-20 | \n", "9.620159 | \n", "9.607570 | \n", "2020-03-20 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "
| 14 | \n", "03REF | \n", "reference | \n", "95 | \n", "2020-01-01 | \n", "2020-04-04 | \n", "10.494114 | \n", "10.446796 | \n", "2020-04-04 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "
| 15 | \n", "04REF | \n", "reference | \n", "93 | \n", "2020-01-01 | \n", "2020-04-02 | \n", "11.375509 | \n", "11.427661 | \n", "2020-04-02 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "
| 16 | \n", "05REF | \n", "reference | \n", "105 | \n", "2020-01-01 | \n", "2020-04-14 | \n", "12.253849 | \n", "12.174917 | \n", "2020-04-14 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "
| 17 | \n", "06REF | \n", "reference | \n", "82 | \n", "2020-01-01 | \n", "2020-03-22 | \n", "13.129146 | \n", "13.109889 | \n", "2020-03-22 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "
| 18 | \n", "07REF | \n", "reference | \n", "116 | \n", "2020-01-01 | \n", "2020-04-25 | \n", "13.999060 | \n", "14.108201 | \n", "2020-04-25 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "
| 19 | \n", "08REF | \n", "reference | \n", "81 | \n", "2020-01-01 | \n", "2020-03-21 | \n", "14.880381 | \n", "14.838350 | \n", "2020-03-21 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "
| 20 | \n", "09REF | \n", "reference | \n", "95 | \n", "2020-01-01 | \n", "2020-04-04 | \n", "15.745920 | \n", "15.777444 | \n", "2020-04-04 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "
| 21 | \n", "10REF | \n", "reference | \n", "100 | \n", "2020-01-01 | \n", "2020-04-09 | \n", "16.625979 | \n", "16.671081 | \n", "2020-04-09 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "
| 22 | \n", "11REF | \n", "reference | \n", "104 | \n", "2020-01-01 | \n", "2020-04-13 | \n", "17.500392 | \n", "17.443029 | \n", "2020-04-13 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "
| 23 | \n", "12REF | \n", "reference | \n", "88 | \n", "2020-01-01 | \n", "2020-03-28 | \n", "18.375225 | \n", "18.342771 | \n", "2020-03-28 | \n", "None | \n", "None | \n", "None | \n", "NaN | \n", "NaN | \n", "0.0 | \n", "None | \n", "