diff --git a/book/_config.yml b/book/_config.yml index 011975c..42c4f03 100644 --- a/book/_config.yml +++ b/book/_config.yml @@ -11,6 +11,8 @@ only_build_toc_files: true # Replace this with false i html: favicon : "figures/ewatercycle_logo.png" # Replace this with your own favicon baseurl : "https://www.ewatercycle.org/getting-started" # Replace this with your own URL + extra_js: + - _static/custom_launch_button.js # Adds the custom launch button to the page, so this is needed plus the custom js file, that's it. sphinx: # Options passed on to the underlying sphinx-parser config: @@ -52,5 +54,6 @@ sphinx: # Options passed on to the - sphinx_named_colors # Allows you to use custom colors in your book https://teachbooks.io/manual/external/Sphinx-Named-Colors/README.html - sphinx_dropdown_toggle # Adds a button to toggle all dropdowns with one click + bibtex_bibfiles: - references.bib # Required for references diff --git a/book/_static/custom_launch_button.js b/book/_static/custom_launch_button.js new file mode 100644 index 0000000..acea063 --- /dev/null +++ b/book/_static/custom_launch_button.js @@ -0,0 +1,69 @@ +// This code is used to make the launch button on top of the webpage + +window.addEventListener("DOMContentLoaded", () => { + // Create the modal HTML + const modalHTML = ` + + `; + document.body.insertAdjacentHTML("beforeend", modalHTML); + + // Create the custom button + const header = document.querySelector("header"); + if (header) { + const customButton = document.createElement("a"); + customButton.textContent = "🚀 Launch eWaterCycle JupyterHub"; + customButton.className = "custom-launch-button"; + customButton.style.backgroundColor = "#007ACC"; + customButton.style.color = "white"; + customButton.style.padding = "6px 12px"; + customButton.style.marginLeft = "10px"; + customButton.style.borderRadius = "4px"; + customButton.style.textDecoration = "none"; + customButton.style.fontWeight = "bold"; + customButton.style.cursor = "pointer"; + + customButton.addEventListener("click", () => { + document.getElementById("customModal").style.display = "block"; + }); + + header.appendChild(customButton); + } + + // Modal button logic + const launchBtn = document.getElementById("launchBtn"); + const cancelBtn = document.getElementById("cancelBtn"); + const input = document.getElementById("jupyterUrlInput"); + const modal = document.getElementById("customModal"); + + launchBtn.addEventListener("click", () => { + const baseUrl = input.value.trim(); + + if (baseUrl.startsWith("https://")) { + const repo = encodeURIComponent("https://github.com/eWaterCycle/getting-started"); + const branch = "main"; + // const notebookPath = "getting-started/book/content/first_model_run/first_run.ipynb"; // Change to your desired notebook + const notebookPath = "getting-started/book/some_content/first_model_run/first_run.ipynb"; // Change to your desired notebook + + const nbgitpullerUrl = `${baseUrl}/hub/user-redirect/git-pull?repo=${repo}&branch=${branch}&urlpath=lab/tree/${notebookPath}`; + window.open(nbgitpullerUrl, "_blank"); + modal.style.display = "none"; + input.value = ""; + } else { + alert("Please enter a valid HTTPS URL."); + } + }); + + cancelBtn.addEventListener("click", () => { + modal.style.display = "none"; + input.value = ""; + }); +}); diff --git a/book/_toc.yml b/book/_toc.yml index f37193b..471f71f 100644 --- a/book/_toc.yml +++ b/book/_toc.yml @@ -4,70 +4,74 @@ root: intro.md parts: - caption: Getting Started With eWaterCycle chapters: - - file: some_content/why.md + - file: content/why.md sections: - - file: some_content/why/what.md - - file: some_content/why/sowhat.md + - file: content/why/what.md + - file: content/why/sowhat.md - - file: some_content/first_model_run.md + - file: content/first_model_run.md sections: - - file: some_content/first_model_run/interface.ipynb - - file: some_content/first_model_run/first_run.ipynb + - file: content/first_model_run/interface.ipynb + - file: content/first_model_run/first_run.ipynb - - file: some_content/generate_forcing.md + - file: content/generate_forcing.md sections: - - file: some_content/forcing/caravan_forcing.ipynb - - file: some_content/forcing/era5_forcing_caravan_shapefile.ipynb - - file: some_content/forcing/era5_forcing_own_shapefile.ipynb - - file: some_content/forcing/cmip_historic.ipynb - - file: some_content/forcing/cmip_future.ipynb - - file: some_content/forcing/manual_forcing.ipynb + - file: content/forcing/caravan_forcing.ipynb + - file: content/forcing/era5_forcing_caravan_shapefile.ipynb + - file: content/forcing/era5_forcing_own_shapefile.ipynb + - file: content/forcing/cmip_historic.ipynb + - file: content/forcing/cmip_future.ipynb + - file: content/forcing/manual_forcing.ipynb - - file: some_content/different_models.md + - file: content/different_models.md sections: - - file: some_content/models/hbv.md + - file: content/models/hbv.md sections: + - file: content/models/hbv.ipynb - external: https://github.com/eWaterCycle/projects/blob/main/book/tutorials_examples/1_HBV_Caravan_ERA5/example_model_run_HBV.ipynb - external: https://github.com/eWaterCycle/ewatercycle-hbv/blob/main/docs/example_model_run_HBV_camels_catchment_ERA5_forcing.ipynb - - file: some_content/models/pcr.md + - file: content/models/pcr.md sections: + - file: content/models/pcrglobwb.md - external: https://github.com/eWaterCycle/projects/blob/main/book/tutorials_examples/2_HBV_PCRGlobWB_ERA5/example_model_run_pcrglobwb.ipynb - external: https://github.com/eWaterCycle/ewatercycle-pcrglobwb/blob/main/docs/Irrigation.ipynb - - file: some_content/models/wflow.md + - file: content/models/wflow.md sections: - external: https://github.com/eWaterCycle/ewatercycle-wflowjl/blob/main/docs/demo.ipynb - external: https://github.com/eWaterCycle/ewatercycle-wflow/blob/main/docs/model.ipynb - - file: some_content/workflows.md + - file: content/workflows.md sections: - - file: some_content/workflows/running_a_model.md + - file: content/workflows/running_a_model.md sections: - - file: some_content/workflows/running_a_model/flooding.md + - file: content/workflows/running_a_model/flooding.md sections: - external: https://github.com/eWaterCycle/projects/blob/main/book/thesis_projects/BSc/2025_Q3_ThirzaVanEsch_CEG/Report/CHAPTER4.ipynb - - file: some_content/workflows/running_a_model/droughts.md + - file: content/workflows/running_a_model/droughts.md sections: - external: https://github.com/eWaterCycle/projects/blob/main/book/thesis_projects/BSc/2025_Q3_IschaHollemans_CEG/ischa/CMIP_Future_prediction.ipynb - - file: some_content/workflows/running_a_model/climate_change.md + - file: content/workflows/running_a_model/climate_change.md # sections: # - external: rolf stuff - - file: some_content/workflows/calibrating_models.md + - file: content/workflows/calibrating_models.md sections: - - file: some_content/workflows/calibrating_models/calibrate_hbv.ipynb + - file: content/workflows/calibrating_models/calibrate_hbv.ipynb - external: https://github.com/eWaterCycle/projects/blob/main/book/thesis_projects/BSc/2025_Q3_ThirzaVanEsch_CEG/Report/CHAPTER3OVER_ori.ipynb # - external: - - file: some_content/workflows/comparisons.md + - file: content/workflows/comparisons.md sections: - - file: some_content/workflows/comparisons/1_forcing_multiple_models.md + - file: content/workflows/comparisons/1_forcing_multiple_models.md # sections: # - external: https://github.com/eWaterCycle/projects/blob/main/book/tutorials_examples/2_HBV_PCRGlobWB_ERA5/example_model_run_pcrglobwb.ipynb - - file: some_content/workflows/comparisons/1_model_multiple_forcings.ipynb + - file: content/workflows/comparisons/1_model_multiple_forcings.ipynb - - file: some_content/workflows/model_coupling.md + - file: content/workflows/model_coupling.md - - file: some_content/workflows/DA.md + - file: content/workflows/DA.md + - file: content/glossary/definitions.md + - file: content/glossary/workflow_chart.md - file: references.md - file: credits.md diff --git a/book/some_content/different_models.md b/book/content/different_models.md similarity index 99% rename from book/some_content/different_models.md rename to book/content/different_models.md index c8e0fe9..1ad467c 100644 --- a/book/some_content/different_models.md +++ b/book/content/different_models.md @@ -216,7 +216,7 @@ PCRGlobWB has many different outputs: * [Parameter set](https://ewatercycle.readthedocs.io/en/latest/system_setup.html#prepare-other-parameter-sets) * cloneMap * We have the needed data stored, you just need to give it your region. - + * .ini file with the settings, a standard.ini file will be provided. A [GitHub page](https://github.com/UU-Hydro/PCR-GLOBWB_input_example) on the inputs for PCRGlobWB 2.0. ## Wflow diff --git a/book/some_content/first_model_run.md b/book/content/first_model_run.md similarity index 81% rename from book/some_content/first_model_run.md rename to book/content/first_model_run.md index 1bf76cb..5ecc9f6 100644 --- a/book/some_content/first_model_run.md +++ b/book/content/first_model_run.md @@ -11,8 +11,9 @@ Below you will find a short overview of the content of this part. ## Interface +**First** you need to get familiar with the interface of eWaterCycle. The eWaterCycle interface is a Jupyter Hub environment, which means you can run Jupyter notebooks in your browser. -And the heavy computations are done at a super computer, so you do not need a powerful computer to run the models. +And the heavy computations are done at a cloud/super computer, so you do not need a powerful computer to run the models. This super computer is hosted by SURF, the Dutch national supercomputer provider. So the jupyter hub sends the requests to the super computer, which runs the models and sends the results back to your browser. @@ -21,6 +22,7 @@ You also need basic knowledge of Python to be able to use eWaterCycle. ## Running an HBV Model +We will start with running a lumped bucket hydrological model: HBV with eWaterCycle. Here we will pick a catchment and run an HBV model with forcing data. To show you how eWaterCycle works in practice. This is a simple example, but it will give you an idea of how to use eWaterCycle. diff --git a/book/some_content/first_model_run/first_run.ipynb b/book/content/first_model_run/first_run.ipynb similarity index 100% rename from book/some_content/first_model_run/first_run.ipynb rename to book/content/first_model_run/first_run.ipynb diff --git a/book/some_content/first_model_run/interface.ipynb b/book/content/first_model_run/interface.ipynb similarity index 100% rename from book/some_content/first_model_run/interface.ipynb rename to book/content/first_model_run/interface.ipynb diff --git a/book/some_content/forcing/available_climate_datasets.json b/book/content/forcing/available_climate_datasets.json similarity index 100% rename from book/some_content/forcing/available_climate_datasets.json rename to book/content/forcing/available_climate_datasets.json diff --git a/book/some_content/forcing/caravan_forcing.ipynb b/book/content/forcing/caravan_forcing.ipynb similarity index 100% rename from book/some_content/forcing/caravan_forcing.ipynb rename to book/content/forcing/caravan_forcing.ipynb diff --git a/book/some_content/forcing/cmip_future.ipynb b/book/content/forcing/cmip_future.ipynb similarity index 96% rename from book/some_content/forcing/cmip_future.ipynb rename to book/content/forcing/cmip_future.ipynb index 0da703b..cd3c123 100644 --- a/book/some_content/forcing/cmip_future.ipynb +++ b/book/content/forcing/cmip_future.ipynb @@ -245,179 +245,179 @@ "\n" ], "text/plain": [ - "Valid CMIP6 datasets \u001b[1m(\u001b[0mas of July \u001b[1;36m2025\u001b[0m\u001b[1m)\u001b[0m:\n", - "\u001b[1m{\u001b[0m\n", - " \u001b[32m'EC-Earth3-AerChem'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r1i1p4f1'\u001b[0m, \u001b[32m'r3i1p1f1'\u001b[0m, \u001b[32m'r4i1p1f1'\u001b[0m, \u001b[32m'r1i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'TaiESM1'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r1i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'AWI-ESM-1-1-LR'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r1i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'CanESM5'\u001b[0m: \u001b[1m{\u001b[0m\n", - " \u001b[32m'r19i1p2f1'\u001b[0m,\n", - " \u001b[32m'r21i1p1f1'\u001b[0m,\n", - " \u001b[32m'r12i1p1f1'\u001b[0m,\n", - " \u001b[32m'r10i1p1f1'\u001b[0m,\n", - " \u001b[32m'r8i1p1f1'\u001b[0m,\n", - " \u001b[32m'r7i1p2f1'\u001b[0m,\n", - " \u001b[32m'r10i1p2f1'\u001b[0m,\n", - " \u001b[32m'r5i1p2f1'\u001b[0m,\n", - " \u001b[32m'r7i1p1f1'\u001b[0m,\n", - " \u001b[32m'r24i1p1f1'\u001b[0m,\n", - " \u001b[32m'r25i1p2f1'\u001b[0m,\n", - " \u001b[32m'r11i1p1f1'\u001b[0m,\n", - " \u001b[32m'r15i1p2f1'\u001b[0m,\n", - " \u001b[32m'r23i1p2f1'\u001b[0m,\n", - " \u001b[32m'r17i1p1f1'\u001b[0m,\n", - " \u001b[32m'r23i1p1f1'\u001b[0m,\n", - " \u001b[32m'r18i1p2f1'\u001b[0m,\n", - " \u001b[32m'r4i1p1f1'\u001b[0m,\n", - " \u001b[32m'r20i1p1f1'\u001b[0m,\n", - " \u001b[32m'r13i1p1f1'\u001b[0m,\n", - " \u001b[32m'r22i1p2f1'\u001b[0m,\n", - " \u001b[32m'r8i1p2f1'\u001b[0m,\n", - " \u001b[32m'r14i1p1f1'\u001b[0m,\n", - " \u001b[32m'r5i1p1f1'\u001b[0m,\n", - " \u001b[32m'r17i1p2f1'\u001b[0m,\n", - " \u001b[32m'r1i1p2f1'\u001b[0m,\n", - " \u001b[32m'r11i1p2f1'\u001b[0m,\n", - " \u001b[32m'r13i1p2f1'\u001b[0m,\n", - " \u001b[32m'r6i1p2f1'\u001b[0m,\n", - " \u001b[32m'r12i1p2f1'\u001b[0m,\n", - " \u001b[32m'r4i1p2f1'\u001b[0m,\n", - " \u001b[32m'r24i1p2f1'\u001b[0m,\n", - " \u001b[32m'r2i1p1f1'\u001b[0m,\n", - " \u001b[32m'r21i1p2f1'\u001b[0m,\n", - " \u001b[32m'r1i1p1f1'\u001b[0m,\n", - " \u001b[32m'r16i1p2f1'\u001b[0m,\n", - " \u001b[32m'r18i1p1f1'\u001b[0m,\n", - " \u001b[32m'r3i1p2f1'\u001b[0m,\n", - " \u001b[32m'r9i1p2f1'\u001b[0m,\n", - " \u001b[32m'r9i1p1f1'\u001b[0m,\n", - " \u001b[32m'r3i1p1f1'\u001b[0m,\n", - " \u001b[32m'r22i1p1f1'\u001b[0m,\n", - " \u001b[32m'r20i1p2f1'\u001b[0m,\n", - " \u001b[32m'r6i1p1f1'\u001b[0m,\n", - " \u001b[32m'r16i1p1f1'\u001b[0m,\n", - " \u001b[32m'r2i1p2f1'\u001b[0m,\n", - " \u001b[32m'r25i1p1f1'\u001b[0m,\n", - " \u001b[32m'r14i1p2f1'\u001b[0m,\n", - " \u001b[32m'r19i1p1f1'\u001b[0m,\n", - " \u001b[32m'r15i1p1f1'\u001b[0m\n", - " \u001b[1m}\u001b[0m,\n", - " \u001b[32m'EC-Earth3-Veg-LR'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r1i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'CanESM5-1'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r1i1p2f1'\u001b[0m, \u001b[32m'r1i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'ACCESS-CM2'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r5i1p1f1'\u001b[0m, \u001b[32m'r4i1p1f1'\u001b[0m, \u001b[32m'r1i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'CMCC-CM2-SR5'\u001b[0m: \u001b[1m{\u001b[0m\n", - " \u001b[32m'r11i1p2f1'\u001b[0m,\n", - " \u001b[32m'r7i1p2f1'\u001b[0m,\n", - " \u001b[32m'r6i1p2f1'\u001b[0m,\n", - " \u001b[32m'r10i1p2f1'\u001b[0m,\n", - " \u001b[32m'r4i1p2f1'\u001b[0m,\n", - " \u001b[32m'r5i1p2f1'\u001b[0m,\n", - " \u001b[32m'r2i1p2f1'\u001b[0m,\n", - " \u001b[32m'r8i1p2f1'\u001b[0m,\n", - " \u001b[32m'r1i1p1f1'\u001b[0m,\n", - " \u001b[32m'r3i1p2f1'\u001b[0m,\n", - " \u001b[32m'r9i1p2f1'\u001b[0m\n", - " \u001b[1m}\u001b[0m,\n", - " \u001b[32m'BCC-ESM1'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r3i1p1f1'\u001b[0m, \u001b[32m'r2i1p1f1'\u001b[0m, \u001b[32m'r1i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'FGOALS-g3'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r6i1p1f1'\u001b[0m, \u001b[32m'r3i1p1f1'\u001b[0m, \u001b[32m'r5i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'CMCC-ESM2'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r1i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'ACCESS-ESM1-5'\u001b[0m: \u001b[1m{\u001b[0m\n", - " \u001b[32m'r21i1p1f1'\u001b[0m,\n", - " \u001b[32m'r12i1p1f1'\u001b[0m,\n", - " \u001b[32m'r10i1p1f1'\u001b[0m,\n", - " \u001b[32m'r8i1p1f1'\u001b[0m,\n", - " \u001b[32m'r7i1p1f1'\u001b[0m,\n", - " \u001b[32m'r24i1p1f1'\u001b[0m,\n", - " \u001b[32m'r40i1p1f1'\u001b[0m,\n", - " \u001b[32m'r34i1p1f1'\u001b[0m,\n", - " \u001b[32m'r11i1p1f1'\u001b[0m,\n", - " \u001b[32m'r28i1p1f1'\u001b[0m,\n", - " \u001b[32m'r17i1p1f1'\u001b[0m,\n", - " \u001b[32m'r23i1p1f1'\u001b[0m,\n", - " \u001b[32m'r20i1p1f1'\u001b[0m,\n", - " \u001b[32m'r4i1p1f1'\u001b[0m,\n", - " \u001b[32m'r27i1p1f1'\u001b[0m,\n", - " \u001b[32m'r38i1p1f1'\u001b[0m,\n", - " \u001b[32m'r13i1p1f1'\u001b[0m,\n", - " \u001b[32m'r32i1p1f1'\u001b[0m,\n", - " \u001b[32m'r29i1p1f1'\u001b[0m,\n", - " \u001b[32m'r14i1p1f1'\u001b[0m,\n", - " \u001b[32m'r36i1p1f1'\u001b[0m,\n", - " \u001b[32m'r5i1p1f1'\u001b[0m,\n", - " \u001b[32m'r39i1p1f1'\u001b[0m,\n", - " \u001b[32m'r26i1p1f1'\u001b[0m,\n", - " \u001b[32m'r35i1p1f1'\u001b[0m,\n", - " \u001b[32m'r2i1p1f1'\u001b[0m,\n", - " \u001b[32m'r1i1p1f1'\u001b[0m,\n", - " \u001b[32m'r18i1p1f1'\u001b[0m,\n", - " \u001b[32m'r33i1p1f1'\u001b[0m,\n", - " \u001b[32m'r9i1p1f1'\u001b[0m,\n", - " \u001b[32m'r3i1p1f1'\u001b[0m,\n", - " \u001b[32m'r22i1p1f1'\u001b[0m,\n", - " \u001b[32m'r6i1p1f1'\u001b[0m,\n", - " \u001b[32m'r30i1p1f1'\u001b[0m,\n", - " \u001b[32m'r16i1p1f1'\u001b[0m,\n", - " \u001b[32m'r37i1p1f1'\u001b[0m,\n", - " \u001b[32m'r25i1p1f1'\u001b[0m,\n", - " \u001b[32m'r31i1p1f1'\u001b[0m,\n", - " \u001b[32m'r19i1p1f1'\u001b[0m,\n", - " \u001b[32m'r15i1p1f1'\u001b[0m\n", - " \u001b[1m}\u001b[0m,\n", - " \u001b[32m'IITM-ESM'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r1i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'CMCC-CM2-HR4'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r1i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'CNRM-CM6-1'\u001b[0m: \u001b[1m{\u001b[0m\n", - " \u001b[32m'r19i1p1f2'\u001b[0m,\n", - " \u001b[32m'r22i1p1f2'\u001b[0m,\n", - " \u001b[32m'r24i1p1f2'\u001b[0m,\n", - " \u001b[32m'r29i1p1f2'\u001b[0m,\n", - " \u001b[32m'r23i1p1f2'\u001b[0m,\n", - " \u001b[32m'r26i1p1f2'\u001b[0m,\n", - " \u001b[32m'r1i1p1f2'\u001b[0m,\n", - " \u001b[32m'r17i1p1f2'\u001b[0m,\n", - " \u001b[32m'r4i1p1f2'\u001b[0m,\n", - " \u001b[32m'r3i1p1f2'\u001b[0m,\n", - " \u001b[32m'r11i1p1f2'\u001b[0m,\n", - " \u001b[32m'r15i1p1f2'\u001b[0m,\n", - " \u001b[32m'r27i1p1f2'\u001b[0m,\n", - " \u001b[32m'r30i1p1f2'\u001b[0m,\n", - " \u001b[32m'r10i1p1f2'\u001b[0m,\n", - " \u001b[32m'r2i1p1f2'\u001b[0m,\n", - " \u001b[32m'r25i1p1f2'\u001b[0m,\n", - " \u001b[32m'r12i1p1f2'\u001b[0m,\n", - " \u001b[32m'r20i1p1f2'\u001b[0m,\n", - " \u001b[32m'r13i1p1f2'\u001b[0m,\n", - " \u001b[32m'r18i1p1f2'\u001b[0m,\n", - " \u001b[32m'r8i1p1f2'\u001b[0m,\n", - " \u001b[32m'r6i1p1f2'\u001b[0m,\n", - " \u001b[32m'r7i1p1f2'\u001b[0m,\n", - " \u001b[32m'r21i1p1f2'\u001b[0m,\n", - " \u001b[32m'r9i1p1f2'\u001b[0m,\n", - " \u001b[32m'r14i1p1f2'\u001b[0m,\n", - " \u001b[32m'r16i1p1f2'\u001b[0m,\n", - " \u001b[32m'r5i1p1f2'\u001b[0m,\n", - " \u001b[32m'r28i1p1f2'\u001b[0m\n", - " \u001b[1m}\u001b[0m,\n", - " \u001b[32m'CNRM-ESM2-1'\u001b[0m: \u001b[1m{\u001b[0m\n", - " \u001b[32m'r11i1p1f2'\u001b[0m,\n", - " \u001b[32m'r15i1p1f2'\u001b[0m,\n", - " \u001b[32m'r10i1p1f2'\u001b[0m,\n", - " \u001b[32m'r9i1p1f2'\u001b[0m,\n", - " \u001b[32m'r13i1p1f2'\u001b[0m,\n", - " \u001b[32m'r1i1p1f2'\u001b[0m,\n", - " \u001b[32m'r14i1p1f2'\u001b[0m,\n", - " \u001b[32m'r2i1p1f2'\u001b[0m,\n", - " \u001b[32m'r8i1p1f2'\u001b[0m,\n", - " \u001b[32m'r4i1p1f2'\u001b[0m,\n", - " \u001b[32m'r5i1p1f2'\u001b[0m,\n", - " \u001b[32m'r6i1p1f2'\u001b[0m,\n", - " \u001b[32m'r12i1p1f2'\u001b[0m,\n", - " \u001b[32m'r7i1p1f2'\u001b[0m,\n", - " \u001b[32m'r3i1p1f2'\u001b[0m\n", - " \u001b[1m}\u001b[0m,\n", - " \u001b[32m'EC-Earth3-Veg'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r5i1p1f1'\u001b[0m, \u001b[32m'r1i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'EC-Earth3'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r12i1p1f1'\u001b[0m, \u001b[32m'r10i1p1f1'\u001b[0m, \u001b[32m'r17i1p1f1'\u001b[0m, \u001b[32m'r16i1p1f1'\u001b[0m, \u001b[32m'r14i1p1f1'\u001b[0m, \u001b[32m'r18i1p1f1'\u001b[0m\u001b[1m}\u001b[0m,\n", - " \u001b[32m'CNRM-CM6-1-HR'\u001b[0m: \u001b[1m{\u001b[0m\u001b[32m'r1i1p1f2'\u001b[0m\u001b[1m}\u001b[0m\n", - "\u001b[1m}\u001b[0m\n" + "Valid CMIP6 datasets \u001B[1m(\u001B[0mas of July \u001B[1;36m2025\u001B[0m\u001B[1m)\u001B[0m:\n", + "\u001B[1m{\u001B[0m\n", + " \u001B[32m'EC-Earth3-AerChem'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r1i1p4f1'\u001B[0m, \u001B[32m'r3i1p1f1'\u001B[0m, \u001B[32m'r4i1p1f1'\u001B[0m, \u001B[32m'r1i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'TaiESM1'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r1i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'AWI-ESM-1-1-LR'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r1i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'CanESM5'\u001B[0m: \u001B[1m{\u001B[0m\n", + " \u001B[32m'r19i1p2f1'\u001B[0m,\n", + " \u001B[32m'r21i1p1f1'\u001B[0m,\n", + " \u001B[32m'r12i1p1f1'\u001B[0m,\n", + " \u001B[32m'r10i1p1f1'\u001B[0m,\n", + " \u001B[32m'r8i1p1f1'\u001B[0m,\n", + " \u001B[32m'r7i1p2f1'\u001B[0m,\n", + " \u001B[32m'r10i1p2f1'\u001B[0m,\n", + " \u001B[32m'r5i1p2f1'\u001B[0m,\n", + " \u001B[32m'r7i1p1f1'\u001B[0m,\n", + " \u001B[32m'r24i1p1f1'\u001B[0m,\n", + " \u001B[32m'r25i1p2f1'\u001B[0m,\n", + " \u001B[32m'r11i1p1f1'\u001B[0m,\n", + " \u001B[32m'r15i1p2f1'\u001B[0m,\n", + " \u001B[32m'r23i1p2f1'\u001B[0m,\n", + " \u001B[32m'r17i1p1f1'\u001B[0m,\n", + " \u001B[32m'r23i1p1f1'\u001B[0m,\n", + " \u001B[32m'r18i1p2f1'\u001B[0m,\n", + " \u001B[32m'r4i1p1f1'\u001B[0m,\n", + " \u001B[32m'r20i1p1f1'\u001B[0m,\n", + " \u001B[32m'r13i1p1f1'\u001B[0m,\n", + " \u001B[32m'r22i1p2f1'\u001B[0m,\n", + " \u001B[32m'r8i1p2f1'\u001B[0m,\n", + " \u001B[32m'r14i1p1f1'\u001B[0m,\n", + " \u001B[32m'r5i1p1f1'\u001B[0m,\n", + " \u001B[32m'r17i1p2f1'\u001B[0m,\n", + " \u001B[32m'r1i1p2f1'\u001B[0m,\n", + " \u001B[32m'r11i1p2f1'\u001B[0m,\n", + " \u001B[32m'r13i1p2f1'\u001B[0m,\n", + " \u001B[32m'r6i1p2f1'\u001B[0m,\n", + " \u001B[32m'r12i1p2f1'\u001B[0m,\n", + " \u001B[32m'r4i1p2f1'\u001B[0m,\n", + " \u001B[32m'r24i1p2f1'\u001B[0m,\n", + " \u001B[32m'r2i1p1f1'\u001B[0m,\n", + " \u001B[32m'r21i1p2f1'\u001B[0m,\n", + " \u001B[32m'r1i1p1f1'\u001B[0m,\n", + " \u001B[32m'r16i1p2f1'\u001B[0m,\n", + " \u001B[32m'r18i1p1f1'\u001B[0m,\n", + " \u001B[32m'r3i1p2f1'\u001B[0m,\n", + " \u001B[32m'r9i1p2f1'\u001B[0m,\n", + " \u001B[32m'r9i1p1f1'\u001B[0m,\n", + " \u001B[32m'r3i1p1f1'\u001B[0m,\n", + " \u001B[32m'r22i1p1f1'\u001B[0m,\n", + " \u001B[32m'r20i1p2f1'\u001B[0m,\n", + " \u001B[32m'r6i1p1f1'\u001B[0m,\n", + " \u001B[32m'r16i1p1f1'\u001B[0m,\n", + " \u001B[32m'r2i1p2f1'\u001B[0m,\n", + " \u001B[32m'r25i1p1f1'\u001B[0m,\n", + " \u001B[32m'r14i1p2f1'\u001B[0m,\n", + " \u001B[32m'r19i1p1f1'\u001B[0m,\n", + " \u001B[32m'r15i1p1f1'\u001B[0m\n", + " \u001B[1m}\u001B[0m,\n", + " \u001B[32m'EC-Earth3-Veg-LR'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r1i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'CanESM5-1'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r1i1p2f1'\u001B[0m, \u001B[32m'r1i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'ACCESS-CM2'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r5i1p1f1'\u001B[0m, \u001B[32m'r4i1p1f1'\u001B[0m, \u001B[32m'r1i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'CMCC-CM2-SR5'\u001B[0m: \u001B[1m{\u001B[0m\n", + " \u001B[32m'r11i1p2f1'\u001B[0m,\n", + " \u001B[32m'r7i1p2f1'\u001B[0m,\n", + " \u001B[32m'r6i1p2f1'\u001B[0m,\n", + " \u001B[32m'r10i1p2f1'\u001B[0m,\n", + " \u001B[32m'r4i1p2f1'\u001B[0m,\n", + " \u001B[32m'r5i1p2f1'\u001B[0m,\n", + " \u001B[32m'r2i1p2f1'\u001B[0m,\n", + " \u001B[32m'r8i1p2f1'\u001B[0m,\n", + " \u001B[32m'r1i1p1f1'\u001B[0m,\n", + " \u001B[32m'r3i1p2f1'\u001B[0m,\n", + " \u001B[32m'r9i1p2f1'\u001B[0m\n", + " \u001B[1m}\u001B[0m,\n", + " \u001B[32m'BCC-ESM1'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r3i1p1f1'\u001B[0m, \u001B[32m'r2i1p1f1'\u001B[0m, \u001B[32m'r1i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'FGOALS-g3'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r6i1p1f1'\u001B[0m, \u001B[32m'r3i1p1f1'\u001B[0m, \u001B[32m'r5i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'CMCC-ESM2'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r1i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'ACCESS-ESM1-5'\u001B[0m: \u001B[1m{\u001B[0m\n", + " \u001B[32m'r21i1p1f1'\u001B[0m,\n", + " \u001B[32m'r12i1p1f1'\u001B[0m,\n", + " \u001B[32m'r10i1p1f1'\u001B[0m,\n", + " \u001B[32m'r8i1p1f1'\u001B[0m,\n", + " \u001B[32m'r7i1p1f1'\u001B[0m,\n", + " \u001B[32m'r24i1p1f1'\u001B[0m,\n", + " \u001B[32m'r40i1p1f1'\u001B[0m,\n", + " \u001B[32m'r34i1p1f1'\u001B[0m,\n", + " \u001B[32m'r11i1p1f1'\u001B[0m,\n", + " \u001B[32m'r28i1p1f1'\u001B[0m,\n", + " \u001B[32m'r17i1p1f1'\u001B[0m,\n", + " \u001B[32m'r23i1p1f1'\u001B[0m,\n", + " \u001B[32m'r20i1p1f1'\u001B[0m,\n", + " \u001B[32m'r4i1p1f1'\u001B[0m,\n", + " \u001B[32m'r27i1p1f1'\u001B[0m,\n", + " \u001B[32m'r38i1p1f1'\u001B[0m,\n", + " \u001B[32m'r13i1p1f1'\u001B[0m,\n", + " \u001B[32m'r32i1p1f1'\u001B[0m,\n", + " \u001B[32m'r29i1p1f1'\u001B[0m,\n", + " \u001B[32m'r14i1p1f1'\u001B[0m,\n", + " \u001B[32m'r36i1p1f1'\u001B[0m,\n", + " \u001B[32m'r5i1p1f1'\u001B[0m,\n", + " \u001B[32m'r39i1p1f1'\u001B[0m,\n", + " \u001B[32m'r26i1p1f1'\u001B[0m,\n", + " \u001B[32m'r35i1p1f1'\u001B[0m,\n", + " \u001B[32m'r2i1p1f1'\u001B[0m,\n", + " \u001B[32m'r1i1p1f1'\u001B[0m,\n", + " \u001B[32m'r18i1p1f1'\u001B[0m,\n", + " \u001B[32m'r33i1p1f1'\u001B[0m,\n", + " \u001B[32m'r9i1p1f1'\u001B[0m,\n", + " \u001B[32m'r3i1p1f1'\u001B[0m,\n", + " \u001B[32m'r22i1p1f1'\u001B[0m,\n", + " \u001B[32m'r6i1p1f1'\u001B[0m,\n", + " \u001B[32m'r30i1p1f1'\u001B[0m,\n", + " \u001B[32m'r16i1p1f1'\u001B[0m,\n", + " \u001B[32m'r37i1p1f1'\u001B[0m,\n", + " \u001B[32m'r25i1p1f1'\u001B[0m,\n", + " \u001B[32m'r31i1p1f1'\u001B[0m,\n", + " \u001B[32m'r19i1p1f1'\u001B[0m,\n", + " \u001B[32m'r15i1p1f1'\u001B[0m\n", + " \u001B[1m}\u001B[0m,\n", + " \u001B[32m'IITM-ESM'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r1i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'CMCC-CM2-HR4'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r1i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'CNRM-CM6-1'\u001B[0m: \u001B[1m{\u001B[0m\n", + " \u001B[32m'r19i1p1f2'\u001B[0m,\n", + " \u001B[32m'r22i1p1f2'\u001B[0m,\n", + " \u001B[32m'r24i1p1f2'\u001B[0m,\n", + " \u001B[32m'r29i1p1f2'\u001B[0m,\n", + " \u001B[32m'r23i1p1f2'\u001B[0m,\n", + " \u001B[32m'r26i1p1f2'\u001B[0m,\n", + " \u001B[32m'r1i1p1f2'\u001B[0m,\n", + " \u001B[32m'r17i1p1f2'\u001B[0m,\n", + " \u001B[32m'r4i1p1f2'\u001B[0m,\n", + " \u001B[32m'r3i1p1f2'\u001B[0m,\n", + " \u001B[32m'r11i1p1f2'\u001B[0m,\n", + " \u001B[32m'r15i1p1f2'\u001B[0m,\n", + " \u001B[32m'r27i1p1f2'\u001B[0m,\n", + " \u001B[32m'r30i1p1f2'\u001B[0m,\n", + " \u001B[32m'r10i1p1f2'\u001B[0m,\n", + " \u001B[32m'r2i1p1f2'\u001B[0m,\n", + " \u001B[32m'r25i1p1f2'\u001B[0m,\n", + " \u001B[32m'r12i1p1f2'\u001B[0m,\n", + " \u001B[32m'r20i1p1f2'\u001B[0m,\n", + " \u001B[32m'r13i1p1f2'\u001B[0m,\n", + " \u001B[32m'r18i1p1f2'\u001B[0m,\n", + " \u001B[32m'r8i1p1f2'\u001B[0m,\n", + " \u001B[32m'r6i1p1f2'\u001B[0m,\n", + " \u001B[32m'r7i1p1f2'\u001B[0m,\n", + " \u001B[32m'r21i1p1f2'\u001B[0m,\n", + " \u001B[32m'r9i1p1f2'\u001B[0m,\n", + " \u001B[32m'r14i1p1f2'\u001B[0m,\n", + " \u001B[32m'r16i1p1f2'\u001B[0m,\n", + " \u001B[32m'r5i1p1f2'\u001B[0m,\n", + " \u001B[32m'r28i1p1f2'\u001B[0m\n", + " \u001B[1m}\u001B[0m,\n", + " \u001B[32m'CNRM-ESM2-1'\u001B[0m: \u001B[1m{\u001B[0m\n", + " \u001B[32m'r11i1p1f2'\u001B[0m,\n", + " \u001B[32m'r15i1p1f2'\u001B[0m,\n", + " \u001B[32m'r10i1p1f2'\u001B[0m,\n", + " \u001B[32m'r9i1p1f2'\u001B[0m,\n", + " \u001B[32m'r13i1p1f2'\u001B[0m,\n", + " \u001B[32m'r1i1p1f2'\u001B[0m,\n", + " \u001B[32m'r14i1p1f2'\u001B[0m,\n", + " \u001B[32m'r2i1p1f2'\u001B[0m,\n", + " \u001B[32m'r8i1p1f2'\u001B[0m,\n", + " \u001B[32m'r4i1p1f2'\u001B[0m,\n", + " \u001B[32m'r5i1p1f2'\u001B[0m,\n", + " \u001B[32m'r6i1p1f2'\u001B[0m,\n", + " \u001B[32m'r12i1p1f2'\u001B[0m,\n", + " \u001B[32m'r7i1p1f2'\u001B[0m,\n", + " \u001B[32m'r3i1p1f2'\u001B[0m\n", + " \u001B[1m}\u001B[0m,\n", + " \u001B[32m'EC-Earth3-Veg'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r5i1p1f1'\u001B[0m, \u001B[32m'r1i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'EC-Earth3'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r12i1p1f1'\u001B[0m, \u001B[32m'r10i1p1f1'\u001B[0m, \u001B[32m'r17i1p1f1'\u001B[0m, \u001B[32m'r16i1p1f1'\u001B[0m, \u001B[32m'r14i1p1f1'\u001B[0m, \u001B[32m'r18i1p1f1'\u001B[0m\u001B[1m}\u001B[0m,\n", + " \u001B[32m'CNRM-CM6-1-HR'\u001B[0m: \u001B[1m{\u001B[0m\u001B[32m'r1i1p1f2'\u001B[0m\u001B[1m}\u001B[0m\n", + "\u001B[1m}\u001B[0m\n" ] }, "metadata": {}, @@ -453,7 +453,7 @@ "shape_file_name = \"camelsgb_33039\" # river: Bedford Ouse at Roxton, England\n", "\n", "# The path to the shapefiles\n", - "shapefile_path = Path.home() / \"getting-started/book/some_content/forcing/shapefiles\" / f\"{shape_file_name}.shp\" # check this directory yourself!\n", + "shapefile_path = Path.home() / \"getting-started/book/content/forcing/shapefiles\" / f\"{shape_file_name}.shp\" # check this directory yourself!\n", "\n", "# The time-window of the experiment\n", "future_experiment_start_date = \"2050-01-01T00:00:00Z\"\n", @@ -617,19 +617,19 @@ "\n" ], "text/plain": [ - "\u001b[1;35mLumpedMakkinkForcing\u001b[0m\u001b[1m(\u001b[0m\n", - " \u001b[33mstart_time\u001b[0m=\u001b[32m'2050-01-01T00:00:00Z'\u001b[0m,\n", - " \u001b[33mend_time\u001b[0m=\u001b[32m'2074-12-31T00:00:00Z'\u001b[0m,\n", - " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/mmelotto/forcing/camelsgb_33039/CMIP6/SSP126/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/mmelotto/forcing/camelsgb_33039/CMIP6/SSP126/work/diagnostic/script/camelsgb_33039.shp'\u001b[0m\u001b[1m)\u001b[0m\n", + "\u001B[1;35mLumpedMakkinkForcing\u001B[0m\u001B[1m(\u001B[0m\n", + " \u001B[33mstart_time\u001B[0m=\u001B[32m'2050-01-01T00:00:00Z'\u001B[0m,\n", + " \u001B[33mend_time\u001B[0m=\u001B[32m'2074-12-31T00:00:00Z'\u001B[0m,\n", + " \u001B[33mdirectory\u001B[0m=\u001B[1;35mPosixPath\u001B[0m\u001B[1m(\u001B[0m\u001B[32m'/home/mmelotto/forcing/camelsgb_33039/CMIP6/SSP126/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/mmelotto/forcing/camelsgb_33039/CMIP6/SSP126/work/diagnostic/script/camelsgb_33039.shp'\u001B[0m\u001B[1m)\u001B[0m\n", ",\n", - " \u001b[33mfilenames\u001b[0m=\u001b[1m{\u001b[0m\n", - " \u001b[32m'pr'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_ssp126_r1i1p1f1_pr_gn_2050-2074.nc'\u001b[0m,\n", - " \u001b[32m'tas'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_ssp126_r1i1p1f1_tas_gn_2050-2074.nc'\u001b[0m,\n", - " \u001b[32m'rsds'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_ssp126_r1i1p1f1_rsds_gn_2050-2074.nc'\u001b[0m,\n", - " \u001b[32m'evspsblpot'\u001b[0m: \u001b[32m'Derived_Makkink_evspsblpot.nc'\u001b[0m\n", - " \u001b[1m}\u001b[0m\n", - "\u001b[1m)\u001b[0m\n" + " \u001B[33mfilenames\u001B[0m=\u001B[1m{\u001B[0m\n", + " \u001B[32m'pr'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_ssp126_r1i1p1f1_pr_gn_2050-2074.nc'\u001B[0m,\n", + " \u001B[32m'tas'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_ssp126_r1i1p1f1_tas_gn_2050-2074.nc'\u001B[0m,\n", + " \u001B[32m'rsds'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_ssp126_r1i1p1f1_rsds_gn_2050-2074.nc'\u001B[0m,\n", + " \u001B[32m'evspsblpot'\u001B[0m: \u001B[32m'Derived_Makkink_evspsblpot.nc'\u001B[0m\n", + " \u001B[1m}\u001B[0m\n", + "\u001B[1m)\u001B[0m\n" ] }, "metadata": {}, @@ -654,19 +654,19 @@ "\n" ], "text/plain": [ - "\u001b[1;35mLumpedMakkinkForcing\u001b[0m\u001b[1m(\u001b[0m\n", - " \u001b[33mstart_time\u001b[0m=\u001b[32m'2050-01-01T00:00:00Z'\u001b[0m,\n", - " \u001b[33mend_time\u001b[0m=\u001b[32m'2074-12-31T00:00:00Z'\u001b[0m,\n", - " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/mmelotto/forcing/camelsgb_33039/CMIP6/SSP245/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/mmelotto/forcing/camelsgb_33039/CMIP6/SSP245/work/diagnostic/script/camelsgb_33039.shp'\u001b[0m\u001b[1m)\u001b[0m\n", + "\u001B[1;35mLumpedMakkinkForcing\u001B[0m\u001B[1m(\u001B[0m\n", + " \u001B[33mstart_time\u001B[0m=\u001B[32m'2050-01-01T00:00:00Z'\u001B[0m,\n", + " \u001B[33mend_time\u001B[0m=\u001B[32m'2074-12-31T00:00:00Z'\u001B[0m,\n", + " \u001B[33mdirectory\u001B[0m=\u001B[1;35mPosixPath\u001B[0m\u001B[1m(\u001B[0m\u001B[32m'/home/mmelotto/forcing/camelsgb_33039/CMIP6/SSP245/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/mmelotto/forcing/camelsgb_33039/CMIP6/SSP245/work/diagnostic/script/camelsgb_33039.shp'\u001B[0m\u001B[1m)\u001B[0m\n", ",\n", - " \u001b[33mfilenames\u001b[0m=\u001b[1m{\u001b[0m\n", - " \u001b[32m'pr'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_ssp245_r1i1p1f1_pr_gn_2050-2074.nc'\u001b[0m,\n", - " \u001b[32m'tas'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_ssp245_r1i1p1f1_tas_gn_2050-2074.nc'\u001b[0m,\n", - " \u001b[32m'rsds'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_ssp245_r1i1p1f1_rsds_gn_2050-2074.nc'\u001b[0m,\n", - " \u001b[32m'evspsblpot'\u001b[0m: \u001b[32m'Derived_Makkink_evspsblpot.nc'\u001b[0m\n", - " \u001b[1m}\u001b[0m\n", - "\u001b[1m)\u001b[0m\n" + " \u001B[33mfilenames\u001B[0m=\u001B[1m{\u001B[0m\n", + " \u001B[32m'pr'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_ssp245_r1i1p1f1_pr_gn_2050-2074.nc'\u001B[0m,\n", + " \u001B[32m'tas'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_ssp245_r1i1p1f1_tas_gn_2050-2074.nc'\u001B[0m,\n", + " \u001B[32m'rsds'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_ssp245_r1i1p1f1_rsds_gn_2050-2074.nc'\u001B[0m,\n", + " \u001B[32m'evspsblpot'\u001B[0m: \u001B[32m'Derived_Makkink_evspsblpot.nc'\u001B[0m\n", + " \u001B[1m}\u001B[0m\n", + "\u001B[1m)\u001B[0m\n" ] }, "metadata": {}, @@ -691,19 +691,19 @@ "\n" ], "text/plain": [ - "\u001b[1;35mLumpedMakkinkForcing\u001b[0m\u001b[1m(\u001b[0m\n", - " \u001b[33mstart_time\u001b[0m=\u001b[32m'2050-01-01T00:00:00Z'\u001b[0m,\n", - " \u001b[33mend_time\u001b[0m=\u001b[32m'2074-12-31T00:00:00Z'\u001b[0m,\n", - " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/mmelotto/forcing/camelsgb_33039/CMIP6/SSP585/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/mmelotto/forcing/camelsgb_33039/CMIP6/SSP585/work/diagnostic/script/camelsgb_33039.shp'\u001b[0m\u001b[1m)\u001b[0m\n", + "\u001B[1;35mLumpedMakkinkForcing\u001B[0m\u001B[1m(\u001B[0m\n", + " \u001B[33mstart_time\u001B[0m=\u001B[32m'2050-01-01T00:00:00Z'\u001B[0m,\n", + " \u001B[33mend_time\u001B[0m=\u001B[32m'2074-12-31T00:00:00Z'\u001B[0m,\n", + " \u001B[33mdirectory\u001B[0m=\u001B[1;35mPosixPath\u001B[0m\u001B[1m(\u001B[0m\u001B[32m'/home/mmelotto/forcing/camelsgb_33039/CMIP6/SSP585/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/mmelotto/forcing/camelsgb_33039/CMIP6/SSP585/work/diagnostic/script/camelsgb_33039.shp'\u001B[0m\u001B[1m)\u001B[0m\n", ",\n", - " \u001b[33mfilenames\u001b[0m=\u001b[1m{\u001b[0m\n", - " \u001b[32m'pr'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_ssp585_r1i1p1f1_pr_gn_2050-2074.nc'\u001b[0m,\n", - " \u001b[32m'tas'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_ssp585_r1i1p1f1_tas_gn_2050-2074.nc'\u001b[0m,\n", - " \u001b[32m'rsds'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_ssp585_r1i1p1f1_rsds_gn_2050-2074.nc'\u001b[0m,\n", - " \u001b[32m'evspsblpot'\u001b[0m: \u001b[32m'Derived_Makkink_evspsblpot.nc'\u001b[0m\n", - " \u001b[1m}\u001b[0m\n", - "\u001b[1m)\u001b[0m\n" + " \u001B[33mfilenames\u001B[0m=\u001B[1m{\u001B[0m\n", + " \u001B[32m'pr'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_ssp585_r1i1p1f1_pr_gn_2050-2074.nc'\u001B[0m,\n", + " \u001B[32m'tas'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_ssp585_r1i1p1f1_tas_gn_2050-2074.nc'\u001B[0m,\n", + " \u001B[32m'rsds'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_ssp585_r1i1p1f1_rsds_gn_2050-2074.nc'\u001B[0m,\n", + " \u001B[32m'evspsblpot'\u001B[0m: \u001B[32m'Derived_Makkink_evspsblpot.nc'\u001B[0m\n", + " \u001B[1m}\u001B[0m\n", + "\u001B[1m)\u001B[0m\n" ] }, "metadata": {}, diff --git a/book/some_content/forcing/cmip_historic.ipynb b/book/content/forcing/cmip_historic.ipynb similarity index 99% rename from book/some_content/forcing/cmip_historic.ipynb rename to book/content/forcing/cmip_historic.ipynb index 1124218..e14cd8f 100644 --- a/book/some_content/forcing/cmip_historic.ipynb +++ b/book/content/forcing/cmip_historic.ipynb @@ -78,7 +78,7 @@ "shape_file_name = \"camelsgb_33039\" # river: Bedford Ouse at Roxton, England\n", "\n", "# The path to the shapefiles\n", - "shapefile_path = Path.home() / \"getting-started/book/some_content/forcing/shapefiles\" / f\"{shape_file_name}.shp\" # check this directory yourself!\n", + "shapefile_path = Path.home() / \"getting-started/book/content/forcing/shapefiles\" / f\"{shape_file_name}.shp\" # check this directory yourself!\n", "\n", "# The time-window of the experiment\n", "experiment_start_date = \"2000-08-01T00:00:00Z\"\n", @@ -166,19 +166,19 @@ "\n" ], "text/plain": [ - "\u001b[1;35mLumpedMakkinkForcing\u001b[0m\u001b[1m(\u001b[0m\n", - " \u001b[33mstart_time\u001b[0m=\u001b[32m'2000-08-01T00:00:00Z'\u001b[0m,\n", - " \u001b[33mend_time\u001b[0m=\u001b[32m'2005-08-31T00:00:00Z'\u001b[0m,\n", - " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/mmelotto/forcing/camelsgb_33039/CMIP6/historical/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/mmelotto/forcing/camelsgb_33039/CMIP6/historical/work/diagnostic/script/camelsgb_33039.s\u001b[0m\n", - "\u001b[32mhp'\u001b[0m\u001b[1m)\u001b[0m,\n", - " \u001b[33mfilenames\u001b[0m=\u001b[1m{\u001b[0m\n", - " \u001b[32m'pr'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_historical_r1i1p1f1_pr_gn_2000-2005.nc'\u001b[0m,\n", - " \u001b[32m'tas'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_historical_r1i1p1f1_tas_gn_2000-2005.nc'\u001b[0m,\n", - " \u001b[32m'rsds'\u001b[0m: \u001b[32m'CMIP6_MPI-ESM1-2-HR_day_historical_r1i1p1f1_rsds_gn_2000-2005.nc'\u001b[0m,\n", - " \u001b[32m'evspsblpot'\u001b[0m: \u001b[32m'Derived_Makkink_evspsblpot.nc'\u001b[0m\n", - " \u001b[1m}\u001b[0m\n", - "\u001b[1m)\u001b[0m\n" + "\u001B[1;35mLumpedMakkinkForcing\u001B[0m\u001B[1m(\u001B[0m\n", + " \u001B[33mstart_time\u001B[0m=\u001B[32m'2000-08-01T00:00:00Z'\u001B[0m,\n", + " \u001B[33mend_time\u001B[0m=\u001B[32m'2005-08-31T00:00:00Z'\u001B[0m,\n", + " \u001B[33mdirectory\u001B[0m=\u001B[1;35mPosixPath\u001B[0m\u001B[1m(\u001B[0m\u001B[32m'/home/mmelotto/forcing/camelsgb_33039/CMIP6/historical/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/mmelotto/forcing/camelsgb_33039/CMIP6/historical/work/diagnostic/script/camelsgb_33039.s\u001B[0m\n", + "\u001B[32mhp'\u001B[0m\u001B[1m)\u001B[0m,\n", + " \u001B[33mfilenames\u001B[0m=\u001B[1m{\u001B[0m\n", + " \u001B[32m'pr'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_historical_r1i1p1f1_pr_gn_2000-2005.nc'\u001B[0m,\n", + " \u001B[32m'tas'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_historical_r1i1p1f1_tas_gn_2000-2005.nc'\u001B[0m,\n", + " \u001B[32m'rsds'\u001B[0m: \u001B[32m'CMIP6_MPI-ESM1-2-HR_day_historical_r1i1p1f1_rsds_gn_2000-2005.nc'\u001B[0m,\n", + " \u001B[32m'evspsblpot'\u001B[0m: \u001B[32m'Derived_Makkink_evspsblpot.nc'\u001B[0m\n", + " \u001B[1m}\u001B[0m\n", + "\u001B[1m)\u001B[0m\n" ] }, "metadata": {}, diff --git a/book/some_content/forcing/era5_forcing_caravan_shapefile.ipynb b/book/content/forcing/era5_forcing_caravan_shapefile.ipynb similarity index 100% rename from book/some_content/forcing/era5_forcing_caravan_shapefile.ipynb rename to book/content/forcing/era5_forcing_caravan_shapefile.ipynb diff --git a/book/some_content/forcing/era5_forcing_own_shapefile.ipynb b/book/content/forcing/era5_forcing_own_shapefile.ipynb similarity index 99% rename from book/some_content/forcing/era5_forcing_own_shapefile.ipynb rename to book/content/forcing/era5_forcing_own_shapefile.ipynb index 7c99bb2..fe28b54 100644 --- a/book/some_content/forcing/era5_forcing_own_shapefile.ipynb +++ b/book/content/forcing/era5_forcing_own_shapefile.ipynb @@ -93,7 +93,7 @@ "\n", "# The path save directory of the ERA5 data\n", "forcing_path_ERA5 = Path.home() / \"forcing\" / shape_file_name / \"ERA5\" / \"own_shapefile\"\n", - "forcing_path_ERA5.mkdir(exist_ok=True)" + "forcing_path_ERA5.mkdir(exist_ok=True, parents=True)" ] }, { @@ -112,7 +112,7 @@ "outputs": [], "source": [ "# The path to the shapefiles\n", - "shapefile_path = Path.home() / \"getting-started/book/some_content/forcing/shapefiles\" / f\"{shape_file_name}.shp\" # check this directory yourself!" + "shapefile_path = Path.home() / \"getting-started/book/content/forcing/shapefiles\" / f\"{shape_file_name}.shp\" # check this directory yourself!" ] }, { diff --git a/book/some_content/forcing/manual_forcing.ipynb b/book/content/forcing/manual_forcing.ipynb similarity index 100% rename from book/some_content/forcing/manual_forcing.ipynb rename to book/content/forcing/manual_forcing.ipynb diff --git a/book/some_content/forcing/shapefiles/camelsgb_33039.cpg b/book/content/forcing/shapefiles/camelsgb_33039.cpg similarity index 100% rename from book/some_content/forcing/shapefiles/camelsgb_33039.cpg rename to book/content/forcing/shapefiles/camelsgb_33039.cpg diff --git a/book/some_content/forcing/shapefiles/camelsgb_33039.dbf b/book/content/forcing/shapefiles/camelsgb_33039.dbf similarity index 100% rename from book/some_content/forcing/shapefiles/camelsgb_33039.dbf rename to book/content/forcing/shapefiles/camelsgb_33039.dbf diff --git a/book/some_content/forcing/shapefiles/camelsgb_33039.prj b/book/content/forcing/shapefiles/camelsgb_33039.prj similarity index 100% rename from book/some_content/forcing/shapefiles/camelsgb_33039.prj rename to book/content/forcing/shapefiles/camelsgb_33039.prj diff --git a/book/some_content/forcing/shapefiles/camelsgb_33039.shp b/book/content/forcing/shapefiles/camelsgb_33039.shp similarity index 100% rename from book/some_content/forcing/shapefiles/camelsgb_33039.shp rename to book/content/forcing/shapefiles/camelsgb_33039.shp diff --git a/book/some_content/forcing/shapefiles/camelsgb_33039.shx b/book/content/forcing/shapefiles/camelsgb_33039.shx similarity index 100% rename from book/some_content/forcing/shapefiles/camelsgb_33039.shx rename to book/content/forcing/shapefiles/camelsgb_33039.shx diff --git a/book/content/generate_forcing.md b/book/content/generate_forcing.md new file mode 100644 index 0000000..b94f30b --- /dev/null +++ b/book/content/generate_forcing.md @@ -0,0 +1,67 @@ +# Generating Forcing Data + +There are different ways to get forcing data for your model run that are supported by eWaterCycle. +They also differ per model, so you will have to check the documentation of the model you want to use. + +Every model needs forcing data, there are several possible ways to get this forcing data: +- Camels Forcing using Caravan +- ERA5 reanalysis + - Shapefile you made yourself + - Shapefile from Caravan dataset +- CMIP6 historical data +- CMIP6 future data +- Manual data input + +eWaterCycle supports different types of forcings, currently it supports: + + + + + + + + + + + + + + + + + + + + +
CaravanForcingDistributedMakkinkForcingDistributedUserForcingGenericDistributedForcing
GenericLumpedForcingHypeForcingLisfloodForcingLumpedMakkinkForcing
LumpedUserForcingMarrmotForcingPCRGlobWBForcingWflowForcing
+ + +The type of forcing needed is model dependent! + +The forcing object in eWaterCycle has some properties: +- start time +- end time +- directory, which is a path +- shapefile, also a path pointing to the shapefile, it also needs the accompanying files (so .shp + .cpg, .prj, .dbf, .shx) +- filenames, a dictionary containing the paths to the netCDF files where the data is stored for that variable +- dataset, which I will cover in more detail below. + +### Technical Details + +This is for advanced users that will need to use different datasets. +The dataset parameter is used for different recipes from ESMValTool and where the data is situated at our data disk. +So for the ERA5 data we use ``dataset='ERA5'`` which calls this dataset object: +```python +{ + "ERA5": Dataset( + dataset="ERA5", + project="OBS6", + tier=3, + type="reanaly", + version=1, + ) +} +``` + +When using your own forcing, different datasets, or you need Eday data like evaporation from ERA5 you might need to check this out, it is listed [here on GitHub](https://github.com/eWaterCycle/ewatercycle/blob/main/src/ewatercycle/esmvaltool/datasets.py). +You can always as the maintainers for help. diff --git a/book/content/glossary/definitions.md b/book/content/glossary/definitions.md new file mode 100644 index 0000000..b1157f8 --- /dev/null +++ b/book/content/glossary/definitions.md @@ -0,0 +1,15 @@ +# Definitions eWaterCycle + +GRPC4BMI +: Basic Model Interface is what we use to communicate between the JupyterHub environment and the model containers. + +BMI +: Basic Model Interface — a standardized interface that defines how models expose their variables, time steps, and methods for initialization, updating, and finalization. +It allows models to be run and controlled in a consistent way, making them easier to integrate into larger workflows like eWaterCycle. + +Containers +: Lightweight, portable units that package software and its dependencies together, ensuring consistent execution across different computing environments. +In eWaterCycle, containers are used to run models reliably and reproducibly, regardless of the underlying system. + + + diff --git a/book/content/glossary/workflow_chart.md b/book/content/glossary/workflow_chart.md new file mode 100644 index 0000000..435ce5c --- /dev/null +++ b/book/content/glossary/workflow_chart.md @@ -0,0 +1,50 @@ +# Workflow Chart + +Here is a mermaid chart, that is currently broken in teachbooks. +But can be found rendered on [GitHub](https://github.com/eWaterCycle/getting-started/blob/main/book/content/glossary/workflow_chart.md). + +```mermaid +graph TD + A[Working with eWatercycle] --> B(Beginner) + A --> F{Choosing your Workflow \nChoose Model and accompanying Forcing} + + B --> |Understand why we use eWaterCycle|C(Hello World example) + + + C --> D[(Learn different forcings)] + C --> E[Learn about different models] + + D --> F + E --> F + + F --> G(Future Studies) + G --> N(Climate Change) + N --> O + G --> L(Flooding) + G --> M(Droughts) + L --> AA[[No Calibration Needed]] + AA --> O[(Get Relevant CMIP Forcing)] + L --> BB[[Calibration Needed?]] + BB --> H + M --> AA + + M --> BB + O --> P(Analyse Results) + + + + F --> H(Model Calibration) + + H --> O + + F --> I(Comparisons) + I --> R(1 Model, Multiple Forcings) --> T + I --> S(1 Forcing, Multiple Models) --> T + + F --> J(Model Coupling) + J --> T(Work In Progress) + + F --> K(Data Assimilation) + K --> T + +``` \ No newline at end of file diff --git a/book/some_content/models/external.md b/book/content/models/external.md similarity index 77% rename from book/some_content/models/external.md rename to book/content/models/external.md index f7861cb..5fe8ac4 100644 --- a/book/some_content/models/external.md +++ b/book/content/models/external.md @@ -1,3 +1,4 @@ # Info On Next Notebooks -The next notebooks are pulled externally from their respective eWaterCycle GitHub pages! \ No newline at end of file +The next notebooks are pulled externally from their respective eWaterCycle GitHub pages! + diff --git a/book/content/models/hbv.ipynb b/book/content/models/hbv.ipynb new file mode 100644 index 0000000..59a56cd --- /dev/null +++ b/book/content/models/hbv.ipynb @@ -0,0 +1,347 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "c174c2d93784aea8", + "metadata": {}, + "source": [ + "# HBV\n", + "\n", + "Let us say we want to do research into the future of the Speyside distileries using HBV.\n", + "We see that, using the [caravan map](https://www.ewatercycle.org/caravan-map/caravan_catchments_map_Scotland.html), Scotland is part of Caravan, and some of Speyside is in there.\n", + "So we will use that region to do our research on, using the HBV model." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "f7f26aef2fa9a76d", + "metadata": {}, + "outputs": [], + "source": [ + "# General python\n", + "import warnings\n", + "warnings.filterwarnings(\"ignore\", category=UserWarning)\n", + "\n", + "import numpy as np\n", + "from pathlib import Path\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import xarray as xr\n", + "\n", + "# Niceties\n", + "from rich import print\n", + "\n", + "# General eWaterCycle\n", + "import ewatercycle\n", + "import ewatercycle.models\n", + "import ewatercycle.forcing" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "f393cf461572531b", + "metadata": {}, + "outputs": [], + "source": [ + "# Region selection using Caravan\n", + "\"\"\"Avon at Delnashaugh, in Scotland\"\"\"\n", + "caravan_id = \"camelsgb_8004\"\n", + "\n", + "# Time periods for experiment, note they are hydrological years\n", + "experiment_start_date = \"2010-08-01T00:00:00Z\"\n", + "experiment_end_date = \"2014-08-31T00:00:00Z\"" + ] + }, + { + "cell_type": "markdown", + "id": "3d28ba10f3c52989", + "metadata": {}, + "source": [ + "Now we will get the forcing data for our selected region." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "e805116d43678aad", + "metadata": {}, + "outputs": [], + "source": [ + "# Location of caravan forcing\n", + "forcing_path_caravan = Path.home() / \"forcing\" / caravan_id / \"caravan\"\n", + "forcing_path_caravan.mkdir(exist_ok=True, parents=True)" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "8518157762bcd157", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
CaravanForcing(\n",
+       "    start_time='2010-08-01T00:00:00Z',\n",
+       "    end_time='2014-08-31T00:00:00Z',\n",
+       "    directory=PosixPath('/home/mmelotto/forcing/camelsgb_8004/caravan'),\n",
+       "    shape=PosixPath('/home/mmelotto/forcing/camelsgb_8004/caravan/camelsgb_8004.shp'),\n",
+       "    filenames={\n",
+       "        'pr': 'camelsgb_8004_2010-08-01_2014-08-31_pr.nc',\n",
+       "        'evspsblpot': 'camelsgb_8004_2010-08-01_2014-08-31_evspsblpot.nc',\n",
+       "        'tasmax': 'camelsgb_8004_2010-08-01_2014-08-31_tasmax.nc',\n",
+       "        'tas': 'camelsgb_8004_2010-08-01_2014-08-31_tas.nc',\n",
+       "        'tasmin': 'camelsgb_8004_2010-08-01_2014-08-31_tasmin.nc',\n",
+       "        'Q': 'camelsgb_8004_2010-08-01_2014-08-31_Q.nc'\n",
+       "    }\n",
+       ")\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1;35mCaravanForcing\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mstart_time\u001b[0m=\u001b[32m'2010-08-01T00:00:00Z'\u001b[0m,\n", + " \u001b[33mend_time\u001b[0m=\u001b[32m'2014-08-31T00:00:00Z'\u001b[0m,\n", + " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/mmelotto/forcing/camelsgb_8004/caravan'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mshape\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/mmelotto/forcing/camelsgb_8004/caravan/camelsgb_8004.shp'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mfilenames\u001b[0m=\u001b[1m{\u001b[0m\n", + " \u001b[32m'pr'\u001b[0m: \u001b[32m'camelsgb_8004_2010-08-01_2014-08-31_pr.nc'\u001b[0m,\n", + " \u001b[32m'evspsblpot'\u001b[0m: \u001b[32m'camelsgb_8004_2010-08-01_2014-08-31_evspsblpot.nc'\u001b[0m,\n", + " \u001b[32m'tasmax'\u001b[0m: \u001b[32m'camelsgb_8004_2010-08-01_2014-08-31_tasmax.nc'\u001b[0m,\n", + " \u001b[32m'tas'\u001b[0m: \u001b[32m'camelsgb_8004_2010-08-01_2014-08-31_tas.nc'\u001b[0m,\n", + " \u001b[32m'tasmin'\u001b[0m: \u001b[32m'camelsgb_8004_2010-08-01_2014-08-31_tasmin.nc'\u001b[0m,\n", + " \u001b[32m'Q'\u001b[0m: \u001b[32m'camelsgb_8004_2010-08-01_2014-08-31_Q.nc'\u001b[0m\n", + " \u001b[1m}\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Generate the caravan forcing\n", + "caravan_forcing_object = ewatercycle.forcing.sources['CaravanForcing'].generate(\n", + " start_time=experiment_start_date,\n", + " end_time=experiment_end_date,\n", + " directory=forcing_path_caravan,\n", + " basin_id=caravan_id,\n", + ")\n", + "print(caravan_forcing_object)\n", + "\n", + "# Note that you want to do this in a separate notebook, then load it in when you want to use it!!!\n", + "caravan_forcing_object = ewatercycle.forcing.sources[\"CaravanForcing\"].load(directory=forcing_path_caravan)" + ] + }, + { + "cell_type": "markdown", + "id": "c1c1beabcf15ca36", + "metadata": {}, + "source": [ + "## The model run" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "322e45a05529565", + "metadata": {}, + "outputs": [], + "source": [ + "# Setting the HBV parameters, these are by no means optimized\n", + "hbv_parameters = [7.085, # Imax\n", + " 0.837, # Ce\n", + " 76.373, # Sumax\n", + " 1.112, # Beta\n", + " 0.245, # Pmax\n", + " 7.801, # Tlag\n", + " 0.096, # Kf\n", + " 0.003, # Ks\n", + " 0.226 # FM\n", + " ]\n", + "\n", + "# Set initial state values\n", + "s_0 = np.array([0, # Si\n", + " 100, # Su\n", + " 0, # Sf\n", + " 5, # Ss\n", + " 0 # Sp\n", + " ])" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "4fb67e3724ae46f3", + "metadata": {}, + "outputs": [], + "source": [ + "# Create model object, notice the forcing object.\n", + "HBV_model = ewatercycle.models.HBV(forcing=caravan_forcing_object)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "75e2a97128d8969", + "metadata": {}, + "outputs": [], + "source": [ + "# Create config file in model.setup()\n", + "config_file, _ = HBV_model.setup(parameters=hbv_parameters, initial_storage=s_0)" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "cdb6a26885190cab", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize model\n", + "HBV_model.initialize(config_file)" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "523a444905703d8a", + "metadata": {}, + "outputs": [], + "source": [ + "# Run model, capture calculated discharge and timestamps\n", + "Q_m = []\n", + "time = []\n", + "\n", + "while HBV_model.time < HBV_model.end_time:\n", + " HBV_model.update()\n", + " Q_m.append(HBV_model.get_value(\"Q\")[0])\n", + " time.append(pd.Timestamp(HBV_model.time_as_datetime))\n", + "\n", + "# Finalize model (shuts down container, frees memory)\n", + "HBV_model.finalize()" + ] + }, + { + "cell_type": "markdown", + "id": "7ef2bb3874280838", + "metadata": {}, + "source": [ + "## Look at the results" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "ad179c6e04380c57", + "metadata": {}, + "outputs": [], + "source": [ + "# Make a pandas series of the modelled discharge\n", + "model_output = pd.Series(data=Q_m, name=\"Modelled_discharge\", index=time)\n", + "\n", + "# Load the observations from the caravan object\n", + "caravan_discharge_observation = xr.open_mfdataset([caravan_forcing_object['Q']])" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "81ff2316fb80faba", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Discharge (mm/d)')" + ] + }, + "execution_count": 11, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHFCAYAAAAHcXhbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAADSKUlEQVR4nOydd5jUVNuHf9ned1lgG9I7UqSpoFKUjiAiNnwFRLELCopYUFSwAAKf+gq+iGABxQIWpAhIU0CaS116L8vCLtvrzOT7I5OZJJNkkqmZ2ee+rr1mJ5OcnCQn5zznaYdhWZYFQRAEQRBEgBLi7woQBEEQBEG4AwkzBEEQBEEENCTMEARBEAQR0JAwQxAEQRBEQEPCDEEQBEEQAQ0JMwRBEARBBDQkzBAEQRAEEdCQMEMQBEEQREBDwgxBEARBEAENCTNeZsqUKWAYBlevXvXpeXv06IEePXp4pezTp0+DYRgsWrTI6b789fuSUaNGIS4uTtO+DRo0wJQpU7xbIR+waNEiMAyD06dPe6V8T7fjf//9F0OGDEFGRgZiYmLQokULvP322ygtLXXYd8+ePejVqxfi4uKQlJSEoUOH4uTJk7Llfvzxx2jRogUiIyPRsGFDvPXWW6iqqlKty+uvvw6GYdC6dWuH39xpH0uWLMGcOXNkf2MYJijaXSDSo0cP2Wcth7Sf498zpb+NGzd6p9KEU8L8XQHCO3z66adeKzs9PR3btm1D48aNvXYOIng5dOgQunbtiubNm2POnDmoVasWNm/ejLfffhu7d+/GL7/8Ytv38OHD6NGjB2644QZ8//33KC8vxxtvvIHbbrsNmZmZqF27tm3fadOmYfLkyZg0aRL69OmDnTt34vXXX8eFCxfwv//9T7YumZmZmDlzJlJTUz1+nUuWLMGBAwfw/PPPO/y2bds2XHfddR4/J+EbFi5ciBYtWjhsb9WqlR9qQwAkzAQt3nypIiMjcfPNN3utfCK4WbJkCcrLy/HTTz/ZBOLbb78dly5dwv/+9z9cu3YNNWrUAAC88cYbiIyMxIoVK5CQkAAA6NixI5o2bYqZM2figw8+AADk5uZi6tSpGDNmDN59910A3Ay8qqoKr7/+Op5//nmHd8JkMuGRRx7BE088gb179/pUe0rvT2DTunVrdOrUyWvll5aWIiYmxmvlByNkZvIR586dw9ChQ5GQkIDExET85z//wZUrV0T7LF26FH369EF6ejqio6PRsmVLTJo0CSUlJaL9Tp48iQceeAAZGRmIjIxEamoq7rjjDmRmZtr2kZqZeNPQzJkzMWvWLDRs2BBxcXHo0qULtm/frutalMxMv//+O2644Qabin/mzJm6yvU0Bw8exB133IHY2FjUrl0bzz77rKwZQ8qFCxfw+OOPo27duoiIiEBGRgaGDRuGy5cvAwDKy8sxYcIE3HDDDUhMTERycjK6dOki0ijwMAyDZ599FgsXLkTz5s0RHR2NTp06Yfv27WBZFjNmzLA9i9tvvx3Hjx93KGPdunW44447kJCQgJiYGNxyyy1Yv3690+v4999/ceeddyIlJQWRkZHIyMjAwIEDcf78eds++fn5ePTRR5GcnIy4uDgMHDgQJ0+eVDSDaGnHzggPDwcAJCYmirYnJSUhJCQEERERADhhY8WKFbjnnntsggwA1K9fHz179sTy5ctt21avXo3y8nI88sgjojIfeeQRsCyLn3/+2aEe77//PvLy8jBt2jRd9ddCjx498Pvvv+PMmTMiMwSP9P7y5os///wTY8aMQc2aNZGQkIARI0agpKQE2dnZuO+++5CUlIT09HS8+OKLDuazyspKTJ061WZmq127Nh555BHR81Ezkwj7i/Lycrzyyito2LAhIiIiUKdOHTzzzDPIz88XnbNBgwa48847sXr1anTo0AHR0dFo0aIFvvjiC4d7kp2djSeeeALXXXcdIiIibGZAk8nk3s12kS1btuDmm29GdHQ06tSpg8mTJ8NsNnukbDVTvPTZ8ybcPXv2YNiwYahRo4ZNyNf7HJYvX462bdsiKioKjRo1wkcffeSR6wkESDPjI+6++27cd999ePLJJ3Hw4EFMnjwZhw4dwj///GPr3I8dO4YBAwbg+eefR2xsLA4fPowPPvgAO3bswJ9//mkra8CAATCbzZg+fTrq1auHq1evYuvWrQ4NXI7//ve/aNGihc2WP3nyZAwYMACnTp1yGFz0sH79etx1113o0qULvvvuO1v9eAHAGRaLBRaLxel+DMMgNDTU6X5VVVUYMGAAnnjiCUyaNAlbt27F1KlTcebMGfz222+2/aQ+JhcuXEDnzp1RVVWFV199FW3btkVubi7WrFmDa9euITU1FRUVFcjLy8OLL76IOnXqoLKyEuvWrcPQoUOxcOFCjBgxQlTmihUr8O+//+L9998HwzB4+eWXMXDgQIwcORInT57EJ598goKCAowfPx733HMPMjMzbQPfN998gxEjRuCuu+7Cl19+ifDwcHz22Wfo27cv1qxZgzvuuEP2+ktKStC7d280bNgQ//3vf5Gamors7Gxs2LABRUVFtns+aNAg7Nq1C1OmTEGHDh2wbds29OvXT/G+amnHzhg5ciTmzJmDp556Ch988AFq166NTZs24bPPPsMzzzyD2NhYAMCJEydQVlaGtm3bOpTRtm1brF27FuXl5YiKisKBAwcAAG3atBHtl56ejlq1atl+5zl06BCmTp2KZcuWqfpXueqD9Omnn+Lxxx/HiRMnREKXMx577DEMHToU3333Hf7991+8+uqrMJlMOHLkCIYOHYrHH38c69atwwcffICMjAyMHz8eAPcs77rrLmzZsgUTJ05E165dcebMGbz55pvo0aMHdu3ahejoaAwcOBDbtm0TnXPbtm0YP348rr/+egAAy7IYMmQI1q9fj1deeQW33XYb9u3bhzfffBPbtm3Dtm3bEBkZaTt+7969mDBhAiZNmoTU1FR8/vnnePTRR9GkSRN069YNACfI3HjjjQgJCcEbb7yBxo0bY9u2bZg6dSpOnz6NhQsXqt4XT/cP2dnZeOCBBzBp0iS8/fbb+P333zF16lRcu3YNn3zyiW0/lmVljzebzQ5CmNZzKzF06FA88MADePLJJ1FSUqL7OWRmZuL555/HlClTkJaWhsWLF2PcuHGorKzEiy++6HK9AgaW8CpvvvkmC4B94YUXRNsXL17MAmC/+eYb2eMsFgtbVVXFbtq0iQXA7t27l2VZlr169SoLgJ0zZ47qebt37852797d9v3UqVMsALZNmzasyWSybd+xYwcLgP322281XxNf1sKFC23bbrrpJjYjI4MtKyuzbSssLGSTk5NZLc2Mv0/O/urXr++0rJEjR7IA2P/7v/8TbZ82bRoLgP3rr78Ujx09ejQbHh7OHjp0yOl5eEwmE1tVVcU++uijbPv27UW/AWDT0tLY4uJi27aff/6ZBcDecMMNrMVisW2fM2cOC4Ddt28fy7IsW1JSwiYnJ7ODBg0SlWk2m9l27dqxN954o23bwoULWQDsqVOnWJZl2V27drEA2J9//lmx3r///jsLgJ07d65o+3vvvccCYN98803bNlfbsRJZWVls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PlOnTsWoUaOQmJiIMWPGAADmz5+PunXrIiYmBnfffTdmzZqFpKQk0bG//fYbOnbsiKioKDRq1AhvvfUWTCaT5vtFEAThd9a/DbybDpzc5FYxJMxIYFkWpZUmn//pGbSFPPLII1i4cKHt+xdffIHRo0eL9pk4cSJ++uknfPnll9izZw+aNGmCvn37Ii8vDwBw7tw5DB06FAMGDEBmZiYee+wxTJo0SVTG/v370bdvXwwdOhT79u3D0qVL8ddff+HZZ5/VVM/S0lL07NkTcXFx2Lx5M/766y/ExcWhX79+Nm3Ehx9+iC+++AILFizAX3/9hby8PCxfvlzzvXjppZewYcMGLF++HH/88Qc2btyI3bt3K+7/448/Yvbs2fjss89w7Ngx/Pzzz2jTpo3t9xEjRuC7777DRx99hKysLMybNw9xcXGiMl577TV8+OGH2LVrF8LCwkT3vri4GAMGDMC6devw77//om/fvhg0aBDOnj0rKmPGjBlo3bo1du/ejcmTJ+Pvv//Gk08+iXHjxiEzMxO9e/fGtGnTRMesWbMG//nPfzB27FgcOnQIn332GRYtWuSwH0EQhKHZYp10rnnNrWKqddI8OcqqzGj1xhqfn/fQ230RE6H/cTz88MN45ZVXcPr0aTAMg7///hvfffcdNm7cCIDTVsydOxeLFi1C//79AXCz/rVr12LBggV46aWXMHfuXDRq1AizZ88GwzBo3rw59u/fjw8++MB2nhkzZmD48OE2Z9qmTZvio48+Qvfu3TF37lxERUWp1vO7775DSEgIPv/8c1t48MKFC5GUlISNGzeiT58+mDNnDl555RXcc889AIB58+ZhzRptz6K4uBgLFizAV199hd69ewMAvvzyS1x33XWKx5w9exZpaWno1asXwsPDUa9ePdx4440AgKNHj+L777/H2rVr0atXLwBAo0aNHMqYNm0aunfvDgCYNGkSBg4ciPLyckRFRaFdu3Zo166dbd+pU6di+fLl+PXXX0VC4O23344XX3zR9v31119H//79bduaNWuGrVu3YsWKFaLzTpo0CSNHjrTV7Z133sHEiRPx5ptvarpnBEEQhsHNtBGkmQlwatWqhYEDB+LLL7/EwoULMXDgQNSqVcv2+4kTJ1BVVYVbbrnFti08PBw33ngjsrKyAABZWVm4+eabRTlIunTpIjrP7t27sWjRIsTF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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Make a plot of both the observations and modelled discharge\n", + "model_output.plot()\n", + "caravan_discharge_observation[\"Q\"].plot(label=\"Observed discharge\")\n", + "plt.legend()\n", + "plt.ylabel(\"Discharge (mm/d)\")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "8272dfe8b58f7fb7", + "metadata": {}, + "outputs": [], + "source": [ + "# We want to also be able to use the output of this model run in different analyses. Therefore, we save it as a NetCDF file.\n", + "xr_model_output = model_output.to_xarray()\n", + "\n", + "xr_model_output.attrs['units'] = 'mm/d'\n", + "\n", + "# Save the xarray Dataset to a NetCDF file\n", + "xr_model_output.to_netcdf(f'~/forcing/{caravan_id}/river_discharge_data.nc')" + ] + }, + { + "cell_type": "markdown", + "id": "c2bec43cbd8d327b", + "metadata": {}, + "source": [ + "## Your research ahead\n", + "\n", + "Now you have this modelled discharge, you can perform your own research.\n", + "Some examples, keeping in mind you have a calibrated model:\n", + "- One case could be that you look at future climate data from CMIP to assess the need for:\n", + " 1. More distilleries\n", + " 2. Less whisky production in the future\n", + " 3. What is the best way forward, regarding climate scenarios, for more whisky\n", + "- Assess the current water intake by the distilleries.\n", + "- Does snow-melt affect whisky production.\n", + "- Can HBV predict seasonal low-flow periods that might coincide with peak whisky tourism demand?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "dc717c110fcbbc77", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.12.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/book/content/models/hbv.md b/book/content/models/hbv.md new file mode 100644 index 0000000..2bbf2f0 --- /dev/null +++ b/book/content/models/hbv.md @@ -0,0 +1,5 @@ +# HBV + +Here we will show an example of 3 HBV cases. +The first one will be on this GitHub repository, the others are external (eWaterCycle v2.4). + diff --git a/book/content/models/pcr.md b/book/content/models/pcr.md new file mode 100644 index 0000000..0830275 --- /dev/null +++ b/book/content/models/pcr.md @@ -0,0 +1,6 @@ +# PCRGlobWB 1.0 + +Here are 3 cases of using PCRGlobWB + +The first notebook is in this GitHub repo, it mimics the second external one, but you can use it to start with PCRGlobWB. +The second one also has extra notebooks in its directory to show you how to make the clonemaps and generate forcing. \ No newline at end of file diff --git a/book/content/models/pcrglobwb.ipynb b/book/content/models/pcrglobwb.ipynb new file mode 100644 index 0000000..34e2bad --- /dev/null +++ b/book/content/models/pcrglobwb.ipynb @@ -0,0 +1,1402 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "cfd6d6bae8f37e43", + "metadata": {}, + "source": [ + "# PCRGlobWB\n", + "\n", + "Let us look at the Speyside region again!\n", + "PCRGlobWB uses a clonemap, this means we will need to make one for the Speyside!\n", + "We will do that after the forcing generation.\n", + "\n", + "Please note that when you do this yourself, think of a smart way to divide this notebook into several ones." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "9a67e737e06396ba", + "metadata": {}, + "outputs": [], + "source": [ + "# This is only used to suppress some distracting output messages\n", + "import warnings\n", + "\n", + "warnings.filterwarnings(\"ignore\", category=UserWarning)\n", + "\n", + "import subprocess\n", + "import matplotlib.pyplot as plt\n", + "from cartopy import crs\n", + "from cartopy import feature as cfeature\n", + "from rich import print\n", + "import pandas as pd\n", + "import xarray as xr\n", + "from pathlib import Path\n", + "from datetime import datetime\n", + "from ipywidgets import IntProgress\n", + "from IPython.display import display\n", + "import fiona\n", + "import shapely.geometry\n", + "from pyproj import Geod\n", + "import logging\n", + "\n", + "import ewatercycle.forcing\n", + "import ewatercycle.models\n", + "import ewatercycle.parameter_sets\n", + "\n", + "logger = logging.getLogger(\"esmvalcore\")\n", + "logger.setLevel(logging.WARNING)" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "6ebfc22dbde0bce7", + "metadata": {}, + "outputs": [], + "source": [ + "# Region selection using Caravan\n", + "\"\"\"Avon at Delnashaugh, in Scotland\"\"\"\n", + "caravan_id = \"camelsgb_8004\"\n", + "\n", + "# Station BOAT O BRIG, river Spey\n", + "station_latitude = \t57.55104\n", + "station_longitude = -3.14039\n", + "\n", + "# Time periods for experiment, note they are hydrological years\n", + "experiment_start_date = \"2005-08-01T00:00:00Z\"\n", + "experiment_end_date = \"2006-08-31T00:00:00Z\"" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "f67a376e1c51575f", + "metadata": {}, + "outputs": [], + "source": [ + "forcing_path_caravan = Path.home() / \"forcing\" / caravan_id / \"caravan\"\n", + "forcing_path_caravan.mkdir(exist_ok=True, parents=True)\n", + "\n", + "forcing_path_pcrglobwb = Path.home() / \"forcing\" / caravan_id / \"pcrglobwb\"\n", + "forcing_path_pcrglobwb.mkdir(exist_ok=True)\n", + "\n", + "prepared_pcrglobwb_forcing = forcing_path_pcrglobwb / \"work/diagnostic/script\"\n", + "\n", + "pcr_glob_directory = Path(\"/data/shared/parameter-sets/pcrglobwb_global\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "c63618ec1d82fd59", + "metadata": { + "scrolled": true + }, + "outputs": [], + "source": [ + "try:\n", + " # Option two: load data that you or someone else generated previously\n", + " caravan_forcing = ewatercycle.forcing.sources['CaravanForcing'].load(directory=forcing_path_caravan)\n", + "except:\n", + " # Option one: generate forcing data\n", + " caravan_forcing = ewatercycle.forcing.sources['CaravanForcing'].generate(\n", + " start_time=experiment_start_date,\n", + " end_time=experiment_end_date,\n", + " directory=forcing_path_caravan,\n", + " basin_id=caravan_id,\n", + " )\n" + ] + }, + { + "cell_type": "markdown", + "id": "32d615f1d48c7d45", + "metadata": {}, + "source": [ + "Now we will generate the PCRGlobWB forcing." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "44537bc0d8648091", + "metadata": { + "editable": true, + "slideshow": { + "slide_type": "" + }, + "tags": [] + }, + "outputs": [ + { + "data": { + "text/html": [ + "
PCRGlobWBForcing(\n",
+       "    start_time='2005-08-01T00:00:00Z',\n",
+       "    end_time='2006-08-31T00:00:00Z',\n",
+       "    directory=PosixPath('/home/mmelotto/forcing/camelsgb_8004/pcrglobwb/work/diagnostic/script'),\n",
+       "    shape=PosixPath('/home/mmelotto/forcing/camelsgb_8004/caravan/camelsgb_8004.shp'),\n",
+       "    filenames={},\n",
+       "    precipitationNC='pcrglobwb_OBS6_ERA5_reanaly_1_day_pr_2005-2006_camelsgb_8004.nc',\n",
+       "    temperatureNC='pcrglobwb_OBS6_ERA5_reanaly_1_day_tas_2005-2006_camelsgb_8004.nc'\n",
+       ")\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1;35mPCRGlobWBForcing\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mstart_time\u001b[0m=\u001b[32m'2005-08-01T00:00:00Z'\u001b[0m,\n", + " \u001b[33mend_time\u001b[0m=\u001b[32m'2006-08-31T00:00:00Z'\u001b[0m,\n", + " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/mmelotto/forcing/camelsgb_8004/pcrglobwb/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/mmelotto/forcing/camelsgb_8004/caravan/camelsgb_8004.shp'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mfilenames\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n", + " \u001b[33mprecipitationNC\u001b[0m=\u001b[32m'pcrglobwb_OBS6_ERA5_reanaly_1_day_pr_2005-2006_camelsgb_8004.nc'\u001b[0m,\n", + " \u001b[33mtemperatureNC\u001b[0m=\u001b[32m'pcrglobwb_OBS6_ERA5_reanaly_1_day_tas_2005-2006_camelsgb_8004.nc'\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Set the extent of the forcing data sufficiently larger than the clonemap.\n", + "esmvaltool_padding = 0.5\n", + "\n", + "region_Scotland = {\n", + " \"start_longitude\": -9-esmvaltool_padding,\n", + " \"end_longitude\": -1+esmvaltool_padding,\n", + " \"start_latitude\": 50-esmvaltool_padding,\n", + " \"end_latitude\": 61+esmvaltool_padding,\n", + "}\n", + "\n", + "\n", + "climate_start_date = experiment_start_date\n", + "years_of_climatology = 1\n", + "climate_end_date = f\"{int(experiment_start_date[:4]) + years_of_climatology}{experiment_start_date[4:]}\"\n", + "\n", + "try:\n", + " pcrglobwb_forcing = ewatercycle.forcing.sources[\"PCRGlobWBForcing\"].load(\n", + " directory=prepared_pcrglobwb_forcing,\n", + " )\n", + "except:\n", + " pcrglobwb_forcing = ewatercycle.forcing.sources[\"PCRGlobWBForcing\"].generate(\n", + " dataset=\"ERA5\",\n", + " start_time=experiment_start_date,\n", + " end_time=experiment_end_date,\n", + " start_time_climatology=experiment_start_date,\n", + " end_time_climatology=climate_end_date,\n", + " shape=caravan_forcing.shape,\n", + " extract_region=region_Scotland,\n", + " directory = forcing_path_pcrglobwb\n", + " )\n", + "\n", + "print(pcrglobwb_forcing)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "dd52585803f343db", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
PCRGlobWBForcing(\n",
+       "    start_time='2005-08-01T00:00:00Z',\n",
+       "    end_time='2006-08-31T00:00:00Z',\n",
+       "    directory=PosixPath('/home/mmelotto/forcing/camelsgb_8004/pcrglobwb/work/diagnostic/script'),\n",
+       "    shape=PosixPath('/home/mmelotto/forcing/camelsgb_8004/caravan/camelsgb_8004.shp'),\n",
+       "    filenames={},\n",
+       "    precipitationNC='pcrglobwb_OBS6_ERA5_reanaly_1_day_pr_2005-2006_camelsgb_8004.nc',\n",
+       "    temperatureNC='pcrglobwb_OBS6_ERA5_reanaly_1_day_tas_2005-2006_camelsgb_8004.nc'\n",
+       ")\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1;35mPCRGlobWBForcing\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mstart_time\u001b[0m=\u001b[32m'2005-08-01T00:00:00Z'\u001b[0m,\n", + " \u001b[33mend_time\u001b[0m=\u001b[32m'2006-08-31T00:00:00Z'\u001b[0m,\n", + " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/mmelotto/forcing/camelsgb_8004/pcrglobwb/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/mmelotto/forcing/camelsgb_8004/caravan/camelsgb_8004.shp'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mfilenames\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n", + " \u001b[33mprecipitationNC\u001b[0m=\u001b[32m'pcrglobwb_OBS6_ERA5_reanaly_1_day_pr_2005-2006_camelsgb_8004.nc'\u001b[0m,\n", + " \u001b[33mtemperatureNC\u001b[0m=\u001b[32m'pcrglobwb_OBS6_ERA5_reanaly_1_day_tas_2005-2006_camelsgb_8004.nc'\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print(pcrglobwb_forcing)" + ] + }, + { + "cell_type": "markdown", + "id": "2b921ec835174ca7", + "metadata": {}, + "source": [ + "## Plot the forcing" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "8290ddaad2ed2494", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
<xarray.Dataset> Size: 8MB\n",
+       "Dimensions:    (time: 1095, lat: 49, lon: 37, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * time       (time) datetime64[ns] 9kB 2004-01-02 2004-01-03 ... 2006-12-31\n",
+       "  * lat        (lat) float32 196B 61.5 61.25 61.0 60.75 ... 50.0 49.75 49.5\n",
+       "  * lon        (lon) float32 148B -9.499 -9.249 -8.999 ... -0.999 -0.749 -0.499\n",
+       "    height     float64 8B 2.0\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    tas        (time, lat, lon) float32 8MB 279.4 279.4 279.4 ... 284.7 284.7\n",
+       "    time_bnds  (time, bnds) datetime64[ns] 18kB 2004-01-01T12:00:00 ... 2006-...\n",
+       "    lat_bnds   (lat, bnds) float32 392B 61.62 61.38 61.38 ... 49.62 49.62 49.38\n",
+       "    lon_bnds   (lon, bnds) float32 296B -9.625 -9.375 -9.375 ... -0.625 -0.375\n",
+       "Attributes:\n",
+       "    Conventions:  CF-1.7\n",
+       "    software:     Created with ESMValTool v2.11.1\n",
+       "    caption:      Forcings for the PCR-GLOBWB hydrological model.\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m<\u001b[0m\u001b[1;95mxarray.Dataset\u001b[0m\u001b[1m>\u001b[0m Size: 8MB\n", + "Dimensions: \u001b[1m(\u001b[0mtime: \u001b[1;36m1095\u001b[0m, lat: \u001b[1;36m49\u001b[0m, lon: \u001b[1;36m37\u001b[0m, bnds: \u001b[1;36m2\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 9kB \u001b[1;36m2004\u001b[0m-\u001b[1;36m01\u001b[0m-\u001b[1;36m02\u001b[0m \u001b[1;36m2004\u001b[0m-\u001b[1;36m01\u001b[0m-\u001b[1;36m03\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m2006\u001b[0m-\u001b[1;36m12\u001b[0m-\u001b[1;36m31\u001b[0m\n", + " * lat \u001b[1m(\u001b[0mlat\u001b[1m)\u001b[0m float32 196B \u001b[1;36m61.5\u001b[0m \u001b[1;36m61.25\u001b[0m \u001b[1;36m61.0\u001b[0m \u001b[1;36m60.75\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m50.0\u001b[0m \u001b[1;36m49.75\u001b[0m \u001b[1;36m49.5\u001b[0m\n", + " * lon \u001b[1m(\u001b[0mlon\u001b[1m)\u001b[0m float32 148B \u001b[1;36m-9.499\u001b[0m \u001b[1;36m-9.249\u001b[0m \u001b[1;36m-8.999\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m-0.999\u001b[0m \u001b[1;36m-0.749\u001b[0m \u001b[1;36m-0.499\u001b[0m\n", + " height float64 8B \u001b[1;36m2.0\u001b[0m\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " tas \u001b[1m(\u001b[0mtime, lat, lon\u001b[1m)\u001b[0m float32 8MB \u001b[1;36m279.4\u001b[0m \u001b[1;36m279.4\u001b[0m \u001b[1;36m279.4\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m284.7\u001b[0m \u001b[1;36m284.7\u001b[0m\n", + " time_bnds \u001b[1m(\u001b[0mtime, bnds\u001b[1m)\u001b[0m datetime64\u001b[1m[\u001b[0mns\u001b[1m]\u001b[0m 18kB \u001b[1;36m2004\u001b[0m-\u001b[1;36m01\u001b[0m-01T\u001b[1;92m12:00:00\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m2006\u001b[0m-\u001b[33m...\u001b[0m\n", + " lat_bnds \u001b[1m(\u001b[0mlat, bnds\u001b[1m)\u001b[0m float32 392B \u001b[1;36m61.62\u001b[0m \u001b[1;36m61.38\u001b[0m \u001b[1;36m61.38\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m49.62\u001b[0m \u001b[1;36m49.62\u001b[0m \u001b[1;36m49.38\u001b[0m\n", + " lon_bnds \u001b[1m(\u001b[0mlon, bnds\u001b[1m)\u001b[0m float32 296B \u001b[1;36m-9.625\u001b[0m \u001b[1;36m-9.375\u001b[0m \u001b[1;36m-9.375\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m-0.625\u001b[0m \u001b[1;36m-0.375\u001b[0m\n", + "Attributes:\n", + " Conventions: CF-\u001b[1;36m1.7\u001b[0m\n", + " software: Created with ESMValTool v2.\u001b[1;36m11.1\u001b[0m\n", + " caption: Forcings for the PCR-GLOBWB hydrological model.\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
------------------------\n",
+       "
\n" + ], + "text/plain": [ + "------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
<xarray.Dataset> Size: 8MB\n",
+       "Dimensions:    (time: 1095, lat: 49, lon: 37, bnds: 2)\n",
+       "Coordinates:\n",
+       "  * time       (time) datetime64[ns] 9kB 2004-01-02 2004-01-03 ... 2006-12-31\n",
+       "  * lat        (lat) float32 196B 61.5 61.25 61.0 60.75 ... 50.0 49.75 49.5\n",
+       "  * lon        (lon) float32 148B -9.499 -9.249 -8.999 ... -0.999 -0.749 -0.499\n",
+       "Dimensions without coordinates: bnds\n",
+       "Data variables:\n",
+       "    pr         (time, lat, lon) float32 8MB 0.002335 0.002427 ... 0.006291\n",
+       "    time_bnds  (time, bnds) datetime64[ns] 18kB 2004-01-01T12:00:00 ... 2006-...\n",
+       "    lat_bnds   (lat, bnds) float32 392B 61.62 61.38 61.38 ... 49.62 49.62 49.38\n",
+       "    lon_bnds   (lon, bnds) float32 296B -9.625 -9.375 -9.375 ... -0.625 -0.375\n",
+       "Attributes:\n",
+       "    Conventions:  CF-1.7\n",
+       "    software:     Created with ESMValTool v2.11.1\n",
+       "    caption:      Forcings for the PCR-GLOBWB hydrological model.\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1m<\u001b[0m\u001b[1;95mxarray.Dataset\u001b[0m\u001b[1m>\u001b[0m Size: 8MB\n", + "Dimensions: \u001b[1m(\u001b[0mtime: \u001b[1;36m1095\u001b[0m, lat: \u001b[1;36m49\u001b[0m, lon: \u001b[1;36m37\u001b[0m, bnds: \u001b[1;36m2\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 9kB \u001b[1;36m2004\u001b[0m-\u001b[1;36m01\u001b[0m-\u001b[1;36m02\u001b[0m \u001b[1;36m2004\u001b[0m-\u001b[1;36m01\u001b[0m-\u001b[1;36m03\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m2006\u001b[0m-\u001b[1;36m12\u001b[0m-\u001b[1;36m31\u001b[0m\n", + " * lat \u001b[1m(\u001b[0mlat\u001b[1m)\u001b[0m float32 196B \u001b[1;36m61.5\u001b[0m \u001b[1;36m61.25\u001b[0m \u001b[1;36m61.0\u001b[0m \u001b[1;36m60.75\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m50.0\u001b[0m \u001b[1;36m49.75\u001b[0m \u001b[1;36m49.5\u001b[0m\n", + " * lon \u001b[1m(\u001b[0mlon\u001b[1m)\u001b[0m float32 148B \u001b[1;36m-9.499\u001b[0m \u001b[1;36m-9.249\u001b[0m \u001b[1;36m-8.999\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m-0.999\u001b[0m \u001b[1;36m-0.749\u001b[0m \u001b[1;36m-0.499\u001b[0m\n", + "Dimensions without coordinates: bnds\n", + "Data variables:\n", + " pr \u001b[1m(\u001b[0mtime, lat, lon\u001b[1m)\u001b[0m float32 8MB \u001b[1;36m0.002335\u001b[0m \u001b[1;36m0.002427\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m0.006291\u001b[0m\n", + " time_bnds \u001b[1m(\u001b[0mtime, bnds\u001b[1m)\u001b[0m datetime64\u001b[1m[\u001b[0mns\u001b[1m]\u001b[0m 18kB \u001b[1;36m2004\u001b[0m-\u001b[1;36m01\u001b[0m-01T\u001b[1;92m12:00:00\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m2006\u001b[0m-\u001b[33m...\u001b[0m\n", + " lat_bnds \u001b[1m(\u001b[0mlat, bnds\u001b[1m)\u001b[0m float32 392B \u001b[1;36m61.62\u001b[0m \u001b[1;36m61.38\u001b[0m \u001b[1;36m61.38\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m49.62\u001b[0m \u001b[1;36m49.62\u001b[0m \u001b[1;36m49.38\u001b[0m\n", + " lon_bnds \u001b[1m(\u001b[0mlon, bnds\u001b[1m)\u001b[0m float32 296B \u001b[1;36m-9.625\u001b[0m \u001b[1;36m-9.375\u001b[0m \u001b[1;36m-9.375\u001b[0m \u001b[33m...\u001b[0m \u001b[1;36m-0.625\u001b[0m \u001b[1;36m-0.375\u001b[0m\n", + "Attributes:\n", + " Conventions: CF-\u001b[1;36m1.7\u001b[0m\n", + " software: Created with ESMValTool v2.\u001b[1;36m11.1\u001b[0m\n", + " caption: Forcings for the PCR-GLOBWB hydrological model.\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
------------------------\n",
+       "
\n" + ], + "text/plain": [ + "------------------------\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAlUAAAHUCAYAAAATAt1SAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAAA9hAAAPYQGoP6dpAACQzElEQVR4nO3dd3hTZfsH8O9J0r2glNKWQstWpuxVGcoUmSqKCGUIIusVBAX1lSFLQGW8shwFRAQFK3UwBcpWpigiIENm2XTTZjy/P/g1EtrS5ykJadrv57pyQU/unNw5OUnvPuc599GEEAJERERE9EB0zk6AiIiIqDBgUUVERERkByyqiIiIiOyARRURERGRHbCoIiIiIrIDFlVEREREdsCiioiIiMgOWFQRERER2QGLKiIiIiI7YFHlonbt2oXx48fj1q1b2e5r0aIFWrRo8dBzehiOHz+OUaNGoW7duihWrBgCAwPRtGlTrFq1Ksf4K1euoE+fPggKCoK3tzcaN26Mn3/+OcfYTZs2oXHjxvD29kZQUBD69OmDK1eu5Bj7xx9/4LnnnkPJkiXh4eGByMhIDB48WOo1nD9/Hq+99hqaN2+OYsWKQdM0LF68OFtcUlISJk+ejBYtWiAkJAS+vr6oUaMG3n//fdy+fVvquVJTU/HCCy+gSpUq8PPzg4+PD6pVq4ZJkyYhNTU1X3mpWLx4MTRNw759+x5oPXcbP348NE1zeD7z5s174NefH2azGR9++CHatWuH8PBweHt749FHH8WYMWNy/LznRmV/vtvWrVuhaZr1Zs/37tChQzbrzu1zS+SqWFS5qF27dmHChAk5fsnOmzcP8+bNe/hJPQQbNmzAjz/+iGeeeQbffPMNvvzyS1SqVAnPPfccJk6caBObkZGBJ598Ej///DNmz56NNWvWoFSpUmjXrh3i4+NtYuPj49G+fXuUKlUKa9aswezZs7Fp0yY8+eSTyMjIsIndsmULGjRogKSkJCxYsAAbNmzAe++9B09PT6nX8Pfff+PLL7+Eu7s7nnrqqVzjzp49i1mzZqFOnTpYtGgR4uLi8Oyzz2L8+PF4+umnIXOFKaPRCCEERo4cidWrV2PNmjV45plnMHHiRHTu3DlfeTnbyy+/jN27dzv8eZxVVKWnp2P8+PGIiIjArFmz8NNPP2HAgAFYtGgRmjZtivT09DzXobI/5+bjjz/G7t278eijjz7oS7KqXLkydu/ejY8//thu6yQqUAS5pBkzZggA4vTp085O5aG6evWqsFgs2ZZ36NBBeHt7i9u3b1uXffzxxwKA2LVrl3WZ0WgUVatWFQ0aNLB5fP369UXVqlWF0Wi0Ltu5c6cAIObNm2ddlpqaKkJDQ0WHDh1yzEOG2Wy2/n/v3r0CgIiJickWl5KSIlJSUrItz3rvt2/fnq/nF0KIN954QwAQJ0+eVM5LRUxMjAAg9u7d+0DrsReVfKpVqyaaN2/u+KTuYTKZxLVr17It/+abbwQA8cUXX+S5Dtn9OSdbtmwRAMSWLVuUc5eV9RzffPONw56DyBk4UuWCxo8fj9GjRwMAypUrZx1K37p1K4Dsh//OnDkDTdMwY8YMvP/++4iMjISXlxdatGiB48ePw2g0YsyYMQgLC0NAQAC6du2a42GClStXonHjxvDx8YGvry/atm2LgwcPPoyXbBUUFJTjoZ8GDRogLS0NN27csC6LjY1FlSpV0LhxY+syg8GAl156Cb/++isuXLgAALhw4QL27t2LXr16wWAwWGObNGmCypUrIzY21rrsm2++waVLlzB69Oh8H4LS6eQ+dj4+PvDx8cm2vEGDBgCAc+fO5ev5AaBkyZIAYPN6ZfPKj+TkZLz66qsICgpCiRIl0K1bN1y8eDFbnMw+ltPhv4yMDLz++usICQmBt7c3mjVrhv379yMyMhJ9+vRRzicyMhJHjhxBfHy89fMVGRlpl22RF71ejxIlSmRbLvu+q+zPqvr06QNfX1/89ddfaNu2LXx8fBAaGopp06YBAPbs2YOoqCj4+PigcuXKWLJkSb6fi8gVsahyQS+//DKGDRsGAPj222+xe/du7N69G3Xq1Lnv4z7++GPs3LkTH3/8MT799FP89ddf6NixI/r374+rV6/i888/x/Tp07Fp0ya8/PLLNo+dMmUKevTogapVq+Lrr7/GF198geTkZDz++OP4888/88zZZDJJ3YTEIa2cbNmyBSVLlkRwcLB12R9//IGaNWtmi81aduTIEWvc3cvvjc26HwC2bdsG4M68l6ioKLi7u6N48eLo0aNHjkWCI2zevBkAUK1aNenHCCFgMpmQlJSEdevW4YMPPkCPHj1QtmxZR6Vp4+WXX4abmxuWL1+O6dOnY+vWrXjppZdsYh5kH+vbty9mzZqFvn37Wg9xdu3aNdc5SHnlExsbi/Lly6N27drWz1dexYjZbJbaxy0Wi9xGu4fs+66yP+eH0WhEt27d0KFDB6xZswbt27fH2LFj8dZbbyE6Ohr9+vWz/kHTp08f7N+//4Gej8ilOHuojPLnfof/mjdvbnPY4vTp0wKAqFWrls0hnlmzZgkAolOnTjaPf+211wQAkZiYKIQQ4uzZs8JgMIhhw4bZxCUnJ4uQkBDRvXv3++aa9fwyt/wccvjkk08EADF79myb5W5ubuKVV17JFr9r1y4BQCxfvlwIIcSXX34pAIjdu3dnix04cKBwd3e3/ty2bVsBQBQrVky88cYbYvPmzWLBggWiRIkSomLFiiI1NVUpd9XDbL/99pvw8vISXbt2VXqer776ymY79+3b1+bQ0IPmlZusw22DBw+2WT59+nQBQFy6dEkIobaPjRs3Ttz91XXkyBEBQLz55ps2j816zdHR0cr5CKF++K958+ZS+/jd+cg6f/68KFWqlKhXr57NZzgnKvtzTu53+C86OloAEKtXr7YuMxqNomTJkgKAOHDggHX59evXhV6vFyNHjsz1OXj4jwqbf8eGqdB76qmnbA7xZE1A7dChg01c1vKzZ8+ievXqWL9+PUwmE3r37g2TyWSN8/T0RPPmzbFly5b7Pm9YWBj27t0rlWOVKlWk4rKsXbsWQ4YMwbPPPmsdvbvb/Q7R3XtfbrF3L88aZXj++efx/vvvAwBatmyJkJAQdOnSBcuXL8fLL78MIQTMZrPNeu4+FJMfZ86cwdNPP40yZcrg008/tbnv7vcFuHMI6e6827Zti7179yI5ORm7d+/G+++/j+vXryM2Ntahh/2ydOrUyebnrFGUf/75ByEhIQ+0j2WddNC9e3eb5c8++yx69eqVr3zyY+HChUhOTs4zLigoSGm9N27cwFNPPQUhBFauXCn9fsnsz/mhaZrNiQwGgwEVK1aEwWBA7dq1rcsDAwMRHByMf/7554Gej8iVsKgqQgIDA21+dnd3v+/yrNP2L1++DACoX79+juvN60ve3d0djz32mFSOer1eKg4A1q9fj27duqF169b48ssvs/2yKFGiBK5fv57tcVnzrrJed9b8ldxi794+WbFt27a1iWvbti00TcOBAwcAAEuWLEHfvn1tYkQ+D20Cd37Zt2zZEgaDAT///HO298zNzc3m55iYGJu5RMWLF0e9evUA3CkCK1SogBdeeAFr1qxB165d852XrHvnCHl4eACA9Uy2B9nHst63UqVK2Sw3GAw5zk2SySc/KlasKPUeqxSxN2/eROvWrXHhwgVs3rwZ5cuXz/MxKvtzfnh7e2c709Xd3T3H9bq7u0u3/yAqDFhUUZ6y/rJetWoVIiIilB9/5swZlCtXTip2y5YtUj221q9fjy5duqB58+ZYvXq1tRC8W40aNfD7779nW561rHr16jb//v7779laCfz+++/W+4E7IxorVqzINa+sX5gdO3aUHp3Lyz///IMWLVpACIGtW7ciPDw8W8y9z5XX9s6a9Hz8+HG75PigHmQfyyoiLl++jNKlS1uXm0ymHAsLR3nyySezterISXR0tFSrhps3b6JVq1Y4ffo0fv755xznSOVEZX8mIvtiUeWi7PGXtay2bdvCYDDg5MmTeOaZZ5Qfb+/Dfxs2bECXLl0QFRWF7777zrot7tW1a1cMHjwYv/zyCxo2bAjgzi/aZcuWoWHDhggLCwMAlC5dGg0aNMCyZcswatQo62jZnj17cOzYMbz22ms263z77bexdu1amxGetWvXQgiBRo0aAbjziz63URIVZ8+eRYsWLWA2m7F169ZcC46sUShZWYfTKlas+MA52sOD7GPNmjUDcOfMwbtP1li1alW2w6IqPDw8lD5f9jz8l1VQnTp1Chs3brQ5rJYXlf2ZiOyLRZWLqlGjBgBg9uzZiI6Ohpubm7Vrtr1FRkZi4sSJePvtt3Hq1Cm0a9cOxYsXx+XLl/Hrr7/Cx8cHEyZMyPXx7u7uyr/0c7Njxw506dIFISEheOutt3Do0CGb+6tWrQp/f38AQL9+/fDxxx/jueeew7Rp0xAcHIx58+bh2LFj2LRpk83j3n//fbRu3RrPPfccBg8ejCtXrmDMmDGoXr26zWG8Rx55BEOGDMG8efPg5+eH9u3b4/jx43jnnXdQu3btbPN6cpPVSfrUqVMAgH379sHX1xfAnblAwJ1u8C1btsSlS5fw2Wef4cqVKzatLsLDw3MctbrbwoULsX37drRp0wZlypRBamoqtm/fjrlz56JJkybZGoDK5AXcaWswYcIE6ZHFvDzIPlatWjX06NEDH3zwAfR6PZ544gkcOXIEH3zwAQICAvI9Z6xGjRpYsWIFVq5cifLly8PT09P6ucuJ6nzA3KSnp1tbScyaNQsmkwl79uyx3l+yZElUqFDB+rPBYEDz5s1trhQguz8TkZ05c5Y8PZixY8eKsLAwodPpbM7Wye3svxkzZtg8PrczcHJrkPjdd9+Jli1bCn9/f+Hh4SEiIiLEs88+KzZt2uSQ15eTrDO/crvde8ZSQkKC6N27twgMDBSenp6iUaNGYuPGjTmue8OGDaJRo0bC09NTBAYGit69e4vLly9nizOZTGLatGmiYsWKws3NTYSGhopXX31V3Lx5U/p13O81ZMl6f3K7jRs3Ls/n2blzp3j66adFWFiYcHd3F97e3qJWrVrivffey/FMRZm8hBDi9ddfF5qmiaNHj973+XPbl3I7w0xmH7v37D8hhLh9+7YYOXKkCA4Otr7Pu3fvFgEBAWLEiBH5yufMmTOiTZs2ws/PTwAQERER932t9pLX2bL3nj0IIMezFGX353vldfafj49PtuXNmzcX1apVy7Y8IiJCdOjQIdfn4Nl/VNhoQjzA7FkiKpIaNGiAiIgIfPPNN85OJVe7du1C06ZN8eWXX+LFF190djouY+vWrWjZsiU2bdqE5s2bP/BZq/cymUyIj49Hq1at8M0339iMgBK5Oh7+IyIlSUlJ+O233wpUt+yNGzdi9+7dqFu3Lry8vPDbb79h2rRpqFSpErp16+bs9FxSq1atANw5CcJeh+8PHTqkND+MyNVwpIqIXN4vv/yC119/HX/++SeSk5MRFBSEtm3bYurUqQgNDXV2ei4lOTkZx44ds/5ctWpVeHt722Xd6enp1isZAECFChVQvHhxu6ybqCBgUUVERERkB7z2HxEREZEdsKgiIiIisgMWVURERER2UOjP/rNYLLh48SL8/Pwe+EKiREREeRFCIDk5GWFhYQ/lguX301MfBB/osMh8Je9gemCFfqL6+fPnUaZMGWenQURERcy5c+fyvOqBIx08eBCN6tSFBuDoqZPS12Cl/Cv0RVViYiKKFSuGz344A28f/zzjNU1tcxSEwS+Vd1AI+YQtinuGRWXdCutVeX1mi3wOBr38ivVQ2xh6hT9O7zTEl4xVzMPVqHyelLabwudar8nvnaqff53CuvUqOevMCuuVz0Fluyl/dyrsyyr7vU7h20XAMV/gqSnJaN2sDm7duoWAgACHPEdehBCorfdFBXggCWYYIbDVkuSUXIqSQn/4L+uQn7ePP7x9WVQVmKJKKWf5WIcVVYr7BYuq/FH5POlZVP0bq1BUGZSKKpVtUUCKKoWcHVVUZXHmlJN169bhlLiNsfpQ3IYFr5jPYN++fXZr5Eo540R1IiKiQsRsNuPVp7rgBV0J+Gp6BGlu6KwVR9/6zVDID045HYsqIiKiQmSke2nchsBT2r+HHp/RFcdZZOLHH390YmaFH4sqIiKiQiI1NRXLLNcQrQuCm/bvr3gfTY8eukAM7vgMTCaTEzMs3FhUERERFRKD/CMQBDc8rvlmu6+9VgxmCIzwKO2EzIqGQj9RPYtOJ5QmBEuvV2ECpVlhIrejJpQ78nC6ymRgqEwQddDkZZWJsioTz4GCMfncEft7fqhMuFaaqK4y4VphWyjlq/jeOWqiuiMnlLsak9A7ZL0qk9pNcEwOebly5QpWW25inD4sx0nyBk1DH10Q5lmuYGpKCnx9sxde9GA4UkVERFQI9AupjFqaF6pr3rnGNNZ8EQY3DPSPeIiZFR0sqoiIiFzcsWPHsFEkIVpX8r5xmqahr74kYsVNXLp06SFlV3SwqCIiInJxfR6tiyc1f5TR3POMfVTzQh3NB/1KP/oQMitaWFQRERG5sB07duA3kYYXdSWkHxOtC8JmkYQ///zTgZkVPSyqiIiIXJQQAi8/3hrddIEorsmfe1Zac0dbLQB9qjdwYHZFD4sqIiIiF7Vq1SpchRFdteLKj31BVwJHRDq2bt1q/8SKKBZVRERELigzMxP/6d4TL+mC4Kmp/zoP0PR4TheIAS3bwWJRucw95abI9KmSpdozyKLQu8SRFzN2BNVrgar0iNIrbOeCcNHqgkKp/5XCdnPUBYcBtZyVLrKr1OqsYPR8Ur0wtyuxCMf9jW5S6fHn4IskyzBZHk6fqqFe4XCDhic1/3yvo5NWDD/iFlauXIkePXrYMbuiiSNVRERELiYxMRErLdfRVxcE/QP85emh6dBLVwIjXuyNjIwMO2ZYNLGoIiIicjFHjx6FDhrqaT4PvK6Wmj+uw4Rz587ZIbOijYf/iIiIXJAeGnTuDz42oocGLd35h00LA45UEREREdkBR6qIiIhckQboDBxhKkhYVBEREbkgDYDmxgNOBQnfDSIiIiI74EjVPcwK/VAAtd5TKlR6PqlwZM8n1R5fjqDSN6wg5Auo9XEyqPQCU+i3pJKDaq8llb5PjqLSp0rl9am+Mkd9X6i0ZlLJQeX7ULVPlUoejuo9pbJfqPQke1h9qnj4r+BhUUVEROSiNDcWVQUJiyoiIiJXxJGqAodzqoiIiIjsgCNVRERELkmz3+E/DnjZBYsqIiIiV8TDfwUOiyoiIiIXpAHQ9PYpqlia2QfnVBERERHZAUeq7qHex0mlz4n8WlV6KDmq95RKX5aCosD0nlJ4T/Q6+W5HKj2UDArrVeklpdp3ylF/ualkodITyaTYb0mFah88WY76rJos8tvCrBALAGaF7Swc9LFW+YyofE5VttsD0QCdnUaqyD5YVBEREbkoTeUvOHI4FlVEREQuStNzFk9BwneDiIiIyA44UkVEROSiOKeqYGFRRURE5Io0zqkqaHj4j4iIiMgOOFJFRETkgjTw8F9Bw6LqAan0DdLpFGJVelop5FBQek+p9A1S6VFTUHp2OarPmEpfHc1BPbtU3jsAMDskC0Ao9IC2OLD3VEGg8p6o9MqyWFTWq7aNLSp5OOhrS1PIWeUr4OHtb5rdOqqTfbCoIiIiclGarnD/weBq+G4QERER2QGLKiIiIlf0/2f/2eOmckXlqVOnon79+vDz80NwcDC6dOmCY8eO2cSkpKRg6NChCA8Ph5eXFx599FHMnz/fJqZFixbQNM3m9sILL9hjyzgND/8RERG5KGdMVI+Pj8eQIUNQv359mEwmvP3222jTpg3+/PNP+Pj4AABGjBiBLVu2YNmyZYiMjMSGDRswePBghIWFoXPnztZ1DRgwABMnTrT+7OXl9dBfjz2xqCIiInJRzuhTtW7dOpufY2JiEBwcjP3796NZs2YAgN27dyM6OhotWrQAAAwcOBALFy7Evn37bIoqb29vhISEPLTcHY2H/4iIiAiZmZlISkqyuWVkZOT5uMTERABAYGCgdVlUVBTi4uJw4cIFCCGwZcsWHD9+HG3btrV57JdffomgoCBUq1YNo0aNQnJysn1f1EPGooqIiMhFaTqdXW4AsGDBAgQEBNjcpk6det/nF0Jg5MiRiIqKQvXq1a3L58yZg6pVqyI8PBzu7u5o164d5s2bh6ioKGtMz5498dVXX2Hr1q3473//i9WrV6Nbt26O2VAPidMP/124cAFvvvkm1q5di/T0dFSuXBmfffYZ6tatC+DOGzZhwgQsWrQIN2/eRMOGDfHxxx+jWrVqSs+jg5DqHaTSSwpQ61Ol0o9Ir8n3I1LhqD5OqoRCDyWLQtKO6g+l2qdKpUeUWk8y5/epKii9zlRensq2UOl/pdLzSZWj3j+lHFS+s6D6naXQI0phrSrvX4HZl/PLzpepGTRoECZNmmSzzMPD476PGTp0KA4fPowdO3bYLJ8zZw727NmDuLg4REREYNu2bRg8eDBCQ0PRqlUrAHfmU2WpXr06KlWqhHr16uHAgQOoU6eOnV7Vw+XUourmzZto2rQpWrZsibVr1yI4OBgnT55EsWLFrDHTp0/Hhx9+iMWLF6Ny5cqYNGkSWrdujWPHjsHPz895yRMRERUi7u7u8Pf3l44fNmwY4uLisG3bNoSHh1uXp6en46233kJsbCw6dOgAAKhZsyYOHTqEmTNnWouqe9WpUwdubm44ceIEi6r8eP/991GmTBnExMRYl0VGRlr/L4TArFmz8Pbbb1uHBJcsWYJSpUph+fLleOWVVx52ykRERAWCBs2OZ/+pXOVCYNiwYYiNjcXWrVtRrlw5m/uNRiOMRiN09zQm1ev1sFhyH9E8cuQIjEYjQkND1VIvQJw6pyouLg716tXDc889h+DgYNSuXRuffPKJ9f7Tp08jISEBbdq0sS7z8PBA8+bNsWvXrhzXmZGRkW2iHRERUWFktz5VCoYMGYJly5Zh+fLl8PPzQ0JCAhISEpCeng4A8Pf3R/PmzTF69Ghs3boVp0+fxuLFi7F06VJ07doVAHDy5ElMnDgR+/btw5kzZ/DTTz/hueeeQ+3atdG0aVO7b6eHxalF1alTpzB//nxUqlQJ69evx6BBgzB8+HAsXboUAJCQkAAAKFWqlM3jSpUqZb3vXlOnTrWZZFemTBnHvggiIiInsedEdVnz589HYmIiWrRogdDQUOtt5cqV1pgVK1agfv366NmzJ6pWrYpp06Zh8uTJGDRoEIA7hxp//vlntG3bFlWqVMHw4cPRpk0bbNq0CXq93q7b6GFy6uE/i8WCevXqYcqUKQCA2rVr48iRI5g/fz569+5tjdPumS0phMi2LMvYsWMxcuRI689JSUksrIiIiOxESFzlPiQkxGZqz73KlCmD+Ph4e6ZVIDh1pCo0NBRVq1a1Wfboo4/i7NmzAGBtCHbvqNSVK1eyjV5l8fDwgL+/v82NiIio0LHnZWrILpxaVDVt2jTb9YKOHz+OiIgIAEC5cuUQEhKCjRs3Wu/PzMxEfHw8mjRp8lBzJSIiKmhYVBUsTj38N2LECDRp0gRTpkxB9+7d8euvv2LRokVYtGgRgDuH/V577TVMmTIFlSpVQqVKlTBlyhR4e3vjxRdfVHoug94CN33efVRU+zip9DlR6aGk2i9LVkHofQNAqfGMKx5dV+mVY5EYSs+iqWw4pVCFPk4O7M2kst1UKPUjUgh10zmmn1xB4dj3Wn7bWRz0taVSS+g1s3SsSW/MRzb5w4KoYHFqUVW/fn3ExsZi7NixmDhxIsqVK4dZs2ahZ8+e1pg33ngD6enpGDx4sLX554YNG9ijioiIiAoUp3dUf/rpp/H000/ner+maRg/fjzGjx//8JIiIiJyAapn7pFjOb2oIiIionzQ7Nn8k+yBRRUREZEL0sA5VQUNxw2JiIiI7IAjVURERC7KbnOqOOBlF0WmqNLphEPaFDiqTYJe4RRwldONVU5Zd+Tp1CqUTodXWa8D20sYNPnTxVVen0rOau0+5Dnq/QDU9jmVZgZK+7JCqOpnpCC810oUXp7qr3ZHbQtH5aAiU29yyHpzwsN/BQsP/xERERHZQZEZqSIiIipUNI5UFTQsqoiIiFyUveZUsTSzDxZVRERELoojVQUL51QRERER2QFHqoiIiFySxsvUFDAsqoiIiFyVxsN/BUmRKap0EEo9pWQ5an82WeT/+hAKL8ss5NerV+i1pEplu6n0AtIp5KzSC0y1n40je2A5glLPJ4V9EwAsCvuco/oGqexDKr3cVHrEAYBOYd1K+7Kj+pep9FtT3OdV1u0ojvidAABumtkh680J51QVLBw3JCIiIrKDIjNSRUREVKhodrxMDdkFiyoiIiIXpIGH/woalrhEREREdsCRKiIiIhfFw38FC4sqIiIil6Tx8F8Bw6KKiIjIFfGCygVOkSmqLNBgccAlI4XFMTu0Su8plb46Kr1kjEIvn4TiulX6VKn01TEojISrrFe1B49SLyClNTuGWaGPU0Gh0v8q3Sj/VaeyLVR/n+kU9gt3vUlhxfKhBpWuZAqvT7XvlCP74MlS+s5SiNXj4fWpooKlyBRVREREhQ7nVBUoLKqIiIhclMbL1BQoLKqIiIhclP3O/mNxZg8cNyQiIiKyA45UERERuSie/VewcKSKiIjIFWnanYnq9rgp1GZTp05F/fr14efnh+DgYHTp0gXHjh2ziUlJScHQoUMRHh4OLy8vPProo5g/f36O6xNCoH379tA0Dd99990DbBDnY1FFRETkojSdZpebivj4eAwZMgR79uzBxo0bYTKZ0KZNG6SmplpjRowYgXXr1mHZsmU4evQoRowYgWHDhmHNmjXZ1jdr1qxCM+G+yBz+M1t0MFvyriEtau2IIFyuv498viq9sgC1M3s9dPJ9XHQ6hf4wmvx6VfocGXRqPXUc1QNLpSfZ9XRv6ViLg/qtAYCbXn7bZZjle6Op5JyWKf9ep6TLrzc4QK0fkcq+rPL5c3PPkI5V6cOlKXxGVHu5OapPlaN6Tzkq1hWtW7fO5ueYmBgEBwdj//79aNasGQBg9+7diI6ORosWLQAAAwcOxMKFC7Fv3z507tzZ+tjffvsNH374Ifbu3YvQ0NCH9hochSNVRERELkrTdHa5AUBmZiaSkpJsbhkZeRfsiYmJAIDAwEDrsqioKMTFxeHChQsQQmDLli04fvw42rZta41JS0tDjx498L///Q8hISF23jLOwaKKiIjIVek0+9wALFiwAAEBATa3qVOn3vfphRAYOXIkoqKiUL16devyOXPmoGrVqggPD4e7uzvatWuHefPmISoqyhozYsQINGnSxGbkytUVmcN/RERElLtBgwZh0qRJNss8PDzu+5ihQ4fi8OHD2LFjh83yOXPmYM+ePYiLi0NERAS2bduGwYMHIzQ0FK1atUJcXBw2b96MgwcP2v11OBOLKiIiIhekwZ7NPwF3d3f4+/tLxw8bNgxxcXHYtm0bwsPDrcvT09Px1ltvITY2Fh06dAAA1KxZE4cOHcLMmTPRqlUrbN68GSdPnkSxYsVs1vnMM8/g8ccfx9atW+3xkh46FlVERESuSHNOnyohBIYNG4bY2Fhs3boV5cqVs7nfaDTCaDRCd0/Bp9frYbHcOUFhzJgxePnll23ur1GjBj766CN07NhRKo+TJ08iJiYGJ0+exOzZsxEcHIx169ahTJkyqFat2gO8wvxjUUVEROSqtIc/NXrIkCFYvnw51qxZAz8/PyQkJAAAAgIC4OXlBX9/fzRv3hyjR4+Gl5cXIiIiEB8fj6VLl+LDDz8EAISEhOQ4Ob1s2bLZirScxMfHo3379mjatCm2bduGyZMnIzg4GIcPH8ann36KVatW2fdFS+JEdSIiIpI2f/58JCYmokWLFggNDbXeVq5caY1ZsWIF6tevj549e6Jq1aqYNm0aJk+ejEGDBtklhzFjxmDSpEnYuHEj3N3drctbtmyJ3bt32+U58qPIjFSZzRpMZvsPkxaEfmUq/WxU8lXpLwSo9XJy18v398lU6F2UaPSUjlXpc6S6LYp7pknHGi0KvZkU+gbdNsqv98hJ6VCk31brzeThIZ9HRob8dhYKTeU8veRzSEk2SscmBsvvbwBQPkz+9XkqfDur9EVTodKHTyh+GTqsx19B+E5+aEmoN+60ByHxSyckJAQxMTF2X2+W33//HcuXL8+2vGTJkrh+/brS89oTR6qIiIhclb0uU+NiihUrhkuXLmVbfvDgQZQuXdoJGd3heluSiIiIAACaptnl5mpefPFFvPnmm0hISICmabBYLNi5cydGjRqF3r17Oy0vFlVERETkUiZPnoyyZcuidOnSSElJQdWqVdGsWTM0adIE77zzjtPyKjJzqoiIiAodFzx096CEELh48SI++eQTvPfeezhw4AAsFgtq166NSpUqOTU3FlVERESuyEl9qpxNCIFKlSrhyJEjqFSpEsqXL+/slKyKXolLRERUWGg6+9xciE6nQ6VKlZx6ll9uXGtLEhERUZE3ffp0jB49Gn/88YezU7FRZA7/aZpcjya9Tq3fiwb5eJUTLPSafD8bnULOKvmq9J1SlXhbvr9PSoZ8j6H0DPm/EzLk2xGhdKBCsAOlGd2kY1V6T+3dJh+cfOOW/IoBZKSmS8d6+HhJx+r08vtFQFBx6djQckHSscJy/4vN3sugd8znz6zQ60yn8N1iUeh/pVPsO2WCfM4qfbj0QuF7SyFlle/Oh0cDiuDhPwB46aWXkJaWhlq1asHd3R1eXrbfHTdu3HBKXkWmqCIiIipsNBc7dGcvs2bNcnYKOWJRRURERC4lOjra2SnkiEUVERGRqyqih//Onj173/vLli37kDKxxaKKiIjIFWmAVgT7VAFAZGTkfTvBm81q1yi1FxZVRERErsoFLzFjDwcPHrT52Wg04uDBg/jwww8xefJkJ2UlWVR169ZNecULFixAcHCw8uOIiIiI7qdWrVrZltWrVw9hYWGYMWNGvuoWe5Aqqr777jt079492ymLuVm+fDlSUlJYVBERETlSET38l5vKlStj7969Tnt+6cN/c+bMkS6SVq1aJRU3fvx4TJgwwWZZqVKlkJCQAABISUnBmDFj8N133+H69euIjIzE8OHD8eqrr8qmbeXpZoKXmynPOJUeLoBaLxmDSu8phVi9Tv7YsR4KvW8Ue8OaLPJHk1X6zpgt8sPbSr3AFF6eh5va8XkPfaZ07LV0+R5KVxLdpWPPn7sln8O5S9KxjmSxyO8XwWVLSsdWqBoiHftIBfleYCV88/5OuZu/R4Z0rEnI76CZZvmeT3qFic0q329qWwKAwutT+SYyO+h71k0n/wotD62vtmQDRtl1uZCkpCSbn4UQuHTpEsaPH+/U6/9J/RbcsmULAgMDpVe6du1alC5dWiq2WrVq2LRpk/Vn/V0N/UaMGIEtW7Zg2bJliIyMxIYNGzB48GCEhYWhc+fO0vkQEREVRnabqO5aNRWKFSuWbaK6EAJlypTBihUrnJSVZFHVvHlzpZVGRUXJJ2AwICQk578id+/ejejoaLRo0QIAMHDgQCxcuBD79u1jUUVERFREbdmyxeZnnU6HkiVLomLFijAYnHcOXr6e2WKx4O+//8aVK1dgsdgOnzZr1kxpXSdOnEBYWBg8PDzQsGFDTJkyxXrF6aioKMTFxaFfv34ICwvD1q1bcfz4ccyePTvX9WVkZCAj498h9nuHCImIiAqNItpRXdM0NGnSJFsBZTKZsG3bNuVaxF6Ui6o9e/bgxRdfxD///AMhbOc/aJqm1BuiYcOGWLp0KSpXrozLly9j0qRJaNKkCY4cOYISJUpgzpw5GDBgAMLDw2EwGKDT6fDpp5/edyRs6tSp2eZpERERFUpFtPlny5YtcenSpWxzvRMTE9GyZUvX6VM1aNAg1KtXDz/++CNCQ0Pv23wrL+3bt7f+v0aNGmjcuDEqVKiAJUuWYOTIkZgzZw727NmDuLg4REREYNu2bRg8eDBCQ0PRqlWrHNc5duxYjBw50vpzUlISypQpk+8ciYiIqGARQuRYf1y/fh0+Pj5OyOgO5aLqxIkTWLVqFSpWrGj3ZHx8fFCjRg2cOHEC6enpeOuttxAbG4sOHToAAGrWrIlDhw5h5syZuRZVHh4e8PBQu3I8ERGRy9GK3gWVs/pPaZqGPn362Py+N5vNOHz4MJo0aeKs9NSLqoYNG+Lvv/92SFGVkZGBo0eP4vHHH4fRaITRaITunjMb9Hp9tnlcMjwNmfA05H2au0rbA0CtnYFBU2l9IB+r1H5BYb2aQvsFAND08qfD++jTpGNLentKx5ot8qeWq5yyrrpfZFrkT8s/d02+TcIvv1yTjv1rzxHpWEdSOTsptLzcWcMAEFlJvqVCqZLy74eHm/x+nJopv78BwG2jXK8/ADAptBJRaTtiUPicGnTysd7uaodbPA1G6Vg3lbYxCjmrMAmF7xao7RcPpIgd/gsICABwZ6TKz8/Ppn+mu7s7GjVqhAEDBjgrPbmi6vDhw9b/Dxs2DK+//joSEhJQo0YNuLnZflnVrFlT+slHjRqFjh07omzZsrhy5QomTZqEpKQkREdHw9/fH82bN8fo0aPh5eWFiIgIxMfHY+nSpfjwww+ln4OIiKhw0orcRPWYmBgAd679N2rUKKce6suJVFH12GOPQdM0m4np/fr1s/4/6z7Viernz59Hjx49cO3aNZQsWRKNGjXCnj17EBERAQBYsWIFxo4di549e+LGjRuIiIjA5MmTMWjQIOnnICIiosJl3Lhxzk4hR1JF1enTpx3y5Hk16AoJCbFWpURERHSPInpBZeDO1Vu+/vprnD17FpmZttN7Dhw44JScpMYNIyIirLd//vkHpUuXtlkWERGB0qVL459//nF0vkRERJRFp7PPzcXMmTMHffv2RXBwMA4ePIgGDRqgRIkSOHXqlE1ngYdNeUu2bNkSN27cyLY8qzcEERERPSSazj43FzNv3jwsWrQI//vf/+Du7o433ngDGzduxPDhw5GYmOi0vJS3ZEHtDUFERERFw9mzZ62tE7y8vJCcnAwA6NWrF7766iun5SXdUqGg94YgIiIqUjQUuZYKWUJCQnD9+nXrFKQ9e/agVq1aOH36dLarvTxM0kVVQe8NkRdvfQZ8DLfzjNMp9mbSK/SeUlm3TqGflFAYcBQKlyLXaWo7pt5iko510+R71KiMp2Zo8j2fzCb52MupaqOwt1LlW8D9dTxVOvbiyUtKeRQEQWVyvmD6g7p+VX67Xb4ofw3QtOR06ViLRe0zovJlb3CT34fc3OVjS4UFSMeWCJJvpBxcQv7zBAAhxeS/i/w88u4xmEWD/HeLpvAdp1f4/laJfTBFr6VClieeeALff/896tSpg/79+2PEiBFYtWoV9u3bZx0EcgbpT2JMTAyEEBBCYO7cufDz83NkXkRERJQXJ5z9N3XqVHz77bf466+/4OXlhSZNmuD9999HlSpVrDEpKSkYM2YMvvvuO1y/fh2RkZEYPnw4Xn31VWvMK6+8gk2bNuHixYvw9fW1rueRRx7JM4dFixZZG4EPGjQIgYGB2LFjBzp27OjUtktKJa4QAsuXL0dCQoKj8iEiIqICLD4+HkOGDMGePXuwceNGmEwmtGnTBqmp/44ejxgxAuvWrcOyZctw9OhRjBgxAsOGDcOaNWusMXXr1kVMTAyOHj2K9evXQwiBNm3a5Nnv0mQy4b333sOlS/+O3Hfv3h1z5szB8OHD4e6uNmpqT0pFlU6nQ6VKlXD9+nVH5UNERESynNBSYd26dejTpw+qVauGWrVqISYmBmfPnsX+/futMbt370Z0dDRatGiByMhIDBw4ELVq1cK+ffusMQMHDkSzZs0QGRmJOnXqYNKkSTh37hzOnDlz3+c3GAyYMWOGUrPxh0X5YOz06dMxevRo/PHHH47Ih4iIiGRpmn1uADIzM5GUlGRzy8jIyDOFrBYGgYGB1mVRUVGIi4vDhQsXIITAli1bcPz4cbRt2zbHdaSmpiImJgblypVDmTJl8nzOVq1aYevWrRIb6OFSvqDySy+9hLS0NNSqVQvu7u42E9YB5NjDioiIiAq2BQsWYO7cuTbLxo0bh/Hjx+f6GCEERo4ciaioKFSvXt26fM6cORgwYADCw8NhMBig0+nw6aefIioqyubx8+bNwxtvvIHU1FQ88sgj2Lhxo9Thu/bt22Ps2LH4448/ULdu3WwtnTp16iTxiu1PuaiaNWuWA9IgIiIiZXY8+2/QoEGYNGmSzbK72yflZOjQoTh8+DB27Nhhs3zOnDnYs2cP4uLiEBERgW3btmHw4MEIDQ1Fq1atrHE9e/ZE69atcenSJcycORPdu3fHzp074enped/nzZrw/uGHH2a7T/U6xPakXFRFR0c7Ig8iIiJSZcdLzLi7u8Pf3186ftiwYYiLi8O2bdsQHh5uXZ6eno633noLsbGx6NChAwCgZs2aOHToEGbOnGlTVAUEBCAgIACVKlVCo0aNULx4ccTGxqJHjx73fe6sM/8KGuWiCrjT7PO7777D0aNHoWkaqlatik6dOkGv19s7P7tx04xSvZFU+1RpkO9zolPpaSXk8xAKOQuF0281BzZQ00O+p5VOJ7/dzBb5fVCv0KPG06D2V4+vp/x29vJ2k45183DeWS35de2c/NnCooB+UTqDp698b7RSkaHSsW7u8r+ES5eS348DfRR6zwEo7pUmHeum8B2g0ovPTZP/HtIr9A40KHy/PZC75kM9TEIIDBs2DLGxsdi6dSvKlStnc7/RaITRaITunoJPr9fnWQwJIaTmcd3t9u3beY5sPSzKRdXff/+Np556ChcuXECVKlUghMDx48dRpkwZ/Pjjj6hQoYIj8iQiIqICYMiQIVi+fDnWrFkDPz8/a5ulgIAAeHl5wd/fH82bN8fo0aPh5eWFiIgIxMfHY+nSpdbDdadOncLKlSvRpk0blCxZEhcuXMD7778PLy8vPPXUU3nmYDabMWXKFCxYsACXL1/G8ePHUb58efz3v/9FZGQk+vfv79BtkBvlccPhw4ejQoUKOHfuHA4cOICDBw/i7NmzKFeuHIYPH+6IHImIiCgnTrig8vz585GYmIgWLVogNDTUelu5cqU1ZsWKFahfvz569uyJqlWrYtq0aZg8ebK1Maenpye2b9+Op556ChUrVkT37t3h4+ODXbt2ITg4OM8cJk+ejMWLF2P69Ok2E9tr1KiBTz/9VOn12JPySFV8fDz27Nljc+pkiRIlMG3aNDRt2tSuyREREdF9OOnwX15CQkIQExOT6/1hYWH46aef8p3D0qVLsWjRIjz55JM2HdRr1qyJv/76K9/rfVDKRZWHh4f1atB3S0lJcWoXUyIioiLHbhPVXevCzBcuXEDFihWzLbdYLDAa1eb32ZPyu/H0009j4MCB+OWXX6zXAtyzZw8GDRrktL4QREREVHRUq1YN27dvz7b8m2++Qe3atZ2Q0R3KI1Vz5sxBdHQ0GjduDDe3O2ctmUwmdOrUCbNnz7Z7gkRERJQzlTO6C5Nx48ahV69euHDhAiwWC7799lscO3YMS5cuxQ8//OC0vJSLqmLFimHNmjU4ceIE/vrrLwghULVq1RyH4YiIiMiB7Nj805V07NgRK1euxJQpU6BpGt59913UqVMH33//PVq3bu20vPLVpwoAKlWqhEqVKtkzF4fSwwgD8j7Oqin0LgLU+klpCj14VPpfKXFc6ylYNIUeUUKhj4tCzl6afO8bH7cU6VizKCmfBACjWf6Lzs9X/mMYEiGfhzEjUzo26arjLi/F3lP5czslVTrWP1C+p1VIKfm5r6X85fchP4/b0rEA4K5T6FWnOWYfUuo9pdDTSiX2wWhFtqgCgLZt2+Z6LUFnUS6qzGYzFi9ejJ9//hlXrlzJ1shr8+bNdkuOiIiIKDf79u2zNiJ/9NFHUbduXafmo1xU/ec//8HixYvRoUMHVK9eHVoRPZ5LRETkbEV1TtX58+fRo0cP7Ny5E8WKFQMA3Lp1C02aNMFXX32FMmXKOCUv5aJqxYoV+Prrr6U6nhIREZGDaLDf4T8Xq8369esHo9GIo0ePokqVKgCAY8eOoV+/fujfvz82bNjglLyUiyp3d3dOSiciIiKn2b59O3bt2mUtqACgSpUqmDt3rlMbkSuXuK+//jpmz54t1VGViIiIHCjrosoPenMxZcuWzbHJp8lkQunSpZ2Q0R3KI1U7duzAli1bsHbtWlSrVs3aqyrLt99+a7fkiIiI6D7s1lHdtUyfPh3Dhg3Dxx9/jLp160LTNOzbtw//+c9/MHPmTKflla8+VV27dnVELkRERKSgqE5U79OnD9LS0tCwYUMYDHdKGZPJBIPBgH79+qFfv37W2Bs3HNcy5l7KRdX9LpB4t507d6JevXrw8PBQTsoR9DBL9SRR6SUFADoh3+fEYb2nHEQozlzUK/TsUtluKv2vPC3yvX2Mek/pWINObb/w8ZC/9lRYsFveQf/PbA5QykPWGbP8+5F6I9EhORQFOoP8vlyreU3p2MhIP+nYcqHy73WAQu8pd718TytVeoU+VUr9pCAfq0Glz6D8Nqb8mTVrlrNTyFG+m3/mpX379jh06BDKly/vqKcgIiIqwopu88/o6Ghnp5AjhxVVnMhORETkWKKIFlVZrly5kmMj8po15Ud67clhRRURERE5WBGdU7V//35ER0fj6NGj2QZxNE2DWWFKgz2xqCIiIiKX0rdvX1SuXBmfffYZSpUqVWCu7sKiioiIyEUV1cN/p0+fxrffflvgmpE77N0oKFUjERFRoaShyDb/fPLJJ/Hbb785O41sOFGdiIiIXMqnn36K6Oho/PHHH6hevXq2RuSdOnVySl7KRVV6ejqEEPD29gYA/PPPP4iNjUXVqlXRpk0ba1xycrL9srQDvTBBb8m7d5BqLymVfkuUP47qaWWGfKy3Pl06VlWpAPmPocnsLh9r8peOvZ0WIh17IVO+tw8A3E6R7x2m0sepeEhJ6Vi/QPk+TsVK+EjH+gfI9zoDgIAA+Z5kZULkRw+Kecu/J4HeadKxKr2ndKrfnQ7qPSXTj/DfHBT6DCoMFOgUelo9sCJ6+G/Xrl3YsWMH1q5dm+0+Z05UV343OnfujKVLlwIAbt26hYYNG+KDDz5A586dMX/+fLsnSERERDnRIDT73FzN8OHD0atXL1y6dAkWi8Xm5qyCCshHUXXgwAE8/vjjAIBVq1ahVKlS+Oeff7B06VLMmTPH7gkSERFRLjSdfW4u5vr16xgxYgRKlSrl7FRsKG/JtLQ0+PndGUrfsGEDunXrBp1Oh0aNGuGff/6xe4JEREREd+vWrRu2bNni7DSyUZ5TVbFiRXz33Xfo2rUr1q9fjxEjRgC409XU319+DgcRERE9GNVrtBYWlStXxtixY7Fjxw7UqFEj20T14cOHOyUv5aLq3XffxYsvvogRI0bgiSeeQOPGjQHcGbWqXbu23RMkIiKinBXVPlWffvopfH19ER8fj/j4eJv7NE1znaLq2WefRVRUFC5duoRatWpZlz/55JPo2rWrXZMjIiKi+yiiRdXp06ednUKO8vVuhISEwM/PDxs3bkR6+p1TzevXr49HHnnErskRERER5SYzMxPHjh2DyaTW6sVRlEeqrl+/ju7du2PLli3QNA0nTpxA+fLl8fLLL6NYsWL44IMPHJHnA9MLE/Qi742u0otElSbke5eo9suSpXL8XXVYWeW0XJXtrLItVGINIu++ZVlUt4VRJ//RCvSU7+OkBcq/Pr3OQzo20xgoHevlI79eVW4e8n2qSpb0lo718JB///x95WNLBKj1I/LzlD/V26CTX7eXm2N+oViE/LZw08n3tAIAvUKPKJXeU3rIbwul3lMK/fL0D6l/oYDa925hkpaWhmHDhmHJkiUAgOPHj6N8+fIYPnw4wsLCMGbMGKfkpTxSNWLECLi5ueHs2bPWBqAA8Pzzz2PdunV2TY6IiIhyo0FoOrvc4GIT3seOHYvffvsNW7duhafnv014W7VqhZUrVzotL+WRqg0bNmD9+vUIDw+3WV6pUiW2VCAiInqYiuhI1XfffYeVK1eiUaNGNtcarlq1Kk6ePOm0vJRHqlJTU21GqLJcu3YNHh6OOyxAREREzjd16lTUr18ffn5+CA4ORpcuXXDs2DGbmJSUFAwdOhTh4eHw8vLCo48+anPVlRs3bmDYsGGoUqUKvL29UbZsWQwfPhyJiYlSOVy9ehXBwcHZlqemptoUWQ+bclHVrFkz62VqgDunLlosFsyYMQMtW7a0a3JERESUO/sd/pMXHx+PIUOGYM+ePdi4cSNMJhPatGmD1NR/54eOGDEC69atw7Jly3D06FGMGDECw4YNw5o1awAAFy9exMWLFzFz5kz8/vvvWLx4MdatW4f+/ftL5VC/fn38+OOP1p+zCqlPPvnE2urJGZQP/82YMQMtWrTAvn37kJmZiTfeeANHjhzBjRs3sHPnTkfkSERERDlwRvPPe+dPx8TEIDg4GPv370ezZs0AALt370Z0dDRatGgBABg4cCAWLlyIffv2oXPnzqhevTpWr15tXUeFChUwefJkvPTSSzCZTDAYci5PnnjiCXz77beYOnUq2rVrhz///BMmkwmzZ8/GkSNHsHv37mx9qx4m5ZGqqlWr4vDhw6hfvz5at26N1NRUdOvWDQcPHkSFChUckSMRERE5WGZmJpKSkmxuGRkZeT4u65BdYOC/ZxFHRUUhLi4OFy5cgBACW7ZswfHjx9G2bdv7rsff3z/XggoAtm7diszMTDRp0gQ7d+5EWloaKlSogA0bNqBUqVLYvXs36tatq/Cq7Ut5pAq406dq4sSJ9s7FoTQhpE6fVWl7oEpliFVTOCVXZ5GPVTn9Vn1LqLw++bWbFdoTqGxjpfdDcWv46NLkgxX+tNG85E8BVznNvriv/HzIaxHFpWMBwCDfJQFpt+VjdQrbzU3hm87DTX4bZ5rURgku3HDLO+j/qWy3QF/5F+jnId/6QO8uvy3MQiFhAAZNfv/UKbRfUOlGo9TmRqkljuN+j9zzRHbtqL5gwQLMnTvXZtm4ceMwfvz4XB8jhMDIkSMRFRWF6tWrW5fPmTMHAwYMQHh4OAwGA3Q6HT799FNERUXluJ7r16/jvffewyuvvCKdb40aNawtFQqKfL0b27dvx0svvYQmTZrgwoULAIAvvvgCO3bsUFrP+PHjoWmazS0kJMQm5ujRo+jUqRMCAgLg5+eHRo0a4ezZs/lJm4iIqHDRNPvcAAwaNAiJiYk2t7Fjx9736YcOHYrDhw/jq6++slk+Z84c7NmzB3Fxcdi/fz8++OADDB48GJs2bcq2jqSkJHTo0AFVq1bFuHHj8nzJycnJ2UbU7r05i/JI1erVq9GrVy/07NkTBw4csA4NJicnY8qUKfjpp5+U1letWjWbjazX//vXzsmTJxEVFYX+/ftjwoQJCAgIwNGjR216UhARERVNGkT+xkZy5O7uDn9/f+n4YcOGIS4uDtu2bbNps5Seno633noLsbGx6NChAwCgZs2aOHToEGbOnIlWrVpZY5OTk9GuXTv4+voiNjY224WRc1K5cuVc7xNCQNM0mM0PpwHrvZSLqkmTJmHBggXo3bs3VqxYYV3epEmTfB0SNBgM2Uansrz99tt46qmnMH36dOuy8uXL33d9GRkZNseAnVmxEhERFTZCCAwbNgyxsbHYunUrypUrZ3O/0WiE0WiE7p5j9Hq9HhbLv4dGk5KS0LZtW3h4eCAuLk56wGTVqlU287cKEuWi6tixY9bZ/Xfz9/fHrVu3lBM4ceIEwsLC4OHhgYYNG2LKlCkoX748LBYLfvzxR7zxxhto27YtDh48iHLlymHs2LHo0qVLruubOnUqJkyYoJwHERGRq3HGZWqGDBmC5cuXY82aNfDz80NCQgIAICAgAF5eXvD390fz5s0xevRoeHl5ISIiAvHx8Vi6dCk+/PBDAHdGqNq0aYO0tDQsW7bM5rBdyZIlbY5a3atp06Y59qgqCJTHDUNDQ/H3339nW75jx448R5Hu1bBhQyxduhTr16/HJ598goSEBDRp0gTXr1/HlStXkJKSgmnTpqFdu3bYsGEDunbtim7dut33dMmxY8faHA8+d+6c6kskIiJyCc7oUzV//nwkJiaiRYsWCA0Ntd7uvjzMihUrUL9+ffTs2RNVq1bFtGnTMHnyZAwaNAgAsH//fvzyyy/4/fffUbFiRZv1uPLvbeWRqldeeQX/+c9/8Pnnn0PTNFy8eBG7d+/GqFGj8O677yqtq3379tb/16hRA40bN0aFChWwZMkSvPDCCwCAzp07Y8SIEQCAxx57DLt27cKCBQvQvHnzHNfp4eHBzu5ERFQkOKNPlZA4kz4kJAQxMTG53t+iRQup9dwrIiLivqNYzqZcVL3xxhtITExEy5Ytcfv2bTRr1gweHh4YNWoUhg4d+kDJ+Pj4oEaNGjhx4gSCgoJgMBhQtWpVm5hHH31U+SxDIiIicn2nT592dgr3pVRUmc1m7NixA6+//jrefvtt/Pnnn7BYLKhatSp8fX0fOJmMjAwcPXoUjz/+ONzd3VG/fv1s1xM6fvw4IiIiHvi57EVTaIqiUpOr/PVh0RWMql2tj4vCdlMYmjbq5EcpleYiqP9BJc2icBTeU5d3I74sOjf598PbIN8gKshbvtcSACRnyp+tm+gu/5V0K0V+u126In8mUHKyfP+kzEy1M4w8POQ/q74KvaduZ8iv199H/v3w9XSXjg3yUejNBsDDXX5fdhSV7yFHxT4IAfv2qaIHp1RU6fV6tG3bFkePHkVgYCDq1av3QE8+atQodOzYEWXLlsWVK1cwadIkJCUlITo6GgAwevRoPP/882jWrBlatmyJdevW4fvvv8fWrVsf6HmJiIgKA2dMVKfcKZe4NWrUwKlTp+zy5OfPn0ePHj1QpUoVdOvWDe7u7tizZ491JKpr165YsGABpk+fjho1auDTTz/F6tWrc+3ISkREROQsynOqJk+ejFGjRuG9995D3bp14ePjY3O/SuOwu/tc5aZfv37o16+fappERESFnjMmqjub0WhEmzZtsHDhwvs2AnUG5aKqXbt2AIBOnTpBu2vY0dldTImIiIoWrUjOqXJzc8Mff/xhU4MUFMpF1ZYtWxyRBxERESkqiiNVANC7d2989tlnmDZtmrNTsaFcVOXWH4qIiIjoYcjMzMSnn36KjRs3ol69etmmImV1bn/YlIuqw4cP57hc0zR4enqibNmybL5JRET0ENjr8N/DaQJhP3/88Qfq1KkD4E6rpbvldVhQ9bqBmqbhwIEDUu2clIuqxx577L4Ju7m54fnnn8fChQulL474MGjCItVHSXUHLQg7okp/KIsm38/GqFcrjlXWrRKrF/J9gzzM8r1yVHIw6eT79dzhmLmFnlDoBaRwVCBFkz/B5LZZbVtkmOQ/U4mp8rHnLxqlYy9fSpGOTbqZKh1rNqm9zz5+XvKxAQr9vRLl35PixeVjA4vJf0Z0OvnXBqj1RvPRyX/HeVrk3z+dkH//NIXu33qL/HfWgyqqh/8eZCrSrVu3MGvWLAQEBOQZK4TA4MGDpeeLKxdVsbGxePPNNzF69Gg0aNAAQgjs3bsXH3zwAcaNGweTyYQxY8bgnXfewcyZM1VXT0RERJKK4kR1e3jhhRekL8o8bNgw6fXmq6XC7Nmz0bZtW+uymjVrIjw8HP/973/x66+/wsfHB6+//jqLKiIiIrKLbt26YfHixfD390e3bt3uG/vtt9/mep/FIj/yCQDJycnSscol7u+//57jccWIiAj8/vvvAO4cIrx06ZLqqomIiEiBgGaXmysICAiwTj8KCAi47y0vFy5cyDPmyy+/VM5ReaTqkUcewbRp07Bo0SK4u985Nm80GjFt2jQ88sgjAO4kW6pUKeVkiIiISI7QtCJ1mZqYmJgc/58frVu3xs6dO1G8ePEc71++fDn69u2Lnj17Kq1Xuaj6+OOP0alTJ4SHh6NmzZrQNA2HDx+G2WzGDz/8AAA4deoUBg8erLpqIiIikiUAIYpOUZWXmzdvYtmyZfjss89w6NCh+8YGBwejXbt22Lx5c7Z2DCtWrECfPn3w/vvvK+egXFQ1adIEZ86cwbJly3D8+HEIIfDss8/ixRdfhJ+fHwCgV69eyokQERERqdq0aRM+++wzfPfddwgKCspzvhUA/PDDD2jRogU6d+6MtWvXws3NDQDw9ddfo3fv3pgyZQpGjBihnItyUQUAvr6+GDRoUH4eSkRERHYi1KdGFwpnz55FTEwMYmJikJKSgps3b+Lrr7/GM888I/V4X19frF27Fs2aNcMLL7yAVatWYdWqVXjppZfw3nvvYdSoUfnKK19F1RdffIGFCxfi1KlT2L17NyIiIvDRRx+hfPny6Ny5c74ScTSdMMv1JFHoWwKo9S5ROfatcppsupufdGwq5GNvW9T6VGWY3JTiZek0+TM1vPUZ0rFuOvk+R6pD7Jomv194C/keSgZLpnSsyuRTnV5+G2eY1L42bqbIx19McEx/n7KR8n24oBBrMKjtF2azYzrbGY3y67VY5GMdOV3HZJHfLyw6+e9Dlf1e5fvbYJb/7KnEPij7TTJ3jcOIX3/9NT799FPs3LkTTz31FGbPno327dvDx8cHjz76qNK6SpYsiQ0bNiAqKgqtWrXCjh07MG7cOLz55pv5zk+5xJ0/fz5GjhyJ9u3b4+bNm9aGWMWLF8esWbPynQgRERHR/bz44ouoV68eEhIS8M0336Bz587Wk+ZUHD58GIcPH8bNmzcxY8YM7Ny5E127dkXHjh2t9+V2BZn7UR6pmjt3Lj755BN06dLF5kKG9erVy/dwGREREalzlXYI9tKvXz/MmzcP8fHx6NWrF55//vlcz+C7n6yrwwghrP9+/fXX+OabbyD+fwRT0zTpTupZlIuq06dPo3bt2tmWe3h4IDVV/vIARERE9GCKWlG1aNEizJ49G19//TU+//xzvPbaa2jbti2EEEpNPU+fPu2Q/JSLqnLlyuHQoUPZGoCuXbsWVatWtVtiREREdH9FragCAC8vL0RHRyM6OhonTpzA559/jn379qFp06bo0KEDnn322fueAXj48GFUr14dOsm5ekeOHEGVKlVgMORdMinPqRo9ejSGDBmClStXQgiBX3/9FZMnT8Zbb72F0aNHq66OiIiIKF8qVaqEqVOn4ty5c1i2bBnS0tLQo0eP+z6mdu3auH79uvRzNG7cGGfPnpWKVR6p6tu3L0wmE9544w2kpaXhxRdfROnSpTF79my88MILqqsjIiKifGLzzzt0Oh06duyIjh074sqVK/eNFULgv//9L7y9vaXWnZmpcOandORdBgwYgAEDBuDatWuwWCzSV3omIiIie3Gd6/Y9THnVJM2aNcOxY8ek19e4cWN4eXlJxearqMoSFBT0IA9/qISmU+r9JEtT6Gtl0fTSsbfcSkrHXr1dTDr2SorcjgEA6Rlq2+u2QmsWg/ymUIx1TA8ed4NafyE3hb5PZfzlTwcO1K5Jx3oZ5a+snqmX3y983NR68EQEyW+7ID/5XmcebvKfveIeSdKxFuGYnkgAkJghv52vJMnvFxevOKb/lbvCbwiDTn6fvxMv35PMoMn3lNMgvy3czLflYzPk+8m5ZTyck7YEiuacqge1detWh61b6iNTu3Zt65Wh83LgwIEHSoiIiIjIFUkVVV26dLH+//bt25g3bx6qVq2Kxo0bAwD27NmDI0eO8CLKREREDxFHqgoWqaJq3Lhx1v+//PLLGD58ON57771sMefOnbNvdkRERJSrojxR/datW1i1ahVOnjyJ0aNHIzAwEAcOHECpUqVQunRpp+SkPKfqm2++wb59+7Itf+mll1CvXj18/vnndkmMiIiI7s9SREeqDh8+jFatWiEgIABnzpzBgAEDEBgYiNjYWPzzzz9YunSpU/JSnrnt5eWFHTt2ZFu+Y8cOeHp62iUpIiIiotyMHDkSffr0wYkTJ2xqj/bt22Pbtm1Oy0u5qHrttdfw6quvYujQoVi2bBmWLVuGoUOHYsiQIRgxYoQjciQiIqIciP9vq/CgNxVTp05F/fr14efnh+DgYHTp0iVbi4KUlBQMHToU4eHh8PLywqOPPor58+fbxCxatAgtWrSAv78/NE3DrVu3pHPYu3cvXnnllWzLS5cujYSEBKXXY0/Kh//GjBmD8uXLY/bs2Vi+fDkA4NFHH8XixYvRvXt3uydIREREOXPGnKr4+HgMGTIE9evXh8lkwttvv402bdrgzz//hI+PDwBgxIgR2LJlC5YtW4bIyEhs2LABgwcPRlhYGDp37gwASEtLQ7t27dCuXTuMHTtWKQdPT08kJWVvlXLs2DGULCnfksje8tWnqnv37i5XQGnCAk2o9VGRYTR4SMfe0Mk3ST2XGCgdezlRvrfPjUT5Hi56nVrvG7PC5tUrjJHqFfpU+XjJf8Go9L8Sim2ADDr5PNJN8vvQbXcf6VgvyPepKpZ6UX697vLrBQCju/zr89Tk+/vcdpPfFgaLfJ+jDINcl2UAuGkuLh0LqO1HFgfF3r4t/0HNMMp/UI1mtQMfKqMjRiHfs8usk/+1phnkt4VH+k3pWJ3C/uaK1q1bZ/NzTEwMgoODsX//fjRr1gwAsHv3bkRHR6NFixYAgIEDB2LhwoXYt2+ftah67bXXAOSvb1Tnzp0xceJEfP311wAATdNw9uxZjBkzBs8880z+Xpgd2L8bJhERET0U9jz8l5mZiaSkJJtbRkZGnjkkJiYCAAID/x0MiIqKQlxcHC5cuAAhBLZs2YLjx4+jbdu2dnndM2fOxNWrVxEcHIz09HQ0b94cFStWhJ+fHyZPnmyX58gPqaIqMDAQ167Jd3IuW7Ys/vnnn3wnRURERHkTQrPLDQAWLFiAgIAAm9vUqVPzeH6BkSNHIioqCtWrV7cunzNnDqpWrYrw8HC4u7ujXbt2mDdvHqKiouzyuv39/bFjxw6sXr0a06ZNw9ChQ/HTTz8hPj7eegjSGaTGSW/duoW1a9ciICBAaqXXr1+H2Sx/CQkiIiJSZd9r/w0aNAiTJk2yWebhcf/D90OHDsXhw4ezdQWYM2cO9uzZg7i4OERERGDbtm0YPHgwQkND0apVK7vl/MQTT+CJJ56w2/oelPTB5+joaEfmQURERE7k7u4Of39/6fhhw4YhLi4O27ZtQ3h4uHV5eno63nrrLcTGxqJDhw4AgJo1a+LQoUOYOXOmXYqq4cOHo2LFihg+fLjN8v/973/4+++/MWvWrAd+jvyQOvxnsViUb+XLl3d07kREREWWgH0P/0k/rxAYOnQovv32W2zevBnlypWzud9oNMJoNEKnsy0x9Ho9LBb7nDC2evVqNG3aNNvyJk2aYNWqVXZ5jvzI19l/RERE5Hz2P6c9b0OGDMHy5cuxZs0a+Pn5WftCBQQEwMvLC/7+/mjevDlGjx4NLy8vREREID4+HkuXLsWHH35oXU9CQgISEhLw999/AwB+//13+Pn5oWzZsjaT3nNy/fr1HKck+fv7K80Btzee/UdEROSinDFSNX/+fCQmJqJFixYIDQ213lauXGmNWbFiBerXr4+ePXuiatWqmDZtGiZPnoxBgwZZYxYsWIDatWtjwIABAIBmzZqhdu3aiIuLyzOHihUrZmvtAABr16516pGyIjNSddvgCzc33zzjVCf9WTT5ZkfpRvnL+KRkyK83I1M6FJmZ8n/X6PVq28LLU6VHlHysTqH0d3eTb9jj6S4fa1Ds2eXlZpKO9dDL97Rxg/ybrTflfSp0FoPptkNiAUCXmS4dq78t36fK21P+DJ9Mb/l+UmkGP+lYs1BodgbAZJHfmS0WhT5ORvnPdaZC7O0M+f0+w6T2N7rRLN9fz02T/zylmbykYzMU+gxCfrdAspYiH+yChETDtZCQEMTExNw3Zvz48Rg/fny+chg5ciSGDh2Kq1evWieq//zzz/jggw+cNp8KKEJFFRERUWFjz7P/XEm/fv2QkZGByZMn47333gMAREZGYv78+ejdu7fT8mJRRURE5KKccZmaguLVV1/Fq6++iqtXr8LLywu+vnkfjXK0fM2pOnnyJN555x306NEDV65cAXCnbf2RI0fsmhwRERHR/ZQsWbJAFFRAPoqq+Ph41KhRA7/88gu+/fZbpKTcOXZ8+PBhjBs3zu4JEhERUc7seZkaV7Nq1Sp0794djRo1Qp06dWxuzqJcVI0ZMwaTJk3Cxo0b4e7+70UuW7Zsid27d9s1OSIiIsqdRdjn5mrmzJmDvn37Ijg4GAcPHkSDBg1QokQJnDp1Cu3bt3daXspF1e+//46uXbtmW16yZElcv37dLkkRERHR/QnYb6TK1eqqefPmYdGiRfjf//4Hd3d3vPHGG9i4cSOGDx9uvcCzMyhPVC9WrBguXbqUrYPqwYMHUbp0abslZm8XjGHwycy7/b4jK3azwunUqbflYzWFkVsPD/n1ergrtlRQODvZoHAmusrrczc4pk2CQa+2Y/i6y7cz8NXLtxEISEuQjvVIuSodq6lcq1PidOr80jLl2zXohXxrAE+zfNuKQIUdzt1Trb2Ep9/9Gxrezc9Dfo6Im8FbOvb0eelQuBlUvgMct18YhfyvqttmlV9r8m1uzPpS0rEpmvz7Qflz9uxZNGnSBADg5eWF5ORkAECvXr3QqFEj/O9//3NKXsojVS+++CLefPNNJCQkQNM0WCwW7Ny5E6NGjXLqaYxERERFinBO88+CICQkxHp0LCIiAnv27AEAnD59WqqPlqMoF1WTJ09G2bJlUbp0aaSkpKBq1apo1qwZmjRpgnfeeccRORIREVEOhLDPzdU88cQT+P777wEA/fv3x4gRI9C6dWs8//zzOU5ReliUD/+5ubnhyy+/xMSJE3Hw4EFYLBbUrl0blSpVckR+RERElAuLi56596AWLVpkvTjzoEGDEBgYiB07dqBjx442l8J52PLd/LNChQqoUKGCPXMhIiIiylG3bt2wePFi+Pv7Y9myZXj++edhMNwpY7p3747u3bs7OUPJomrkyJHSK7z7CtRERETkKK45Hyq/fvjhB6SmpsLf3x99+/ZFu3btEBwc7Oy0bEgVVQcPHrT5ef/+/TCbzahSpQoA4Pjx49Dr9ahbt679MyQiIqIcueJ8qPx65JFHMHbsWLRs2RJCCHz99dfw98/5rH5nnTgnVVRt2bLF+v8PP/wQfn5+WLJkCYoXv3Pl95s3b6Jv3754/PHHHZMlERERZeOq3dDzY8GCBRg5ciR+/PFHaJqGd955B1oOLVA0TSvYRdXdPvjgA2zYsMFaUAFA8eLFMWnSJLRp0wavv/66XRO0l6spXkiFV55xmSa1HdSk0N7HYpFft8pfHzqFcziL+cnnoNJLCgDc3eST1qv0iFKIVfmCUcnB30O+7xQAlHC/JR+bLt84yPOGfKwuI106FkaF12dwk491IC0tWT42Xb4XmHfyTelYT++8e9/drZhv8byD/l+Kj3xfJPcSEdKx6RkB0rG+Xgq9wNzkYwHAUy+/z3np5Pdlvbt8HpkW+X3ZLOS/EM0iX5fVpTw0adLE2jpBp9Ph+PHjBe7wn/I7n5SUhMuXL2dbfuXKFWvzLVnjx4+Hpmk2t5CQkBxjX3nlFWiahlmzZqmmTEREVOgIFM3L1JhMJvTu3RsZGWp/7D4MykVV165d0bdvX6xatQrnz5/H+fPnsWrVKvTv3x/dunVTTqBatWq4dOmS9fb7779ni/nuu+/wyy+/ICwsTHn9REREhVVRbP5pMBiwevVqmFWuBPGQKB/+W7BgAUaNGoWXXnoJRuOdSz8YDAb0798fM2bMUE/AYMh1dAoALly4gKFDh2L9+vXo0KFDnuvLyMiwqV6TkpKUcyIiIqKC68knn8TWrVvRp08fZ6diQ7mo8vb2xrx58zBjxgycPHkSQghUrFgRPj4++UrgxIkTCAsLg4eHBxo2bIgpU6agfPnyAACLxYJevXph9OjRqFatmtT6pk6digkTJuQrFyIiIldSlM7+u1v79u0xduxY/PHHH6hbt262GqRTp05OySvfzT99fHxQs2bNB3ryhg0bYunSpahcuTIuX76MSZMmoUmTJjhy5AhKlCiB999/HwaDAcOHD5de59ixY236aiUlJaFMmTIPlCcREVFBVFQ7qr/66qsAcu6NqWma0w4NKhdVLVu2zPEUxiybN2+WXlf79u2t/69RowYaN26MChUqYMmSJWjevDlmz56NAwcO3Pf57uXh4QEPDw/peCIiIldVVEeqsi5RU9AoF1WPPfaYzc9GoxGHDh3CH3/8gejo6AdKxsfHBzVq1MCJEyeg0+lw5coVlC1b1nq/2WzG66+/jlmzZuHMmTMP9FxERERE9qRcVH300Uc5Lh8/fjxSUlIeKJmMjAwcPXoUjz/+OHr16oVWrVrZ3N+2bVv06tULffv2VV63p8EMT0Pew4HuBrWhVKNCXyuzwhkWKkW4m16lP5T8elVpmmP+ZFLpU+Uu8R5n8XOTPx3X302tXUhQ2lnpWKXeUwo9lJCeJh9rMsnHKhJCfmfWVHpgubvLx/7/STVS9PJfizqz2nYzKGwLL7386/P1CZKODS3uLR172yj/haFX/Py76eTfEz/jDelYf4VtnGnIu3dhljSdn3QsdAqfvQfkamfu2cvEiRPve/+77777kDKxle85Vfd66aWX0KBBA8ycOVP6MaNGjULHjh1RtmxZXLlyBZMmTUJSUhKio6NRokQJlChRwibezc0NISEh1svjEBERFWWu1mPKXmJjY21+NhqNOH36NAwGAypUqOD6RdXu3bvh6emp9Jjz58+jR48euHbtGkqWLIlGjRphz549iIiQ7w5MRERUFAlRdOdU3XtNYuDOiWl9+vRB165dnZDRHcpF1b0NPoUQuHTpEvbt24f//ve/SutasWKFUjznUREREVFO/P39MXHiRDz99NPo1auXU3JQLqr8/f1tzsbT6XSoUqUKJk6ciDZt2tg1OSIiIspdUbqgsoxbt24hMTHRac+vXFQtXrzYAWkQERGRqqI6p2rOnDk2P2cdNfviiy/Qrl07J2WVj6KqfPny2Lt3b7ZJ5Ldu3UKdOnVw6tQpuyVHREREdK97OxHodDqULFkS0dHRGDt2rJOyykdRdebMmRw7lWZkZODChQt2SYqIiIjyVlQnqp8+fdrZKeRIuqiKi4uz/n/9+vUICAiw/mw2m/Hzzz8jMjLSrsnZk14vYJDo56TXqbW29/eQj880y9ewJov8cXKVPk56zXFdaHVKeajEym9jT0OmfKxOvk+Vt0WtT5VbuvwxfV3KLfkVJ8tfINyi0KdKGBX6LenU5nBoCv2kNB+FXkBuCn2qNIUGbQp9jqDSVwsAdHrpUL1Zfl/2t8j3cQr2kT9L+3q6r3RsSoba3+i3MuXfa527/HviY5b/7Okt8vu9QS/fV0uvKfRFe0BFtai61z///IPU1FQ88sgj0Okc2JAxD9LP3KVLF3Tp0gWapiE6Otr6c5cuXfDCCy9g48aN+OCDDxyZKxEREd3FIjS73FRMnToV9evXh5+fH4KDg9GlSxccO3bMJiYlJQVDhw5FeHg4vLy88Oijj2L+/Pk2MRkZGRg2bBiCgoLg4+ODTp064fz5+zdDXrJkCWbNmmWzbODAgShfvjxq1KiB6tWr49y5c0qvx56kiyqLxQKLxWJt1Jn1s8ViQUZGBo4dO4ann37akbkSERGRk8XHx2PIkCHYs2cPNm7cCJPJhDZt2iA1NdUaM2LECKxbtw7Lli3D0aNHMWLECAwbNgxr1qyxxrz22muIjY3FihUrsGPHDqSkpODpp5++78WQFyxYYHOkbN26dYiJicHSpUuxd+9eFCtWDBMmTHDMC5egPKeqoB7HJCIiKmqccfhv3bp1Nj/HxMQgODgY+/fvR7NmzQDcaQgeHR2NFi1aALgzmrRw4ULs27cPnTt3RmJiIj777DN88cUX1kvSLVu2DGXKlMGmTZvQtm3bHJ/7+PHjqFevnvXnNWvWoFOnTujZsycAYMqUKfm6lJ29SBVVc+bMwcCBA+Hp6ZntNMZ7DR8+3C6JERERUe4E7FtUZWZmIinJdt6mh4cHPDw87vu4rL5QgYGB1mVRUVGIi4tDv379EBYWhq1bt+L48eOYPXs2AGD//v0wGo02/S3DwsJQvXp17Nq1K9eiKj09Hf7+/tafd+3ahX79+ll/Ll++PBISEiRfsf1JFVUfffQRevbsCU9Pz1wvqAwAmqaxqCIiInpI7NmnasGCBZg7d67NsnHjxmH8+PG5PkYIgZEjRyIqKgrVq1e3Lp8zZw4GDBiA8PBwGAwG6HQ6fPrpp4iKigIAJCQkwN3dHcWLF7dZX6lSpe5bFEVERGD//v2IiIjAtWvXcOTIEes6s9Z79+HBh02qqLr7kB8P/xERERU+gwYNwqRJk2yW5TVKNXToUBw+fBg7duywWT5nzhzs2bMHcXFxiIiIwLZt2zB48GCEhoZaD/flRAhhc9WWe/Xu3RtDhgzBkSNHsHnzZjzyyCOoW7eu9f5du3bZFHcPm/J5hxMnTkRaWvZTtdPT0zFx4kS7JEVERER5E0Kzyw0A3N3d4e/vb3O7X1E1bNgwxMXFYcuWLQgPD7cuT09Px1tvvYUPP/wQHTt2RM2aNTF06FA8//zzmDlzJgAgJCQEmZmZuHnzps06r1y5glKlSuX6nG+++SZefvllfPvtt/D09MQ333xjc//OnTvRo0cP5e1oL8oT1SdMmIBBgwbB29vbZnlaWhomTJiAd999127J2VOEz2X4+ubdt+e2Rb6HCwBkWBR65SjQNPl+Nt4KvZncFPpwqV5TSqWflJtOvj+MUDjd1yTkt1uKyUc6NkOn9j4XM9z/tGAbt9OlQ033fAHdjyVTfr/Qucl/Feg81T4jmpt8LydLYO5fpvdKDSyrlIcsTaFPlUovqTvrlj9WY9HLvydmnfw21hSOF2Wa5f/uTr2t9jd6mpf8Z8pXoSeZ/Kca0An57yx38235WIt8D7wHIuw4p0phPUIIDBs2DLGxsdi6dSvKlStnc7/RaITRaMzWL0qv18NiufP5qlu3Ltzc3LBx40Z0794dAHDp0iX88ccfmD59eq7PrdPp8N577+G9997L8f57i6yHTbmoym1o7rfffrOZpEZERESOZa85VSqrGTJkCJYvX441a9bAz8/POgcqICAAXl5e8Pf3R/PmzTF69Gh4eXkhIiIC8fHxWLp0KT788ENrbP/+/fH666+jRIkSCAwMxKhRo1CjRo37Hh7MyeDBgzFx4kQEBQUpPc4RpIuq4sWLQ9M0aJqGypUr2xRWZrMZKSkpGDRokEOSJCIiooIhq4lnVruELDExMejTpw8AYMWKFRg7dix69uyJGzduICIiApMnT7apEz766CMYDAZ0794d6enpePLJJ7F48WLo9fJHHIA7rRhGjRrlWkXVrFmzIIRAv379MGHCBJvZ9e7u7oiMjETjxo0dkiQRERFl54w+VULiSUNCQhATE3PfGE9PT8ydOzfbGYeOyOdhkS6qoqOjAQDlypVDkyZN4KYwT4KIiIjsrwDVEw+N2WzGjh07ULNmzWwtGZxNeU5V8+bNrf9PT0+H0Wh74ci7m3IRERER2ZNer0fbtm1x9OhRFC9eHMnJahe8dyTllgppaWkYOnQogoOD4evri+LFi9vciIiIyPEE7kxUt8fN1dSoUQOnTp1ydhrZKBdVo0ePxubNmzFv3jx4eHjg008/xYQJExAWFoalS5c6IkciIiLKgRD2ubmayZMnY9SoUfjhhx9w6dIlJCUl2dycRfnw3/fff4+lS5eiRYsW6NevHx5//HFUrFgRERER+PLLL60XNSxogpNOwN+SdweTRL/SSuu9qZM/28Cokz+jIdMs/9ZkmOXnt5kV+jip/vXirpfvJ2VQ6Gml0ntKZVuoxBoU+gABgMkg38tJpQOWuM/V2+9lTpfvq2OWb5UFg+KOoTco9Fvy8pOOve4p/1m9liE/im4S8n9rBvkkSscCgB/k470zbknHqvRb8tHn3a8vS5ivdChKeKl9Rvzc5PPw0snHWhS+LwTk++V5GOVzyFSIfVAW+bZqhUq7du0AAJ06dbLpRpDV9sms8F1pT8pF1Y0bN6yNvvz9/XHjxg0Ady6e+Oqrr9o3OyIiIqJ7bNmyxdkp5Ei5qCpfvjzOnDmDiIgIVK1aFV9//TUaNGiA77//HsWKFXNAikRERJQTVzx0Zw93nzRXkCgXVX379sVvv/2G5s2bY+zYsejQoQPmzp0Lk8lk7ZRKREREDuai86HsKS0tDWfPnkXmPZflqlmzplPyUS6qRowYYf1/y5Yt8ddff2Hfvn2oUKECatWqZdfkiIiIKHeueOaePVy9ehV9+/bF2rVrc7zfWXOqlM/+u1fZsmXRrVs3BAYGol+/fvbIiYiIiChXr732Gm7evIk9e/bAy8sL69atw5IlS1CpUiXExcU5LS/lkarc3LhxA0uWLMHnn39ur1USERHRfRSkS7Q8TJs3b8aaNWtQv3596HQ6REREoHXr1vD398fUqVPRoUMHp+T1wCNVRERE9PAJFN0+VampqQgODgYABAYG4urVqwDuNAU9cOCA0/Ky20hVQZfmHQS9d95NVzJ0XkrrdUdm3kH/z1dha7vp5I8Hq/S0UunBo5IDAOg1+U+mphDrrhnzDvp/Ok2+aYu/W6p0bIDlunQsAHhdPisda7p8WTrWclu+95TKZAuLwvwDU4r8dlON9yopv91KeMn3nkpzk/9cJ2Z4S8dmWlT7lyn0lNPLdzDTW+T7LbnrMqRjdXqFz5NCLADoIB/vbpJvpGbRFPpUafLfhzqLwveQwvvxoIpqn6oqVarg2LFjiIyMxGOPPYaFCxciMjISCxYsQGhoqNPyKjJFFRERERUOr732Gi5dugQAGDduHNq2bYsvv/wS7u7uWLx4sdPyki6qunXrdt/7b9269aC5EBERkQJXPHRnD3dfvaV27do4c+YM/vrrL5QtWxZBQfJXOrE36aIqICAgz/t79+79wAkRERGRnKLaUiFLZmYmTp8+jQoVKqBOnTrOTke+qIqJiXFkHkRERERS0tLSMGzYMCxZsgQAcPz4cZQvXx7Dhw9HWFgYxowZ45S8ePYfERGRiyqqZ/+NHTsWv/32G7Zu3QpPz38vYN+qVSusXLnSaXlxojoREZErEoAoosf/vvvuO6xcuRKNGjWCpmnW5VWrVsXJkyedlleRKapSDf7QufnlGZdiybvtwt3cNPlTZ1XaCHjo5Fs1qNAs8qcbu+vUTgv21Mufqu2lS5OONSicyuydeUs61jNNvk2C29Xz0rEAYDpzSjrWeDNROtZilN8WKl+2Kus1pap9iXsE3n8+pu3K5fPQK+wXKp+9DLP8Z+S2Wb7tAQC46XykY/UG+c+fTsi3xPAyJkvHOpJK6wOj3sOBmchRaZOgPaSWCgJFd07V1atXrX2q7paammpTZD1sPPxHRERELqV+/fr48ccfrT9nFVKffPIJGjdu7Ky0is5IFRERUWHjivOh7GHq1Klo164d/vzzT5hMJsyePRtHjhzB7t27ER8f77S8OFJFRETkoiwWYZebq2nSpAl27tyJtLQ0VKhQARs2bECpUqWwe/du1K1b12l5caSKiIjIRRXVkSrgznX+sloqFBQcqSIiIiKyA45UERERuaiiNlKl0+nyPLtP0zSYTA/votZ3Y1FFRETkoixFrKqKjY3N9b5du3Zh7ty5EE7cJkWmqEoVvtAkelClmTzzjLmbm06+P4xK7ymDQv8rlYO4XnqLdKy3liq/YgCeJvl47+Rr0rEety5Jx2pJN6VjzVcSpGMzk1OkYwHAYpR//4xp6Qorln//NL18HyA3f/n+bHoPxd5MOfSSyY2lWEnp2FTPQOnYNKP859pkKRizItws8n3fPDPle0/pjbfzk06eLAa1/cKkV/uulaXSs0ul15nO7JhYUtO5c+dsy/766y+MHTsW33//PXr27In33nvPCZndUTC+PYiIiEiNAITFPjdXdPHiRQwYMAA1a9aEyWTCoUOHsGTJEpQtW9ZpObGoIiIickECgBDCPjdnvxgFiYmJePPNN1GxYkUcOXIEP//8M77//ntUr17d2akVncN/REREhY3CjIBCYfr06Xj//fcREhKCr776KsfDgc7EkSoiIiKSNnXqVNSvXx9+fn4IDg5Gly5dcOzYMZsYTdNyvM2YMcMac/LkSXTt2hUlS5aEv78/unfvjsuXL9/3uceMGYPbt2+jYsWKWLJkCbp165bjzVlYVBEREbkoex3+Uzn+Fx8fjyFDhmDPnj3YuHEjTCYT2rRpg9TUf09WunTpks3t888/h6ZpeOaZZwDcufBxmzZtoGkaNm/ejJ07dyIzMxMdO3aE5T7Db71790b37t0RGBiIgICAXG/OwsN/RERELsoZV5hZt26dzc8xMTEIDg7G/v370axZMwBASEiITcyaNWvQsmVLlC9fHgCwc+dOnDlzBgcPHoS/v791PYGBgdi8eTNatWqV43MvXrzYzq/GvjhSRURE5KKERdjlBgCZmZlISkqyuWVk5N3aIzExEQAQGJhzm5PLly/jxx9/RP/+/a3LMjIyoGkaPDw8rMs8PT2h0+mwY8eOB9kkTuXUkarx48djwoQJNstKlSqFhIQEGI1GvPPOO/jpp59w6tQpBAQEoFWrVpg2bRrCwsKUnys50wuWTG97pW6lKYyZ+hrke5f4WJKkYz2N8v2h3DPl+y25pd+SjgUAfYp8vLh8UTrWnCS/Lcyp8tvCYpLvZ2NKVeglBbU+VSp56Azyvaf0HvKxBm8v+diSQdKxAKAFheQd9P/MHvJ5WDSFbaHST06v8H5oarOE/XFLOtY35f5zS+6mz0yTTyKPbtR3M7vJvx+qrb01yG87z4xEpXXL0lnk32tNoe+ASmxBsmDBAsydO9dm2bhx4zB+/PhcHyOEwMiRIxEVFZXr2XdLliyBn5+fzVynRo0awcfHB2+++SamTJkCIQTefPNNWCwWXLok35uwoHH6SFW1atVsjrv+/vvvAIC0tDQcOHAA//3vf3HgwAF8++23OH78ODp16uTkjImIiAoGIexzA4BBgwYhMTHR5jZ27Nj7Pv/QoUNx+PBhfPXVV7nGfP755+jZsyc8Pf9t+FqyZEl88803+P777+Hr64uAgAAkJiaiTp060Cs0Li5onD6nymAwZDv2CgABAQHYuHGjzbK5c+eiQYMGOHv2rFObexERETmbEAIWO06qcnd3t85vkjFs2DDExcVh27ZtCA8PzzFm+/btOHbsGFauXJntvjZt2uDkyZO4du0aDAYDihUrhpCQEJQrVy7fr8HZnF5UnThxAmFhYfDw8EDDhg0xZcoU60S2eyUmJkLTNBQrVizX9WVkZNgcA05SOHRERETkSpxxnTshBIYNG4bY2Fhs3br1vkXQZ599hrp166JWrVq5xgQF3ZlSsHnzZly5csWlj0g59fBfw4YNsXTpUqxfvx6ffPIJEhIS0KRJE1y/fj1b7O3btzFmzBi8+OKL962kp06danNaZZkyZRz5EoiIiIqUIUOGYNmyZVi+fDn8/PyQkJCAhIQEpKfbzj1NSkrCN998g5dffjnH9cTExGDPnj04efIkli1bhueeew4jRoxAlSpVHsbLcAinjlS1b9/e+v8aNWqgcePGqFChApYsWYKRI0da7zMajXjhhRdgsVgwb968+65z7NixNo9NSkpiYUVERIWSM+bEz58/HwDQokULm+UxMTHo06eP9ecVK1ZACIEePXrkuJ5jx45h7NixuHHjBiIjI/H2229jxIgRjkr7oXD64b+7+fj4oEaNGjhx4oR1mdFoRPfu3XH69Gls3rw5z+O9Hh4eNqdoEhERFVYWJx3+kzFw4EAMHDgw1/unTZuGadOm2SutAsHpZ//dLSMjA0ePHkVoaCiAfwuqEydOYNOmTShRooSTMyQiIiLKmVNHqkaNGoWOHTuibNmyuHLlCiZNmoSkpCRER0fDZDLh2WefxYEDB/DDDz/AbDYjISEBwJ0GY+7u7krPFexxE76e8r2DZPmY5fun+CZdkY71uHlBOlZLk+89JZJuSceq9IcCgMw0+V5OwuyYHlFmhf5QQqE/lFA8w8acKd+TTGXdKrEGH4UeQwosCr3AAEDvcUs61mCS325BZvlYQ1CmdKzRR36k26S5SccCgH9KgnSsW8oN6VhNYVuYvfykYx3JTaG3lt4oHyt08qfja2b7/04AAJ1Jfn97UM6YqE65c2pRdf78efTo0QPXrl1DyZIl0ahRI+zZswcRERE4c+YM4uLiAACPPfaYzeO2bNmS7VguERFRUWPPlgr04JxaVK1YsSLX+yIjI1mBExER5eauxp1UMBSoOVVERERErqpAnf1HREREcgTU53uSY7GoIiIiclHOaKlAuWNRRURE5KI4UlWwcE4VERERkR0UmZGqMme3w1+ib49KjxMA0JJuSseq9IiyKPR8MiXL96ky374tHavSxwlQ6xGlxCJ/HQZzpkKfKqX+UGrXghBm+XiLwna2KGxjlViVXmCaTpOOBQD9BfneTDo3+b5P7kGB0rElSp2XjoWnt3ysm1q/PKQr9PjykO8zJvQKvZks8vuF3ii/X+hMGXkH2eQhv9/rFPpwaUb5HlEq/b2g0EPNTeHz9KA4UlWwFJmiioiIqLBhTVWwsKgiIiJyRUJwpKqA4ZwqIiIiIjvgSBUREZGL4pVHChYWVURERC5IgNf+K2h4+I+IiIjIDjhSRURE5KJ4+K9gKTJFVdrundB75N1TRjOo9alSoXSWhkJfJEf1WxJmtT5VptvyfVxUejOp5OGwbaE4xK7y+hxF08kPRJtuy/f20burfW3oPeT3C3c/+R5RQqFvkEhT6A+lECsy5bcbAAijfM56f3/pWK14SelY3W2FbaFz3K8IpR5RKn3iMuV78SFDobeWwv6GNIUcHhDP/itYikxRRUREVKgIOxZVrM3sgnOqiIiIiOyAI1VEREQuymKnOVUcqLIPFlVEREQuinOqChYWVURERC6KZ/8VLJxTRURERGQHHKkiIiJyQQKCHdULmCJTVJnSM2CS2Pkc2V9IpW+QSg8llZwtRpND1gsA5kz5davMA7CYHfOlobTdTAp9cqD2/jmKyv6m6TTpWN9SAUp5eBT3k471Kh0iHasrFSodaykeLL/etGTpWC1doecTAKSmyMdqCgcSjPL9ljSVPk4KfbiUeoEBEELhM6KwLYRZ/nsIJoXvw9vy282UrtD/6gFxTlXBwsN/RERERHZQZEaqiIiIChXBieoFDYsqIiIiF1UQphrQv1hUERERuSj7TVTniJc9cE4VERERkR2wqCIiInJRQgi73FRMnToV9evXh5+fH4KDg9GlSxccO3bMJkbTtBxvM2bMsMYkJCSgV69eCAkJgY+PD+rUqYNVq1bZZbs4S5E5/JeRlAZ3d6Pd16vW+sAxx75VclA5/dZsVGupoNQmQWFbqLQ+MBtVtoVjthug1gZCZd2m2/KngHsGeEjHehX3lo51D/CRjgUAz1IlpWN1QfKtD4S3r3wSJoXPftJN6VDzjevy6wVgTk1Tipel85R/ry1p6dKxxiT5FhAZiWotFVQ+1yotP1QIs/x3gDFNvk1Ccqb9f9fkxhktFeLj4zFkyBDUr18fJpMJb7/9Ntq0aYM///wTPj53vh8uXbpk85i1a9eif//+eOaZZ6zLevXqhcTERMTFxSEoKAjLly/H888/j3379qF27doP9TXZS5EpqoiIiAoV4Zyiat26dTY/x8TEIDg4GPv370ezZs0AACEhtj3n1qxZg5YtW6J8+fLWZbt378b8+fPRoEEDAMA777yDjz76CAcOHHDZooqH/4iIiAiZmZlISkqyuWVk5D1Cl5iYCAAIDAzM8f7Lly/jxx9/RP/+/W2WR0VFYeXKlbhx4wYsFgtWrFiBjIwMtGjR4oFfi7OwqCIiInJBAgIWYbHLDQAWLFiAgIAAm9vUqVPvn4MQGDlyJKKiolC9evUcY5YsWQI/Pz9069bNZvnKlSthMplQokQJeHh44JVXXkFsbCwqVKhgnw3kBDz8R0RE5KLsefhv0KBBmDRpks0yD4/7z9cbOnQoDh8+jB07duQa8/nnn6Nnz57w9PS0Wf7OO+/g5s2b2LRpE4KCgvDdd9/hueeew/bt21GjRo38vxAnYlFFRETkouxZVLm7u8Pf3186ftiwYYiLi8O2bdsQHh6eY8z27dtx7NgxrFy50mb5yZMn8b///Q9//PEHqlWrBgCoVasWtm/fjo8//hgLFizI/wtxIhZVREREJE0IgWHDhiE2NhZbt25FuXLlco397LPPULduXdSqVctmeVranTNhdfdc+F2v18Piwl3iWVQRERG5KGdc+2/IkCFYvnw51qxZAz8/PyQkJAAAAgIC4OXlZY1LSkrCN998gw8++CDbOh555BFUrFgRr7zyCmbOnIkSJUrgu+++w8aNG/HDDz88tNdib0WmqMpMuY0MN7W+SzIc1evIUafJquWg9teCWo8ox+ThqBwsij27VPJQ6cHj4eeuEOuZd9D/8wvL+aydnLj5yve0AgDNTf5rRiTdko+9dkU61pKRKR2b/M8F6dik82p9qlR6HakweLpJx5oz5ffljOTb0rE6g146FlDb7/Vu8udUKX2uFfrJqUg1yveTe1DOGNWZP38+AGQ7Sy8mJgZ9+vSx/rxixQoIIdCjR49s63Bzc8NPP/2EMWPGoGPHjkhJSUHFihWxZMkSPPXUU45M36GKTFFFRERED052dGzgwIEYOHBgrvdXqlQJq1evtldaBQKLKiIiIlfkpOaflDsWVURERC5JQAjXndRdGLGoIiIickECHKkqaNhRnYiIiMgOOFJFRETkouw2UsUBL7tgUUVEROSiLJxTVaAUmaLKmJYJo1veO58jj0+r9ERxZD+pgkDl9an1nlLoaZUpH2u6rdZ3Ru+u1rNHlpuXfD8inUH+6L45wygdm3rhqnQsAFw9fEo+D4UeSqYM+fdEpc/R7ST5XlI3jiVKxwKAOd0xn1W9l0IfJ6P8Z09zk+8l5eants/r3eVzNnjK/6py85b/jKhQ6atlND28PlWcU1WwcE4VERERkR0UmZEqIiKiQkW45pGKwoxFFRERkYvi4b+ChYf/iIiIiOyAI1VEREQuiR3VCxoWVURERC5IALDY6fAfDyLaB4sqIiIiF8WJ6gWLU4uq8ePHY8KECTbLSpUqhYSEBACAEAITJkzAokWLcPPmTTRs2BAff/wxqlWrpvxcmWmZyDTYf+dT6T2lwlF9qoRCvppevi8LAGg6+Sl6FqN8PyKVbazS00olB5WeVgBgui2/bhUqr8/Dz106NvHcLenYzFT5nlYAkHwyTTrWUX2cCjtTkrMzAAD5/Q0ALF7yn2tHfc+q9LRS6XWm1zhduahy+jtfrVo1XLp0yXr7/fffrfdNnz4dH374If73v/9h7969CAkJQevWrZGcnOzEjImIiAoAcecPcHvcyD6cfvjPYDAgJCQk23IhBGbNmoW3334b3bp1AwAsWbIEpUqVwvLly/HKK6887FSJiIgKFE5UL1icPlJ14sQJhIWFoVy5cnjhhRdw6tSdS1qcPn0aCQkJaNOmjTXWw8MDzZs3x65du3JdX0ZGBpKSkmxuREREhRFHqgoWpxZVDRs2xNKlS7F+/Xp88sknSEhIQJMmTXD9+nXrvKpSpUrZPObuOVc5mTp1KgICAqy3MmXKOPQ1EBEREQFOPvzXvn176/9r1KiBxo0bo0KFCliyZAkaNWoEANA028nSQohsy+42duxYjBw50vpzUlISCysiIip8hLDL2X9CCLCpgn04/fDf3Xx8fFCjRg2cOHHCOs/q3lGpK1euZBu9upuHhwf8/f1tbkRERIVJZGQkTKYUJN/664HXdevqr9Drve77u5XkFKiiKiMjA0ePHkVoaCjKlSuHkJAQbNy40Xp/ZmYm4uPj0aRJEydmSURE5FwhISEIK/cszvw5//9HmvJHCDPOHF2AMpV6wc/Pz44ZFk1OPfw3atQodOzYEWXLlsWVK1cwadIkJCUlITo6Gpqm4bXXXsOUKVNQqVIlVKpUCVOmTIG3tzdefPFF5efKTDYiQ6JPVUGZsKfSl0WYFfpUKbw+TafWp0qFo7azSj8plZ5Iqv2TzOkKfbhMCu+1MV0pD6IH4VXaQzrWP8JHad06g1461lHfW25e8n2qDB7yvy7djfKv7UEc2f8xSpQsi5tXdiOwVP4GG66cWw+LOQN/HfzQztkVTU4tqs6fP48ePXrg2rVrKFmyJBo1aoQ9e/YgIiICAPDGG28gPT0dgwcPtjb/3LBhA6tpIiIq8vz9/fHRB5PwxtiZKF6yATSd2q90s/k2zh77HF8s/Rju7mrNWylnmniQcUMXkJSUhICAAPxcry58JP4y4kjVvzhSlb/YO/GOGqkqGPsnFQ0cqfqXykhVitGEBt9vRWJiosPn9RqNRvgXL4/S5Z9HSERHpceeO/EFblzehaQbR+57AhjJK1BzqoiIiEiem5sbvlw6G2ePfw6zSf6SUJkZN3Hh5Ff4KW4hCyo7YlFFRETkwrp27QpP79K4cHKl9GPOHV+CgBK18fjjjzsws6KHRRUREZEL0zQN639chAunViLz9vU849NSzuLKuZ+wK/6zh5Bd0cKiioiIyMU1btwYxUs2wNnji/OM/eevTxBcpj2qVKni+MSKGBZVREREhcDubZ/i6vn1SEs+k2tM0o3DuHV1Hw79svDhJVaEOLWlwsN0OzEDen3eZ5uonInlSCpneRWUnB3FUdtC5Qw9nnVHhYV7oPwZbz6hXtKx/mEBSnloOvm/6S0m+c+qCpUzEPVu8vlmZjpnvKJSpUooVfZpnDm6EFUbTM12vxACZ/5cgPAKPdg93UE4UkVERFRI/PbrAiTdOIzEawez3Xf9Ujxup1/GnwfmOCGzooFFFRERUSFRsmRJhFd8EaePzocQ//bXs1iM+OevRZj/8fvw8VHrKUbyWFQREREVIkcPzIYx4yauXdxiXZbwTxx0eg/06dPHeYkVASyqiIiIChEvLy8sWjAD//z1CSzmTJiMyTh3fAlWrfxYam4x5R+LKiIiokLmpZdegsHNB5fOxOL838vh418R7dq1c3ZahV6ROfuPiIioqNDr9fj2m3l46ulnIMxG7N27i5ejeQgKfVGVdb3oNLPcKbmWAnJBZZULiBaUnB1FaVsoXB/cIhRaKhTu645TEWK0yB+g0Cu0MnAzmpTyULnwscWkdkFzWTohv16dkN9uKf+/LZz9vdGmTRsUL9kQBjc/1KlTx6m5FBWacPa77mDnz59HmTJlnJ0GEREVMefOnUN4eLiz06CHqNAXVRaLBRcvXoSfnx+HPnORlJSEMmXK4Ny5c/D393d2OoUSt7HjcRs/HNzOeRNCIDk5GWFhYdApNDkl11foD//pdDr+pSDJ39+fX5IOxm3seNzGDwe38/0FBKh1mKfCgSU0ERERkR2wqCIiIiKyAxZVBA8PD4wbNw4eHh7OTqXQ4jZ2PG7jh4PbmSh3hX6iOhEREdHDwJEqIiIiIjtgUUVERERkByyqiIiIiOyARRURERGRHbCoIhvHjx9H586dERQUBH9/fzRt2hRbtmxxdlqFzo8//oiGDRvCy8sLQUFB6Natm7NTKrQyMjLw2GOPQdM0HDp0yNnpFBpnzpxB//79Ua5cOXh5eaFChQoYN24cMjMznZ0akdOwqCIbHTp0gMlkwubNm7F//3489thjePrpp5GQkODs1AqN1atXo1evXujbty9+++037Ny5Ey+++KKz0yq03njjDYSFhTk7jULnr7/+gsViwcKFC3HkyBF89NFHWLBgAd566y1np0bkNGypQFbXrl1DyZIlsW3bNjz++OMAgOTkZPj7+2PTpk148sknnZyh6zOZTIiMjMSECRPQv39/Z6dT6K1duxYjR47E6tWrUa1aNRw8eBCPPfaYs9MqtGbMmIH58+fj1KlTzk6FyCk4UkVWJUqUwKOPPoqlS5ciNTUVJpMJCxcuRKlSpVC3bl1np1coHDhwABcuXIBOp0Pt2rURGhqK9u3b48iRI85OrdC5fPkyBgwYgC+++ALe3t7OTqdISExMRGBgoLPTIHIaFlVkpWkaNm7ciIMHD8LPzw+enp746KOPsG7dOhQrVszZ6RUKWX/Bjx8/Hu+88w5++OEHFC9eHM2bN8eNGzecnF3hIYRAnz59MGjQINSrV8/Z6RQJJ0+exNy5czFo0CBnp0LkNCyqioDx48dD07T73vbt2wchBAYPHozg4GBs374dv/76Kzp37oynn34aly5dcvbLKNBkt7HFYgEAvP3223jmmWdQt25dxMTEQNM0fPPNN05+FQWf7HaeO3cukpKSMHbsWGen7HJkt/HdLl68iHbt2uG5557Dyy+/7KTMiZyPc6qKgGvXruHatWv3jYmMjMTOnTvRpk0b3Lx5E/7+/tb7KlWqhP79+2PMmDGOTtVlyW7j3bt344knnsD27dsRFRVlva9hw4Zo1aoVJk+e7OhUXZrsdn7hhRfw/fffQ9M063Kz2Qy9Xo+ePXtiyZIljk7VZcluY09PTwB3CqqWLVuiYcOGWLx4MXQ6/q1ORZfB2QmQ4wUFBSEoKCjPuLS0NADI9qWo0+msIyyUM9ltXLduXXh4eODYsWPWospoNOLMmTOIiIhwdJouT3Y7z5kzB5MmTbL+fPHiRbRt2xYrV65Ew4YNHZmiy5PdxgBw4cIFtGzZ0jriyoKKijoWVWTVuHFjFC9eHNHR0Xj33Xfh5eWFTz75BKdPn0aHDh2cnV6h4O/vj0GDBmHcuHEoU6YMIiIiMGPGDADAc8895+TsCo+yZcva/Ozr6wsAqFChAsLDw52RUqFz8eJFtGjRAmXLlsXMmTNx9epV630hISFOzIzIeVhUkVVQUBDWrVuHt99+G0888QSMRiOqVauGNWvWoFatWs5Or9CYMWMGDAYDevXqhfT0dDRs2BCbN29G8eLFnZ0akbQNGzbg77//xt9//52tUOWsEiqqOKeKiIiIyA54AJyIiIjIDlhUEREREdkBiyoiIiIiO2BRRURERGQHLKqIiIiI7IBFFREREZEdsKgiIiIisgMWVURERER2wKKK6AGdOXMGmqbh0KFDDlm/pmn47rvv8v34rVu3QtM0aJqGLl263De2RYsWeO211/L9XHR/We9DsWLFnJ0KETkAiypyaX369MmzUHC0MmXK4NKlS6hevTqAf4uYW7duOTWvex07dgyLFy92dhpFQm775aVLlzBr1qyHng8RPRwsqogekF6vR0hICAyGgn0pzeDg4AIxQmI0Gp2dgtOEhIQgICDA2WkQkYOwqKJCLT4+Hg0aNICHhwdCQ0MxZswYmEwm6/0tWrTA8OHD8cYbbyAwMBAhISEYP368zTr++usvREVFwdPTE1WrVsWmTZtsDsndffjvzJkzaNmyJQCgePHi0DQNffr0AQBERkZmG6V47LHHbJ7vxIkTaNasmfW5Nm7cmO01XbhwAc8//zyKFy+OEiVKoHPnzjhz5ozytklNTUXv3r3h6+uL0NBQfPDBB9liMjMz8cYbb6B06dLw8fFBw4YNsXXrVpuYTz75BGXKlIG3tze6du2KDz/80KZ4Gz9+PB577DF8/vnnKF++PDw8PCCEQGJiIgYOHIjg4GD4+/vjiSeewG+//Waz7u+//x5169aFp6cnypcvjwkTJti8f+PHj0fZsmXh4eGBsLAwDB8+XOq15/W6rl+/jh49eiA8PBze3t6oUaMGvvrqK5t1rFq1CjVq1ICXlxdKlCiBVq1aITU1FePHj8eSJUuwZs0a6+G+e7cZERVOBftPa6IHcOHCBTz11FPo06cPli5dir/++gsDBgyAp6enTSGzZMkSjBw5Er/88gt2796NPn36oGnTpmjdujUsFgu6dOmCsmXL4pdffkFycjJef/31XJ+zTJkyWL16NZ555hkcO3YM/v7+8PLyksrXYrGgW7duCAoKwp49e5CUlJRtflNaWhpatmyJxx9/HNu2bYPBYMCkSZPQrl07HD58GO7u7tLbZ/To0diyZQtiY2MREhKCt956C/v378djjz1mjenbty/OnDmDFStWICwsDLGxsWjXrh1+//13VKpUCTt37sSgQYPw/vvvo1OnTti0aRP++9//Znuuv//+G19//TVWr14NvV4PAOjQoQMCAwPx008/ISAgAAsXLsSTTz6J48ePIzAwEOvXr8dLL72EOXPm4PHHH8fJkycxcOBAAMC4ceOwatUqfPTRR1ixYgWqVauGhISEbEVZbvJ6Xbdv30bdunXx5ptvwt/fHz/++CN69eqF8uXLo2HDhrh06RJ69OiB6dOno2vXrkhOTsb27dshhMCoUaNw9OhRJCUlISYmBgAQGBgo/b4QkQsTRC4sOjpadO7cOcf73nrrLVGlShVhsVisyz7++GPh6+srzGazEEKI5s2bi6ioKJvH1a9fX7z55ptCCCHWrl0rDAaDuHTpkvX+jRs3CgAiNjZWCCHE6dOnBQBx8OBBIYQQW7ZsEQDEzZs3bdYbEREhPvroI5tltWrVEuPGjRNCCLF+/Xqh1+vFuXPnrPevXbvW5rk+++yzbK8pIyNDeHl5ifXr1+e4HXLKJzk5Wbi7u4sVK1ZYl12/fl14eXmJ//znP0IIIf7++2+haZq4cOGCzfqefPJJMXbsWCGEEM8//7zo0KGDzf09e/YUAQEB1p/HjRsn3NzcxJUrV6zLfv75Z+Hv7y9u375t89gKFSqIhQsXCiGEePzxx8WUKVNs7v/iiy9EaGioEEKIDz74QFSuXFlkZmbm+LpzI/O6cvLUU0+J119/XQghxP79+wUAcebMmRxj77dfxsTE2GwfIio8OFJFhdbRo0fRuHFjaJpmXda0aVOkpKTg/PnzKFu2LACgZs2aNo8LDQ3FlStXANyZ3F2mTBmEhIRY72/QoIHD8i1btizCw8Otyxo3bmwTs3//fvz999/w8/OzWX779m2cPHlS+rlOnjyJzMxMm/UHBgaiSpUq1p8PHDgAIQQqV65s89iMjAyUKFECwJ3t07VrV5v7GzRogB9++MFmWUREBEqWLGnzOlJSUqzryZKenm59Hfv378fevXsxefJk6/1msxm3b99GWloannvuOcyaNQvly5dHu3bt8NRTT6Fjx455zm2TeV1msxnTpk3DypUrceHCBWRkZCAjIwM+Pj4AgFq1auHJJ59EjRo10LZtW7Rp0wbPPvssihcvft/nJqLCjUUVFVpCCJuCKmsZAJvlbm5uNjGapsFiseS6jvzS6XTW589y96Tte++7N0/gziHCunXr4ssvv8wWe3fRkpecnuteFosFer0e+/fvtx6yy+Lr62tdT27b+G5Zxcjd6w4NDc1xrlHWfCyLxYIJEyagW7du2WI8PT1RpkwZHDt2DBs3bsSmTZswePBgzJgxA/Hx8dneU9XX9cEHH+Cjjz7CrFmzUKNGDfj4+OC1115DZmYmgDsnJ2zcuBG7du3Chg0bMHfuXLz99tv45ZdfUK5cuVyfm4gKNxZVVGhVrVoVq1evtvnFv2vXLvj5+aF06dJS63jkkUdw9uxZXL58GaVKlQIA7N27976PyZrXZDabbZaXLFkSly5dsv6clJSE06dP2+R79uxZXLx4EWFhYQCA3bt326yjTp06WLlypXVyd35VrFgRbm5u2LNnj3XE7ubNmzh+/DiaN28OAKhduzbMZjOuXLmCxx9/PMf1PPLII/j1119tlu3bty/P569Tpw4SEhJgMBgQGRmZa8yxY8dQsWLFXNfj5eWFTp06oVOnThgyZAgeeeQR/P7776hTp06uj5F5Xdu3b0fnzp3x0ksvAbhTiJ04cQKPPvqoNUbTNDRt2hRNmzbFu+++i4iICMTGxmLkyJFwd3fP9v4TUeHHs//I5SUmJuLQoUM2t7Nnz2Lw4ME4d+4chg0bhr/++gtr1qzBuHHjMHLkSOh0crt+69atUaFCBURHR+Pw4cPYuXMn3n77bQDZR5GyREREQNM0/PDDD7h69SpSUlIAAE888QS++OILbN++HX/88Qeio6NtRkpatWqFKlWqoHfv3vjtt9+wfft263Nl6dmzJ4KCgtC5c2ds374dp0+fRnx8PP7zn//g/Pnz0tvM19cX/fv3x+jRo/Hzzz/jjz/+QJ8+fWy2S+XKldGzZ0/07t0b3377LU6fPo29e/fi/fffx08//QQAGDZsGH766Sd8+OGHOHHiBBYuXIi1a9fmObrXqlUrNG7cGF26dMH69etx5swZ7Nq1C++88461KHv33XexdOlSjB8/HkeOHMHRo0excuVKvPPOOwCAxYsX47PPPsMff/yBU6dO4YsvvoCXlxciIiLu+9wyr6tixYrWkaijR4/ilVdeQUJCgnUdv/zyC6ZMmYJ9+/bh7Nmz+Pbbb3H16lVr0RUZGYnDhw/j2LFjuHbtWpFuI0FUpDhpLheRXURHRwsA2W7R0dFCCCG2bt0q6tevL9zd3UVISIh48803hdFotD6+efPm1onZWTp37mx9vBBCHD16VDRt2lS4u7uLRx55RHz//fcCgFi3bp0QIvtEdSGEmDhxoggJCRGaplnXlZiYKLp37y78/f1FmTJlxOLFi20mqgshxLFjx0RUVJRwd3cXlStXFuvWrbOZqC6EEJcuXRK9e/cWQUFBwsPDQ5QvX14MGDBAJCYm5riNcps4n5ycLF566SXh7e0tSpUqJaZPn55te2RmZop3331XREZGCjc3NxESEiK6du0qDh8+bI1ZtGiRKF26tPDy8hJdunQRkyZNEiEhIdb7x40bJ2rVqpUtr6SkJDFs2DARFhYm3NzcRJkyZUTPnj3F2bNnrTHr1q0TTZo0EV5eXsLf3180aNBALFq0SAghRGxsrGjYsKHw9/cXPj4+olGjRmLTpk05boN75fW6rl+/Ljp37ix8fX1FcHCweOedd0Tv3r2tk8///PNP0bZtW1GyZEnh4eEhKleuLObOnWtd/5UrV0Tr1q2Fr6+vACC2bNlivY8T1YkKL00IickVRGS1c+dOREVF4e+//0aFChWcnU6etm7dipYtW+LmzZsPpfnngAED8Ndff2H79u0Ofy5XtHjxYrz22msFruM+ET04zqkiykNsbCx8fX1RqVIl/P333/jPf/6Dpk2bukRBdbfw8HB07NgxWxPLBzVz5ky0bt0aPj4+WLt2LZYsWYJ58+bZ9TkKC19fX5hMJnh6ejo7FSJyABZVRHlITk7GG2+8gXPnziEoKAitWrXKsft4QdWwYUOcOHECwL9nt9nTr7/+iunTpyM5ORnly5fHnDlz8PLLL9v9eWRt374d7du3z/X+rDluzpB10e17zzokosKBh/+IqFBJT0/HhQsXcr3/fmcTEhE9CBZVRERERHbAlgpEREREdsCiioiIiMgOWFQRERER2QGLKiIiIiI7YFFFREREZAcsqoiIiIjsgEUVERERkR38HxAYHZlAbZf5AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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XERGRmLOnDmO0gcAcP78eTRp8nfpnxkzZmDGjBlITk7Gxo0bhdZbFpPJVGLhzcOHDyMsLMyVTQFFVeXy2Ro1amDt2rVo2LCh0/I//vgD7du3x/nz513qiKdkZWUhKCgIFz6cgEBfU5nx9kixD6NIbqh43akCg3itF0WiZompMFs41qITr6dzSSd2zrlIhrnsc+tFruSX/VkUyTWLX1yabxY/qGTniu/6aRflamplXhGv7ZWXLV7DqSBfvB8arfh200jUsgqs4iscCwDVwv2EY3U68X4Y9OKxMu1areL7RWQ1z/0Sy5PYl8ODrcKxjYJPCsd+/6f4PNiDBzOFYwEg61KucGxupnispVD8O2Ixi112DwCF+eLfaaslF1u+exCZmZlCc45csX37djzapSc+XXvcLe090jwQBw/84Rj5qaieffZZXLx4EV988QVCQkKwb98+aLVadO3aFffee2+p1dRvRLr8QVZWFi5cuFBseVpaGrKzxX+hA8CECROgKIrTo7Rqps8999wNS8YTERFVJiq8e4uY8mjGjBm4ePEiqlWrhvz8fCQnJ6N27doICAjAG2+84VKb0lftdevWDc888wzefvtttGjRAsDVzHj06NHo3r27dAcaNmyI9evXO37WaotXhP3mm2/w66+/IjIyUrp9IiKiisobk83Ls8DAQPzyyy/46aefsHv3btjtdtx999144IEHXG5TOpGaP38+Ro0ahaefftpRjVSn02HgwIGYPn26fAd0ulJHoQDg3Llz+L//+z+sWbOmxDs2X89sNjtVYnX1JoRERERUcVitVphMJuzduxf33Xef4xYxN0v61J6vry/mzZuHjIwM7NmzB7t378alS5cwb948+PmJz4UocvToUURGRiIuLg69evXC8eN/n++12+3o06cPRo8eXWxOVmmmTp3qVJU1KipKuk9ERETlgTsrm1d0Op0OMTExsNnE77EoQjqRKuLn54c777wTd911l0sJFAAkJiZiyZIlWLNmDT744AOkpqaiZcuWyMjIAAC89dZb0Ol0GDZsmHCbY8eORWZmpuNx5swZl/pGRER0u7NDccujsnj11VcxduxYXLp0yW1tSp/aa9eu3Q1Lsf/000/CbXXs2NHx/4SEBCQlJaFWrVpYvHgxkpOTMXv2bOzevVuq9LvRaLxhSXsiIqKKorKMJrnLnDlzcOzYMURG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tdAjzdJtqtIkUkRERBWKCkjWQSUPYCJFRERUDqmQqz5fVlvkGiZSRERE5ZSdI1Jex/IHRERERC7iiBQREVE55a5Tezy35zomUkREROUU7xDjfUykiIiIyimZMhnkGV5NpCZMmICJEyc6LQsPD0dqaiosFgteffVVrFy5EsePH0dQUBAeeOABvPnmm4iMjJReV5CvFb5+Zdd8Sc+S2yQyo6pZOeKzAvPzxWsnaSXq+lit4h2WHTKWqTslVVuooEA41mgSrwtTNcxPODakily9mUuXLcKxVov4fuHrK75/6vXiUyBNJvFYidJCAOS+I8GB4vtyRJB4HaKaNdKFY/+4WF04NvWC3H6RI7F/yijIE98WGomaUwaTQThWtpaV3SZZtE+QTqI2lN4gHmuT6K+l0DPvjW5PXh+RatiwIdavX+/4Wfu/Iol5eXnYvXs3XnvtNdx11124fPkyhg8fjs6dO2Pnzp3e6i4REdFtg4XNvc/riZROp0NERESx5UFBQVi3bp3TsnfffRfNmzfH6dOnER0dfau6SEREdNtRVRV2ntrzOq+XPzh69CgiIyMRFxeHXr164fjx46XGZmZmQlEUBAcHlxpjNpuRlZXl9CAiIqqIVFV1y4Nc59VEKjExEUuWLMGaNWvwwQcfIDU1FS1btkRGRkax2IKCArz88st48sknERgYWGqbU6dORVBQkOMRFRXlybdARERElZhXE6mOHTuiR48eSEhIwAMPPIAffvgBALB48WKnOIvFgl69esFut2PevHk3bHPs2LHIzMx0PM6cOeOx/hMREXmTanfPwxXz5s1DXFwcTCYTmjZtis2bN98wftOmTWjatClMJhPi4+Mxf/78YjHLly9HgwYNYDQa0aBBA6xYscLp+QkTJkBRFKdHSdODbiWvn9q7lp+fHxISEnD06FHHMovFgscffxwnTpzAunXrbjgaBQBGoxGBgYFODyIioorIrqpuechatmwZhg8fjnHjxmHPnj1o06YNOnbsiNOnT5cYf+LECXTq1Alt2rTBnj178Morr2DYsGFYvny5I2bbtm144okn0KdPH/z+++/o06cPHn/8cfz6669ObTVs2BApKSmOx/79+6X77063VSJlNptx6NAhVK9+9fLjoiTq6NGjWL9+PapWrerlHhIREVVMhYWFxeYYm80ll9aYOXMmBg4ciEGDBqF+/fqY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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "for file_name in [pcrglobwb_forcing.temperatureNC, pcrglobwb_forcing.precipitationNC]:\n", + " dataset = xr.load_dataset(f\"{pcrglobwb_forcing.directory}/{file_name}\")\n", + " print(dataset)\n", + " print(\"------------------------\")\n", + " var = list(dataset.data_vars.keys())[0]\n", + " dataset[var].isel(time=-1).plot(cmap=\"coolwarm\", robust=True, size=5)" + ] + }, + { + "cell_type": "markdown", + "id": "59c123571924fd45", + "metadata": {}, + "source": [ + "## The clonemap\n", + "\n", + "Be careful here with the forcing resolution.\n", + "If the model run throws an error where the array size does not add up to raster, play around with the forcing resolution." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "9367c8a11bf3fe95", + "metadata": {}, + "outputs": [], + "source": [ + "def create_clonemap(lonmin, latmin, lonmax, latmax, forcing_resolution, catchment):\n", + " \"\"\"Create new clonemap compatible with forcing data resolution.\"\"\"\n", + " dlon = lonmax - lonmin\n", + " dlat = latmax - latmin\n", + "\n", + " msg = (\n", + " \"The clonemap extent divided by the forcing resolution must yield\"\n", + " \"an integer number of grid cells.\"\n", + " )\n", + " assert dlon % forcing_resolution == 0, f\"Longitudes not compatible. {msg}\"\n", + " assert dlat % forcing_resolution == 0, f\"Latitudes not compatible. {msg}\"\n", + "\n", + " clonemap_dir = (\n", + " \"/data/shared/parameter-sets/pcrglobwb_global/global_05min/cloneMaps\"\n", + " )\n", + " globalclonemap = clonemap_dir + \"/clone_global_05min.map\"\n", + " # outputclonemap = forcing_path_pcrglobwb / f\"{catchment.lower()}_05min.map\" # copy to clonemap dir after ensuring it is correct\n", + " outputclonemap = f\"{catchment.lower()}_05min.map\" # copy to clonemap dir after ensuring it is correct\n", + "\n", + "\n", + " subprocess.call(\n", + " f\"gdal_translate -of PCRaster {globalclonemap} -projwin \"\n", + " f\"{lonmin} {latmax} {lonmax} {latmin} {outputclonemap}\",\n", + " shell=True,\n", + " )\n", + " return outputclonemap" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "628479e317c26bb9", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Input file size is 4320, 2160\n", + "0...10...20...30...40...50...60...70...80...90...100 - done.\n" + ] + }, + { + "data": { + "text/html": [ + "
speyside_05min.map\n",
+       "
\n" + ], + "text/plain": [ + "speyside_05min.map\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Catchment bounding boxes\n", + "clonemap_extents = {\n", + " \"Speyside\": {\"latitude\": (57, 58), \"longitude\": (-4.5, -2.5)},\n", + "}\n", + "\n", + "forcing_resolution = 0.5\n", + "for (catchment, extents) in clonemap_extents.items():\n", + " latmin, latmax = extents[\"latitude\"]\n", + " lonmin, lonmax = extents[\"longitude\"]\n", + " print(\n", + " create_clonemap(lonmin, latmin, lonmax, latmax, forcing_resolution, catchment)\n", + " )" + ] + }, + { + "cell_type": "markdown", + "id": "f271a64a33cd5083", + "metadata": {}, + "source": [ + "## Parameter set" + ] + }, + { + "cell_type": "markdown", + "id": "91f89863-cc10-427c-9053-225387da6a46", + "metadata": {}, + "source": [ + "For the parameter set we require a .ini file.\n", + "This is a file you have to edit yourself!\n", + "Here we put it in the same directory as this notebook to make it easier to edit on the fly.\n", + "\n", + "This .ini file is very tricky for version 1.0, we overwrite most of the global parameters, but you have to change the **cloneMap** and **landMask**.\n", + "Also note that everything is relative to the inputDir, which is: /data/shared/parameter-sets/pcrglobwb_global.\n", + "**This also means that you have to ask an administrator to put your cloneMap in the correct folder!!!**" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "2634cd83-2ac7-4559-9184-8cedf7bb5721", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
cloneMap: /home/mmelotto/forcing/camelsgb_8004/pcrglobwb/speyside_05min.map\n",
+       "
\n" + ], + "text/plain": [ + "cloneMap: \u001b[35m/home/mmelotto/forcing/camelsgb_8004/pcrglobwb/\u001b[0m\u001b[95mspeyside_05min.map\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
startTime: 2005-08-01\n",
+       "
\n" + ], + "text/plain": [ + "startTime: \u001b[1;36m2005\u001b[0m-\u001b[1;36m08\u001b[0m-\u001b[1;36m01\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
endTime: 2006-08-31\n",
+       "
\n" + ], + "text/plain": [ + "endTime: \u001b[1;36m2006\u001b[0m-\u001b[1;36m08\u001b[0m-\u001b[1;36m31\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Print some values for the .ini file\n", + "print(f\"cloneMap: {forcing_path_pcrglobwb / f\"{catchment.lower()}_05min.map\"}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "d9d7f827943481a3", + "metadata": {}, + "outputs": [], + "source": [ + "# Parameter set\n", + "parameter_set = ewatercycle.parameter_sets.ParameterSet(\n", + " name=\"custom_parameter_set\",\n", + " directory=pcr_glob_directory,\n", + " # direrctory=forcing_path_pcrglobwb,\n", + " # config=forcing_path_pcrglobwb / f\"speyside_05min.ini\",\n", + " config=\"./speyside_05min.ini\",\n", + " target_model=\"pcrglobwb\",\n", + " supported_model_versions={\"setters\"},\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "id": "9f209cde9d6f89c8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
ParameterSet(\n",
+       "    name='custom_parameter_set',\n",
+       "    directory=PosixPath('/data/shared/parameter-sets/pcrglobwb_global'),\n",
+       "    config=PosixPath('speyside_05min.ini'),\n",
+       "    doi='N/A',\n",
+       "    target_model='pcrglobwb',\n",
+       "    supported_model_versions={'setters'},\n",
+       "    downloader=None\n",
+       ")\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1;35mParameterSet\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mname\u001b[0m=\u001b[32m'custom_parameter_set'\u001b[0m,\n", + " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/data/shared/parameter-sets/pcrglobwb_global'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mconfig\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'speyside_05min.ini'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mdoi\u001b[0m=\u001b[32m'N/A'\u001b[0m,\n", + " \u001b[33mtarget_model\u001b[0m=\u001b[32m'pcrglobwb'\u001b[0m,\n", + " \u001b[33msupported_model_versions\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'setters'\u001b[0m\u001b[1m}\u001b[0m,\n", + " \u001b[33mdownloader\u001b[0m=\u001b[3;35mNone\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print(parameter_set)" + ] + }, + { + "cell_type": "markdown", + "id": "e493fa762eb96ade", + "metadata": {}, + "source": [ + "## PCRGlobWB Model" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "cbd138c6b4bde3f5", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
PCRGlobWB(\n",
+       "    parameter_set=ParameterSet(\n",
+       "        name='custom_parameter_set',\n",
+       "        directory=PosixPath('/data/shared/parameter-sets/pcrglobwb_global'),\n",
+       "        config=PosixPath('speyside_05min.ini'),\n",
+       "        doi='N/A',\n",
+       "        target_model='pcrglobwb',\n",
+       "        supported_model_versions={'setters'},\n",
+       "        downloader=None\n",
+       "    ),\n",
+       "    forcing=PCRGlobWBForcing(\n",
+       "        start_time='2005-08-01T00:00:00Z',\n",
+       "        end_time='2006-08-31T00:00:00Z',\n",
+       "        directory=PosixPath('/home/mmelotto/forcing/camelsgb_8004/pcrglobwb/work/diagnostic/script'),\n",
+       "        shape=PosixPath('/home/mmelotto/forcing/camelsgb_8004/caravan/camelsgb_8004.shp'),\n",
+       "        filenames={},\n",
+       "        precipitationNC='pcrglobwb_OBS6_ERA5_reanaly_1_day_pr_2005-2006_camelsgb_8004.nc',\n",
+       "        temperatureNC='pcrglobwb_OBS6_ERA5_reanaly_1_day_tas_2005-2006_camelsgb_8004.nc'\n",
+       "    )\n",
+       ")\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1;35mPCRGlobWB\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mparameter_set\u001b[0m=\u001b[1;35mParameterSet\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mname\u001b[0m=\u001b[32m'custom_parameter_set'\u001b[0m,\n", + " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/data/shared/parameter-sets/pcrglobwb_global'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mconfig\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'speyside_05min.ini'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mdoi\u001b[0m=\u001b[32m'N/A'\u001b[0m,\n", + " \u001b[33mtarget_model\u001b[0m=\u001b[32m'pcrglobwb'\u001b[0m,\n", + " \u001b[33msupported_model_versions\u001b[0m=\u001b[1m{\u001b[0m\u001b[32m'setters'\u001b[0m\u001b[1m}\u001b[0m,\n", + " \u001b[33mdownloader\u001b[0m=\u001b[3;35mNone\u001b[0m\n", + " \u001b[1m)\u001b[0m,\n", + " \u001b[33mforcing\u001b[0m=\u001b[1;35mPCRGlobWBForcing\u001b[0m\u001b[1m(\u001b[0m\n", + " \u001b[33mstart_time\u001b[0m=\u001b[32m'2005-08-01T00:00:00Z'\u001b[0m,\n", + " \u001b[33mend_time\u001b[0m=\u001b[32m'2006-08-31T00:00:00Z'\u001b[0m,\n", + " \u001b[33mdirectory\u001b[0m=\u001b[1;35mPosixPath\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'/home/mmelotto/forcing/camelsgb_8004/pcrglobwb/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/mmelotto/forcing/camelsgb_8004/caravan/camelsgb_8004.shp'\u001b[0m\u001b[1m)\u001b[0m,\n", + " \u001b[33mfilenames\u001b[0m=\u001b[1m{\u001b[0m\u001b[1m}\u001b[0m,\n", + " \u001b[33mprecipitationNC\u001b[0m=\u001b[32m'pcrglobwb_OBS6_ERA5_reanaly_1_day_pr_2005-2006_camelsgb_8004.nc'\u001b[0m,\n", + " \u001b[33mtemperatureNC\u001b[0m=\u001b[32m'pcrglobwb_OBS6_ERA5_reanaly_1_day_tas_2005-2006_camelsgb_8004.nc'\u001b[0m\n", + " \u001b[1m)\u001b[0m\n", + "\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pcrglob = ewatercycle.models.PCRGlobWB(\n", + " parameter_set=parameter_set,\n", + " forcing=pcrglobwb_forcing\n", + ")\n", + "\n", + "print(pcrglob)" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "ebe195e6c00b0161", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
dict_items([('start_time', '2005-08-01T00:00:00Z'), ('end_time', '2005-08-01T00:00:00Z'), ('routing_method', \n",
+       "'accuTravelTime'), ('max_spinups_in_years', '0')])\n",
+       "
\n" + ], + "text/plain": [ + "\u001b[1;35mdict_items\u001b[0m\u001b[1m(\u001b[0m\u001b[1m[\u001b[0m\u001b[1m(\u001b[0m\u001b[32m'start_time'\u001b[0m, \u001b[32m'2005-08-01T00:00:00Z'\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[32m'end_time'\u001b[0m, \u001b[32m'2005-08-01T00:00:00Z'\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[32m'routing_method'\u001b[0m, \n", + "\u001b[32m'accuTravelTime'\u001b[0m\u001b[1m)\u001b[0m, \u001b[1m(\u001b[0m\u001b[32m'max_spinups_in_years'\u001b[0m, \u001b[32m'0'\u001b[0m\u001b[1m)\u001b[0m\u001b[1m]\u001b[0m\u001b[1m)\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "print(pcrglob.parameters)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "882b6f5700495a3", + "metadata": {}, + "outputs": [], + "source": [ + "cfg_file, cfg_dir = pcrglob.setup(\n", + " start_time=experiment_start_date,\n", + " end_time=experiment_end_date,\n", + " max_spinups_in_years=0\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "86695350e936353", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
Number of days to model: 395\n",
+       "
\n" + ], + "text/plain": [ + "Number of days to model: \u001b[1;36m395\u001b[0m\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "pcrglob_para = pcrglob.parameters\n", + "\n", + "# Convert ISO 8601 strings to datetime objects\n", + "start_time = datetime.strptime(experiment_start_date, '%Y-%m-%dT%H:%M:%SZ')\n", + "end_time = datetime.strptime(experiment_end_date, '%Y-%m-%dT%H:%M:%SZ')\n", + "\n", + "# Calculate the number of days for the progression bar\n", + "delta = end_time - start_time\n", + "number_of_days = delta.days\n", + "print(f\"Number of days to model: {number_of_days}\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "88b3b552d3162f1f", + "metadata": {}, + "outputs": [], + "source": [ + "# Initialize\n", + "pcrglob.initialize(cfg_file)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "ee4403202b77a1f7", + "metadata": {}, + "outputs": [], + "source": [ + "time = pd.date_range(pcrglob.start_time_as_isostr, pcrglob.end_time_as_isostr)\n", + "timeseries = pd.DataFrame(\n", + " index=pd.Index(time, name=\"time\"), columns=[\"PCRGlobWB: BOAT O BRIG\"]\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "77b396f19eb8612c", + "metadata": {}, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "3ebce2efdccf4e0688c1497200e009bc", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "IntProgress(value=0, max=395)" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "
Model run finished!\n",
+       "
\n" + ], + "text/plain": [ + "Model run finished!\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Progress bar, since this can take a while\n", + "f = IntProgress(min=0, max=number_of_days) # instantiate the bar\n", + "display(f) # display the bar\n", + "\n", + "while pcrglob.time < pcrglob.end_time:\n", + " pcrglob.update()\n", + "\n", + " # Track discharge at station location\n", + " discharge_at_station = pcrglob.get_value_at_coords(\n", + " \"discharge\", lat=[station_latitude], lon=[station_longitude]\n", + " )\n", + " time = pcrglob.time_as_isostr\n", + " timeseries.loc[time, \"PCRGlobWB: BOAT O BRIG\"] = discharge_at_station[0]\n", + "\n", + " # Update progress bar\n", + " f.value += 1\n", + "\n", + "print(\"Model run finished!\")" + ] + }, + { + "cell_type": "markdown", + "id": "f9fc7190ca42fd49", + "metadata": {}, + "source": [ + "## Interact with the model\n", + "\n", + "**NOTE** we will need to finalize the model later!!\n", + "\n", + "The model has a lot of variables, you can find them in the section about PCRGlobWB in getting started or" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "ec0bd57b8fd4973a", + "metadata": {}, + "outputs": [], + "source": [ + "# List the variables\n", + "# list(pcrglob.output_var_names)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "ec97a39e75ca0b1c", + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
<xarray.DataArray (longitude: 3, latitude: 5)> Size: 120B\n",
+       "array([[ 1.81443286, 12.58561325,  9.80098343, 21.97473335, 27.35209465],\n",
+       "       [ 0.32846063,  0.        ,  0.        , 65.77898407,  1.20256948],\n",
+       "       [ 1.44196761,  0.37811667,  0.        ,  0.        ,  0.        ]])\n",
+       "Coordinates:\n",
+       "  * latitude   (latitude) float64 40B -4.458 -4.042 -3.625 -3.208 -2.792\n",
+       "  * longitude  (longitude) float64 24B 57.04 57.46 57.88
" + ], + "text/plain": [ + " Size: 120B\n", + "array([[ 1.81443286, 12.58561325, 9.80098343, 21.97473335, 27.35209465],\n", + " [ 0.32846063, 0. , 0. , 65.77898407, 1.20256948],\n", + " [ 1.44196761, 0.37811667, 0. , 0. , 0. ]])\n", + "Coordinates:\n", + " * latitude (latitude) float64 40B -4.458 -4.042 -3.625 -3.208 -2.792\n", + " * longitude (longitude) float64 24B 57.04 57.46 57.88" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Getting the discharge\n", + "\n", + "da = pcrglob.get_value_as_xarray(\"discharge\")\n", + "da.thin(5) # only show every 5th value in each dim" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "e4050af8caa07951", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkkAAAHcCAYAAADCwz5ZAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguNCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8fJSN1AAAACXBIWXMAABJ0AAASdAHeZh94AABrNUlEQVR4nO3ddVxUWR8G8OcODA3SKiqoDIoBBnZid2G3rt3dirirvgau7rq6xhprJ6BirIW6uroGBgYqoGIXICE1zLx/jLKOjMF4icHn62c+6o1zzyDgw++ce66gVCqVICIiIiI1kpzuABEREVFuxJBEREREpAFDEhEREZEGDElEREREGjAkEREREWnAkERERESkAUMSERERkQYMSUREREQaMCQRERERaaCf0x0gIiKi3OPJkyeIjo4WvV0rKys4ODiI3m5WYkgiIiIiAKqAVMixOJCWLHrb5ubmCA0N1amgxJBEREREAKCqIKUlQ1q2KwRja9HaVSZGIe76VkRHRzMkERERke4STGwgMbUXrT2FIIjWVnbixG0iIiIiDVhJIiIiInWCAEhErKOwkkRERESUd7CSREREROoEQdzqj45WkhiSiIiISB1DEgAOtxERERFpxEoSERERqRMkqpeY7ekg3ew1ERERURZjJYmIiIjUCQAkYs5JEq+p7MRKEhEREZEGrCQRERGROt7dBoAhiYiIiD7GidsAONxGREREpBErSURERKSOw20AWEkiIiIi0oiVJCIiIlInEcRdAkDMtrIRK0lEREREGrCSRERERB8RRL4jTTcrSQxJREREpI4TtwFwuI2IiIhII1aSiIiISB0XkwTAShIRERGRRqwkERERkTouAQCAIYmIiIg+JkDkidviNZWdONxGREREpAErSURERPQRkSdu62hNRjd7TURERJTFWEkiIiIidVxMEgArSURERJSLXb58GW3btoWDgwNMTEzg6uqKH3/8EW/fvlU7Ljg4GA0bNoSZmRksLS3h5eWFiIiIb7o2QxIRERGpe78EgJgvLdy8eRM1atTA/fv3sWTJEgQGBqJLly748ccf0bVr1/TjQkND4enpiZSUFOzYsQNr167FnTt3ULt2bbx8+VLrDwOH24iIiEidIPIDbrUcbtuyZQuSkpKwe/duODs7AwDq16+Pp0+fYtWqVYiOjoaVlRW8vb1haGiIwMBAWFhYAAA8PDzg4uICX19fzJ8/X6vrs5JEREREuZJUKgUA5MuXT227paUlJBIJDAwMIJfLERgYiPbt26cHJABwcnJCvXr14O/vr/X1GZKIiIhI3fuJ22K+tNC7d29YWlpiyJAhiIiIQFxcHAIDA7Fy5UoMGzYMpqamCA8PR2JiItzd3TOc7+7ujrCwMCQlJWl1fQ63ERERUbYICwvLsM3Ozg729vYajy9atCjOnj2Ldu3apQ+3AcDIkSOxZMkSAMDr168BANbW1hnOt7a2hlKpRHR0NAoWLJjp/jIkERER0UdEXgLg3XNJ2rZtm2HPzJkz4ePjo/Gs+/fvo1WrVsifPz927doFOzs7/Pvvv5g9ezbi4+OxZs2a/67wmf5+bt/nMCQRERFRtggICIBMJlPbZmdn98njJ0+ejNjYWFy5cgWmpqYAgDp16sDW1hY//PADevXqhQIFCgD4r6L0oaioKAiCAEtLS636y5BERERE6iQS1UvM9gDIZDKUKVPmq0+7cuUKSpcunR6Q3qtcuTIA4Pr166hZsyaMjY0REhKS4fyQkBDIZDIYGRlp122tziIiIqK8K5dM3HZwcMCNGzcQHx+vtv3s2bMAgMKFC0NfXx+tWrWCn58f4uLi0o+JjIxEUFAQvLy8tP4wMCQRERFRrjR69Gi8evUKjRo1wo4dO3D8+HHMnTsXY8eORenSpdGsWTMAwKxZs/D27Vu0bNkSBw8ehL+/P1q0aAFbW1uMGzdO6+szJBEREZE6ASJXkrTrRuvWrXHs2DFYWFhg1KhRaNmyJf78808MGjQIp06dgoGBAQDA1dUVJ06cgFQqRYcOHdCnTx/IZDKcOnXqs3OevoRzkoiIiCjXqlevHurVq/fF4zw8PHD06FFRr82QRERERB+RiPtYEh0duNLNXhMRERFlMVaSiIiISJ1EUL3EbE8HMSQRERGRum+4bf+T7ekgDrcRERERacBKEhEREakTBHEnbrOSRERERJR3sJJERERE6jgnCQBDEhEREX1MEPnuNh0NSRxuIyIiItKAlSQiIiJSJ4i84raoq3dnH93sNREREVEWYyWJiIiI1HHiNgBWkoiIiIg0YiWJiIiI1KgKSeJVf3S0kMSQREREROo42qbC4TYiIiIiDVhJIiIiIjWCIEAQcTFJMYfushMrSUREREQasJJEREREasR+KolSNwtJrCQRERERacJKEhEREakRBEHkJQB0s5TEkERERERquASACofbiIiIiDRgJYmIiIjUcLhNhZUkIiIiIg1YSSIiIiI1AkSuJIGVJCIiIqI8g5UkIiIiUify3W06WkhiSCIiIiJ1nLitwuE2IiIiIg1YSSIiIiI1gkT1ErM9XaSj3SYiIiLKWqwkERERkRrVY0nEnJMkWlPZiiGJiIiI1AgQ+dlt4jWVrTjcRkRERKQBK0lERESkRhAESLgEACtJRERERJowJBEREZGa94tJivnSRp8+fT7b5rlz59KPDQ4ORsOGDWFmZgZLS0t4eXkhIiLimz4OHG4jIiKiXGnGjBkYPHhwhu2tWrWCoaEhKleuDAAIDQ2Fp6cnypcvjx07diApKQne3t6oXbs2rly5Ajs7O62uz5BEREREagSRn92mbVvOzs5wdnZW23by5Em8evUK06dPh56eHgDA29sbhoaGCAwMhIWFBQDAw8MDLi4u8PX1xfz587W6PofbiIiISE1uGW7TZM2aNRAEAT/88AMAQC6XIzAwEO3bt08PSADg5OSEevXqwd/fX+trMSQRERGRTnjz5g127dqFBg0aoFixYgCA8PBwJCYmwt3dPcPx7u7uCAsLQ1JSklbX43AbERERqcmq4bawsLAM++zs7GBvb/9V7WzduhWJiYno169f+rbXr18DAKytrTMcb21tDaVSiejoaBQsWDDT/WZIIiIiomzRtm3bDNtmzpwJHx+frzp/zZo1sLGxQbt27TLs+9yQnrbDfQxJREREpEYQBAgS8ReTDAgIgEwmU9v3tXeeXbt2DRcvXsSoUaNgaGiYvt3GxgbAfxWlD0VFRUEQBFhaWmrVb4YkIiIiyhYymQxlypTR6tw1a9YAAPr376+23dnZGcbGxggJCclwTkhICGQyGYyMjLS6JiduExERkTrhv3lJYry+9Qm3ycnJ2LRpE6pUqYKyZcuq7dPX10erVq3g5+eHuLi49O2RkZEICgqCl5eX1tdlSCIiIiI1qnAj5hIA39afgIAAREVFZagivTdr1iy8ffsWLVu2xMGDB+Hv748WLVrA1tYW48aN0/q6DElERESUq61Zswampqbo0qWLxv2urq44ceIEpFIpOnTogD59+kAmk+HUqVNar7YNcE4SERERfSS3rLj93uHDh794jIeHB44ePfptF/oIK0lEREREGrCSRERERGrEfpSI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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig = plt.figure(dpi=120)\n", + "ax = fig.add_subplot(111, projection=crs.PlateCarree())\n", + "da.plot(ax=ax, cmap=\"GnBu\")\n", + "\n", + "# Overlay ocean and coastlines\n", + "ax.add_feature(cfeature.OCEAN)\n", + "ax.add_feature(cfeature.RIVERS, color=\"k\")\n", + "ax.coastlines()\n", + "\n", + "# Add a red cross marker at the location of the Leven River at Newby Bridge\n", + "ax.scatter(station_longitude, station_latitude, s=250, c=\"r\", marker=\"x\", lw=2)" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "c13fcd7e505005fd", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0, 0.5, 'Discharge $[m^3/s]$')" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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dq89cuQIunbtCgA4dOgQduzYgZ07d+KRRx6R9jGZTPj0009x3333eTQuAB69vzNiYmJkRk2/fv2QkJCAd999VxbknJGRgQ4dOqBDhw74/PPP0adPH/Tv39/p8Tt27Gj3+2nRogVatGiBtLQ0tz+jt5AyRAQctkoxkZ+MCAEEQUB0hCYgD0/jJtiNq02bNnYGz2233Yaqqiq88cYbDl/rSn148MEHsXfvXqxevRoAkJKSgjFjxuD111+3S91viK5duyIvL0/2ut9++w0qlUqW8bV3717U1triCrdv347Y2FjJLQVYjL9NmzZh06ZNGD58uLR92LBh+Omnn7B9+3a3XEysvxX/ft6iVqul44wdOxbJycl48cUX7fb75ptvcPz4cdx6660ALKrQ0KFDsXfvXkmJycvLw4IFC7B06VKvxuLJ+7uLIAhQqVQuz1WHDh1w4403YuHChU73ufXWW3H06FF8/fXXHr2/vyBjiAg4FDNEEE3PwIEDsWDBAsybNw8LFizAtm3bcObMGWzYsAE33XQTPvjgA6evjY+Px913340nn3xSWsy88cYbqK+vR//+/bFq1SocPnwYR48exccff4wjR444baB5++23IzIyEtOnT8eBAwewceNGzJkzB3feeacULwRYgp9nzpyJQ4cOYc2aNXjyySdx//33y2JVRowYgS1btiAvL09ShgCLMfTuu++irq7OoTFUWVmJwsJCFBQU4Pfff8fDDz+M1NRUmXrSpUsXyfhzRVFREQoLC3HmzBl8/vnn+OijjzBlyhQAFuP07bffxtdff42//vWv2LdvH06fPo2lS5dixowZ+NOf/oRp06bBaDTio48+wq233oru3bvLHnfffTdyc3Oxd+/eBseixN33d4Ver0dhYSEKCwtx+PBhzJkzB1VVVZg0aZLL182bNw/ffvutrPwBzy233II//elPuOWWW/D0009jx44dOH36NDZv3oxVq1Z53YDVbVzmmhGiKFJqfWOzbMtJsc0j34l/evO3QA+FIGSEW2q9I1atWiUOHTpUjIuLE2NiYsSePXuKTz/9tMvUelEUxTNnzogajUZctWqVtO3ChQvi/fffL+bk5IharVaMjY0Vr7zySvHf//63WF1dLe0HL1Prn3jiCTElJUWMjY0V7777brGurk42plOnTokAxC5dusi25+fniwDE9u3b232ONm3a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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Get the discharge data\n", + "timeseries.plot()\n", + "plt.ylabel(\"Discharge $[m^3/s]$\")" + ] + }, + { + "cell_type": "markdown", + "id": "e127f4cee22f06f6", + "metadata": {}, + "source": [ + "## Finalize the model" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "f7cab2e9f16f61b3", + "metadata": {}, + "outputs": [], + "source": [ + "pcrglob.finalize()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bfa423e8-c028-4415-a4d3-28dc989b7b05", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.12.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/book/content/models/speyside_05min.ini b/book/content/models/speyside_05min.ini new file mode 100644 index 0000000..2d112cd --- /dev/null +++ b/book/content/models/speyside_05min.ini @@ -0,0 +1,470 @@ +[globalOptions] + +# Set the pcrglobwb output directory in an absolute path. +outputDir = /home/mmelotto/forcing/camelsgb_8004/pcrglobwb + +# Set the input directory map in an absolute path. +# - The input forcing and parameter directories and files will be relative to this. +inputDir = /data/shared/parameter-sets/pcrglobwb_global + + +# Map of clone (must be provided in PCRaster maps) +# - Spatial resolution and coverage are based on this map: +cloneMap = global_05min/cloneMaps/speyside_05min.map +#cloneMap = /home/mmelotto/forcing/camelsgb_8004/pcrglobwb/speyside_05min.map +#cloneMap = ./speyside_05min.map + +# The area/landmask of interest: +# If None, area/landmask is limited for cells with ldd value. +landmask = global_05min/cloneMaps/speyside_05min.map +#landmask = ./speyside_05min.map + +# netcdf attributes for output files: +institution = Department of Physical Geography, Utrecht University +title = PCR-GLOBWB 2 output (not coupled to MODFLOW) +description = by Edwin H. Sutanudjaja (contact: e.h.sutanudjaja@uu.nl) + +startTime = 2005-01-01 +endTime = 2008-12-31 +# Format: YYYY-MM-DD ; The model runs on daily time step. + + +# spinning up options: +maxSpinUpsInYears = 0 +minConvForSoilSto = 0.0 +minConvForGwatSto = 0.0 +minConvForChanSto = 0.0 +minConvForTotlSto = 0.0 + + +[meteoOptions] + +# Set the forcing temperature and precipitation files (relative to inputDir) +precipitationNC = global_05min/meteo/pcrglobwb_OBS6_ERA5_reanaly_1_day_pr_2002-2016_merrimack.nc +temperatureNC = global_05min/meteo/pcrglobwb_OBS6_ERA5_reanaly_1_day_tas_2002-2016_merrimack.nc + +# Method to calculate referencePotETP (reference potential evaporation+transpiration) +# options are "Hamon" and "Input" ; If "Input", the netcdf input file must be given: +referenceETPotMethod = Hamon +refETPotFileNC = 'test' + +# variable names in the forcing files (optional) +precipitationVariableName = pr +temperatureVariableName = tas +referenceEPotVariableName = potentialEvaporation + +# conversion constants and factors to correct forcing values (optional) so that the units are in m.day-1 and degree Celcius +precipitationConstant = 0.0 +precipitationFactor = 1.0 +temperatureConstant = -273.15 +temperatureFactor = 1.0 +referenceEPotConstant = 0.0 +referenceEPotFactor = 1.0 + + +[meteoDownscalingOptions] +# This section is for a 5 arcmin run, for downscaling meteorological forcing at 30 arcmin to 5 arcmin. + +downscalePrecipitation = True +downscaleTemperature = True +downscaleReferenceETPot = True + +# downscaling (based on the digital elevation model): +# The downscaling will be performed by providing the "cellIds" (meteoDownscaleIds) of lower resolution cells. +meteoDownscaleIds = global_05min/meteo/downscaling_from_30min/uniqueIds_30min.map +highResolutionDEM = global_05min/meteo/downscaling_from_30min/gtopo05min.map + +# lapse rates: +temperLapseRateNC = global_05min/meteo/downscaling_from_30min/temperature_slope.nc +precipLapseRateNC = global_05min/meteo/downscaling_from_30min/precipitation_slope.nc + +# downscaling criteria (TODO: remove these): +temperatCorrelNC = global_05min/meteo/downscaling_from_30min/temperature_correl.nc +precipitCorrelNC = global_05min/meteo/downscaling_from_30min/precipitation_correl.nc + +# windows length (unit: arc-degree) for smoothing/averaging forcing data (not recommended): +smoothingWindowsLength = 0 + + +[landSurfaceOptions] +debugWaterBalance = True + +numberOfUpperSoilLayers = 2 + +# soil and parameters +# - they are used for all land cover types, unless they are are defined in certain land cover type options +# (e.g. different/various soil types for agriculture areas) +topographyNC = global_05min/landSurface/topography/topography_parameters_5_arcmin_october_2015.nc +soilPropertiesNC = global_05min/landSurface/soil/soilProperties5ArcMin.nc + + +includeIrrigation = True + +# netcdf time series for historical expansion of irrigation areas (unit: hectares). +# Note: The resolution of this map must be consisten with the resolution of cellArea. +historicalIrrigationArea = global_05min/waterUse/irrigation/irrigated_areas/irrigationArea05ArcMin.nc + +# a pcraster map/value defining irrigation efficiency (dimensionless) - optional +irrigationEfficiency = global_30min/waterUse/irrigation/irrigation_efficiency/efficiency.map + + +includeDomesticWaterDemand = True +includeIndustryWaterDemand = True +includeLivestockWaterDemand = True + +# domestic, industrial and livestock water demand data (unit must be in m.day-1) +domesticWaterDemandFile = global_05min/waterUse/waterDemand/domestic/domestic_water_demand_version_april_2015.nc +industryWaterDemandFile = global_05min/waterUse/waterDemand/industry/industry_water_demand_version_april_2015.nc +livestockWaterDemandFile = global_05min/waterUse/waterDemand/livestock/livestock_water_demand_version_april_2015.nc + + +# desalination water supply (maximum/potential/capacity) +desalinationWater = global_05min/waterUse/desalination/desalination_water_version_april_2015.nc + + +# zone IDs (scale) at which allocations of groundwater and surface water (as well as desalinated water) are performed +allocationSegmentsForGroundSurfaceWater = global_05min/waterUse/abstraction_zones/abstraction_zones_60min_05min.map + +# pcraster maps defining the partitioning of groundwater - surface water source +# +# - predefined surface water - groundwater partitioning for irrigation demand (e.g. based on Siebert, Global Map of Irrigation Areas version 5) +irrigationSurfaceWaterAbstractionFractionData = global_05min/waterUse/source_partitioning/surface_water_fraction_for_irrigation/AEI_SWFRAC.map +# -- quality map +irrigationSurfaceWaterAbstractionFractionDataQuality = global_05min/waterUse/source_partitioning/surface_water_fraction_for_irrigation/AEI_QUAL.map +# +# - threshold values defining the preference for surface water source for irrigation purpose +# -- treshold to maximize surface water irrigation use (cells with irrSurfaceWaterAbstractionFraction above this will prioritize irrigation surface water use) +treshold_to_maximize_irrigation_surface_water = 0.50 +# -- treshold to minimize fossil water withdrawal for irrigation (cells with irrSurfaceWaterAbstractionFraction below this have no fossil withdrawal for irrigation) +treshold_to_minimize_fossil_groundwater_irrigation = 0.70 +# +# - predefined surface water - groundwater partitioning for non irrigation demand (e.g. based on McDonald, 2014) +maximumNonIrrigationSurfaceWaterAbstractionFractionData = global_30min/waterUse/source_partitioning/surface_water_fraction_for_non_irrigation/max_city_sw_fraction.map + + +[forestOptions] + +name = forest +debugWaterBalance = True + +# snow module properties +snowModuleType = Simple +freezingT = 0.0 +degreeDayFactor = 0.0025 +snowWaterHoldingCap = 0.1 +refreezingCoeff = 0.05 + +# other paramater values +minTopWaterLayer = 0.0 +minCropKC = 0.2 + +cropCoefficientNC = global_05min/landSurface/landCover/naturalTall/cropCoefficientForest.nc +interceptCapNC = global_05min/landSurface/landCover/naturalTall/interceptCapInputForest.nc +coverFractionNC = global_05min/landSurface/landCover/naturalTall/coverFractionInputForest.nc + +landCoverMapsNC = None +# If NC file is not provided, we have to provide the following pcraster maps: +fracVegCover = global_05min/landSurface/landCover/naturalTall/vegf_tall.map +minSoilDepthFrac = global_30min/landSurface/landCover/naturalTall/minf_tall_permafrost.map +maxSoilDepthFrac = global_30min/landSurface/landCover/naturalTall/maxf_tall.map +rootFraction1 = global_05min/landSurface/landCover/naturalTall/rfrac1_tall.map +rootFraction2 = global_05min/landSurface/landCover/naturalTall/rfrac2_tall.map +maxRootDepth = 1.0 +# Note: The maxRootDepth is not used for non irrigated land cover type. +# +# Parameters for the Arno's scheme: +arnoBeta = None +# If arnoBeta is defined, the soil water capacity distribution is based on this. +# If arnoBeta is NOT defined, maxSoilDepthFrac must be defined such that arnoBeta will be calculated based on maxSoilDepthFrac and minSoilDepthFrac. + +# initial conditions: +interceptStorIni = global_05min/initialConditions/interceptStor_forest_1999-12-31.map +snowCoverSWEIni = global_05min/initialConditions/snowCoverSWE_forest_1999-12-31.map +snowFreeWaterIni = global_05min/initialConditions/snowFreeWater_forest_1999-12-31.map +topWaterLayerIni = global_05min/initialConditions/topWaterLayer_forest_1999-12-31.map +storUppIni = global_05min/initialConditions/storUpp_forest_1999-12-31.map +storLowIni = global_05min/initialConditions/storLow_forest_1999-12-31.map +interflowIni = global_05min/initialConditions/interflow_forest_1999-12-31.map + + +[grasslandOptions] + +name = grassland +debugWaterBalance = True + +# snow module properties +snowModuleType = Simple +freezingT = 0.0 +degreeDayFactor = 0.0025 +snowWaterHoldingCap = 0.1 +refreezingCoeff = 0.05 + +# other paramater values +minTopWaterLayer = 0.0 +minCropKC = 0.2 + +cropCoefficientNC = global_05min/landSurface/landCover/naturalShort/cropCoefficientGrassland.nc +interceptCapNC = global_05min/landSurface/landCover/naturalShort/interceptCapInputGrassland.nc +coverFractionNC = global_05min/landSurface/landCover/naturalShort/coverFractionInputGrassland.nc + +landCoverMapsNC = None +# If NC file is not provided, we have to provide the following values: +fracVegCover = global_05min/landSurface/landCover/naturalShort/vegf_short.map +minSoilDepthFrac = global_30min/landSurface/landCover/naturalShort/minf_short_permafrost.map +maxSoilDepthFrac = global_30min/landSurface/landCover/naturalShort/maxf_short.map +rootFraction1 = global_05min/landSurface/landCover/naturalShort/rfrac1_short.map +rootFraction2 = global_05min/landSurface/landCover/naturalShort/rfrac2_short.map +maxRootDepth = 0.5 +# Note: The maxRootDepth is not used for non irrigated land cover type. +# +# Parameters for the Arno's scheme: +arnoBeta = None +# If arnoBeta is defined, the soil water capacity distribution is based on this. +# If arnoBeta is NOT defined, maxSoilDepthFrac must be defined such that arnoBeta will be calculated based on maxSoilDepthFrac and minSoilDepthFrac. + +# initial conditions: +interceptStorIni = global_05min/initialConditions/interceptStor_grassland_1999-12-31.map +snowCoverSWEIni = global_05min/initialConditions/snowCoverSWE_grassland_1999-12-31.map +snowFreeWaterIni = global_05min/initialConditions/snowFreeWater_grassland_1999-12-31.map +topWaterLayerIni = global_05min/initialConditions/topWaterLayer_grassland_1999-12-31.map +storUppIni = global_05min/initialConditions/storUpp_grassland_1999-12-31.map +storLowIni = global_05min/initialConditions/storLow_grassland_1999-12-31.map +interflowIni = global_05min/initialConditions/interflow_grassland_1999-12-31.map + + +[irrPaddyOptions] + +name = irrPaddy +debugWaterBalance = True + +# snow module properties +snowModuleType = Simple +freezingT = 0.0 +degreeDayFactor = 0.0025 +snowWaterHoldingCap = 0.1 +refreezingCoeff = 0.05 +# +landCoverMapsNC = None +# If NC file is not provided, we have to provide the following values: +fracVegCover = global_05min/landSurface/landCover/irrPaddy/fractionPaddy.map +minSoilDepthFrac = global_30min/landSurface/landCover/irrPaddy/minf_paddy_permafrost.map +maxSoilDepthFrac = global_30min/landSurface/landCover/irrPaddy/maxf_paddy.map +rootFraction1 = global_30min/landSurface/landCover/irrPaddy/rfrac1_paddy.map +rootFraction2 = global_30min/landSurface/landCover/irrPaddy/rfrac2_paddy.map +maxRootDepth = 0.5 +# +# Parameters for the Arno's scheme: +arnoBeta = None +# If arnoBeta is defined, the soil water capacity distribution is based on this. +# If arnoBeta is NOT defined, maxSoilDepthFrac must be defined such that arnoBeta will be calculated based on maxSoilDepthFrac and minSoilDepthFrac. +# +# other paramater values +minTopWaterLayer = 0.05 +minCropKC = 0.2 +cropDeplFactor = 0.2 +minInterceptCap = 0.0002 + +cropCoefficientNC = global_30min/landSurface/landCover/irrPaddy/Global_CropCoefficientKc-IrrPaddy_30min.nc + +# initial conditions: +interceptStorIni = global_05min/initialConditions/interceptStor_irrPaddy_1999-12-31.map +snowCoverSWEIni = global_05min/initialConditions/snowCoverSWE_irrPaddy_1999-12-31.map +snowFreeWaterIni = global_05min/initialConditions/snowFreeWater_irrPaddy_1999-12-31.map +topWaterLayerIni = global_05min/initialConditions/topWaterLayer_irrPaddy_1999-12-31.map +storUppIni = global_05min/initialConditions/storUpp_irrPaddy_1999-12-31.map +storLowIni = global_05min/initialConditions/storLow_irrPaddy_1999-12-31.map +interflowIni = global_05min/initialConditions/interflow_irrPaddy_1999-12-31.map + + +[irrNonPaddyOptions] + +name = irrNonPaddy +debugWaterBalance = True + +# snow module properties +snowModuleType = Simple +freezingT = 0.0 +degreeDayFactor = 0.0025 +snowWaterHoldingCap = 0.1 +refreezingCoeff = 0.05 +# +landCoverMapsNC = None +# If NC file is not provided, we have to provide the following values: +fracVegCover = global_05min/landSurface/landCover/irrNonPaddy/fractionNonPaddy.map +minSoilDepthFrac = global_30min/landSurface/landCover/irrNonPaddy/minf_nonpaddy_permafrost.map +maxSoilDepthFrac = global_30min/landSurface/landCover/irrNonPaddy/maxf_nonpaddy.map +rootFraction1 = global_30min/landSurface/landCover/irrNonPaddy/rfrac1_nonpaddy.map +rootFraction2 = global_30min/landSurface/landCover/irrNonPaddy/rfrac2_nonpaddy.map +maxRootDepth = 1.0 +# +# Parameters for the Arno's scheme: +arnoBeta = None +# If arnoBeta is defined, the soil water capacity distribution is based on this. +# If arnoBeta is NOT defined, maxSoilDepthFrac must be defined such that arnoBeta will be calculated based on maxSoilDepthFrac and minSoilDepthFrac. +# +# other paramater values +minTopWaterLayer = 0.0 +minCropKC = 0.2 +cropDeplFactor = 0.5 +minInterceptCap = 0.0002 + +cropCoefficientNC = global_30min/landSurface/landCover/irrNonPaddy/Global_CropCoefficientKc-IrrNonPaddy_30min.nc + +# initial conditions: +interceptStorIni = global_05min/initialConditions/interceptStor_irrNonPaddy_1999-12-31.map +snowCoverSWEIni = global_05min/initialConditions/snowCoverSWE_irrNonPaddy_1999-12-31.map +snowFreeWaterIni = global_05min/initialConditions/snowFreeWater_irrNonPaddy_1999-12-31.map +topWaterLayerIni = global_05min/initialConditions/topWaterLayer_irrNonPaddy_1999-12-31.map +storUppIni = global_05min/initialConditions/storUpp_irrNonPaddy_1999-12-31.map +storLowIni = global_05min/initialConditions/storLow_irrNonPaddy_1999-12-31.map +interflowIni = global_05min/initialConditions/interflow_irrNonPaddy_1999-12-31.map + + + + +[groundwaterOptions] + +debugWaterBalance = True + +groundwaterPropertiesNC = global_05min/groundwater/properties/groundwaterProperties5ArcMin.nc +# The file will containspecificYield (m3.m-3), kSatAquifer, recessionCoeff (day-1) +# +# - minimum value for groundwater recession coefficient (day-1) +minRecessionCoeff = 1.0e-4 + +# some options for constraining groundwater abstraction +limitFossilGroundWaterAbstraction = True +estimateOfRenewableGroundwaterCapacity = 0.0 +estimateOfTotalGroundwaterThickness = global_05min/groundwater/aquifer_thickness_estimate/thickness_05min.map +# minimum and maximum total groundwater thickness +minimumTotalGroundwaterThickness = 100. +maximumTotalGroundwaterThickness = None + +# annual pumping capacity for each region (unit: billion cubic meter per year), should be given in a netcdf file +pumpingCapacityNC = global_30min/waterUse/groundwater_pumping_capacity/regional_abstraction_limit.nc + +# initial conditions: +storGroundwaterIni = global_05min/initialConditions/storGroundwater_1999-12-31.map +storGroundwaterFossilIni = global_05min/initialConditions/storGroundwaterFossil_1999-12-31.map +# +# additional initial conditions for pumping behaviors +avgNonFossilGroundwaterAllocationLongIni = global_05min/initialConditions/avgNonFossilGroundwaterAllocationLong_1999-12-31.map +avgNonFossilGroundwaterAllocationShortIni = global_05min/initialConditions/avgNonFossilGroundwaterAllocationShort_1999-12-31.map +avgTotalGroundwaterAbstractionIni = global_05min/initialConditions/avgTotalGroundwaterAbstraction_1999-12-31.map +avgTotalGroundwaterAllocationLongIni = global_05min/initialConditions/avgTotalGroundwaterAllocationLong_1999-12-31.map +avgTotalGroundwaterAllocationShortIni = global_05min/initialConditions/avgTotalGroundwaterAllocationShort_1999-12-31.map +# +# additional initial conditions (needed only for MODFLOW run) +relativeGroundwaterHeadIni = global_05min/initialConditions/relativeGroundwaterHead_1999-12-31.map +baseflowIni = global_05min/initialConditions/baseflow_1999-12-31.map + +# zonal IDs (scale) at which zonal allocation of groundwater is performed +allocationSegmentsForGroundwater = global_05min/waterUse/abstraction_zones/abstraction_zones_30min_05min.map + +# assumption for the minimum transmissivity value (unit: m2/day) that can be extracted (via capillary rise and/or groundwater abstraction) - optional +minTransimissivityForProductiveAquifer = 50.0 +# - if None, abstraction and/or capillary rise can always occur everywhere and unlimited + + + +[routingOptions] + +debugWaterBalance = True + +# drainage direction map +lddMap = global_05min/routing/ldd_and_cell_area/lddsound_05min.map + +# cell area (unit: m2) +cellAreaMap = global_05min/routing/ldd_and_cell_area/cellsize05min.correct.map + +# routing method: #accuTravelTime or kinematicWave +routingMethod = accuTravelTime + +# manning coefficient +manningsN = 0.04 + +# Option for flood plain simulation +dynamicFloodPlain = False + +# manning coefficient for floodplain +floodplainManningsN = 0.07 + + +# channel gradient +gradient = global_05min/routing/channel_properties/channel_gradient.map + +# constant channel depth +constantChannelDepth = global_05min/routing/channel_properties/bankfull_depth.map + +# constant channel width (optional) +constantChannelWidth = global_05min/routing/channel_properties/bankfull_width.map + +# minimum channel width (optional) +minimumChannelWidth = global_05min/routing/channel_properties/bankfull_width.map + +# channel properties for flooding +bankfullCapacity = None +# - If None, it will be estimated from (bankfull) channel depth (m) and width (m) + + +# files for relative elevation (above minimum dem) +relativeElevationFiles = global_05min/routing/channel_properties/dzRel%04d.map +relativeElevationLevels = 0.0, 0.01, 0.05, 0.10, 0.20, 0.30, 0.40, 0.50, 0.60, 0.70, 0.80, 0.90, 1.00 + + +# composite crop factors for WaterBodies: +cropCoefficientWaterNC = global_30min/routing/kc_surface_water/cropCoefficientForOpenWater.nc +minCropWaterKC = 1.00 + + +# lake and reservoir parameters +waterBodyInputNC = global_05min/routing/surface_water_bodies/waterBodies5ArcMin.nc +onlyNaturalWaterBodies = False + + +# initial conditions: +waterBodyStorageIni = global_05min/initialConditions/waterBodyStorage_1999-12-31.map +channelStorageIni = global_05min/initialConditions/channelStorage_1999-12-31.map +readAvlChannelStorageIni = global_05min/initialConditions/readAvlChannelStorage_1999-12-31.map +avgDischargeLongIni = global_05min/initialConditions/avgDischargeLong_1999-12-31.map +avgDischargeShortIni = global_05min/initialConditions/avgDischargeShort_1999-12-31.map +m2tDischargeLongIni = global_05min/initialConditions/m2tDischargeLong_1999-12-31.map +avgBaseflowLongIni = global_05min/initialConditions/avgBaseflowLong_1999-12-31.map +riverbedExchangeIni = global_05min/initialConditions/riverbedExchange_1999-12-31.map +# +# initial condition of sub-time step discharge (needed for estimating number of time steps in kinematic wave methods) +subDischargeIni = global_05min/initialConditions/subDischarge_1999-12-31.map +# +avgLakeReservoirInflowShortIni = global_05min/initialConditions/avgLakeReservoirInflowShort_1999-12-31.map +avgLakeReservoirOutflowLongIni = global_05min/initialConditions/avgLakeReservoirOutflowLong_1999-12-31.map +# +# number of days (timesteps) that have been performed for spinning up initial conditions in the routing module (i.e. channelStorageIni, avgDischargeLongIni, avgDischargeShortIni, etc.) +timestepsToAvgDischargeIni = global_05min/initialConditions/timestepsToAvgDischarge_1999-12-31.map +# Note that: +# - maximum number of days (timesteps) to calculate long term average flow values (default: 5 years = 5 * 365 days = 1825) +# - maximum number of days (timesteps) to calculate short term average values (default: 1 month = 1 * 30 days = 30) + + + + +[reportingOptions] + +# output files that will be written in the disk in netcdf files: +# - daily resolution +#outDailyTotNC = temperature,precipitation,totalEvaporation,gwRecharge,totalRunoff,totalGroundwaterAbstraction,discharge,surfaceWaterStorage,interceptStor,snowFreeWater,snowCoverSWE,topWaterLayer,storUppTotal,storLowTotal,storGroundwater,totalWaterStorageThickness,channelStorage,surfaceWaterAbstraction,nonIrrGrossDemand,nonIrrWaterConsumption,irrPaddyWaterWithdrawal,domesticWaterWithdrawal,industryWaterWithdrawal,precipitation_at_irrigation,evaporation_from_irrigation,surfaceWaterStorage,dynamicFracWat,floodVolume,floodDepth,surfaceWaterLevel +outDailyTotNC = temperature,precipitation,totalEvaporation,gwRecharge,totalRunoff,totalGroundwaterAbstraction,discharge,surfaceWaterStorage,interceptStor,snowFreeWater,snowCoverSWE,topWaterLayer,storUppTotal,storLowTotal,storGroundwater,totalWaterStorageThickness,channelStorage,surfaceWaterAbstraction,nonIrrGrossDemand,nonIrrWaterConsumption,irrPaddyWaterWithdrawal,domesticWaterWithdrawal,industryWaterWithdrawal,precipitation_at_irrigation,evaporation_from_irrigation,surfaceWaterStorage,dynamicFracWat,surfaceWaterLevel +# - monthly resolution +outMonthTotNC = None +outMonthAvgNC = None +outMonthEndNC = None +# - annual resolution +outAnnuaTotNC = None +outAnnuaAvgNC = None +outAnnuaEndNC = None +# - monthly and annual maxima +outMonthMaxNC = None +outAnnuaMaxNC = None + +# netcdf format and zlib setup +formatNetCDF = NETCDF4 +zlib = True \ No newline at end of file diff --git a/book/content/models/speyside_05min.map b/book/content/models/speyside_05min.map new file mode 100644 index 0000000..e044b0c Binary files /dev/null and b/book/content/models/speyside_05min.map differ diff --git a/book/content/models/wflow.md b/book/content/models/wflow.md new file mode 100644 index 0000000..26760bb --- /dev/null +++ b/book/content/models/wflow.md @@ -0,0 +1,4 @@ +# Wflow + +Here we will show use cases of Wflow (eWaterCycle v2.4). +They are Wflowjl and Wflow. \ No newline at end of file diff --git a/book/some_content/placeholder.md b/book/content/placeholder.md similarity index 100% rename from book/some_content/placeholder.md rename to book/content/placeholder.md diff --git a/book/some_content/why.md b/book/content/why.md similarity index 88% rename from book/some_content/why.md rename to book/content/why.md index 42ea2a9..b57b57d 100644 --- a/book/some_content/why.md +++ b/book/content/why.md @@ -8,7 +8,8 @@ There was a clear need for a modern platform that supports transparent, reproduc eWaterCycle has been developed to take away programming and compatibility issues within hydrological modelling. It is designed in a FAIR (Findable Accessible Interoperable Reusable) way. Many models use different input/outputs formats, making interoperability hard. +Different models use different programming languages. This is what eWaterCycle changes. -It utilizes the Basic Model Interface (BMI) to improve interoperability between all the models. +It utilizes the Basic Model Interface (BMI) to improve interoperability between all the models we support currently. diff --git a/book/content/why/sowhat.md b/book/content/why/sowhat.md new file mode 100644 index 0000000..1a55a74 --- /dev/null +++ b/book/content/why/sowhat.md @@ -0,0 +1,15 @@ +# So What? + +eWaterCycle helps researchers & students to accelerate scientific discovery, improve collaboration, and enhance decision-making. +By making models and workflows reproducible and shareable, it bridges the gap between individual research and global water challenges. +It also helps in validation your own models, by easily being able to switch between models. + +It supports education (BSc + MSc + PhD Theses & Master courses) with research. +Enabling students to do hydrological research at any level, being scalable up the academic ladder. +Meaning that the research done by a BSc can be used and improved by MSc, PhD and professors. +It also promotes openness, and provides a foundation for more reliable water management, especially in the context of climate change and sustainable development. + +Everyone is also encouraged to share their models/data with the eWaterCycle team to make them compatible. +We would gladly help you with this! + + diff --git a/book/some_content/why/what.md b/book/content/why/what.md similarity index 94% rename from book/some_content/why/what.md rename to book/content/why/what.md index 9e66257..4c6bd71 100644 --- a/book/some_content/why/what.md +++ b/book/content/why/what.md @@ -17,8 +17,10 @@ The coupling of models paired with our seamless integration of data sources, vis - Access and preprocess input data seamlessly. - Reproduce results and share workflows across institutions. - Follow FAIR data principles, enhancing trust and transparency. +- Share their analysis via jupyter notebooks that can be shown in teachbooks, like this one. The platform is designed with researchers in mind, enabling both simple experiments and complex coupled simulations. +With Jupyter notebooks for easy Python analysis. ## More Technical Details diff --git a/book/content/workflows.md b/book/content/workflows.md new file mode 100644 index 0000000..ca43272 --- /dev/null +++ b/book/content/workflows.md @@ -0,0 +1,54 @@ +# Different Types of Workflows + +Here we will link to research applications using eWaterCycle v2.4. +These are examples of workflows, they might not work with the current version of eWaterCycle. + +The workflows are work that has been done using eWaterCycle, and is provided here to help you kickstart your research! +Here is a quick overview: + +## Running a Model + +### Flooding + +Using CMIP6 future data together with a calibrated HBV model, Thirza van Esch did research into the flooding of the Wien River. +As part of [her BSc thesis](https://www.ewatercycle.org/projects/main/thesis_projects/BSc/2025_Q3_ThirzaVanEsch_CEG/BSc_ThirzaVanEsch.html). + +### Droughts + +Using a calibrated HBV model with CMIP 6 future data, Ischa Hollemans looked at droughts of the Loire River. +As part of [his BSc thesis](https://www.ewatercycle.org/projects/main/thesis_projects/BSc/2025_Q3_IschaHollemans_CEG/BSc_IschaHollemans.html). + +### Climate Change + +[Being worked on] + +## Calibrating Models + +### HBV + +[Here](https://www.ewatercycle.org/projects/main/thesis_projects/BSc/2025_Q3_ThirzaVanEsch_CEG/Report/CHAPTER3OVER.html#calibration) Thirza van Esch used RMSE and the Nelder-Mead optimization to calibrate her HBV model for floodings. + +## Comparisons + +### 1 Model, Multiple Forcings + +In a climate change analysis we use multiple forcings with the same HBV model. +The model is calibrated on the ERA5 dataset as input data which is checked against the discharge that is provided by the CAMELS dataset. +This calibrated HBV model is then used together with CMIP6 climate scenarios, and the results are analyzed. +See the results [here](https://www.ewatercycle.org/projects/main/thesis_projects/Research/eWaterCycle-ClimateChangeImpact/second_results/hysets_02481510/step_4_analyse_executed.html). + +### 1 Forcing, Multiple Models + +[Being worked on] + +## Model Coupling + +[Being worked on] + +## Data Assimilation + +Dr. Jerom Aerts has used Data Assimilation (DA) to implement an uncertainty-aware model evaluation framework within eWaterCycle to assess hydrological model performance while explicitly accounting for discharge observation uncertainty. +Using 299 catchments from CAMELS-GB, he demonstrated that many apparent improvements from calibration or model differences fall within observational uncertainty bounds, underscoring the need for uncertainty-aware approaches such as data assimilation. +This can be found [here](https://hess.copernicus.org/articles/28/5011/2024/) and [here2](https://research-portal.uu.nl/en/publications/on-the-importance-of-discharge-observation-uncertainty-when-inter/). +With his code here on [GitHub](https://github.com/jeromaerts/CAMELS-GB_Comparison_Uncertainty). + diff --git a/book/some_content/workflows/DA.md b/book/content/workflows/DA.md similarity index 100% rename from book/some_content/workflows/DA.md rename to book/content/workflows/DA.md diff --git a/book/some_content/workflows/calibrating_models.md b/book/content/workflows/calibrating_models.md similarity index 100% rename from book/some_content/workflows/calibrating_models.md rename to book/content/workflows/calibrating_models.md diff --git a/book/some_content/workflows/calibrating_models/calibrate_hbv.ipynb b/book/content/workflows/calibrating_models/calibrate_hbv.ipynb similarity index 100% rename from book/some_content/workflows/calibrating_models/calibrate_hbv.ipynb rename to book/content/workflows/calibrating_models/calibrate_hbv.ipynb diff --git a/book/some_content/workflows/comparisons.md b/book/content/workflows/comparisons.md similarity index 100% rename from book/some_content/workflows/comparisons.md rename to book/content/workflows/comparisons.md diff --git a/book/some_content/workflows/comparisons/1_forcing_multiple_models.md b/book/content/workflows/comparisons/1_forcing_multiple_models.md similarity index 100% rename from book/some_content/workflows/comparisons/1_forcing_multiple_models.md rename to book/content/workflows/comparisons/1_forcing_multiple_models.md diff --git a/book/some_content/workflows/comparisons/1_model_multiple_forcings.ipynb b/book/content/workflows/comparisons/1_model_multiple_forcings.ipynb similarity index 100% rename from book/some_content/workflows/comparisons/1_model_multiple_forcings.ipynb rename to book/content/workflows/comparisons/1_model_multiple_forcings.ipynb diff --git a/book/some_content/workflows/model_coupling.md b/book/content/workflows/model_coupling.md similarity index 100% rename from book/some_content/workflows/model_coupling.md rename to book/content/workflows/model_coupling.md diff --git a/book/some_content/workflows/running_a_model.md b/book/content/workflows/running_a_model.md similarity index 100% rename from book/some_content/workflows/running_a_model.md rename to book/content/workflows/running_a_model.md diff --git a/book/some_content/workflows/running_a_model/climate_change.ipynb b/book/content/workflows/running_a_model/climate_change.ipynb similarity index 100% rename from book/some_content/workflows/running_a_model/climate_change.ipynb rename to book/content/workflows/running_a_model/climate_change.ipynb diff --git a/book/some_content/workflows/running_a_model/climate_change.md b/book/content/workflows/running_a_model/climate_change.md similarity index 100% rename from book/some_content/workflows/running_a_model/climate_change.md rename to book/content/workflows/running_a_model/climate_change.md diff --git a/book/some_content/workflows/running_a_model/discharge.ipynb b/book/content/workflows/running_a_model/discharge.ipynb similarity index 100% rename from book/some_content/workflows/running_a_model/discharge.ipynb rename to book/content/workflows/running_a_model/discharge.ipynb diff --git a/book/some_content/workflows/running_a_model/droughts.md b/book/content/workflows/running_a_model/droughts.md similarity index 100% rename from book/some_content/workflows/running_a_model/droughts.md rename to book/content/workflows/running_a_model/droughts.md diff --git a/book/some_content/workflows/running_a_model/flooding.ipynb b/book/content/workflows/running_a_model/flooding.ipynb similarity index 100% rename from book/some_content/workflows/running_a_model/flooding.ipynb rename to book/content/workflows/running_a_model/flooding.ipynb diff --git a/book/some_content/workflows/running_a_model/flooding.md b/book/content/workflows/running_a_model/flooding.md similarity index 100% rename from book/some_content/workflows/running_a_model/flooding.md rename to book/content/workflows/running_a_model/flooding.md diff --git a/book/intro.md b/book/intro.md index c8e922a..085c811 100644 --- a/book/intro.md +++ b/book/intro.md @@ -1,9 +1,9 @@ # Getting Started With eWaterCycle -Welcome to eWaterCycle! -The [why](https://www.ewatercycle.org/getting-started/main/some_content/why.html), [what](https://www.ewatercycle.org/getting-started/main/some_content/why/what.html) and [so what](https://www.ewatercycle.org/getting-started/main/some_content/why/sowhat.html) explain what the platform is in more detail. +##### Welcome to eWaterCycle! +A more detailed introduction can be found in the [why](https://www.ewatercycle.org/getting-started/main/some_content/why.html), [what](https://www.ewatercycle.org/getting-started/main/some_content/why/what.html) and [so what](https://www.ewatercycle.org/getting-started/main/some_content/why/sowhat.html) explaining what the platform is in more detail. The quick version; eWaterCycle is a platform for hydrological modelling developed by hydrologists and research software engineers. -This is done to take away interoperability/compatibility issues from the hydrologists, so they can perform their research more easily. +This is done to take away interoperability/compatibility issues hydrologists face, so they can perform their research more easily. We also offer an easy way to generate the forcing data for your model, we standardized the workflow for generating forcing and host ERA5 data ourselves. The workflow of eWaterCycle, usually, goes as follows: @@ -12,33 +12,43 @@ $ \text{Choose region & design experiment} \rightarrow \text{get forcing} \rightarrow \text{setup model} \rightarrow \text{analyse results} $ -First in designing your experiment you need to think about the model(s) you want use. -This defines the 2 essential steps in eWaterCycle: getting the forcing data & running the models. +First, in designing your experiment you need to think about the model(s) you want use, the region or regions you want to do research in are also important. +This then leads to the 2 essential steps in eWaterCycle: getting the forcing (input) data for your region & running the model(s). The input for different models differ, a quick example of using eWaterCycle can be found [here](https://www.ewatercycle.org/getting-started/main/some_content/first_model_run.html), and it is recommended that you start here. -It explains the default workflow quickly and from there you can make alterations. +It explains the default workflow quickly and from there you can make alterations to learn to work with the platform. -Once you understand the basics you can change the region ([using Caravan](https://www.ewatercycle.org/getting-started/main/some_content/forcing/era5_forcing_caravan_shapefile.html), or [your own shapefile](https://www.ewatercycle.org/getting-started/main/some_content/forcing/era5_forcing_own_shapefile.html)) and change the model you use. +Once you understand the basics you can change the region ([using Caravan](https://www.ewatercycle.org/getting-started/main/some_content/forcing/era5_forcing_caravan_shapefile.html), or [your own shapefile](https://www.ewatercycle.org/getting-started/main/some_content/forcing/era5_forcing_own_shapefile.html) for example) and change the model you use. Analyzing your results will depend on your workflow, but some examples can be found in the [workflows](https://www.ewatercycle.org/getting-started/main/some_content/workflows.html). For advanced workflows one can also couple models. +This GitHub repository will host some basic workflows, and it will link to external, more complicated, workflows. +These workflows are meant to kickstart your journey with eWaterCycle. More info on the different models that we support and what they need can be found [here](https://www.ewatercycle.org/getting-started/main/some_content/different_models.html). Generating the forcing data is done shown [here](https://www.ewatercycle.org/getting-started/main/some_content/generate_forcing.html). This is the same for every model only the user needs to know what type of forcing and variables are needed for their chosen model(s). After the forcing is generated the user can use different workflows, explained [here](https://www.ewatercycle.org/getting-started/main/some_content/workflows.html). -### Youtube video of eWaterCycle 1.0 (currently 2.4) +### YouTube video of eWaterCycle 1.0 (currently 2.4) This video showcases the thought train behind eWaterCycle! -[![Youtube video of eWaterCycle 1.0 (currently 2.4)](https://img.youtube.com/vi/eE75dtIJ1lk/0.jpg)](https://www.youtube.com/watch?v=eE75dtIJ1lk) +[![YouTube video of eWaterCycle 1.0 (currently 2.4)](https://img.youtube.com/vi/eE75dtIJ1lk/0.jpg)](https://www.youtube.com/watch?v=eE75dtIJ1lk) ### How To Get On eWaterCycle -Follow the rocket in the top right: ![launch button](figures/jupyterHub_launch.png) and click on JupyterHub. -(Note: this has to be inside a jupyter notebook page on teachbooks **NOTE** this cannot be used in external pages yet) -This will take you to ![eWC startup page](figures/startup.png) where you need to click Jupyter. -From here you need to use your login. +1. Click the *Launch eWaterCycle JupyterHub* button at the top of your screen. +It will then ask you to provide a link to your server (it defaults to a server for students). +Enter your username and password, it will then pull the *getting-started* GitHub page to your account and start at the **first run** notebook. + +**OR** + +2. Follow the rocket in the top right: ![launch button](figures/jupyterHub_launch.png) and click on JupyterHub. + (Note: this has to be inside a jupyter notebook page on teachbooks **NOTE** this cannot be used in external pages yet) + This will take you to ![eWC startup page](figures/startup.png) where you need to click Jupyter. + From here you need to use your login. ## Contents -[TO DO] + +A quick overview, this can be seen on the left bar of this teachbook. + - Why eWaterCycle? - What is eWaterCycle? - So Why Use eWaterCycle? diff --git a/book/some_content/generate_forcing.md b/book/some_content/generate_forcing.md deleted file mode 100644 index ccc3dc6..0000000 --- a/book/some_content/generate_forcing.md +++ /dev/null @@ -1,45 +0,0 @@ -# Generating Forcing Data - -There are different ways to get forcing data for your model run that are supported by eWaterCycle. -They also differ per model, so you will have to check the documentation of the model you want to use. - -Every model needs forcing data, there are several possible ways to get this forcing data: -- Camels Forcing using Caravan -- ERA5 reanalysis - - Shapefile you made yourself - - Shapefile from Caravan dataset -- CMIP6 historical data -- CMIP6 future data -- Manual data input - -eWaterCycle supports different types of forcings, currently it supports: - - - - - - - - - - - - - - - - - - - - -
CaravanForcingDistributedMakkinkForcingDistributedUserForcingGenericDistributedForcing
GenericLumpedForcingHypeForcingLisfloodForcingLumpedMakkinkForcing
LumpedUserForcingMarrmotForcingPCRGlobWBForcingWflowForcing
- -The type of forcing needed is model dependent! - -The forcing object in eWaterCycle has some properties: -- start time -- end time -- directory, which is a path -- shapefile, also a path pointing to the shapefile, it also needs the accompanying files (so .shp + .cpg, .prj, .dbf, .shx) -- filenames, a dictionary containing the paths to the netCDF files where the data is stored for that variable diff --git a/book/some_content/models/hbv.ipynb b/book/some_content/models/hbv.ipynb deleted file mode 100644 index fd96fd7..0000000 --- a/book/some_content/models/hbv.ipynb +++ /dev/null @@ -1,39 +0,0 @@ -{ - "cells": [ - { - "metadata": {}, - "cell_type": "markdown", - "source": "# HBV", - "id": "c174c2d93784aea8" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "", - "id": "f7f26aef2fa9a76d" - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 2 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/book/some_content/models/hbv.md b/book/some_content/models/hbv.md deleted file mode 100644 index 9e8acf4..0000000 --- a/book/some_content/models/hbv.md +++ /dev/null @@ -1,3 +0,0 @@ -# HBV - -Here we will show an example of 2 HBV cases. \ No newline at end of file diff --git a/book/some_content/models/pcr.md b/book/some_content/models/pcr.md deleted file mode 100644 index ed12b31..0000000 --- a/book/some_content/models/pcr.md +++ /dev/null @@ -1,5 +0,0 @@ -# PCRGlobWB 1.0 - -Here are 2 cases of using PCRGlobWB - -The first one also has extra notebooks in its directory to show you how to make the clonemaps and generate forcing. \ No newline at end of file diff --git a/book/some_content/models/pcrglobwb.ipynb b/book/some_content/models/pcrglobwb.ipynb deleted file mode 100644 index b6d24f2..0000000 --- a/book/some_content/models/pcrglobwb.ipynb +++ /dev/null @@ -1,39 +0,0 @@ -{ - "cells": [ - { - "metadata": {}, - "cell_type": "markdown", - "source": "# PCRGlobWB", - "id": "cfd6d6bae8f37e43" - }, - { - "metadata": {}, - "cell_type": "code", - "outputs": [], - "execution_count": null, - "source": "", - "id": "9a67e737e06396ba" - } - ], - "metadata": { - "kernelspec": { - "display_name": "Python 3", - "language": "python", - "name": "python3" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 2 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython2", - "version": "2.7.6" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} diff --git a/book/some_content/models/wflow.md b/book/some_content/models/wflow.md deleted file mode 100644 index 718aac7..0000000 --- a/book/some_content/models/wflow.md +++ /dev/null @@ -1,4 +0,0 @@ -# Wflow - -Here we will show use cases of Wflow. -They are Wflowjl and Wflow. \ No newline at end of file diff --git a/book/some_content/overview.md b/book/some_content/overview.md deleted file mode 100644 index ec79e50..0000000 --- a/book/some_content/overview.md +++ /dev/null @@ -1,3 +0,0 @@ -# Some content - -Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. \ No newline at end of file diff --git a/book/some_content/text_and_code.ipynb b/book/some_content/text_and_code.ipynb deleted file mode 100644 index 9abffd6..0000000 --- a/book/some_content/text_and_code.ipynb +++ /dev/null @@ -1,51 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Text and code\n", - "\n", - "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum." - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "hello world\n" - ] - } - ], - "source": [ - "print('hello world')" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "base", - "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.9.18" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} diff --git a/book/some_content/why/sowhat.md b/book/some_content/why/sowhat.md deleted file mode 100644 index 806b7bd..0000000 --- a/book/some_content/why/sowhat.md +++ /dev/null @@ -1,12 +0,0 @@ -# So What - -eWaterCycle helps hydrologists & students to accelerate scientific discovery, improve collaboration, and enhance decision-making. -By making models and workflows reproducible and shareable, it bridges the gap between individual research and global water challenges. -It also helps in validation your own models, by easily being able to switch between models. - -It supports education (BSc + MSc + PhD Theses & Master courses), promotes openness, and provides a foundation for more reliable water management, especially in the context of climate change and sustainable development. - -Everyone is also encouraged to share their models/data with the eWaterCycle team to make them compatible. -We would gladly help you with this! - - diff --git a/book/some_content/workflows.md b/book/some_content/workflows.md deleted file mode 100644 index afa7fa8..0000000 --- a/book/some_content/workflows.md +++ /dev/null @@ -1,49 +0,0 @@ -# Different Types of Workflows - -Here we will link to research applications using eWaterCycle. -These are examples of workflows, they might not work with the current version of eWaterCycle. - -Here is a quick overview: - -## Running a Model - -### Flooding - -Using CMIP6 future data together with a calibrated HBV model, Thirza van Esch did research into the flooding of the Wien River. -As part of her BSc thesis. - -### Droughts - -Using a calibrated HBV model with CMIP 6 future data, Ischa Hollemans looked at droughts of the Loire River. -As part of his BSc thesis. - -### Climate Change - -[Being worked on] - -## Calibrating Models - -### HBV - -Here Thirza van Esch used RMSE and the Nelder-Mead optimization to calibrate her HBV model for floodings. - -## Comparisons - -### 1 Model, Multiple Forcings - -[Being worked on] - -### 1 Forcing, Multiple Models - -[Being worked on] - -## Model Coupling - -[Being worked on] - -## Data Analysis - -[Being worked on] - - -