From a600ef4788723b97b1a4d8d7c38543180ebf0618 Mon Sep 17 00:00:00 2001 From: rolfhut Date: Sat, 19 Apr 2025 10:49:49 +0200 Subject: [PATCH 1/2] first commit: changed to 2.0 minor details left: - merging output: update to hydrograph? - xarray as default? --- Case1_Marrmot_Merrimack_ESMValTool.ipynb | 743 +++++++++++++---------- 1 file changed, 414 insertions(+), 329 deletions(-) diff --git a/Case1_Marrmot_Merrimack_ESMValTool.ipynb b/Case1_Marrmot_Merrimack_ESMValTool.ipynb index 04b258b..c055d60 100644 --- a/Case1_Marrmot_Merrimack_ESMValTool.ipynb +++ b/Case1_Marrmot_Merrimack_ESMValTool.ipynb @@ -48,6 +48,8 @@ "logger_esmvalcore.setLevel(logging.WARNING)\n", "\n", "import pandas as pd\n", + "import xarray as xr\n", + "import matplotlib.pyplot as plt\n", "from cartopy.io import shapereader\n", "\n", "import ewatercycle.forcing\n", @@ -56,6 +58,16 @@ "import ewatercycle.observation.grdc" ] }, + { + "cell_type": "code", + "execution_count": 2, + "id": "d6b2fac4-45e2-4977-815f-e98959343bed", + "metadata": {}, + "outputs": [], + "source": [ + "from rich import print" + ] + }, { "cell_type": "markdown", "id": "554b8621", @@ -68,7 +80,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "7ceef35f", "metadata": {}, "outputs": [], @@ -95,7 +107,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 4, "id": "d7747178", "metadata": {}, "outputs": [], @@ -120,48 +132,27 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 5, "id": "51c1b658", "metadata": { "tags": [] }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "{'auxiliary_data_dir': PosixPath('/mnt/data/climate-data/aux'),\n", - " 'compress_netcdf': False,\n", - " 'config_developer_file': None,\n", - " 'config_file': PosixPath('/home/rhut/.esmvaltool/config-user.yml'),\n", - " 'drs': {'CMIP5': 'default', 'CORDEX': 'default', 'OBS': 'default'},\n", - " 'exit_on_warning': False,\n", - " 'extra_facets_dir': (),\n", - " 'log_level': 'info',\n", - " 'max_parallel_tasks': None,\n", - " 'output_dir': PosixPath('/home/rhut/technicalPaperExampleNotebooks/esmvaltool_output/recipe_marrmot_20210930_125335'),\n", - " 'output_file_type': 'png',\n", - " 'plot_dir': PosixPath('/home/rhut/technicalPaperExampleNotebooks/esmvaltool_output/recipe_marrmot_20210930_125335/plots'),\n", - " 'preproc_dir': PosixPath('/home/rhut/technicalPaperExampleNotebooks/esmvaltool_output/recipe_marrmot_20210930_125335/preproc'),\n", - " 'profile_diagnostic': False,\n", - " 'remove_preproc_dir': False,\n", - " 'rootpath': {'OBS6': [PosixPath('/mnt/data/climate-data/obs6')],\n", - " 'default': [PosixPath('/mnt/data/climate-data')]},\n", - " 'run_dir': PosixPath('/home/rhut/technicalPaperExampleNotebooks/esmvaltool_output/recipe_marrmot_20210930_125335/run'),\n", - " 'save_intermediary_cubes': False,\n", - " 'work_dir': PosixPath('/home/rhut/technicalPaperExampleNotebooks/esmvaltool_output/recipe_marrmot_20210930_125335/work')}\n", - "Shapefile /home/rhut/technicalPaperExampleNotebooks/settingFiles/Merrimack.shp is not in forcing directory /home/rhut/technicalPaperExampleNotebooks/esmvaltool_output/recipe_marrmot_20210930_125335/work/diagnostic_daily/script. So, it won't be saved in /home/rhut/technicalPaperExampleNotebooks/esmvaltool_output/recipe_marrmot_20210930_125335/work/diagnostic_daily/script/ewatercycle_forcing.yaml.\n" - ] - } - ], + "outputs": [], "source": [ - "experiment_forcing = ewatercycle.forcing.generate(\n", + "experiment_forcing = ewatercycle.forcing.sources[\"MarrmotForcing\"].generate(\n", " target_model='marrmot', \n", " dataset=forcing_dataset_name, #ie. \"ERA5\"\n", " start_time=experiment_start_date,\n", " end_time=experiment_end_date, \n", " shape=shapefile, #ie. the shape of the Merrimack basin\n", - ")" + ")\n", + "\n", + "# forcing = ewatercycle.forcing.sources[\"MarrmotForcing\"].generate(\n", + "# dataset=\"ERA5\",\n", + "# start_time=\"1989-01-01T00:00:00Z\",\n", + "# end_time=\"1992-12-31T00:00:00Z\",\n", + "# shape=\"data/Rhine/Rhine.shp\",\n", + "# )\n" ] }, { @@ -176,22 +167,40 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 6, "id": "83d6b4fd", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "eWaterCycle forcing\n", - "-------------------\n", - "start_time=1990-01-01T00:00:00Z\n", - "end_time=1990-12-31T00:00:00Z\n", - "directory=/home/rhut/technicalPaperExampleNotebooks/esmvaltool_output/recipe_marrmot_20210930_125335/work/diagnostic_daily/script\n", - "shape=/home/rhut/technicalPaperExampleNotebooks/settingFiles/Merrimack.shp\n", - "forcing_file=marrmot_ERA5_Merrimack_1990_1990.mat\n" - ] + "data": { + "text/html": [ + "
MarrmotForcing(\n",
+       "    start_time='1990-01-01T00:00:00Z',\n",
+       "    end_time='1990-12-31T00:00:00Z',\n",
+       "    directory=PosixPath('/home/rhut/repos/technicalPaperExampleNotebooks/esmvaltool_output/ewcrepcawqgw1a_20250419_\n",
+       "084751/work/diagnostic/script'),\n",
+       "    shape=PosixPath('/home/rhut/repos/technicalPaperExampleNotebooks/esmvaltool_output/ewcrepcawqgw1a_20250419_0847\n",
+       "51/work/diagnostic/script/settingFiles/Merrimack.shp'),\n",
+       "    filenames={},\n",
+       "    forcing_file='marrmot_ERA5_Merrimack_1990_1990.mat'\n",
+       ")\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1;35mMarrmotForcing\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mstart_time\u001b[0m=\u001b[32m'1990-01-01T00:00:00Z'\u001b[0m,\n", + " \u001b[33mend_time\u001b[0m=\u001b[32m'1990-12-31T00:00:00Z'\u001b[0m,\n", + " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/rhut/repos/technicalPaperExampleNotebooks/esmvaltool_output/ewcrepcawqgw1a_20250419_\u001b[0m\n", + "\u001b[32m084751/work/diagnostic/script'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mshape\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/rhut/repos/technicalPaperExampleNotebooks/esmvaltool_output/ewcrepcawqgw1a_20250419_0847\u001b[0m\n", + "\u001b[32m51/work/diagnostic/script/settingFiles/Merrimack.shp'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mfilenames\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n", + " \u001b[33mforcing_file\u001b[0m=\u001b[32m'marrmot_ERA5_Merrimack_1990_1990.mat'\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ @@ -209,20 +218,26 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 7, "id": "5e2b0035", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "The catchment area is: 13016500000.0\n" - ] + "data": { + "text/html": [ + "
The catchment area is: 13016500000.0\n",
+       "
\n" + ], + "text/plain": [ + "The catchment area is: \u001b[1;36m13016500000.0\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "shape = shapereader.Reader(experiment_forcing.shape)\n", + "shape = shapereader.Reader(shapefile)\n", "record = next(shape.records())\n", "merrimack_area = record.attributes[\"SUB_AREA\"] * 1e6\n", "print(\"The catchment area is:\", merrimack_area)" @@ -235,96 +250,178 @@ "source": [ "### Setting up the model object\n", "\n", - "To use a hydrological model, supported by ewatercycle, an object from its class must be instantiated. Information on the versions of models can be queried as shown below:" + "To use a hydrological model, supported by ewatercycle, an object from its class must be instantiated. " ] }, { "cell_type": "code", - "execution_count": 7, + "execution_count": 8, "id": "564402a9", "metadata": {}, "outputs": [ { "data": { + "text/html": [ + "
MarrmotM01(\n",
+       "    parameter_set=None,\n",
+       "    forcing=MarrmotForcing(\n",
+       "        start_time='1990-01-01T00:00:00Z',\n",
+       "        end_time='1990-12-31T00:00:00Z',\n",
+       "        directory=PosixPath('/home/rhut/repos/technicalPaperExampleNotebooks/esmvaltool_output/ewcrepcawqgw1a_20250\n",
+       "419_084751/work/diagnostic/script'),\n",
+       "        shape=PosixPath('/home/rhut/repos/technicalPaperExampleNotebooks/esmvaltool_output/ewcrepcawqgw1a_20250419_\n",
+       "084751/work/diagnostic/script/settingFiles/Merrimack.shp'),\n",
+       "        filenames={},\n",
+       "        forcing_file='marrmot_ERA5_Merrimack_1990_1990.mat'\n",
+       "    )\n",
+       ")\n",
+       "
\n" + ], "text/plain": [ - "('2020.11',)" + "\u001b[1;35mMarrmotM01\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mparameter_set\u001b[0m=\u001b[3;35mNone\u001b[0m,\n", + " \u001b[33mforcing\u001b[0m=\u001b[1;35mMarrmotForcing\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mstart_time\u001b[0m=\u001b[32m'1990-01-01T00:00:00Z'\u001b[0m,\n", + " \u001b[33mend_time\u001b[0m=\u001b[32m'1990-12-31T00:00:00Z'\u001b[0m,\n", + " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/rhut/repos/technicalPaperExampleNotebooks/esmvaltool_output/ewcrepcawqgw1a_20250\u001b[0m\n", + "\u001b[32m419_084751/work/diagnostic/script'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mshape\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/rhut/repos/technicalPaperExampleNotebooks/esmvaltool_output/ewcrepcawqgw1a_20250419_\u001b[0m\n", + "\u001b[32m084751/work/diagnostic/script/settingFiles/Merrimack.shp'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mfilenames\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n", + " \u001b[33mforcing_file\u001b[0m=\u001b[32m'marrmot_ERA5_Merrimack_1990_1990.mat'\u001b[0m\n", + " \u001b[1m)\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" ] }, - "execution_count": 7, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "model = ewatercycle.models.MarrmotM01(forcing=experiment_forcing)\n", + "print(model)" + ] + }, + { + "cell_type": "markdown", + "id": "a3040f3d-1dbf-4983-96db-05bd12cc17fc", + "metadata": {}, + "source": [ + "The model also has a version. This version is retrieved from the BMI container image.\n", + "\n", + "To run a different version of the model, you can specify the container image:\n", + "```py\n", + "from ewatercycle.container import ContainerImage\n", + "\n", + "ewatercycle.models.MarrmotM01(\n", + " forcing=forcing,\n", + " bmi_image=ContainerImage(\"ewatercycle/marrmot-grpc4bmi:2020.11\")\n", + ")\n", + "```\n", + "\n", + "To view the model's version, do:" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "78c3f054", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'2020.11'" + ] + }, + "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "ewatercycle.models.MarrmotM01.available_versions" + "model.version" ] }, { "cell_type": "markdown", - "id": "ba428256-1a0c-4f83-8eb0-b7bd60275b38", + "id": "4dc2dccc-f153-4dcd-951c-2dcb502d2751", "metadata": {}, "source": [ - "subsequently a model object is created:" + "The model's parameters can be accessed using the .parameters property:" ] }, { "cell_type": "code", - "execution_count": 8, - "id": "26f62da4", + "execution_count": 10, + "id": "1304fc91", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "eWaterCycle MarrmotM01\n", - "-------------------\n", - "Version = 2020.11\n", - "Parameter set = \n", - " None\n", - "Forcing = \n", - " eWaterCycle forcing\n", - " -------------------\n", - " start_time=1990-01-01T00:00:00Z\n", - " end_time=1990-12-31T00:00:00Z\n", - " directory=/home/rhut/technicalPaperExampleNotebooks/esmvaltool_output/recipe_marrmot_20210930_125335/work/diagnostic_daily/script\n", - " shape=/home/rhut/technicalPaperExampleNotebooks/settingFiles/Merrimack.shp\n", - " forcing_file=marrmot_ERA5_Merrimack_1990_1990.mat\n" - ] + "data": { + "text/html": [ + "
dict_items([('maximum_soil_moisture_storage', 10.0), ('initial_soil_moisture_storage', 0.0), ('solver', \n",
+       "Solver(name='createOdeApprox_IE', resnorm_tolerance=array([0.1]), resnorm_maxiter=array([6.]))), ('start time', \n",
+       "'1990-01-01T12:00:00Z'), ('end time', '1990-12-31T12:00:00Z')])\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1;35mdict_items\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'maximum_soil_moisture_storage'\u001b[0m, \u001b[1;36m10.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[32m'initial_soil_moisture_storage'\u001b[0m, \u001b[1;36m0.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[32m'solver'\u001b[0m, \n", + "\u001b[1;35mSolver\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[32m'createOdeApprox_IE'\u001b[0m, \u001b[33mresnorm_tolerance\u001b[0m=\u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.1\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m, \u001b[33mresnorm_maxiter\u001b[0m=\u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m6\u001b[0m.\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[32m'start time'\u001b[0m, \n", + "\u001b[32m'1990-01-01T12:00:00Z'\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[32m'end time'\u001b[0m, \u001b[32m'1990-12-31T12:00:00Z'\u001b[0m\u001b[1m)\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ - "model = ewatercycle.models.MarrmotM01(version='2020.11', forcing=experiment_forcing)\n", - "print(model)" + "print(model.parameters)" ] }, { "cell_type": "markdown", - "id": "8d91ae21", + "id": "5d8f9336-c85e-433a-a75b-1443ee02d44b", "metadata": {}, "source": [ - "Create config file and start up container for Marrmot" + "Setup model with maximum soil moisture storage as specified above" ] }, { "cell_type": "code", - "execution_count": 9, - "id": "7b862f10", + "execution_count": 11, + "id": "0203d607-b226-4e1a-91f0-9904ee20e80e", "metadata": {}, "outputs": [ { - "name": "stdout", - "output_type": "stream", - "text": [ - "Running /mnt/data/singularity-images/ewatercycle-marrmot-grpc4bmi_2020.11.sif singularity container on port 54579\n", - "/home/rhut/technicalPaperExampleNotebooks/ewatercycle_output/marrmot_20210930_125524/marrmot-m01_config.mat\n", - "/home/rhut/technicalPaperExampleNotebooks/ewatercycle_output/marrmot_20210930_125524\n" - ] + "data": { + "text/html": [ + "
/home/rhut/repos/technicalPaperExampleNotebooks/marrmotm01_20250419_084810/marrmot-m01_config.mat\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[35m/home/rhut/repos/technicalPaperExampleNotebooks/marrmotm01_20250419_084810/\u001b[0m\u001b[95mmarrmot-m01_config.mat\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
/home/rhut/repos/technicalPaperExampleNotebooks/marrmotm01_20250419_084810\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[35m/home/rhut/repos/technicalPaperExampleNotebooks/\u001b[0m\u001b[95mmarrmotm01_20250419_084810\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ "cfg_file, cfg_dir = model.setup(\n", - " # No need to specifiy start and end date, using dates from forcing\n", " maximum_soil_moisture_storage=experiment_maximum_soil_moisture_storage,\n", " initial_soil_moisture_storage=experiment_initial_soil_moisture_storage,\n", ")\n", @@ -334,14 +431,90 @@ }, { "cell_type": "code", - "execution_count": 10, - "id": "b5da4787", + "execution_count": 12, + "id": "3e0f3efc", + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/html": [ + "
dict_items([('maximum_soil_moisture_storage', 1999.0), ('initial_soil_moisture_storage', 1799.1000000000001), \n",
+       "('solver', Solver(name='createOdeApprox_IE', resnorm_tolerance=array([0.1]), resnorm_maxiter=array([6.]))), ('start\n",
+       "time', '1990-01-01T00:00:00Z'), ('end time', '1990-12-31T00:00:00Z')])\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1;35mdict_items\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'maximum_soil_moisture_storage'\u001b[0m, \u001b[1;36m1999.0\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[32m'initial_soil_moisture_storage'\u001b[0m, \u001b[1;36m1799.1000000000001\u001b[0m\u001b[1m)\u001b[0m, \n", + "\u001b[1m(\u001b[0m\u001b[32m'solver'\u001b[0m, \u001b[1;35mSolver\u001b[0m\u001b[1m(\u001b[0m\u001b[33mname\u001b[0m=\u001b[32m'createOdeApprox_IE'\u001b[0m, \u001b[33mresnorm_tolerance\u001b[0m=\u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m0.1\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m, \u001b[33mresnorm_maxiter\u001b[0m=\u001b[1;35marray\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1;36m6\u001b[0m.\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[32m'start\u001b[0m\n", + "\u001b[32mtime'\u001b[0m, \u001b[32m'1990-01-01T00:00:00Z'\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[32m'end time'\u001b[0m, \u001b[32m'1990-12-31T00:00:00Z'\u001b[0m\u001b[1m)\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print(model.parameters)" + ] + }, + { + "cell_type": "markdown", + "id": "e35fb142-c867-4c95-8e35-d8072852df08", + "metadata": {}, + "source": [ + "Initialize the model with the config file:" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "e7df84f4-2e21-46df-b4f9-5c8041f149bd", "metadata": {}, "outputs": [], "source": [ "model.initialize(cfg_file)" ] }, + { + "cell_type": "markdown", + "id": "66232472-94c8-4681-885f-f1f3bffc8c8e", + "metadata": {}, + "source": [ + "Get model variable names, only `flux_out_Q` is supported for now." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "85c9208b", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "('P',\n", + " 'T',\n", + " 'Ep',\n", + " 'S(t)',\n", + " 'par',\n", + " 'sol_resnorm_tolerance',\n", + " 'sol_resnorm_maxiter',\n", + " 'flux_out_Q',\n", + " 'flux_out_Ea',\n", + " 'wb')" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "model.output_var_names" + ] + }, { "cell_type": "markdown", "id": "bf7db734", @@ -353,7 +526,7 @@ }, { "cell_type": "code", - "execution_count": 11, + "execution_count": 15, "id": "6822b99a", "metadata": {}, "outputs": [], @@ -390,7 +563,7 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 16, "id": "e8c99679", "metadata": {}, "outputs": [], @@ -411,125 +584,75 @@ }, { "cell_type": "code", - "execution_count": 13, + "execution_count": 17, "id": "e2eaedac", "metadata": {}, "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "GRDC station 4147380 is selected. The river name is: MERRIMACK RIVER.The coordinates are: (42.6459, -71.2984).The catchment area in km2 is: 12004.7. There are 0 missing values during 1990-01-01T00:00:00Z_1990-12-31T00:00:00Z at this station. See the metadata for more information.\n" - ] - }, { "data": { "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
streamflow
time
1990-01-01119.214
1990-01-02136.204
1990-01-03131.107
1990-01-04133.655
1990-01-05139.035
......
1990-12-27668.276
1990-12-28512.534
1990-12-29419.089
1990-12-30393.604
1990-12-31399.267
\n", - "

365 rows × 1 columns

\n", - "
" + "
<xarray.Dataset> Size: 6kB\n",
+       "Dimensions:              (time: 365)\n",
+       "Coordinates:\n",
+       "  * time                 (time) datetime64[ns] 3kB 1990-01-01 ... 1990-12-31\n",
+       "    id                   int64 8B 4147380\n",
+       "Data variables:\n",
+       "    streamflow           (time) float64 3kB 119.2 136.2 131.1 ... 393.6 399.3\n",
+       "    area                 float64 8B 1.2e+04\n",
+       "    country              <U2 8B 'US'\n",
+       "    geo_x                float64 8B -71.3\n",
+       "    geo_y                float64 8B 42.65\n",
+       "    geo_z                float64 8B 1.58\n",
+       "    owneroforiginaldata  <U7 28B 'Unknown'\n",
+       "    river_name           <U15 60B 'MERRIMACK RIVER'\n",
+       "    station_name         <U33 132B 'BELOW CONCORD RIVER AT LOWELL, MA'\n",
+       "    timezone             float64 8B nan\n",
+       "Attributes:\n",
+       "    title:          MEAN DAILY DISCHARGE (Q)\n",
+       "    Conventions:    CF-1.7\n",
+       "    references:     grdc.bafg.de\n",
+       "    institution:    GRDC\n",
+       "    history:        Converted from 4147380_Q_Day.Cmd.txt of 2019-03-27 to net...\n",
+       "    missing_value:  -999.000\n",
+       "
\n" ], "text/plain": [ - " streamflow\n", - "time \n", - "1990-01-01 119.214\n", - "1990-01-02 136.204\n", - "1990-01-03 131.107\n", - "1990-01-04 133.655\n", - "1990-01-05 139.035\n", - "... ...\n", - "1990-12-27 668.276\n", - "1990-12-28 512.534\n", - "1990-12-29 419.089\n", - "1990-12-30 393.604\n", - "1990-12-31 399.267\n", - "\n", - "[365 rows x 1 columns]" + "\u001b[1m<\u001b[0m\u001b[1;95mxarray.Dataset\u001b[0m\u001b[1m>\u001b[0m Size: 6kB\n", + "Dimensions: \u001b[1m(\u001b[0mtime: \u001b[1;36m365\u001b[0m\u001b[1m)\u001b[0m\n", + "Coordinates:\n", + " * time \u001b[1m(\u001b[0mtime\u001b[1m)\u001b[0m datetime64\u001b[1m[\u001b[0mns\u001b[1m]\u001b[0m 3kB \u001b[1;36m1990\u001b[0m-\u001b[1;36m01\u001b[0m-\u001b[1;36m01\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m1990\u001b[0m-\u001b[1;36m12\u001b[0m-\u001b[1;36m31\u001b[0m\n", + " id int64 8B \u001b[1;36m4147380\u001b[0m\n", + "Data variables:\n", + " streamflow \u001b[1m(\u001b[0mtime\u001b[1m)\u001b[0m float64 3kB \u001b[1;36m119.2\u001b[0m \u001b[1;36m136.2\u001b[0m \u001b[1;36m131.1\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m393.6\u001b[0m \u001b[1;36m399.3\u001b[0m\n", + " area float64 8B \u001b[1;36m1.2e+04\u001b[0m\n", + " country \n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
simulationobservation
1990-01-028.584977136.204
1990-01-030.017747131.107
1990-01-040.002347133.655
1990-01-051.517997139.035
1990-01-060.150256131.107
.........
1990-12-271.074040668.276
1990-12-280.065816512.534
1990-12-29974.469585419.089
1990-12-30217.303574393.604
1990-12-31767.973426399.267
\n", - "

364 rows × 2 columns

\n", - "" + "
<xarray.Dataset> Size: 18kB\n",
+       "Dimensions:              (time: 729)\n",
+       "Coordinates:\n",
+       "  * time                 (time) object 6kB 1990-01-01 1990-01-02 ... 1990-12-31\n",
+       "    id                   int64 8B 4147380\n",
+       "Data variables:\n",
+       "    streamflow           (time) float64 6kB 119.2 136.2 131.1 ... 393.6 399.3\n",
+       "    area                 float64 8B 1.2e+04\n",
+       "    country              <U2 8B 'US'\n",
+       "    geo_x                float64 8B -71.3\n",
+       "    geo_y                float64 8B 42.65\n",
+       "    geo_z                float64 8B 1.58\n",
+       "    owneroforiginaldata  <U7 28B 'Unknown'\n",
+       "    river_name           <U15 60B 'MERRIMACK RIVER'\n",
+       "    station_name         <U33 132B 'BELOW CONCORD RIVER AT LOWELL, MA'\n",
+       "    timezone             float64 8B nan\n",
+       "    simulation           (time) float64 6kB nan nan nan ... 974.5 217.3 768.0\n",
+       "Attributes:\n",
+       "    title:          MEAN DAILY DISCHARGE (Q)\n",
+       "    Conventions:    CF-1.7\n",
+       "    references:     grdc.bafg.de\n",
+       "    institution:    GRDC\n",
+       "    history:        Converted from 4147380_Q_Day.Cmd.txt of 2019-03-27 to net...\n",
+       "    missing_value:  -999.000\n",
+       "
\n" ], "text/plain": [ - " simulation observation\n", - "1990-01-02 8.584977 136.204\n", - "1990-01-03 0.017747 131.107\n", - "1990-01-04 0.002347 133.655\n", - "1990-01-05 1.517997 139.035\n", - "1990-01-06 0.150256 131.107\n", - "... ... ...\n", - "1990-12-27 1.074040 668.276\n", - "1990-12-28 0.065816 512.534\n", - "1990-12-29 974.469585 419.089\n", - "1990-12-30 217.303574 393.604\n", - "1990-12-31 767.973426 399.267\n", - "\n", - "[364 rows x 2 columns]" + "\u001b[1m<\u001b[0m\u001b[1;95mxarray.Dataset\u001b[0m\u001b[1m>\u001b[0m Size: 18kB\n", + "Dimensions: \u001b[1m(\u001b[0mtime: \u001b[1;36m729\u001b[0m\u001b[1m)\u001b[0m\n", + "Coordinates:\n", + " * time \u001b[1m(\u001b[0mtime\u001b[1m)\u001b[0m object 6kB \u001b[1;36m1990\u001b[0m-\u001b[1;36m01\u001b[0m-\u001b[1;36m01\u001b[0m \u001b[1;36m1990\u001b[0m-\u001b[1;36m01\u001b[0m-\u001b[1;36m02\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m1990\u001b[0m-\u001b[1;36m12\u001b[0m-\u001b[1;36m31\u001b[0m\n", + " id int64 8B \u001b[1;36m4147380\u001b[0m\n", + "Data variables:\n", + " streamflow \u001b[1m(\u001b[0mtime\u001b[1m)\u001b[0m float64 6kB \u001b[1;36m119.2\u001b[0m \u001b[1;36m136.2\u001b[0m \u001b[1;36m131.1\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m393.6\u001b[0m \u001b[1;36m399.3\u001b[0m\n", + " area float64 8B \u001b[1;36m1.2e+04\u001b[0m\n", + " country ,\n", - " (,\n", - " ))" + "
" ] }, - "execution_count": 15, "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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8/LLL5fOmDFj1kMPPVR63333jbjpppvGA8Du3bsdp5xySnV1dfWsU045pXrPnj0OALjqqqsmfu5zn6uaP3/+jHHjxp3w97//vbS/x4MRC0IIIYQQktXc9eymqt31HXmJXGf1qMLuX3163uFIjy9btizvySefHLFu3bodUkosXLhw5rnnnttRU1OT8+c//7nmggsu6Lr66qsn/upXv6q44447Gl977bXS/fv3b7VYLGhsbLQCwG233VZ15513Hrvwwgs79+zZ47jwwgun7d+/fxsAbN68OW/16tU7CwoK5L333jvyiSeeKFu0aFHdwYMH7cePH7efccYZ3c3NzZY1a9bstNvteOGFFwq/853vjPvPf/6z75577qlbu3Zt/mOPPXYIAO67774Rxn5/+ctfHn/dddc1fe1rX2v6/e9/P+L222+vevvtt/cBwLFjx+xr167duXHjxpwrrrhi6uc///mW/hwzCgtCCCGEEEL6yfvvv1/wyU9+srWoqEgDgIsvvrjlvffeKxw1apTrggsu6AKAG2+8sem+++4b+YMf/OCY0+nUrr322gkXX3xxm5GitGLFiqI9e/bkGuvs7Oy0trS0WADgoosuai0oKJAAcNNNN7Wcd9551b/73e/qHnvssdJLLrmkBQCam5ut11xzzaSampocIYR0u90i1n5v2LAh//XXX98HALfffnvzvffeO8547NJLL221Wq1YuHBhb1NTU//yr0BhQQghhBBCspxokYVkIWX4SrdCiJD7drsdGzdu3PHSSy8VPf3006UPPvjgyFWrVu2WUmLt2rU7DAFhJj8/XzNuT5o0yV1SUuJZvXp17vPPP1/25z//+SAAfPe73x171llndbz11lv7du3a5Vi6dOn0wbynnJwc335Een/RoMeCEEIIISQaG54Adv8n3XtBMoylS5d2vvbaayUdHR2W9vZ2y2uvvVZ6zjnndBw9etTx9ttv5wPAk08+WXbqqad2trW1WfToQtuf/vSnwzt27MgDgNNPP739l7/85UhjnR999FFupO19+tOfbv6f//mfUR0dHdbFixf3AEB7e7t13LhxLgD485//XG48t6ioyNvZ2Rl2nD9//vyuv/71r6X6a8oWLVrUmYjjAVBYEEIIIYREZ+X9wLpH070XJMM4/fTTu6+77rqmBQsWzFy4cOHMG2+8saG8vNw7efLk3ocf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xDcVFiIiIiIi4psKCxERERER8U2FhYiIiIiI+KbCQkREREREfFNhISIiIiIivqmwEBERERER31RYiIiIiIiIbyosRERERETENxUWIiIiIiLimwoLERERERHxTYWFiIiIiIj4psJCRERERER8U2EhIiIiIiK+qbAQERERERHfVFiIiIiIiIhvKixERERERMQ3FRYiIiIiIuKbCgsREREREfFNhYWIiIiIiPimwkJERERERHxTYSEiIiIiIr6psBAREREREd9UWIiIiIiIiG8qLERERERExDcVFiIiIiIi4psKCxERERER8U2FhYiIiIiI+KbCQkREREREfFNhISIiIiIivqmwEBERERER31RYiIiIiIiIbyosRERERETENxUWIiIiIiLimwoLERERERHxTYWFiIiIiIj4psJCRERERER8U2EhIiIiIiK+qbAQERERERHfVFiIiIiIiIhvKixERERERMQ3FRYiIiIiIuKbCgsREREREfFNhYWIiIiIiPimwkJERERERHxTYSEiIiIiIr6psBAREREREd9UWIiIiIiIiG8qLERERERExLekoAPEqzp16vw3Nze3cdA5JP6lpKQU5ubmqkiXClF7kYpSW5HKSElJ2Xnw4MFTg84hxzZjrQ06Q1wyxlgtG6kIYwxqK1JRai9SUWorUhleezFB55Bjm3pCRERERETENxUWIiIiIiLimwoLERERERHxTYWFyDFsy5YtZGRkHJXnHjx4MK1btyYjI4NrrrmGvLw8AKy13HTTTbRs2ZKsrCxWrFhR9Ddvv/02rVu3pmXLlowZM6bo96tWraJr165kZmbyi1/8gu++++6oZBYREZGqU2EhIkfF4MGDWbduHatXr+bgwYNMmDABgNmzZ7Nx40Y2btzI+PHj+e1vfwtAQUEB119/PbNnz2bt2rVMnjyZtWvXAjB8+HDGjBnD6tWr6d+/P4888khg70tERERKp8JCitmyZQtt27bl17/+Nenp6fTp04eDBw/yxBNPcOaZZ5KVlcXAgQMB2L9/P9dccw2dOnWiffv2vPHGGwGnFz8+++wz2rdvz7x58/jlL39JVlYWAwYM4Oyzz2bZsmUAvPvuu3Tt2pWzzjqLK664gn379pX5fP369cMYgzGGzp07s23bNgDeeOMNrrrqKowxdOnShT179vDll1+yZMkSWrZsyemnn06tWrUY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GkRiYiKNGzemR48eLF26FIDOnTuTmppKQkIC2dnZlc4iwbvlllsYO3YsiYmJ5c47ceJEduzYQdu2bYtGrgD69+/PunXrmD59OqNHjz6acSVApY1IltYr+NBDD7Fu3TqWLl3KN998w9ixYwHIz89n+fLlzJw5k3feeYf77ruPDRs2HPXcEr/KalNt27Zl1KhR9O7dm5ycHNq1a0dS0hHvQSs1xOTJk484WrFo0SJWrFjB7NmzGTduHPPnzy+a9sADD7B161YGDx7MU089VR1xRY6qKhcWrVq1Yvny5WRmZnLHHXccVmknJycXbcATEhKoXbt20ff5+fkAJCUlUVgYvVFkbm7uYa8zd+5c5syZwwcffMCqVato3759qfPFOtLhTZEcAImJiUVZJL6NGzeu6CS5ZcuWMXDgQNLS0njttde47rrrmD59epl/m5iYyIABA5g6deph07p3786nn35a7oUCJDxi20rTpk2L9Rpv27aNpk2bHvY3TZo0wRhD7dq1GTp0KEuWLAFcb3ROTg716tXj5JNPpnv37qxatara3ovEn9TU1DLb1LBhw1ixYgXz58/npJNOKrMHW+JD7LqiqidO5+fn8/rrrzNgwIAy54m0j0aNGtG/f/+i9UusK6+8stRtlEjYVLmw2LFjB3Xr1mXIkCHcdtttZV5t5UjS0tJYuXIlhYWFbN26tdQP2969eznxxBOpW7cu69atY/HixUXTkpOTycvLO+xvunfvzpQpUygoKGDXrl3Mnz+fzp07VzqfxI/rr7+elStXsnLlSjZv3syWLVvYsmULl19+OX/5y1+45JJLis1vrWXTpk1F37/55pu0adMGgE2bNhUVnytWrODQoUM0bNiwWt+PHD2xbeWSSy5h0qRJWGtZvHgx9evXp0mTJof9TeRQSWst06dPL7r6y8UXX8yCBQvIz8/nwIEDfPjhh7Rt27Za34/El4suuqjMNvXVV18B8MUXX/D6669X+ph7qV6x64rSOhwqYs6cObRp04bU1NRSp+/fv5/vv/++6Pt33323aP0Se/TFjBkzirZRImFW5XHa1atXM3LkSBISEkhOTubpp5/mtttuq9RzdOvWjRYtWpCZmUlGRgZnnXXWYfPk5OTwzDPPkJWVRevWrenSpUvRtGuvvZasrCzOOuusYudZ9O/fnw8++IB27dphjOHhhx8uOs5earZ+/foxYcIETj31VK6++mq+++47rLW0a9eOp59+GoCpU6cyadIkkpOTqVOnDlOmTNFJczVUv379mDVrFi1btqRu3bpMnDix2LQJEybQtGlTBg8ezK5du7DWkp2dzTPPPANA27ZtycnJISsri4SEBIYPH17mZUilZhg0aBBz587l66+/JjU1lXvuuaeoA2vEiBFHbFOXXXYZu3fvJjk5mXHjxnHiiScG9Takkv773//SsWNHvvvuOxISEorOxTzhhBNKbRPDhg0D4OWXXz6sgNyxYwfDhw9n1qxZ7Ny5k/79+wNudOPKK68sOkz89ttvZ/369SQkJNC8efOi9Y5ImJkjHTZkjLHH6lWTjDG6YpRUiNqKVIbai1SU2opUhtde1EsmgdKdt0VERERExDcVFiIiIiIi4psKCxERERER8U2FhYiIiIiI+HbEq0KlpKTsNMY0rq4w8SQlJaXQGKPCS8qltiKVofYiFaW2IpWRkpKyM+gMIke8KpSIiIiIiEhFqCdERERERER8U2EhIiIiIiK+qbAQERERERHfVFiIiIiIiIhvKixERERERMQ3FRYiIiIiIuKbCgsREREREfFNhYWIiIiIiPimwkJERERERHxTYSEiIiIiIr6psBAREREREd9UWIiIiIiIiG8qLERERERExDcVFiIiIiIi4psKCxERERER8U2FhYiIiIiI+KbCQkREREREfFNhISIiIiIivqmwEBERERER31RYiIiIiIiIbyosRERERETENxUWIiIiIiLimwoLERERERHxTYWFiIiIiIj4psJCRERERER8U2EhIiIiIiK+qbAQERERERHfVFiIiIiIiIhvKixERERERMQ3FRYiIiIiIuKbCgsREREREfFNhYWIiIiIiPimwkJERERERHxTYSEiIiIiIr6psBAREREREd9UWIiIiIiIiG8qLERERERExDcVFiIiIiIi4psKCxERERER8U2FhYiIiIiI+KbCQkREREREfFNhISIiIiIivqmwEBERERER31RYiIiIiIiIbyosRERERETENxUWIiIiIiLimwoLERERERHxTYWFiIiIiIj4psJCRERERER8+/+wf8jkvnZODgAAAABJRU5ErkJggg==\n", - "text/plain": [ - "
" - ] - }, - "metadata": { - "needs_background": "light" - }, "output_type": "display_data" } ], "source": [ - "ewatercycle.analysis.hydrograph(\n", - " discharge=discharge,\n", - " reference='observation', \n", - " filename ='figures/case1_HelloWorldHydrograph.png'\n", - ")" + "# Plot observed and simulated streamflow\n", + "plt.figure(figsize=(12, 6))\n", + "observations.streamflow.plot(label='Observed')\n", + "observations.simulation.plot(label='Simulated', linestyle='--')\n", + "plt.legend()\n", + "plt.title('Observed vs Simulated Streamflow')\n", + "plt.xlabel('Time')\n", + "plt.ylabel('Streamflow')\n", + "plt.grid(True)\n", + "plt.tight_layout()\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "6ae81fd7", + "metadata": {}, + "outputs": [], + "source": [ + "# ewatercycle.analysis.hydrograph(\n", + "# discharge=observations,\n", + "# reference='observation', \n", + "# filename ='figures/case1_HelloWorldHydrograph.png'\n", + "# )" ] }, { @@ -732,7 +817,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.12.7" } }, "nbformat": 4, From b2ab7a88c060e51ca5f41571efe55d9710f98568 Mon Sep 17 00:00:00 2001 From: rolfhut Date: Sat, 19 Apr 2025 11:34:12 +0200 Subject: [PATCH 2/2] added documentation in notebook --- Case1_Marrmot_Merrimack_ESMValTool.ipynb | 25 ++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/Case1_Marrmot_Merrimack_ESMValTool.ipynb b/Case1_Marrmot_Merrimack_ESMValTool.ipynb index c055d60..5917537 100644 --- a/Case1_Marrmot_Merrimack_ESMValTool.ipynb +++ b/Case1_Marrmot_Merrimack_ESMValTool.ipynb @@ -19,9 +19,9 @@ "\n", "The model used in this notebook is: [MARRMoT](https://github.com/wknoben/MARRMoT) M01 (traditional bucket) (Knoben et al 2019, [10.5194/gmd-12-2463-2019](https://doi.org/10.5194/gmd-12-2463-2019)). MARRMoT is a suite of hydrological models and the chosen M01 model is the most simple model within it: it represents the entire catchment as a traditional single bucket. \n", "\n", - "The catchment chosen as an example is the Merrimack. This model is too simple for the basin used as example and uncalibrated on top of that: this notebook is purely intended to demonstrate how to run a model and generate forcing data. It is not intended as an accurate simulations of discharge in this given basin, which is covered in the other, more complex, case study notebooks in this repository.\n", + "The catchment chosen as an example is the Merrimack. This model is too simple for the basin used as example and uncalibrated on top of that: this notebook is purely intended to demonstrate how to run a model and generate forcing data. It is not intended as an accurate simulations of discharge in this given basin, which is covered in the other, more complex, case study notebooks.\n", "\n", - "Furthermore, this notebook shows that a model written in a language other than Python (in this case: Matlab) can still be run from a Jupyter notebook within eWaterCycle." + "Furthermore, this notebook shows that a model written in a language other than Python (in this case: Matlab) can be run from a Jupyter notebook within eWaterCycle using container technology." ] }, { @@ -117,6 +117,7 @@ "experiment_initial_soil_moisture_storage = 0.9 * experiment_maximum_soil_moisture_storage\n", "\n", "discharge_variable = \"flux_out_Q\"\n", + "\n", "# flux_out_Q unit conversion factor from mm/day to m3/s\n", "conversion_mmday2m3s = 1 / (1000 * 86400)" ] @@ -429,6 +430,14 @@ "print(cfg_dir)" ] }, + { + "cell_type": "markdown", + "id": "870a87c2-2fde-4d27-8100-976d53f11d1c", + "metadata": {}, + "source": [ + "During setup we have changed some of the parameters, see the difference below." + ] + }, { "cell_type": "code", "execution_count": 12, @@ -579,7 +588,9 @@ "### Import GRDC observations\n", "\n", "Read the GRDC data for the period of the experiment, for the station given above. \n", - "If you are not on jupyter.ewatercycle.org or Cartesius, download the GRDC https://www.bafg.de/GRDC/EN/02_srvcs/21_tmsrs/riverdischarge_node.html and set the `grdc_location` field in `~/.config/.ewatercycle/ewatercycle.yaml` to your download location." + "If you are not on jupyter.ewatercycle.org or Cartesius, download the GRDC https://www.bafg.de/GRDC/EN/02_srvcs/21_tmsrs/riverdischarge_node.html and set the `grdc_location` field in `~/.config/.ewatercycle/ewatercycle.yaml` to your download location.\n", + "\n", + "You can also specify the optional data_home argument if you have downloaded GRDC data yourself to another location. If unspecified this defaults to ```None``` and data will be assumed to be in the location specified in your config file. " ] }, { @@ -648,9 +659,10 @@ ], "source": [ "observations = ewatercycle.observation.grdc.get_grdc_data(\n", - " station_id=grdc_station_id,\n", - " start_time=experiment_start_date,\n", - " end_time=experiment_end_date,\n", + " station_id = grdc_station_id,\n", + " start_time = experiment_start_date,\n", + " end_time = experiment_end_date,\n", + " data_home = None \n", ")\n", "print(observations)" ] @@ -784,6 +796,7 @@ "metadata": {}, "outputs": [], "source": [ + "## ToDo: make sure this works, but requires an update to the hydrograph function of eWaterCycle main package to accept Xarray\n", "# ewatercycle.analysis.hydrograph(\n", "# discharge=observations,\n", "# reference='observation', \n",