From dba46c9cd2f706459853b75801a3f83f65c71491 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Tue, 3 Dec 2024 13:21:19 +0100 Subject: [PATCH 01/26] add pull request template --- pull_request_template.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 pull_request_template.md diff --git a/pull_request_template.md b/pull_request_template.md new file mode 100644 index 0000000..1fe3abc --- /dev/null +++ b/pull_request_template.md @@ -0,0 +1,19 @@ +### Description + +Please add a description of the changes proposed in the pull request. + +### Checklist + +- [ ] Add a reference to related issues. +- [ ] @mentions of the person or team responsible for reviewing proposed changes. +- [ ] This pull request has a descriptive title. +- [ ] Follow [contributing guide](https://pystemmusscope.readthedocs.io/en/latest/CONTRIBUTING/). +- [ ] The checks, below the pull request, are successful (green). +- [ ] Add documentation. +- [ ] Add tests. +- [ ] Add changes to the [changelog file](./docs/CHANGELOG.md) under section `Unreleased`. +- [ ] If your changes are about BMI, make sure that your changes are compatible + with [the latest version of + STEMMUS_SCOPE](https://github.com/EcoExtreML/STEMMUS_SCOPE/releases) and [its + of docker + image](https://github.com/orgs/EcoExtreML/packages?repo_name=STEMMUS_SCOPE). From 885589da998fd0eaa52766002d31b4a5913c1e42 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Thu, 5 Dec 2024 14:33:20 +0100 Subject: [PATCH 02/26] update the documentation --- docs/CONTRIBUTING.md | 104 +- docs/README.dev.md | 214 --- docs/bmi.md | 30 +- docs/index.md | 43 +- docs/installation_instructions.md | 59 +- .../BMI_groundwater_coupling_copy.ipynb | 404 ++++++ .../BMI_groundwater_coupling_csv_plots.ipynb | 1128 +++++++++++++++ docs/notebooks/ex8.ipynb | 1256 +++++++++++++++++ docs/notebooks/modflow_example.ipynb | 182 +++ .../run_model_on_different_infra.ipynb | 11 +- .../run_model_with_different_dataset.ipynb | 11 +- ...model_with_different_dataset_on_CRIB.ipynb | 25 +- docs/reference.md | 17 +- mkdocs.yml | 8 +- 14 files changed, 3134 insertions(+), 358 deletions(-) delete mode 100644 docs/README.dev.md create mode 100644 docs/notebooks/BMI_groundwater_coupling_copy.ipynb create mode 100644 docs/notebooks/BMI_groundwater_coupling_csv_plots.ipynb create mode 100644 docs/notebooks/ex8.ipynb create mode 100644 docs/notebooks/modflow_example.ipynb diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index b61deb3..3d1ecef 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -1,16 +1,18 @@ # Contributing Guide -If you want to contribute to `PyStemmusScope`, you will need to set up your development -environment the right way. The instructions below will guide you though the steps +If you want to contribute to `PyStemmusScope`, we recommend installing +the package in editable mode. The instructions below will guide you though the steps required. -## Configure the python package for development and testing +### Dependencies -To contribute to the development of the python package, we recommend installing -the package in development mode. +Check the package `dependencies` and `optional dependencies` in the +`pyproject.toml` file in the root directory of the repository. The package +dependecies are those packages that are required to build the package as a +software. The optional dependencies are those packages that are required to run +the tests, build the documentation, and format the code. - -### Installation +### Installation in editable mode First, clone this repository: @@ -36,6 +38,13 @@ python3 -m pytest ### Building the documentation +To install the documentation dependencies (On Windows, use `python` instead of `python3`): + +```sh +cd STEMMUS_SCOPE_Processing +python3 -m install -e .[docs] +``` + To edit the documentation locally, do: ```sh @@ -49,10 +58,18 @@ INFO - [13:23:44] Serving on http://127.0.0.1:8000/ ### Run formatting tools -You can use `prospector` to get information about errors, potential problems and convention violations. To run: +Formatting configs are listed in the `pyproject.toml` file. You can use `ruff` +to get information about errors, potential problems and convention violations. +To run: ```sh -prospector +ruff check . +``` + +It is possible to fix some of the errors automatically. To do so, run: + +```sh +ruff check --fix . ``` To format the import statements, you can use `isort` as: @@ -61,7 +78,70 @@ To format the import statements, you can use `isort` as: isort ``` -## Development of STEMMUS_SCOPE model +### BMI Developer instructions + +The Python BMI implemented in this package communicates with the Matlab code +through STDIN/STDOUT, or via a socket to the Docker container. +Over this interface, three commands can be sent to Matlab: + +1. `initialize "path_to_cfg_file.txt"` +2. `update` +3. `finalize` + +After the initialize and update steps, the Matlab process writes the state of +any BMI exposed variables to an hdf5-file in the directory of `OutputPath` as +defined in the configuration file. + +The Python BMI interfaces with this file to allow the variables to be read and set. + +#### Adding/changing exposed variables + +Step one of changing the exposed variables is to change the Matlab code and +generating a new MCR executable (and possibly Docker image). The exposed +variables are defined in +[`STEMMUS_SCOPE/src/STEMMUS_SCOPE_exe.m`](https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/src/STEMMUS_SCOPE_exe.m). +Under the `bmiVarNames` variable. Make sure that you add the model variable +here, as well as any info on the variable's grid. + +The available variable names (`MODEL_INPUT_VARNAMES`, `MODEL_OUTPUT_VARNAMES`), +their units (`VARNAME_UNITS`), datatypes (`VARNAME_DTYPE`) and grids +(`VARNAME_GRID`) are defined in constants at the top of the file +`PyStemmusScope/bmi/implementation.py`. These have to be updated to reflect the +changes in the state file. + +Lastly you have to update the `get_variable` and `set_variable` functions in +`PyStemmusScope/bmi/implementation.py`. Here you define how the python code can +access them. While writing the code you can inspect the state using +`model.state`, which allows you to view the full contents of the HDF5 file for +easier debugging. + +After implementing the BMI changes, a new [STEMMUS_SCOPE Docker +image](https://github.com/EcoExtreML/STEMMUS_SCOPE/pkgs/container/stemmus_scope) +should be released that is compatible with the new BMI implementation. A new +release usually includes a new tag. Then, you need to update the +`compatible_tags` variable of the class `StemmusScopeDocker` in +`PyStemmusScope/bmi/docker_process.py`. + + +## Making a release + +This section describes how to make a release in 3 parts: + +1. preparation +1. making a release on GitHub + +### (1/2) Preparation + +1. Update the (don't forget to update links at bottom of page) +2. Verify that the information in `CITATION.cff` is correct, and that `.zenodo.json` contains equivalent data +3. Make sure the version has been updated. +4. Run the unit tests with `pytest -v` + +### (2/2) GitHub - -To contribute to the STEMMUS_SCOPE model, you need access to the model source code that is stored in the repository [STEMMUS_SCOPE](https://github.com/EcoExtreML/STEMMUS_SCOPE). +Don't forget to also make a [release on +GitHub](https://github.com/EcoExtreML/stemmus_scope_processing/releases/new). +This will trigger the github action `python-publish.yml` that publishes the +package on PyPI. If your repository uses the GitHub-Zenodo integration this will +also trigger Zenodo into making a snapshot of your repository and sticking a DOI +on it. diff --git a/docs/README.dev.md b/docs/README.dev.md deleted file mode 100644 index dd29486..0000000 --- a/docs/README.dev.md +++ /dev/null @@ -1,214 +0,0 @@ -# `PyStemmusScope` developer documentation - -If you're looking for user documentation, go [here](../README.md). - -## Development install - -```shell -# Create a virtual environment, e.g. with -python3 -m venv env - -# activate virtual environment -source env/bin/activate - -# make sure to have a recent version of pip and setuptools -python3 -m pip install --upgrade pip setuptools - -# (from the project root directory) -# install PyStemmusScope as an editable package -python3 -m pip install --no-cache-dir --editable . -# install development dependencies -python3 -m pip install --no-cache-dir --editable .[dev] -``` - -Afterwards check that the install directory is present in the `PATH` environment variable. - -## Running the tests - -There are two ways to run tests. - -The first way requires an activated virtual environment with the development tools installed: - -```shell -pytest -v -``` - -The second is to use `tox`, which can be installed separately (e.g. with `pip install tox`), i.e. not necessarily inside the virtual environment you use for installing `PyStemmusScope`, but then builds the necessary virtual environments itself by simply running: - -```shell -tox -``` - -Testing with `tox` allows for keeping the testing environment separate from your development environment. -The development environment will typically accumulate (old) packages during development that interfere with testing; this problem is avoided by testing with `tox`. - -### Test coverage - -In addition to just running the tests to see if they pass, they can be used for coverage statistics, i.e. to determine how much of the package's code is actually executed during tests. -In an activated virtual environment with the development tools installed, inside the package directory, run: - -```shell -coverage run -``` - -This runs tests and stores the result in a `.coverage` file. -To see the results on the command line, run - -```shell -coverage report -``` - -`coverage` can also generate output in HTML and other formats; see `coverage help` for more information. - -## Running linters locally - -For linting we will use [prospector](https://pypi.org/project/prospector/) and to sort imports we will use -[isort](https://pycqa.github.io/isort/). Running the linters requires an activated virtual environment with the -development tools installed. - -```shell -# linter -prospector - -# recursively check import style for the PyStemmusScope module only -isort --recursive --check-only PyStemmusScope - -# recursively check import style for the PyStemmusScope module only and show -# any proposed changes as a diff -isort --recursive --check-only --diff PyStemmusScope - -# recursively fix import style for the PyStemmusScope module only -isort --recursive PyStemmusScope -``` - -To fix readability of your code style you can use [yapf](https://github.com/google/yapf). - -You can enable automatic linting with `prospector` and `isort` on commit by enabling the git hook from `.githooks/pre-commit`, like so: - -```shell -git config --local core.hooksPath .githooks -``` - -## Generating the API docs - -```shell -cd docs -make html -``` - -The documentation will be in `docs/_build/html` - -If you do not have `make` use - -```shell -sphinx-build -b html docs docs/_build/html -``` - -To find undocumented Python objects run - -```shell -cd docs -make coverage -cat _build/coverage/python.txt -``` - -To [test snippets](https://www.sphinx-doc.org/en/master/usage/extensions/doctest.html) in documentation run - -```shell -cd docs -make doctest -``` - -## Versioning - -Bumping the version across all files is done with [bumpversion](https://github.com/c4urself/bump2version), e.g. - -```shell -bumpversion major -bumpversion minor -bumpversion patch -``` - -## Making a release - -This section describes how to make a release in 3 parts: - -1. preparation -1. making a release on PyPI -1. making a release on GitHub - -### (1/3) Preparation - -1. Update the (don't forget to update links at bottom of page) -2. Verify that the information in `CITATION.cff` is correct, and that `.zenodo.json` contains equivalent data -3. Make sure the [version has been updated](#versioning). -4. Run the unit tests with `pytest -v` - -### (2/3) PyPI - -In a new terminal, without an activated virtual environment or an env directory: - -```shell -# prepare a new directory -cd $(mktemp -d pystemmusscope.XXXXXX) - -# fresh git clone ensures the release has the state of origin/main branch -git clone https://github.com/EcoExtreML/stemmus_scope_processing . - -# prepare a clean virtual environment and activate it -python3 -m venv env -source env/bin/activate - -# make sure to have a recent version of pip and setuptools -python3 -m pip install --upgrade pip setuptools - -# install runtime dependencies and publishing dependencies -python3 -m pip install --no-cache-dir . -python3 -m pip install --no-cache-dir .[publishing] - -# clean up any previously generated artefacts -rm -rf PyStemmusScope.egg-info -rm -rf dist - -# create the source distribution and the wheel -python3 setup.py sdist bdist_wheel - -# upload to test pypi instance (requires credentials) -twine upload --repository-url https://test.pypi.org/legacy/ dist/* -``` - -Visit -[https://test.pypi.org/project/PyStemmusScope](https://test.pypi.org/project/PyStemmusScope) -and verify that your package was uploaded successfully. Keep the terminal open, we'll need it later. - -In a new terminal, without an activated virtual environment or an env directory: - -```shell -cd $(mktemp -d PyStemmusScope-test.XXXXXX) - -# prepare a clean virtual environment and activate it -python3 -m venv env -source env/bin/activate - -# make sure to have a recent version of pip and setuptools -pip install --upgrade pip setuptools - -# install from test pypi instance: -python3 -m pip -v install --no-cache-dir \ ---index-url https://test.pypi.org/simple/ \ ---extra-index-url https://pypi.org/simple PyStemmusScope -``` - -Check that the package works as it should when installed from pypitest. - -Then upload to pypi.org with: - -```shell -# Back to the first terminal, -# FINAL STEP: upload to PyPI (requires credentials) -twine upload dist/* -``` - -### (3/3) GitHub - -Don't forget to also make a [release on GitHub](https://github.com/EcoExtreML/stemmus_scope_processing/releases/new). If your repository uses the GitHub-Zenodo integration this will also trigger Zenodo into making a snapshot of your repository and sticking a DOI on it. diff --git a/docs/bmi.md b/docs/bmi.md index c47ede7..89a11f5 100644 --- a/docs/bmi.md +++ b/docs/bmi.md @@ -1,4 +1,5 @@ # Basic Model Interface + The [Basic Model Interface](https://csdms.colorado.edu/wiki/BMI) is a standard way of communicating with models. PyStemmusScope implements the Basic Model Interface for STEMMUS_SCOPE. @@ -12,6 +13,7 @@ For more information on each method, see the sections below. ## Installation and setup ### Dockerized executable + STEMMUS_SCOPE has a Docker image available. This allows you to run the executable file without having to install MCR. The Docker image is available at https://ghcr.io/ecoextreml/stemmus_scope. The Docker image is created using the docker file [here](https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/Dockerfile). @@ -28,6 +30,7 @@ Note that the `docker` package for python is required here. Install this with `p Additionally, [Docker](https://docs.docker.com/get-docker/) itself has to be installed. ### Local executable file + The executable file can be downloaded from the STEMMUS_SCOPE repository. More specifically [here](https://github.com/EcoExtreML/STEMMUS_SCOPE/tree/main/run_model_on_snellius/exe). To be able to run this executable, you need a Linux x86 system, along with Matlab Compiler Runtime R2023a. MCR is available [here](https://nl.mathworks.com/products/compiler/matlab-runtime.html). @@ -58,29 +61,4 @@ A demonstration is available [here](notebooks/grpc4bmi_demo.ipynb) ## Developer instructions -The Python BMI implemented in this package communicates with the Matlab code through STDIN/STDOUT, or via a socket to the Docker container. -Over this interface, three commands can be sent to Matlab: - -1. `initialize "path_to_cfg_file.txt"` -2. `update` -3. `finalize` - -After the initialize and update steps, the Matlab process writes the state of any BMI exposed variables to an hdf5-file in the directory of `OutputPath` as defined in the configuration file. - -The Python BMI interfaces with this file to allow the variables to be read and set. - -### Adding/changing exposed variables - -Step one of changing the exposed variables is to change the Matlab code and generating a new MCR executable (and possibly Docker image). -The exposed variables are defined in [`STEMMUS_SCOPE/src/STEMMUS_SCOPE_exe.m`](https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/src/STEMMUS_SCOPE_exe.m). -Under the `bmiVarNames` variable. -Make sure that you add the model variable here, as well as any info on the variable's grid. - -The available variable names (`MODEL_INPUT_VARNAMES`, `MODEL_OUTPUT_VARNAMES`), their units (`VARNAME_UNITS`), datatypes (`VARNAME_DTYPE`) and grids (`VARNAME_GRID`) are defined in constants at the top of the file `PyStemmusScope/bmi/implementation.py`. -These have to be updated to reflect the changes in the state file. - -Lastly you have to update the `get_variable` and `set_variable` functions in `PyStemmusScope/bmi/implementation.py`. -Here you define how the python code can access them. -While writing the code you can inspect the state using `model.state`, which allows you to view the full contents of the HDF5 file for easier debugging. - -After implementing the BMI changes, a new [STEMMUS_SCOPE Docker image](https://github.com/EcoExtreML/STEMMUS_SCOPE/pkgs/container/stemmus_scope) should be released that is compatible with the new BMI implementation. A new release usually includes a new tag. Then, you need to update the `compatible_tags` variable of the class `StemmusScopeDocker` in `PyStemmusScope/bmi/docker_process.py`. +Follow the instructions in the `Contributing Guide`. diff --git a/docs/index.md b/docs/index.md index abff24a..c6efef9 100644 --- a/docs/index.md +++ b/docs/index.md @@ -2,28 +2,35 @@ # Getting started -This is the documentation for the python package `PyStemmusScope`, which allows for for -running the STEMMUS-SCOPE model. +This is the documentation for the python package `PyStemmusScope`, which allows +for preparing data and running the STEMMUS-SCOPE model. The model source code +[STEMMUS_SCOPE repository](https://github.com/EcoExtreML/STEMMUS_SCOPE). +## Requirements -The model source code, executable file and utility files are available in the - -[STEMMUS_SCOPE repository](https://github.com/EcoExtreML/STEMMUS_SCOPE). +To run the model, check the +[requirements](https://ecoextreml.github.io/STEMMUS_SCOPE/getting_started/). -The input datasets are available on Snellius and CRIB. First, make sure you have -right access to the repository and data. +## Configuration file -## Running the model +The configuration file is a text file that sets the paths required by the model. +Check [**required** information and +templates](https://ecoextreml.github.io/STEMMUS_SCOPE/getting_started/#configuration-file). +In addition to required information, there are optional parameters that can be +set in the configuration file: -1. Using executable file: As a user, you don't need to have a MATLAB license to -run the STEMMUS-SCOPE model. If `PyStemmusScope` and `MATLAB Runtime` are -installed on a Unix-like system (e.g. your own machine, Snellius or WSL), you -can run STEMMUS_SCOPE using the executable file. -2. Using Matlab: If `PyStemmusScope` and `Matlab` are installed, you can run -STEMMUS_SCOPE from the source code, for example on Snellius or CRIB. -3. Using Octave: If `PyStemmusScope` and latest `Octave` including required -packages are installed, you can run STEMMUS_SCOPE from its source code, for -example on CRIB or your own machine. +- `soil_layers_thickness`: a path to a csv file containing soil layers thickness + information, see + [exmaple](https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/example_data/input_soilLayThick.csv). +- `ExeFilePath`: a path to the STEMMUS-SCOPE executable file, if BMI interface + is used. +- `DockerImage`: a path to the Docker image, if BMI interface and docker are + used. + +## Running the model -See section [Installation Instructions](installation_instructions.md) for required packages. +If you want to run the model using `PyStemmusScope`, follow the instructions in +the `installation` and `Run the model` documentation. +If you want to add changes to the package `PyStemmusScope`, follow `Contributing +guide` documnetation. diff --git a/docs/installation_instructions.md b/docs/installation_instructions.md index 10a07ed..7fcf91e 100644 --- a/docs/installation_instructions.md +++ b/docs/installation_instructions.md @@ -1,32 +1,14 @@ # Installation instructions -The installation instructions depend on which computers you want to run the model, be it -Snellius, CRIB, or your own local machine. -## On Snellius - -[Snellius](https://servicedesk.surfsara.nl/wiki/display/WIKI/Snellius) is the -Dutch National supercomputer hosted at SURF. MATLAB and MATLAB Runtime are -installed on Snellius, see the script -[`run_jupyter_lab_snellius.sh`](https://github.com/EcoExtreML/STEMMUS_SCOPE_Processing/blob/main/run_jupyter_lab_snellius.sh) -on how to load the module. Also, use the same script to create a jupyter lab -server for running notebooks interactively. The script activates the conda -environment `pystemmusscope`. Make sure that you create the `pystemmusscope` -conda environment before submitting the the bash script. See -[Create pystemmusscope conda environment](#create-pystemmusscope-conda-environment). - -## On CRIB - -[CRIB](https://crib.utwente.nl/) is the ITC Geospatial Computing Platform. You -can run the model using `Matlab` or `Octave`. Currently, running the -exceutable file on CRIB is not supported because MATLAB Runtime can not be -installed there. See [Install PyStemmusScope](#install-pystemmusscope). - -## On your own machine - -Choose how do you want to run the model, see [Run the model](notebooks/run_model_on_different_infra.ipynb). +This is the installation instruction for the python package `PyStemmusScope`, +which allows for preparing data and running the STEMMUS-SCOPE model. The model +source code [STEMMUS_SCOPE +repository](https://github.com/EcoExtreML/STEMMUS_SCOPE). For model-specific +instructions, check the `Getting started` page. ## Install PyStemmusScope +To install the package, you need to have Python ">=3.9, <3.12" installed. Run the commands below in a terminal (On Windows, use `python` instead of `python3`): @@ -61,29 +43,7 @@ JupyterLab will open automatically in your browser. Now, you can run the notebook [run_model_on_different_infra.ipynb](https://github.com/EcoExtreML/STEMMUS_SCOPE_Processing/blob/main/docs/notebooks/run_model_on_different_infra.ipynb). -## Install MATLAB Runtime - -To run the STEMMUS_SCOPE, you need MATLAB Runtime version `2021a` and a Unix-like system. - -In a terminal: - -```sh -# Download MATLAB Runtime for Linux -wget https://ssd.mathworks.com/supportfiles/downloads/R2021a/Release/6/deployment_files/installer/complete/glnxa64/MATLAB_Runtime_R2021a_Update_6_glnxa64.zip - -# Unzip the file -unzip MATLAB_Runtime_R2021a_Update_6_glnxa64.zip -d MATLAB_Runtime - -# Install it -cd MATLAB_Runtime -sudo -H ./install -mode silent -agreeToLicense yes -``` - -For more information on how to download and install MATLAB Runtime, see the links below: - - [download](https://nl.mathworks.com/products/compiler/matlab-runtime.html) - - [installation](https://nl.mathworks.com/help/compiler/install-the-matlab-runtime.html) - -## Install WSL +## Install WSL [optional] As the STEMMUS-SCOPE executable only supports Unix-like systems, Windows users cannot run STEMMUS-SCOPE natively. However, users of Windows 10 and newer can @@ -114,9 +74,10 @@ distro. However, WSL does not have write permission. Therefore, output data will be stored within WSL. Make sure that `WorkDir` in the model config file is set correctly. -## Create pystemmusscope conda environment +## Create pystemmusscope conda environment [optional] -If a conda environment is needed, run the commands below in a terminal: +If a conda environment is needed, for example, on Snellius, run the commands +below in a terminal: ```sh # Download and install Mamba on linux diff --git a/docs/notebooks/BMI_groundwater_coupling_copy.ipynb b/docs/notebooks/BMI_groundwater_coupling_copy.ipynb new file mode 100644 index 0000000..bf312e0 --- /dev/null +++ b/docs/notebooks/BMI_groundwater_coupling_copy.ipynb @@ -0,0 +1,404 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# STEMMUS_SCOPE BMI groundwater coupling\n", + "We have to choose how we want to run the BMI. We can do this either using a local executable file, or with a Docker container.\n", + "\n", + "How to run the model is define in the configuration file.\n", + "If it has an entry \"ExeFilePath\" it will use the local executable. If this is missing, it wil try to use Docker (if docker-py is available). " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "cfg_file = \"/home/sarah/temp/ecoextreml/test/input/NL-Loo_2024-11-07-1226/NL-Loo_2024-11-07-1226_config.txt\"\n", + "out_path = \"/home/sarah/temp/ecoextreml/test/output/NL-Loo_2024-11-07-1226/\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we are using the local executable file we first have to add the matlab runtime compiler locations to PATH:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/usr/local/MATLAB/MATLAB_Runtime/R2023a/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/extern/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/sys/opengl/lib/glnxa64\n" + ] + } + ], + "source": [ + "from PyStemmusScope.config_io import read_config\n", + "import os\n", + "matlab_path = !whereis MATLAB\n", + "matlab_path = matlab_path.s.split(\": \")[1]\n", + "os.environ['LD_LIBRARY_PATH'] = (\n", + " f\"{matlab_path}/MATLAB_Runtime/R2023a/runtime/glnxa64:\"\n", + " f\"{matlab_path}/MATLAB_Runtime/R2023a/bin/glnxa64:\"\n", + " f\"{matlab_path}/MATLAB_Runtime/R2023a/sys/os/glnxa64:\"\n", + " f\"{matlab_path}/MATLAB_Runtime/R2023a/extern/bin/glnxa64:\"\n", + " f\"{matlab_path}/MATLAB_Runtime/R2023a/sys/opengl/lib/glnxa64\")\n", + "print(os.environ['LD_LIBRARY_PATH'])\n", + "os.environ[\"STEMMUS_SCOPE\"] = read_config(cfg_file)[\"ExeFilePath\"]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can initialize the model with a prepared configuration file:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from PyStemmusScope.bmi.implementation import StemmusScopeBmi\n", + "from cftime import num2pydate\n", + "from rich import print\n", + "import numpy as np\n", + "import xarray as xr\n", + "from pathlib import Path\n", + "\n", + "model = StemmusScopeBmi()\n", + "\n", + "model.initialize(cfg_file)\n", + "\n", + "model.update() # STEMMUS_SCOPE needs to be updated by one timestep before the BMI is accessible" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After initialization we can enable the groundwater coupling. You enable this using the following command:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "model.set_value(\"groundwater_coupling_enabled\", np.array([False]))" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "# model.set_value(\"groundwater_elevation_top_aquifer\", np.array([2000.]))\n", + "# model.set_value(\"groundwater_head_bottom_layer\", np.array([1950.])) # 50 cm under ground surface\n", + "# model.set_value(\"groundwater_temperature\", np.array([23.])) # optional. 50 deg C here to get a high contrast" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can run the model. We define arrays to store the results that we want to inspect, and then step through all model timesteps:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
model is done\n",
+       "
\n" + ], + "text/plain": [ + "model is done\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "n_timesteps = int((model.get_end_time() - model.get_current_time())/model.get_time_step())\n", + "n_soil_layers = model.get_grid_size(model.get_var_grid(\"soil_moisture\"))\n", + "\n", + "soil_moisture = np.zeros((n_timesteps, n_soil_layers))\n", + "soil_temperature = np.zeros((n_timesteps, n_soil_layers))\n", + "time = []\n", + "i=0\n", + "\n", + "\n", + "# while model.get_current_time() < model.get_end_time():\n", + "while i < 1200:\n", + " model.get_value(\"soil_moisture\", soil_moisture[i])\n", + " model.get_value(\"soil_temperature\", soil_temperature[i])\n", + "\n", + " # Store the current time as a datetime\n", + " time.append(num2pydate(model.get_current_time(), model.get_time_units()))\n", + "\n", + " i+=1\n", + " model.update()\n", + "\n", + "print(\"model is done\")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For easier anaylsis we can put the data into xarray DataArray objects:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "outputs": [ + { + "ename": "ValueError", + "evalue": "conflicting sizes for dimension 'time': length 1487 on the data but length 0 on coordinate 'time'", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[6], line 5\u001b[0m\n\u001b[1;32m 2\u001b[0m depths \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mones(gs)\n\u001b[1;32m 3\u001b[0m model\u001b[38;5;241m.\u001b[39mget_grid_z(\u001b[38;5;241m1\u001b[39m, depths)\n\u001b[0;32m----> 5\u001b[0m da_sm \u001b[38;5;241m=\u001b[39m \u001b[43mxr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mDataArray\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msoil_moisture\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[43m \u001b[49m\u001b[43mdims\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtime\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[43m \u001b[49m\u001b[43mcoords\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtime\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marray\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtime\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mdepths\u001b[49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 9\u001b[0m \u001b[43m)\u001b[49m\n\u001b[1;32m 10\u001b[0m da_sm\u001b[38;5;241m.\u001b[39mto_netcdf(path\u001b[38;5;241m=\u001b[39m\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mout_path\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m/soil_moisture.nc\u001b[39m\u001b[38;5;124m\"\u001b[39m, mode\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mw\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 12\u001b[0m da_t \u001b[38;5;241m=\u001b[39m xr\u001b[38;5;241m.\u001b[39mDataArray(\n\u001b[1;32m 13\u001b[0m data\u001b[38;5;241m=\u001b[39msoil_temperature,\n\u001b[1;32m 14\u001b[0m dims\u001b[38;5;241m=\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtime\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdepth\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 15\u001b[0m coords\u001b[38;5;241m=\u001b[39m{\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtime\u001b[39m\u001b[38;5;124m\"\u001b[39m: np\u001b[38;5;241m.\u001b[39marray(time), \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdepth\u001b[39m\u001b[38;5;124m\"\u001b[39m: depths},\n\u001b[1;32m 16\u001b[0m )\n", + "File \u001b[0;32m~/miniconda3/envs/pystemmusscope/lib/python3.10/site-packages/xarray/core/dataarray.py:443\u001b[0m, in \u001b[0;36mDataArray.__init__\u001b[0;34m(self, data, coords, dims, name, attrs, indexes, fastpath)\u001b[0m\n\u001b[1;32m 441\u001b[0m data \u001b[38;5;241m=\u001b[39m _check_data_shape(data, coords, dims)\n\u001b[1;32m 442\u001b[0m data \u001b[38;5;241m=\u001b[39m as_compatible_data(data)\n\u001b[0;32m--> 443\u001b[0m coords, dims \u001b[38;5;241m=\u001b[39m \u001b[43m_infer_coords_and_dims\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mshape\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcoords\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdims\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 444\u001b[0m variable \u001b[38;5;241m=\u001b[39m Variable(dims, data, attrs, fastpath\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[1;32m 446\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(coords, Coordinates):\n", + "File \u001b[0;32m~/miniconda3/envs/pystemmusscope/lib/python3.10/site-packages/xarray/core/dataarray.py:188\u001b[0m, in \u001b[0;36m_infer_coords_and_dims\u001b[0;34m(shape, coords, dims)\u001b[0m\n\u001b[1;32m 185\u001b[0m var\u001b[38;5;241m.\u001b[39mdims \u001b[38;5;241m=\u001b[39m (dim,)\n\u001b[1;32m 186\u001b[0m new_coords[dim] \u001b[38;5;241m=\u001b[39m var\u001b[38;5;241m.\u001b[39mto_index_variable()\n\u001b[0;32m--> 188\u001b[0m \u001b[43m_check_coords_dims\u001b[49m\u001b[43m(\u001b[49m\u001b[43mshape\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnew_coords\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdims_tuple\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 190\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m new_coords, dims_tuple\n", + "File \u001b[0;32m~/miniconda3/envs/pystemmusscope/lib/python3.10/site-packages/xarray/core/dataarray.py:126\u001b[0m, in \u001b[0;36m_check_coords_dims\u001b[0;34m(shape, coords, dim)\u001b[0m\n\u001b[1;32m 124\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m d, s \u001b[38;5;129;01min\u001b[39;00m v\u001b[38;5;241m.\u001b[39msizes\u001b[38;5;241m.\u001b[39mitems():\n\u001b[1;32m 125\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m s \u001b[38;5;241m!=\u001b[39m sizes[d]:\n\u001b[0;32m--> 126\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 127\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mconflicting sizes for dimension \u001b[39m\u001b[38;5;132;01m{\u001b[39;00md\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 128\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlength \u001b[39m\u001b[38;5;132;01m{\u001b[39;00msizes[d]\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m on the data but length \u001b[39m\u001b[38;5;132;01m{\u001b[39;00ms\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m on \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 129\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcoordinate \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mk\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 130\u001b[0m )\n", + "\u001b[0;31mValueError\u001b[0m: conflicting sizes for dimension 'time': length 1487 on the data but length 0 on coordinate 'time'" + ] + } + ], + "source": [ + "# gs = model.get_grid_size(1)\n", + "# depths = np.ones(gs)\n", + "# model.get_grid_z(1, depths)\n", + "\n", + "# da_sm = xr.DataArray(\n", + "# data=soil_moisture,\n", + "# dims=(\"time\", \"depth\"),\n", + "# coords={\"time\": np.array(time), \"depth\": depths},\n", + "# )\n", + "# da_sm.to_netcdf(path=f\"{out_path}/soil_moisture.nc\", mode='w')\n", + "\n", + "# da_t = xr.DataArray(\n", + "# data=soil_temperature,\n", + "# dims=(\"time\", \"depth\"),\n", + "# coords={\"time\": np.array(time), \"depth\": depths},\n", + "# )\n", + "# da_t.to_netcdf(path=f\"{out_path}/soil_temperature.nc\", mode='w')" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "real_datetime(2012, 2, 1, 0, 0)" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "num2pydate(model.get_end_time(), model.get_time_units())" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1487" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n_timesteps" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "ename": "ValueError", + "evalue": "Model terminated with return code None", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[7], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfinalize\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/GitHub/STEMMUS_SCOPE_Processing/PyStemmusScope/bmi/implementation.py:268\u001b[0m, in \u001b[0;36mStemmusScopeBmi.finalize\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 266\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Finalize the STEMMUS_SCOPE model.\"\"\"\u001b[39;00m\n\u001b[1;32m 267\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_process \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 268\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_process\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfinalize\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 269\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 270\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe STEMMUS_SCOPE process is not running/connected. Can\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt finalize!\u001b[39m\u001b[38;5;124m\"\u001b[39m\n", + "File \u001b[0;32m~/GitHub/STEMMUS_SCOPE_Processing/PyStemmusScope/bmi/local_process.py:162\u001b[0m, in \u001b[0;36mLocalStemmusScope.finalize\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 160\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 161\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mModel terminated with return code \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprocess\u001b[38;5;241m.\u001b[39mpoll()\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m--> 162\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg)\n", + "\u001b[0;31mValueError\u001b[0m: Model terminated with return code None" + ] + } + ], + "source": [ + "model.finalize()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can show the results. Note that up to ~2.5 m depth the soil is completely saturated, and that the temperature here equals the groundwater temperature we defined before." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### plots" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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AABo2UgMAQDggnR0Bcv0rmQ//PBDMAnUsWNHtW7dWoccckhwe58+fehKBgAAghh8ummQGAIAwAVWGmYly/Tp6rt06aItW7aopKREkjRx4kR17NgxuP2HH35QmzZt3AoPAAA0MySGmgZXBAAAuGLgwIFasWJF8PG8efMciaG33npLAwYMcCM0AAAASdI///lPnXPOOerWrZsMw9Dzzz/v2G7btqZPn66uXbuqVatWGj58uL766it3gk0SFUMAALiArmTSCy+8EHf7scceq1NPPXU/RQMAAJo7w/APIJ1qG42xe/duHX300brssst0wQUXRGyfP3++7r33Xj322GPq2bOnpk2bptLSUn3xxRcqKChIKdb9hcQQAAAuIDHUsOOOO87tEAAAQDNieDwyPZ6U22iMs88+W2effXbUbbZta+HChbr11lt13nnnSZIef/xxFRUV6fnnn9fFF1+cUqz7C4khAADgum+++UZvvfWWvv32W1mW5dg2adIkl6ICAACIbf369aqoqNDw4cOD69q1a6chQ4ZoxYoVJIYAAEBsVAzVe/TRR3XFFVcoLy9PBx54oAyj/nkZhkFiCAAASErv4NNVVVWO9fn5+crPz29UWxUVFZKkoqIix/qioqLgtkzA4NMAAMBV06ZN0/Tp07Vjxw5t2LBB69evDy7/+c9/3A4PAAC0QCUlJWrXrl1wmTt3rtshuYaKIQAAXEDFUL09e/bo4osvlpniYJIAAKBlS2fF0KZNm1RYWBhc39hqIUkqLi6WJFVWVqpr167B9ZWVlRo4cGBKce5P3IEBAOACW5IlI6XFdvtJpMn48eP1zDPPuB0GAABo5gzTTMsiSYWFhY4lmcRQz549VVxcrPLy8uC6qqoqvffeexo6dGjanndTo2IIAAC4au7cufrpT3+qpUuX6qijjlJubq5j+4IFC1yKDAAAZLtdu3Zp7dq1wcfr16/XqlWr1LFjRx188MH69a9/rdmzZ6tv377B6eq7deumkSNHuhd0I5EYAgDABXQlqzd37ly98sor6tevnyRFDD4NAAAgpbcrWaI++OADnX766cHHZWVlkqQxY8bo0Ucf1Y033qjdu3frV7/6lbZv366TTjpJS5cuVUFBQUpx7k8khgAAcAGJoXp33323Hn74YY0dO9btUAAAQDNmmEbqiSGzcfdPp512mmw7dgd+wzA0a9YszZo1K6W43MQYQwAAwFX5+fk68cQT3Q4DAAAgK5EYAgDABYGKoVSXluDaa6/Vfffd53YYAACgmUvn4NOoR1cyAABcQFeyeu+//77+8Y9/6MUXX9QRRxwRMfj0c88951JkAACgOTFMjwzTk3IbcCIxBAAAXNW+fXtdcMEFbocBAACQlUgMAQDgAts2ZKdY8ZPq8c3FI4884nYIAAAgE5ge/5JqG3AgMQQAgAssGbKUYleyFI8HAADIKKbpX1JtAw5cEQAAsN+NGDFC7777boP77dy5U3feeacWLVq0H6ICAADIPlQMAQDggmwffPqiiy7ShRdeqHbt2umcc87R4MGD1a1bNxUUFOiHH37QF198obfeeksvv/yyfvKTn+g3v/mN2yEDAACXGR6PDE+Kg0+neHxLRGIIAAAXZPsYQ+PHj9ell16qZ555RkuWLNGDDz6oHTt2SJIMw1D//v1VWlqqf/3rXzr88MNdjhYAADQLWT7G0Jdffqmnn35ab775pv773/9qz5496ty5s4455hiVlpbqwgsvVH5+fqPbJTEEAABckZ+fr0svvVSXXnqpJGnHjh3au3evDjzwwIgp6wEAALLVhx9+qBtvvFFvvfWWTjzxRA0ZMkTnn3++WrVqpW3btumzzz7TLbfcomuuuUY33nijfv3rXzcqQURiCAAAF2R7V7Jo2rVrp3bt2rkdBgAAaK5MMw0VQ5k31PKFF16oG264QX/+85/Vvn37mPutWLFC99xzj+6++27dfPPNCbdPYggAABdke1cyAACAxjJMU0aKiZ1Uj3fDv//974SqqYcOHaqhQ4eqpqamUe1n3hUBAAAAAADIEo3tYt/Y/UkMAQDgAruuK1kqCxVDAAAgqxie+gGok12MzBx8+h//+If69++vqqqqiG07duzQEUccoTfffDOptkkMAQDgAluSbae4uP0kAAAA9qdUk0LpmNXMJQsXLtSECRNUWFgYsa1du3a64oortGDBgqTaJjEEAABc1atXL33//fcR67dv365evXq5EBEAAEDz8vHHH2vEiBExt5911llauXJlUm0z+DQAAC6wZMhQirOSpXh8c7Fhwwb5fL6I9dXV1dq8ebMLEQEAgOYoWweflqTKysq4Ywfl5ORo69atSbVNYggAABcwK5n017/+NfjzK6+84piq3ufzqby8XD169HAhMgAA0CyloytYhnYl6969uz777DP16dMn6vZPPvlEXbt2TaptEkMAAMAVI0eOlCQZhqExY8Y4tuXm5qpHjx66++67XYgMAACgefnxj3+sadOmacSIESooKHBs27t3r2bMmKGf/vSnSbWdmTVUAABkuFRnJAssyVi0aJF69OihgoICDRkyRO+//37MfR966CGdfPLJ6tChgzp06KDhw4dH7D927FgZhuFY4vWBD14Dy5JlWTr44IP17bffBh9blqXq6mqtWbMm6RscAADQAplmGgafzsw0yK233qpt27bp0EMP1fz58/XCCy/ohRde0J133ql+/fpp27ZtuuWWW5Jqm4ohAABcEJhZLNU2GmvJkiUqKyvT4sWLNWTIEC1cuFClpaVas2aNunTpErH/8uXLdckll+iEE05QQUGB7rzzTp111ln6/PPP1b179+B+I0aM0COPPBJ8nJ+fn3BM69evb/wTAQAAWcfweGR4UusKlurxbikqKtI777yjq666SlOnTpVddyNoGIZKS0u1aNEiFRUVJdU2iSEAALLIggULNGHCBI0bN06StHjxYr300kt6+OGHNWXKlIj9n3zyScfj3/3ud3r22WdVXl6u0aNHB9fn5+eruLg46bjKy8tVXl4erBwK9fDDDyfdLgAAQEtxyCGH6OWXX9YPP/ygtWvXyrZt9e3bVx06dEipXRJDAAC4IJ2DT1dVVTnW5+fnR63Y8Xq9WrlypaZOnRpcZ5qmhg8frhUrViR0zj179qimpkYdO3Z0rF++fLm6dOmiDh066IwzztDs2bN14IEHJtTmzJkzNWvWLA0ePFhdu3aVYWT2oNoAAKCJmGbqXcEytCtZqA4dOujYY49NW3skhgAAcEE6E0MlJSWO9TNmzNBtt90Wsf93330nn88XUWZcVFSk1atXJ3TOm266Sd26ddPw4cOD60aMGKELLrhAPXv21Lp163TzzTfr7LPP1ooVK+RJoFx78eLFevTRR/XLX/4yoRgAAECWyuJZyZoSiSEAADLcpk2bVFhYGHzcmPF9GmPevHl6+umntXz5csdsGBdffHHw56OOOkoDBgxQ7969tXz5cg0bNqzBdr1er0444YQmiRkAAADxZX4NFQAAGSids5IVFhY6lliJoU6dOsnj8aiystKxvrKyssHxge666y7NmzdPr776qgYMGBB33169eqlTp05au3ZtQtfi8ssv11NPPZXQvgAAIHsZpictC5yoGAIAwAVuzEqWl5enQYMGqby8XCNHjpTknzK+vLxcEydOjHnc/PnzNWfOHL3yyisaPHhwg+f5+uuv9f3336tr164JxbVv3z49+OCDev311zVgwADl5uY6ti9YsCChdgAAQAtnpGGMIYP6mHAkhgAAyCJlZWUaM2aMBg8erOOOO04LFy7U7t27g7OUjR49Wt27d9fcuXMlSXfeeaemT5+up556Sj169FBFRYUkqW3btmrbtq127dqlmTNn6sILL1RxcbHWrVunG2+8UX369FFpaWlCMX3yyScaOHCgJOmzzz5zbGMgagAAgHp//etfo643DEMFBQXq06ePevbs2ag2SQwBAOACf8VQqoNPN/6YUaNGaevWrZo+fboqKio0cOBALV26NDgg9caNG2WGfBP3wAMPyOv16mc/+5mjncAA1x6PR5988okee+wxbd++Xd26ddNZZ52l22+/PeGxjpYtW9b4JwIAALJOOrqCZXpXspEjR8owDNlhN4KBdYZh6KSTTtLzzz+f8DT2JIYAAHBBOmcla6yJEyfG7Dq2fPlyx+MNGzbEbatVq1Z65ZVXkooj3Nq1a7Vu3TqdcsopatWqVfDmBgAAQFLddPWpzkqW2V3JXnvtNd1yyy2aM2eOjjvuOEnS+++/r2nTpunWW29Vu3btdMUVV+j666/X73//+4TaJDEEAABc9f333+vnP/+5li1bJsMw9NVXX6lXr14aP368OnTooLvvvtvtEAEAAJqFa6+9Vg8++KBjRtdhw4apoKBAv/rVr/T5559r4cKFuuyyyxJuM7NTZQAAZCg7TUtLcN111yk3N1cbN25U69atg+tHjRqlpUuXuhgZAABoVkwzPUsGW7dunQoLCyPWFxYW6j//+Y8kqW/fvvruu+8SbjMjrsiGDRs0fvx49ezZU61atVLv3r01Y8YMeb1et0MDACApga5kqS4twauvvqo777xTBx10kGN937599d///telqAAAQHNjeDxpWTLZoEGDdMMNN2jr1q3BdVu3btWNN96oY489VpL01VdfqaSkJOE2M6Ir2erVq2VZlv7f//t/6tOnjz777DNNmDBBu3fv1l133eV2eAAAIAW7d+92VAoFbNu2LeEBrAEAALLB73//e5133nk66KCDgsmfTZs2qVevXnrhhRckSbt27dKtt96acJsZkRgaMWKERowYEXzcq1cvrVmzRg888ACJIQBAZkpHX7AW0pfs5JNP1uOPP67bb79dkn9WDcuyNH/+fJ1++ukuRwcAAJoN05OGwaczu2KoX79++uKLL/Tqq6/q3//+d3DdmWeeGZxZduTIkY1qMyMSQ9Hs2LFDHTt2jLtPdXW1qqurg4+rqqqaOiwAABKTjq5gLaQr2fz58zVs2DB98MEH8nq9uvHGG/X5559r27Ztevvtt90OL+tw/wQAaLZIDEmSTNPUiBEjdNpppyk/Pz/lWVwzYoyhcGvXrtV9992nK664Iu5+c+fOVbt27YJLY/rYAQCA/ePII4/Uv//9b5100kk677zztHv3bl1wwQX66KOP1Lt3b7fDyzrcPwEA0HxZlqXbb79d3bt3V9u2bbV+/XpJ0rRp0xKenj6cq4mhKVOmyDCMuMvq1asdx2zevFkjRozQRRddpAkTJsRtf+rUqdqxY0dw2bRpU1M+HQAAEmbb6Vlago0bN6qwsFC33HKL/vSnP+nll1/W7Nmz1bVrV23cuNHt8LIO908AgObKMM20LJls9uzZevTRRzV//nzl5eUF1x955JH63e9+l1SbrnYlmzx5ssaOHRt3n169egV//uabb3T66afrhBNO0IMPPthg+/n5+QxaCQBoltIxq1hLmZWsZ8+e2rJli7p06eJY//3336tnz57y+XwuRZaduH8CADRbRhq6khmZ3ZXs8ccf14MPPqhhw4bpyiuvDK4/+uijIwprEuVqYqhz587q3LlzQvtu3rxZp59+ugYNGqRHHnkkOKgSAADIbLZtR+0bv2vXLhUUFLgQEQAAQPO0efNm9enTJ2K9ZVmqqalJqs2MGHx68+bNOu2003TIIYforrvu0tatW4PbiouLXYwMAIAk2Ubqg0dneMVQWVmZJP8sZNOmTXNMWe/z+fTee+9p4MCBLkUHAACaHcOQjBSLRFIcqNlt/fv315tvvqlDDjnEsf7Pf/6zjjnmmKTazIjE0Guvvaa1a9dq7dq1Ouiggxzb7JYywAIAIKukY4ygTP8v8KOPPpLk/7/8008/dfSTz8vL09FHH63rr7/erfAAAEBzY5hpSAxldu+j6dOna8yYMdq8ebMsy9Jzzz2nNWvW6PHHH9eLL76YVJsZkRgaO3Zsg2MRAQCAzLJs2TJJ0rhx43TPPfeosLDQ5YgAAACat/POO09/+9vfNGvWLLVp00bTp0/Xj370I/3tb3/TmWeemVSbGZEYAgCgxbHrllTbaAEeeeQRt0MAAAAZwDZM2SlW/KR6fHNw8skn67XXXktbeySGAABwAbOS1du9e7fmzZun8vJyffvtt7Isy7H9P//5j0uRAQCAZoWuZE2CxBAAAHDV5ZdfrjfeeEO//OUv1bVr16gzlAEAAGSrDh06JHx/tG3btka3T2IIAAC3tJCuYKn6+9//rpdeekknnnii26EAAIDmzDBSn1UsA7+AWrhwYfDn77//XrNnz1ZpaamGDh0qSVqxYoVeeeUVTZs2Lan2SQwBAOACupLV69Chgzp27Oh2GAAAoLkzTf+SahsZZsyYMcGfL7zwQs2aNUsTJ04Mrps0aZLuv/9+vf7667ruuusa3X7mXREAANCi3H777Zo+fbr27NnjdigAAADN2iuvvKIRI0ZErB8xYoRef/31pNqkYggAADcwK1nQ3XffrXXr1qmoqEg9evRQbm6uY/uHH37oUmQAAKA5YVYy6cADD9QLL7ygyZMnO9a/8MILOvDAA5Nqk8QQAACuMOqWVNvIfCNHjnQ7BAAAkAmYlUwzZ87U5ZdfruXLl2vIkCGSpPfee09Lly7VQw89lFSbJIYAAICrZsyY4XYIAAAAGWHs2LE6/PDDde+99+q5556TJB1++OF66623gomixiIxBACAG+hKFmHlypX68ssvJUlHHHGEjjnmGJcjAgAAzQoVQ5KkIUOG6Mknn0xbeySGAABwA4mhoG+//VYXX3yxli9frvbt20uStm/frtNPP11PP/20Onfu7G6AAACgecjSxNDu3bvVpk2bJts/864IAABoUa655hrt3LlTn3/+ubZt26Zt27bps88+U1VVlSZNmuR2eAAAAK7q06eP5s2bpy1btsTcx7Ztvfbaazr77LN17733Nqp9KoYAAHCDbfiXVNtoAZYuXarXX39dhx9+eHBd//79tWjRIp111lkuRgYAAJoT2zDSMCtZ5t0/LV++XDfffLNuu+02HX300Ro8eLC6deumgoIC/fDDD/riiy+0YsUK5eTkaOrUqbriiisa1T6JIQAAXGDb/iXVNloCy7IipqiXpNzcXFmW5UJEAACgWcrSrmT9+vXTs88+q40bN+qZZ57Rm2++qXfeeUd79+5Vp06ddMwxx+ihhx7S2WefLY/H0+j2SQwBAABXnXHGGbr22mv1xz/+Ud26dZMkbd68Wdddd52GDRvmcnQAAADNw8EHH6zJkydr8uTJaW0381JlAAC0BHaalhbg/vvvV1VVlXr06KHevXurd+/e6tmzp6qqqnTfffe5HR4AAGguDCM9CxyoGAIAwA2MMRRUUlKiDz/8UK+//rpWr14tSTr88MM1fPhwlyMDAADNSpZ2JWtqSSeGtm/frvfff1/ffvttRP//0aNHpxwYAADIHoZh6Mwzz9SZZ57pdigZj3s0AADQGEklhv72t7/pf/7nf7Rr1y4VFhbKCCnFMgyDmw4AABpg2P4l1TZagkmTJqlPnz4RU9Pff//9Wrt2rRYuXOhOYBmIezQAQEtmG2YaZiWjYihcUldk8uTJuuyyy7Rr1y5t375dP/zwQ3DZtm1bumMEAKDlYYyhoGeffVYnnnhixPoTTjhBf/7zn12IKHNxjwYAaNEMUzJTXEgMRUjqimzevFmTJk1S69at0x0PAADIMt9//73atWsXsb6wsFDfffedCxFlLu7RAABo+d58801deumlGjp0qDZv3ixJeuKJJ/TWW28l1V5SiaHS0lJ98MEHSZ0QAACofvDpVJcWoE+fPlq6dGnE+r///e/q1auXCxFlLu7RAAAtWmDw6VSXDPbss8+qtLRUrVq10kcffaTq6mpJ0o4dO3THHXck1WbCYwz99a9/Df78k5/8RDfccIO++OILHXXUUcrNzXXse+655yYVDAAAWSMdXcFaSFeysrIyTZw4UVu3btUZZ5whSSovL9fdd9/N+EIJ4B4NAJA1mJVMs2fP1uLFizV69Gg9/fTTwfUnnniiZs+enVSbCSeGRo4cGbFu1qxZEesMw5DP50sqGAAAkH0uu+wyVVdXa86cObr99tslST169NADDzzAYMkJ4B4NAIDssWbNGp1yyikR69u1a6ft27cn1WbCiaHw6U4BAEAKqBhyuOqqq3TVVVdp69atatWqldq2bet2SBmDezQAQNagYkjFxcVau3atevTo4Vj/1ltvJd0FP6kr8vjjjwf7sYXyer16/PHHkwoEAICs4uKsZIsWLVKPHj1UUFCgIUOG6P3334+570MPPaSTTz5ZHTp0UIcOHTR8+PCI/W3b1vTp09W1a1e1atVKw4cP11dffZVUbJ07dyYplALu0QAALZltGMEp65NfMnuMxgkTJujaa6/Ve++9J8Mw9M033+jJJ5/U9ddfr6uuuiqpNpNKDI0bN047duyIWL9z506NGzcuqUAAAEDTW7JkicrKyjRjxgx9+OGHOvroo1VaWqpvv/026v7Lly/XJZdcomXLlmnFihUqKSnRWWedFZwBQ5Lmz5+ve++9V4sXL9Z7772nNm3aqLS0VPv27dtfTwt1uEcDAKBlmzJlin7xi19o2LBh2rVrl0455RRdfvnluuKKK3TNNdck1WZSiSHbtmVEybJ9/fXXUaebBQAAYVyalWzBggWaMGGCxo0bp/79+2vx4sVq3bq1Hn744aj7P/nkk/rf//1fDRw4UIcddph+97vfybIslZeX+5+GbWvhwoW69dZbdd5552nAgAF6/PHH9c033+j5559P5QohCdyjAQBatCyflczn8+nNN9/U1VdfrW3btumzzz7Tu+++q61btwbHaUxGwmMMSdIxxxwjwzBkGIaGDRumnJz6w30+n9avX68RI0YkHQwAANnCsP1Lqm1IUlVVlWN9fn6+8vPzI/b3er1auXKlpk6dGlxnmqaGDx+uFStWJHTOPXv2qKamRh07dpQkrV+/XhUVFRo+fHhwn3bt2mnIkCFasWKFLr744sY+LSSBezQAQFYwDP+SahsZyuPx6KyzztKXX36p9u3bq3///mlpt1GJocCsF6tWrVJpaaljDIC8vDz16NFDF154YVoCAwAAiSkpKXE8njFjhm677baI/b777jv5fD4VFRU51hcVFWn16tUJneumm25St27dgomgioqKYBvhbQa2Nca+fftUUFDQ6OOyHfdoAABkhyOPPFL/+c9/1LNnz7S12ajE0IwZMyT5p5AdNWoUN24AACQrjbOSbdq0SYWFhcHV0aqF0mHevHl6+umntXz58rTeA1iWpTlz5mjx4sWqrKzUv//9b/Xq1UvTpk1Tjx49NH78+LSdq6XiHg0AkBVcnJVs0aJF+s1vfqOKigodffTRuu+++3TcccelFksSZs+ereuvv1633367Bg0apDZt2ji2h94TJqpRiaGAMWPGSJI++OADffnll5Kk/v37a9CgQck0BwAAUlBYWJjQTUCnTp3k8XhUWVnpWF9ZWani4uK4x951112aN2+eXn/9dQ0YMCC4PnBcZWWlunbt6mhz4MCBCcU/e/ZsPfbYY5o/f74mTJgQXH/kkUdq4cKFJIYa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jAwAADQnlm2nZclkI0eO1PPPP5/WNqkYAgAArrrhhht05513SpI+/fRTlZWVafLkyVq2bJnKysr0yCOPuBwhAABA89C3b1/NmjVLb7/9tgYNGhQxjuCkSZMa3SaJIQAAXMDg0/XWr1+v/v37S5KeffZZnXPOObrjjjv04Ycf6sc//rHL0QEAgOaCSV2l3//+92rfvr1WrlyplStXOrYZhkFiCACAjJLpdyZpkpeXpz179kiSXn/9dY0ePVqS1LFjR1VVVbkZGgAAaEYs27+k2kYmW79+fdrbJDEEAABcddJJJ6msrEwnnnii3n//fS1ZskSS9O9//1sHHXSQy9EBAAA0P16vV+vXr1fv3r2Vk5NaaofBpwEAcAODTwfdf//9ysnJ0Z///Gc98MAD6t69uyTp73//u0aMGOFydAAAoNmw/bOSpbJk+v3Tnj17NH78eLVu3VpHHHGENm7cKEm65pprNG/evKTazJjE0LnnnquDDz5YBQUF6tq1q375y1/qm2++cTssAACSEhhjKNWlJTj44IP14osv6uOPP9b48eOD63/729/q3nvvdTEyAADQnFiy07JksqlTp+rjjz/W8uXLVVBQEFw/fPjwYNV1Y2VMYuj000/Xn/70J61Zs0bPPvus1q1bp5/97GduhwUAAJIQOnZQVVVV3AUAAAB+zz//vO6//36ddNJJMgwjuP6II47QunXrkmozY8YYuu6664I/H3LIIZoyZYpGjhypmpoa5ebmuhgZAABJyPJpNTp06KAtW7aoS5cuat++vePGJsC2bRmGIZ/P50KEAACguQl2B0uxjUy2detWdenSJWL97t27o95PJSJjEkOhtm3bpieffFInnHBC3KRQdXW1qqurg4/51hEA0Fxk+3T1//jHP9SxY0dJ0rJly1yOBqG4fwIANFfMSiYNHjxYL730kq655hpJCiaDfve732no0KFJtZlRiaGbbrpJ999/v/bs2aPjjz9eL774Ytz9586dq5kzZ+6n6AAAQKJOPfXUqD/Dfdw/AQDQfN1xxx06++yz9cUXX6i2tlb33HOPvvjiC73zzjt64403kmrT1TGGpkyZIsMw4i6rV68O7n/DDTfoo48+0quvviqPx6PRo0fLjlMHNnXqVO3YsSO4bNq0aX88LQAAGsasZA7bt2/X3Xffrcsvv1yXX365fvvb32rHjh1uh5WVuH8CADRXqc5Ilo6uaG476aSTtGrVKtXW1uqoo47Sq6++qi5dumjFihUaNGhQUm26WjE0efJkjR07Nu4+vXr1Cv7cqVMnderUSYceeqgOP/xwlZSU6N13341ZLpWfn6/8/Px0hgwAQHpk+RhDoT744AOVlpaqVatWOu644yRJCxYs0Jw5c/Tqq6/qRz/6kcsRZhfunwAAzVU6ZhXL9FnJJKl379566KGH0taeq4mhzp07q3Pnzkkda1mWJDn6wAMAgMxz3XXX6dxzz9VDDz2knBz/rUltba0uv/xy/frXv9Y///lPlyMEAABoPnw+n/7yl7/oyy+/lCT1799f5513XvA+qrEyYoyh9957T//617900kknqUOHDlq3bp2mTZum3r17Jz24EgAAbsr2wadDffDBB46kkCTl5OToxhtv1ODBg12MDAAANCfMSiZ9/vnnOvfcc1VRUaF+/fpJku6880517txZf/vb33TkkUc2uk1XxxhKVOvWrfXcc89p2LBh6tevn8aPH68BAwbojTfeoNQZAJCZGGMoqLCwUBs3boxYv2nTJh1wwAEuRAQAAJojy7bTsmSyyy+/XEcccYS+/vprffjhh/rwww+1adMmDRgwQL/61a+SajMjEkNHHXWU/vGPf+j777/Xvn37tH79ej3wwAPq3r2726EBAJBxFi1apB49eqigoEBDhgzR+++/H3Pfzz//XBdeeKF69OghwzC0cOHCiH1uu+22iMkjDjvssITjGTVqlMaPH68lS5Zo06ZN2rRpk55++mldfvnluuSSS5J5igAAAC3SqlWrNHfuXHXo0CG4rkOHDpozZ44++uijpNrMiK5kAAC0OC4NPr1kyRKVlZVp8eLFGjJkiBYuXKjS0lKtWbNGXbp0idh/z5496tWrly666CJdd911Mds94ogj9PrrrwcfN6aP+1133SXDMDR69GjV1tZKknJzc3XVVVdp3rx5jXh2AACgJfNZ/iXVNjLZoYceqsrKSh1xxBGO9d9++6369OmTVJskhgAAcIFbYwwtWLBAEyZM0Lhx4yRJixcv1ksvvaSHH35YU6ZMidj/2GOP1bHHHitJUbcH5OTkqLi4uPEBScrLy9M999yjuXPnat26dZL8s220bt06qfYAAEDLlI6uYJnelWzu3LmaNGmSbrvtNh1//PGSpHfffVezZs3SnXfeqaqqquC+hYWFCbVJYggAgCzh9Xq1cuVKTZ06NbjONE0NHz5cK1asSKntr776St26dVNBQYGGDh2quXPn6uCDD25UG61bt9ZRRx2VUhwAAAAt2U9/+lNJ0s9//nMZhiFJsuuSXeecc07wsWEY8vl8CbVJYggAADeksStZ6DdDkpSfnx91cobvvvtOPp9PRUVFjvVFRUVavXp10mEMGTJEjz76qPr166ctW7Zo5syZOvnkk/XZZ58lNHj0vn37dN9992nZsmX69ttvZVnOGu8PP/ww6dgAAEDLYdm2fFleMbRs2bK0t0liCAAAF6SzK1lJSYlj/YwZM3Tbbbel1ngjnH322cGfBwwYoCFDhuiQQw7Rn/70J40fP77B48ePH69XX31VP/vZz3TccccFv/0CAAAIZdmpJ3aszM4L6dRTT017mySGAADIcJs2bXL0IY9WLSRJnTp1ksfjUWVlpWN9ZWVl0uMDRdO+fXsdeuihWrt2bUL7v/jii3r55Zd14oknpi0GAACAlmrfvn365JNPolZan3vuuY1uj8QQAABuSGNXssLCwoQGF8zLy9OgQYNUXl6ukSNHSpIsy1J5ebkmTpyYYjD1du3apXXr1umXv/xlQvt37949oS5nAAAguzErmbR06VKNHj1a3333XcS2xowrFMpMR2AAAKCR7DQtjVRWVqaHHnpIjz32mL788ktdddVV2r17d3CWstGjRzsGp/Z6vVq1apVWrVolr9erzZs3a9WqVY5qoOuvv15vvPGGNmzYoHfeeUfnn3++PB6PLrnkkoRiuvvuu3XTTTfpv//9b+OfEAAAyBqBWclSXTLZNddco4suukhbtmyRZVmOJZmkkETFEAAAWWXUqFHaunWrpk+froqKCg0cOFBLly4NDki9ceNGmWb990bffPONjjnmmODju+66S3fddZdOPfVULV++XJL09ddf65JLLtH333+vzp0766STTtK7776rzp07JxTT4MGDtW/fPvXq1UutW7dWbm6uY/u2bdtSfNYAAAAtQ2VlpcrKyiImE0kFiSEAAFxg1C2ptpGMiRMnxuw6Fkj2BPTo0SM4BWosTz/9dJKR+F1yySXavHmz7rjjDhUVFTH4NAAAiMqXhlnJUj3ebT/72c+0fPly9e7dO21tkhgCAMANaRxjKNO98847WrFihY4++mi3QwEAAM2YpdRnFcvwIYZ0//3366KLLtKbb76po446KqLSetKkSY1uk8QQAABw1WGHHaa9e/e6HQYAAECz98c//lGvvvqqCgoKtHz5ckeltWEYJIYAAMgUhu1fUm2jJZg3b54mT56sOXPmRP3mK5EZ1wAAQMvns2z5UiwZSvV4t91yyy2aOXOmpkyZ4hgXMhUkhgAAcANdyYJGjBghSRo2bJhjvW3bSU+7CgAAWh47DbOKNTR2YnPn9Xo1atSotCWFJBJDAADAZcuWLXM7BAAAgIwwZswYLVmyRDfffHPa2iQxBACAWzL7C6u0OfXUU90OAQAAZACf7V9SbSOT+Xw+zZ8/X6+88ooGDBgQ0QV/wYIFjW6TxBAAAC5gjCEAAIDGsdLQlSzV49326aef6phjjpEkffbZZ45toQNRNwaJIQAAAAAAgAzQFF3wSQwBAOAGBp8GAABoFGYlq7d27VqtW7dOp5xyilq1ahWctCMZ6RvGGgAAJCzQlSzVBQAAIFsEupKlumSy77//XsOGDdOhhx6qH//4x9qyZYskafz48Zo8eXJSbZIYAgAArlq/fr2++uqriPVfffWVNmzYsP8DAgAAaKauu+465ebmauPGjWrdunVw/ahRo7R06dKk2iQxBACAG+w0LS3A2LFj9c4770Ssf++99zR27Nj9HxAAAGiWArOSpbpksldffVV33nmnDjroIMf6vn376r///W9SbZIYAgDABXQlq/fRRx/pxBNPjFh//PHHa9WqVfs/IAAA0CzRlUzavXu3o1IoYNu2bcrPz0+qTRJDAADAVYZhaOfOnRHrd+zYIZ/P50JEAAAAzdPJJ5+sxx9/PPjYMAxZlqX58+fr9NNPT6pNZiUDAMANzEoWdMopp2ju3Ln64x//KI/HI0ny+XyaO3euTjrpJJejAwAAzYVl2bJSnFUs1ePdNn/+fA0bNkwffPCBvF6vbrzxRn3++efatm2b3n777aTaJDEEAIAbSAwF3XnnnTrllFPUr18/nXzyyZKkN998U1VVVfrHP/7hcnQAAKC5sNIwRlCG54V05JFH6t///rfuv/9+HXDAAdq1a5cuuOACXX311eratWtSbZIYAgAArurfv78++eQT3X///fr444/VqlUrjR49WhMnTlTHjh3dDg8AAKDZ2Lhxo0pKSnTLLbdE3XbwwQc3uk0SQwAAuCAdg0e3lMGnJalbt26644473A4DAAA0Y+kYPDrTB5/u2bOntmzZoi5dujjWf//99+rZs2dS4zOSGAIAwA1Z3pXsk08+0ZFHHinTNPXJJ5/E3XfAgAH7KSoAANCc+WxbvhQTO6ke7zbbtmUYRsT6Xbt2qaCgIKk2SQwBAID9buDAgaqoqFCXLl00cOBAGYYhO8qNmmEYzEwGAACyXllZmST/vdG0adMcU9b7fD699957GjhwYFJtkxgCAMAFhm3LSPEbq1SPd9P69evVuXPn4M8AAAANyeZZyT766CNJ/oqhTz/9VHl5ecFteXl5Ovroo3X99dcn1TaJIQAA3JDlXckOOeQQSVJNTY1mzpypadOmqWfPni5HBQAAmjOfUp+VLFPrkJctWyZJGjdunO655x4VFhamrW0zbS0BAAA0Um5urp599lm3wwAAAMgIjzzySFqTQhKJIQAAXBGYlSzVpSUYOXKknn/+ebfDAAAAzVxgVrJUFzjRlQwAADdkeVeyUH379tWsWbP09ttva9CgQWrTpo1j+6RJk1yKDAAANCfMStY0SAwBAABX/f73v1f79u21cuVKrVy50rHNMAwSQwAAAE2IxBAAAC5IR1ewltKVjFnJAABAIizLli9LZyVrSowxBACAG+w0LS3ArFmztGfPnoj1e/fu1axZs1yICAAANEe+usRQqgucSAwBAABXzZw5U7t27YpYv2fPHs2cOdOFiAAAALIHiSEAAFzArGT1bNuWYRgR6z/++GN17NjRhYgAAEBz1NwrhubMmaMTTjhBrVu3Vvv27aPus3HjRv3kJz9R69at1aVLF91www2qra1tspgSwRhDAAC4gVnJ1KFDBxmGIcMwdOihhzqSQz6fT7t27dKVV17pYoQAAKA58VlKObHjs9IUTBRer1cXXXSRhg4dqt///veR5/b59JOf/ETFxcV65513tGXLFo0ePVq5ubm64447mi6wBpAYAgAArli4cKFs29Zll12mmTNnql27dsFteXl56tGjh4YOHepihAAAAIkLdIF/9NFHo25/9dVX9cUXX+j1119XUVGRBg4cqNtvv1033XSTbrvtNuXl5e3HaOuRGAIAwCUtpStYssaMGSNJ6tmzp0488UTl5HBbAgAAYktHV7DA8VVVVY71+fn5ys/PT6nthqxYsUJHHXWUioqKgutKS0t11VVX6fPPP9cxxxzTpOePhTGGAABwg22nZ2kBTj31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V1ZWqri4OOoxxcXFjdpfknr16qVOnTpp7dq1jbkiAAAAcVm2nZYFTiSGAABwgwvT1efl5WnQoEEqLy+vD8OyVF5erqFDh0Y9ZujQoY79Jem1116Lub8kff311/r+++/VtWvXxgUIAAAQB13JmgaJIQAAskhZWZkeeughPfbYY/ryyy911VVXaffu3Ro3bpwkafTo0Zo6dWpw/2uvvVZLly7V3XffrdWrV+u2227TBx98oIkTJ0qSdu3apRtuuEHvvvuuNmzYoPLycp133nnq06ePSktLXXmOAAAASBxjDAEA4ALDtmWkWMqczPGjRo3S1q1bNX36dFVUVGjgwIFaunRpcIDpjRs3yjTrvzc64YQT9NRTT+nWW2/VzTffrL59++r555/XkUceKUnyeDz65JNP9Nhjj2n79u3q1q2bzjrrLN1+++37fawjAADQstl26hU/Nl3JIpAYAgDADSFjBKXURhImTpwYrPgJt3z58oh1F110kS666KKo+7dq1UqvvPJKUnEAAAA0hm3ZslJNDNGVLAJdyQAAAAAAALIUFUMAALjBsiUjxW+s+MYLAABkEdu2U+4KRleySCSGAABwg4tdyQAAADJROmYVoytZJLqSAQAAAAAAZCkqhgAAcEUaKobEN14AACB7WJadclf6VAevbolIDAEA4Aa6kgEAADSKbflkW76U24ATXckAAAAAAACyFBVDAAC4wbKVclcwSqEBAEAWoWKoaZAYAgDADbblX1JtAwAAIEvYlpWGxBD3T+HoSgYAAAAAAJClqBgCAMANDD4NAADQKLbPJ9uXYsVQise3RCSGAABwA2MMAQAANIptp2GMIZvEUDi6kgEAAAAAAGQpKoYAAHADXckAAAAahVnJmgYVQwAAuMFWfXIo6cXtJwEAALD/BBJDqS5NYcOGDRo/frx69uypVq1aqXfv3poxY4a8Xq9jv08++UQnn3yyCgoKVFJSovnz5zdJPI1BxRAAAAAAAEAKVq9eLcuy9P/+3/9Tnz599Nlnn2nChAnavXu37rrrLklSVVWVzjrrLA0fPlyLFy/Wp59+qssuu0zt27fXr371K9diJzEEAIAb6EoGAADQKM25K9mIESM0YsSI4ONevXppzZo1euCBB4KJoSeffFJer1cPP/yw8vLydMQRR2jVqlVasGCBq4khupIBAOAGy0rPAgAAkCVsy0pD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Sg3w6FsHDw8P2Nvb6y1rfYMvKiqCVqtt82HT2NiIHj16GCY0GYWoqCikpaXh999/R+/evXXLVSoVmpqaoNFo9L71qqmp0ZVslUqFixcv6j1e61U3VCoV6uvrkZ+fj8LCQkRFRQF49I2UEAKWlpY4ffo0QkJC4O/vr7t/r1692s2Zm5uL8PBwrF69GpMnT4ZCoYBarcbGjRv1xllZWendlslkaGlpec5nhYiIzAH7E/1X7E9kKjgxRGRG2nszf9Yb/N27d2FhYYGCggJYWFjojXu8DFHXJYTA4sWLkZKSgqysLHh6euqtHzlyJKysrJCRkYHQ0FAAQElJCaqqqnQnQAwMDMS6detQW1sLFxcXAEB6ejocHR3h4+MDKysrFBUV6T3utm3bkJmZicOHD8PT0xN2dnZ631A9TU5ODvr164cvv/xSt6yysvKFngMiIjJv7E/0vNifyNRwYoioi5DL5XonPXwZhg8fDq1Wi9ra2qcedkpdW2RkJPbv34+jR4/CwcFB9z/tCoUCr732GhQKBRYsWIBly5bByckJjo6OWLx4MQIDAxEQEAAACA4Oho+PD+bMmYNvv/0W1dXViImJQWRkJKytrQFA9z/3rVxcXGBjY9NmeUe8vLxQVVUFtVqNUaNG4cSJE0hJSXkJzwQREXVF7E/0KrA/kanhVcmIuggPDw/k5eXhxo0buH379ks5rNPb2xvh4eGIiIjAkSNHUFFRgYsXLyI+Ph4nTpx4CanJ2G3fvh11dXWYMGEC3NzcdD8HDhzQjUlISMA777yD0NBQjBs3DiqVCkeOHNGtt7CwQFpaGiwsLBAYGIjZs2cjIiJCd6LPF9H6Om894WJISAiWLl2KqKgo+Pn5IScnB7GxsS+8HSIi6prYn+hVYH8iUyMTQgipQxDRiystLcXcuXNx+fJl3L9/H4mJiZg/fz7+/fdfKJVKJCUlYcmSJbrLrwJAXFwcUlNTcenSJd2yefPmQaPRIDU1FcCjEy7+73//w549e3Dz5k04OzsjICAAq1evhq+vr2F3kugJ1dXVcHNzwx9//IE333xT6jhERGRi2J/IHLE/0ZM4MURERCZHCIHKykps2LABhw8fxo0bN2BjYyN1LCIiIiKjxf5ET8NzDBERkcmpq6vDoEGDMHjwYKjVapYaIiIiog6wP9HT8IghIiIiIiIiIiIzxZNPExERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZqf8DIXyB1OU65ScAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "fig, (ax1, ax2) = plt.subplots(ncols=2, sharex=True, sharey=True, figsize=(14,5))\n", + "ax1.set_title(\"Soil Moisture\")\n", + "ax2.set_title(\"Soil Temperature\")\n", + "ax1.set_ylabel(\"depth (m)\")\n", + "ax2.set_ylabel(\"depth (m)\")\n", + "da_sm.plot(y=\"depth\", ax=ax1, cbar_kwargs={'label': \"volumetric moisture content (m3 m-3)\"})\n", + "da_t.plot(y=\"depth\", ax=ax2, cbar_kwargs={'label': \"temperature (deg C)\"})" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAABIIAAAHWCAYAAAALsiIqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAADmVElEQVR4nOzdd3hb5dkG8Ptob8l7O3uQPSAhgQApIQkrhbI3acroB3SwaZktq4TVQqHQssoIo2UnbBIaQgYBJ2Tv6T01bO3zfn/Iki1P2ZEt2b5/16XrSGc+R0qsR895z/tKQggBIiIiIiIiIiLq9xSJDoCIiIiIiIiIiHoHC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0E04A0ePBhXXnllosMgIiIi6jOYPxER9V0sBNGA8N133+Hee+9FXV1dokPpVd9//z2uv/56jB07FkajEYWFhTj//POxc+fONtfftm0b5s+fD5PJhNTUVFx22WWorKxstZ4sy3jkkUcwZMgQ6HQ6TJgwAUuWLOkwFr/fjzFjxkCSJDz66KMxn4PX68Vtt92G3Nxc6PV6TJ8+HV988UWr9T7//HMsWrQI48aNg1KpxODBg2M+RleP5ff7cd9992Ho0KHQarUYOnQo7r//fgQCgcg6kiTF9FixYkVkmxdeeAFHHXUUdDodRowYgaeeeqrNOL/88kvMnj0b6enpsNlsmDZtGl599dWYznHLli0477zzMHToUBgMBqSnp+OEE07ARx991Ob6sf6baE9dXR2uvvpqZGRkwGg0Yvbs2fjxxx/bXPfDDz/ElClToNPpUFhYiHvuuSfqPSUiot7F/In5UzyPxfyJ+RMlEUE0ACxevFgAEPv27Wu1zOPxCJ/P1/tB9YJzzjlHZGdnixtuuEH885//FH/+859FVlaWMBqNYtOmTVHrHjp0SKSnp4thw4aJv/71r+KBBx4QKSkpYuLEicLr9Uate/vttwsA4qqrrhLPP/+8OP300wUAsWTJknZjeeyxx4TRaBQAxOLFi2M+hwsvvFCoVCpx8803i+eee07MmDFDqFQqsXLlyqj1rrjiCqHT6cTMmTNFfn6+GDRoUMzH6Oqxzj//fCFJkli0aJF49tlnxRVXXBF5P8JeffXVqMcpp5wiALSaX1ZWJoQQ4h//+IcAIM455xzx/PPPi8suu0wAEA8//HDUsT/44AMhSZKYOXOmeOqpp8TTTz8tTjjhBAFAPP74452e49KlS8W8efPEvffeK55//nnx5JNPilmzZgkA4rnnnotatyv/JtoSDAbFzJkzhdFoFPfee694+umnxZgxY4TZbBY7d+6MWnfZsmVCkiQxe/Zs8fzzz4sbbrhBKBQKce2113Z6HCIi6hnMn5g/xfNYzJ+YP1HyYCGIBoSOEpn+bNWqVa2+cHbu3Cm0Wq245JJLoub/+te/Fnq9Xhw4cCAy74svvmj1BXf48GGhVqvFddddF5kny7KYNWuWyM/PF4FAoFUc5eXlwmq1ij/96U9dSmTWrl3ban232y2GDRsmZsyYEbVucXFxJCE9/fTTu5zIxHqsdevWCQDirrvuitr+pptuEpIkiY0bN7a5/+uuu060V3tvaGgQaWlp4vTTT4+af8kllwij0Shqamoi80455RSRm5srPB5PZJ7f7xfDhg0TEyZMiP2EmwkEAmLixIli1KhRUfNj/TfRnrfeeksAEO+8805kXkVFhbDZbOKiiy6KWnfMmDFi4sSJwu/3R+b98Y9/FJIkiW3btnXrvIiI6Mgwf2rC/OnIjsX8ifkTJRcWgqjfu+eeewSAVo9wUjNo0CBxxRVXRNZ/6aWXBACxcuVKccMNN4j09HRhtVrF1VdfLbxer6itrRWXXXaZsNlswmaziVtuuUXIshx1zGAwKJ544gkxZswYodVqRWZmprj66qujvpASacqUKWLKlClR8zIzM8V5553Xat2RI0eKk08+OfL673//uwAgtmzZErXeG2+8EXnfWlq4cKGYNm2a2Lt3b5cSmVtuuUUolUpht9uj5j/44IMCgDh48GCb23UnkYn1WI899lib5//9998LAOIPf/hDm/vvKJFZunSpACCWLl0aNf+7776LXAULmz59uhg7dmyrfUyfPl1Mnz49at6BAwdiTgLOOOMMkZWVFTUv1n8TQgixe/dusXv37qh55513nsjKyhLBYDBq/tVXXy0MBkMkGduyZYsAIP7+979HrVdcXCwAiD//+c8xnQMREcUP86fWmD91/1jMn5g/UXJRdfeWMqK+4he/+AV27tyJJUuW4IknnkB6ejoAICMj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ExwJ0cDCQhARURIK3xrG4eOJiIiov7LoQ/mOm0PIE/UqFoKIiJIQ+wgiIiKi/s6gCeU7HnYWTdSrWAgiIkpC4VvD2CKIiIiI+iu9WgmALYKIehsLQUREScisZWfRRERE1L+FC0EBWcAflBMcDdHAwUIQEVESMnHUMCIiIurndJqmn6NsFUTUe1gIIiJKQiatGgALQURERNR/aZQKKKTQc/YTRNR7WAgiIkpC7CyaiIiI+jtJkqBRhX6SegO8NYyot7AQRESUhDh8PBEREQ0ECklKdAhEAw4LQURESSjSRxBbBBEREVE/Fi4DyUIkNA6igYSFICKiJBRuEeTyBSDLTIyIiIiof5IaWwSxDkTUe1gIIiJKQubGFkFCAA0cRYOIiIj6qXCLINaBiHoPC0FERElIq1JA1TiMBvsJIiIion6rsRIk2CSIqNewEERElIQkSYr0E8SRw4iIiKi/Yosgot7HQhARUZJqGkLen+BIiIiIiHoG+wgi6n0sBBERJammIeTZRxARERH1Txw9nqj3sRBERJSkIiOHedkiiIiIiIiI4oOFICKiJMU+goiIiIiIKN5YCCIiSlJNLYJYCCIiIiIiovhgIYiIKEmZG1sEudgiiIiIiIiI4oSFICKiJMUWQUREREREFG8sBBERJSmTVg0AcLBFEBEREfV7HD+eqLewEERElKTCnUXXs0UQERER9VMcPZ6o97EQRESUpMy8NYyIiIiIiOKMhSAioiRlYmfRREREREQUZywEERElqXBn0U62CCIiIiIiojhhIYiIKElFWgR5/QmOhIiIiIiI+gsWgoiIklSkjyDeGkZERERERHHCQhARUZIKtwhyegIQgkOqEhERERHRkWMhiIgoSYX7CArIAt6AnOBoiIiIiIioP2AhiIgoSRk1qshzJ28PIyIiIiKiOGAhiIgoSSkUUqRVkIsjhxERERERURywEERElMRM7DCaiIiIiIjiiIUgIqIkFukwmkPIExERERFRHLAQRESUxNgiiIiIiIiI4omFICKiJGZuNoQ8ERERUX8jEh0A0QDEQhARURILF4LYWTQREREREcUDC0FEREmMo4YREREREVE8sRBERJTETFo1AN4aRkRERERE8cFCEBFREmvqI4ijhhERERER0ZFjIYiIKImxjyAiIiIiIoonFoKIiJIYh48nIiIiIqJ4YiGIiCiJmTh8PBEREfVjguPHE/U6FoKIiJKYWdfYWTRvDSMiIqJ+TUp0AEQDBgtBRERJrGn4eHYWTURERERER46FICKiJGbRsY8gIiIi6r8E7w0j6nUsBBERJbHmfQQxUSIiIqL+SuKdYUS9hoUgIqIkFu4jKCALeANygqMhIiIiIqK+joUgIqIkZlArI1fIOHIYEREREREdKRaCiIiSmEIhwaQJ3x7GDqOJiIiofwnf+c47w4h6DwtBRERJzhzuMJpDyBMREVE/IzdWgpQKloKIegsLQURESc7EkcOIiIionwo2FoIU7C2aqNewEERElOTCHUY7WAgiIiKifkZuHAtDwRZBRL2GhSAioiRn0vLWMCIiIuqfwi2ClGwRRNRrWAgiIkpy4T6C2Fk0ERER9TfhPoIU/GVK1Gv4342IKMmZ2UcQERER9UNCiMioYWwRRNR7WAgiIkpy4VvDnLw1jIiIiPoRtz8Yea5VKxMYCdHAwkIQEVGSC3cW7WSLICIiIupHqpw+AIBOrYBRw0IQUW9hIYiIKMmxs2giIiLqjypdHgBAhlkLibeGEfWaPlEI2r9/PxYtWoQhQ4ZAr9dj2LBhuOeee+Dz+RIdGhFRjzNF+ghiZ9FERETUf1Q2tgjKMGkTHAnRwKJKdACx2L59O2RZxnPPPYfhw4dj8+bNuOqqq1BfX49HH3000eEREfUoS2TUMLYIIiIiov6j0uUFEGoRRES9p08UgubPn4/58+dHXg8dOhQ7duzAs88+y0IQEfV7Jm2ojyDeGkZERET9SaUzVAhKZ4sgol7VJwpBbbHb7UhNTe1wHa/XC6/XG3ntcDh6OiwiorgzsUUQEfUi5k9E1FsqHE19BBFR7+kTfQS1tHv3bjz11FO45pprOlzvoYcegtVqjTwKCgp6KUIiovgps4eSJI2qT/7Jpn5MlgUAgP179i/Mn4ioN/x0uA7vFhUDAEZkmhMcDdHAktBfFbfffjskSerwsX379qhtiouLMX/+fJx33nm46qqrOtz/HXfcAbvdHnkcOnSoJ0+HiKhHfLq5FABw8ujMBEdCFC0QCAIANLo+28CY2sD8iYh6WpXLi2tf/QG+gIw5R2Xi1HHZiQ6JaEA5oszN6/VCq+1+M76bbroJV155ZYfrDB06NPK8pKQEs2fPxsyZM/H88893un+tVntE8RERJZo3EMSX2yoAAKeOz0lwNETRZBG6XdGUYkhwJNTSkeRozJ+IqCf5gzKue/1HlNg9GJpuxOMXTIJCwaalRL2pS4WgTz75BG+++SZWrlyJQ4cOQZZlGI1GTJ48GXPnzsXChQuRm5sb8/4yMjKQkZER07rFxcWYPXs2pk6dipdeegkKBW+RIKL+79tdVXB5A8i26DC5wJbocIiiyHADADIG5Sc4Eop3jkZE1FMeWrYda/fVwKhR4vnLp8KiUyc6JKIBJ6ZqynvvvYeRI0fil7/8JVQqFW677Ta8++67+Oyzz/Cvf/0LJ554Ir788ksMHToU1157LSorK+MaZHFxMU466SQUFhbi0UcfRWVlJcrKylBWVhbX4xARJZtlm0J/5+aPy+bVMkoqNYf3Q4hQ/1XDjj02wdEMXInO0YiIuuK9osN4cdU+AMBj50/CcPYNRJQQMbUIeuSRR/DEE0/g1FNPbbMlzvnnnw8gVLB56qmn8Nprr+H3v/993IL84osvsHv3buzevRv5+dFXHYUQcTsOEVEy8QVkfLE1VAg6jbeFUZLZ/r8vG5+pkD9hWkJjGcgSnaMREcVqc7Edd7y7CQBww8+GYz77BSJKmJgKQatXr45pZ3l5eXj44YePKKC2XHnllZ32JURE1N98t6cKDk8AGWYtpg5KSXQ4RFHKduwGACgkI1RqNutPlETnaEREsahyeXHtaz/A45cxe1QGfjdnZKJDIhrQ2NEOEVGS2lxsBwDMGpEOJW8LoyRTb28AACgkjhhGRETtc/uCWPTKehyudWNQmgFPXjCZeQ1RgnU5exNC4D//+Q+WL1+OiooKyLIctfzdd9+NW3BERAOZ0xsakSnVoElwJETUFzBHI6JkE5QFfvNmETYeqoPNoMaLVx4Dq4GtSIkSrcuFoN/97nd47rnnMHv2bGRlZUGSWM0lIuoJ9Y2FIKOWLS6IqHPM0YgomQgh8KePtuCLreXQqBT45+VHY1iGKdFhERG6UQh69dVX8e677+K0007riXiIiKiRyxMqBJlYCCKiGDBHI6Jk8sK3+/DK6gMAgCfOn4RjBqcmOCIiCutyH0FWqxVDhw7tiViIiKgZlzcIgC2CiCg2zNGIKFks/akU9y/dBgD442lH4fQJHP2UKJl0uRB077334r777oPb7e6JeIiIqFH41jCTjoUgIuocczQiSgbf76/B79/eAAC4YsYg/GrWkMQGREStdPnXxfnnn48lS5YgMzMTgwcPhrrFkLE//vhj3IIjIhrIXOFCkFaZ4EiIqC9gjkZEiba30oWr/r0evoCMOUdl4e4zx7K/MqIk1OVC0BVXXIEffvgBl156KTsiJCLqQZHOojVsEUREnWOORkSJVO3yYuHL36OuwY+JBTY8dRGHiSdKVl3+dbF06VJ89tlnOP7443siHiIiauTiqGFE1AXM0YgoUTz+IK5+9QccqG5Afooe/7r8aOg1bNFMlKy63EdQQUEBLBZLT8RCRETNNN0axkIQEXWOORoRJYIsC9z8zkb8cKAWFp0KLy88BhlmbaLDIqIOdLkQ9Nhjj+HWW2/F/v37eyAcIiICQklVgy80ahg7iyaiWDBHI6JEePTzHfj4p1KoFBL+cdlUDM80JzokIupEl39dXHrppWhoaMCwYcNgMBhadURYU1MTt+CIiAaqel8g8pwtgogoFszRiKi3vfX9QTyzYg8A4OFzJmDmsPQER0REsejyr4snn3yyB8IgIqLm6r2h1kBKhQStqsuNN4loAGKORkS96dtdVfjje5sBAL/52XCcOzU/wRERUay6NWoYERH1rEhH0RolR/4hopgwRyOi3rK30oVfv/YDArLAzyfl4venjEx0SETUBTFdZq6vr+/STru6PhERRWvwccQwIuocczQi6m1CCPzxvc1wegM4ZnAKHjl3Ai9aEfUxMRWChg8fjocffhilpaXtriOEwBdffIFTTz0Vf/vb3+IWIBHRQOTxywAAnZpDrxJR+5ijEVFv+2BDCVbvrYZOrcDj50+CVsVchaivielS84oVK/CHP/wB9957LyZOnIijjz4aubm50Ol0qK2txdatW7F69WqoVCrccccduOaaa3o6biKifs0bCPURxP6BiKgjzNGIqDfZ3X7cv3QbAOCGn41AQaohwRERUXfEVAgaNWoU/vvf/+LgwYN45513sHLlSnz33Xdwu91IT0/H5MmT8c9//hOnnnoqlEpWhImIjhRbBBFRLJijEVFveuzzHahyeTE0w4hfzRqS6HCIqJu61PlEYWEhbrrpJtx00009FQ8REQHw+EMtgnRqtggios4xRyOinrbpsB2vrjkAALj/5+N4SxhRH8ZfGERESShcCGKSRURERIkWlAX++P4mCAH8fFIuZg5PT3RIRHQEWAgiIkpCnkD41jD+mSYiIqLEemPdQfx02A6z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GLm5ufjvf/+rPBPxrrvuwt69e/Hjjz9i5MiRGDhwIJYtW4ZOnTo1WOf48ePx/PPPIyoqCgMGDMD333+vzCZmMHnyZERERGD06NHo2LEjNm/eDAD46KOPUFlZieDgYDz33HN1Zuyqz8svv4ylS5di1apV6NWrFyIiIvDtt98iMDCw3m3Gjh0LtVqN7777Tlk2dOhQvP/++1i/fj369++PXbt21RmMCg8Px/bt27Fr1y7cfffdGDp0KNatW6d88Whra4utW7eiqKgId999N/7yl78od0c19NOxLl264IcffsDo0aMxf/589O3bFw888ADi4uLw7rvvKuWYX5G1UUljn4JFRNTKiAhCQkLw/PPPY+rUqS0dTrOaMmUK+vfvj7/+9a8tHQoRERHVkJCQgNGjR+P69et1piZvSzZs2IBvvvkG//vf/5q1nYMHD2LEiBE4ffo0unbtelt1Mb8ia8NnBBFRm6dSqfCvf/0LaWlpLR1KsyovL0e/fv3w/PPPt3QoRERERCbNnj0beXl5KCwshJOTU5PVu2XLFjg6OqJ79+44ffo0nn32WQwfPvy2B4GYX5E14h1BRERERERELYx3BDWvTz75BK+88gouXLgAd3d3hIWF4R//+EeTzJJLZG04EERERERERERE1EbwYdFERERERERERG0EB4KIiIiIiIiIiNoIDgQREREREREREbURHAgiIiIiIiIiImojOBBERERERERERNRGcCCIiIiIiIiIiKiN4EAQEREREREREVEbwYEgIiIiIiIiIqI24v8HPnyOheRB16gAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, (ax1, ax2) = plt.subplots(ncols=2, sharey=True, figsize=(14,5))\n", + "\n", + "for i in [0, 1, 20, 200, 300, 400]:\n", + " label = da_t.isel(time=i).time.values\n", + " da_sm.isel(time=i).plot(y=\"depth\", ax=ax1, label=label)\n", + "\n", + "ax1.set_xlabel(\"Soil Moisture (m3 m-3)\")\n", + "ax1.set_ylabel(\"depth (m)\")\n", + "ax1.legend()\n", + "\n", + "for i in [0, 1, 20, 200, 300, 400]:\n", + " label = da_t.isel(time=i).time.values\n", + " da_t.isel(time=i).plot(y=\"depth\", ax=ax2, label=label)\n", + "\n", + "ax2.set_ylabel(\"depth (m)\")\n", + "ax2.set_xlabel(\"Soil Temperature (deg C)\")\n", + "ax2.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "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.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/docs/notebooks/BMI_groundwater_coupling_csv_plots.ipynb b/docs/notebooks/BMI_groundwater_coupling_csv_plots.ipynb new file mode 100644 index 0000000..ee8bd7c --- /dev/null +++ b/docs/notebooks/BMI_groundwater_coupling_csv_plots.ipynb @@ -0,0 +1,1128 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# STEMMUS_SCOPE BMI groundwater coupling\n", + "We have to choose how we want to run the BMI. We can do this either using a local executable file, or with a Docker container.\n", + "\n", + "How to run the model is define in the configuration file.\n", + "If it has an entry \"ExeFilePath\" it will use the local executable. If this is missing, it wil try to use Docker (if docker-py is available). " + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "cfg_file = \"/home/bart/tmp/stemmus_scope/config_docker.txt\"\n", + "#cfg_file = \"/home/bart/tmp/stemmus_scope/config_exe.txt\"\n", + "# cfg_file = \"/home/sarah/temp/ecoextreml/test/input/ZA-Kru_2024-07-31-1555/ZA-Kru_2024-07-31-1555_config.txt\"\n", + "cfg_file = \"/home/sarah/temp/ecoextreml/test/input/DE-Geb_2024-08-01-1043/DE-Geb_2024-08-01-1043_config.txt\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "If we are using the local executable file we first have to add the matlab runtime compiler locations to PATH:" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "/usr/local/MATLAB/MATLAB_Runtime/R2023a/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/extern/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/sys/opengl/lib/glnxa64\n" + ] + } + ], + "source": [ + "# if \"exe.txt\" in cfg_file:\n", + "# from PyStemmusScope.config_io import read_config\n", + "# import os\n", + "# os.environ['LD_LIBRARY_PATH'] = (\n", + "# \"/home/bart/matlab_runtime/R2023a/runtime/glnxa64:\"\n", + "# \"/home/bart/matlab_runtime/R2023a/bin/glnxa64:\"\n", + "# \"/home/bart/matlab_runtime/R2023a/sys/os/glnxa64:\"\n", + "# \"/home/bart/matlab_runtime/R2023a/extern/bin/glnxa64:\"\n", + "# \"/home/bart/matlab_runtime/R2023a/sys/opengl/lib/glnxa64\"\n", + "# )\n", + "# os.environ[\"STEMMUS_SCOPE\"] = read_config(cfg_file)[\"ExeFilePath\"]\n", + "\n", + "\n", + "from PyStemmusScope.config_io import read_config\n", + "import os\n", + "matlab_path = !whereis MATLAB\n", + "matlab_path = matlab_path.s.split(\": \")[1]\n", + "os.environ['LD_LIBRARY_PATH'] = (\n", + " f\"{matlab_path}/MATLAB_Runtime/R2023a/runtime/glnxa64:\"\n", + " f\"{matlab_path}/MATLAB_Runtime/R2023a/bin/glnxa64:\"\n", + " f\"{matlab_path}/MATLAB_Runtime/R2023a/sys/os/glnxa64:\"\n", + " f\"{matlab_path}/MATLAB_Runtime/R2023a/extern/bin/glnxa64:\"\n", + " f\"{matlab_path}/MATLAB_Runtime/R2023a/sys/opengl/lib/glnxa64\")\n", + "print(os.environ['LD_LIBRARY_PATH'])\n", + "os.environ[\"STEMMUS_SCOPE\"] = read_config(cfg_file)[\"ExeFilePath\"]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can initialize the model with a prepared configuration file:" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "from PyStemmusScope.bmi.implementation import StemmusScopeBmi\n", + "from cftime import num2pydate\n", + "from rich import print\n", + "import numpy as np\n", + "import xarray as xr\n", + "\n", + "model = StemmusScopeBmi()\n", + "\n", + "model.initialize(cfg_file)\n", + "\n", + "model.update() # STEMMUS_SCOPE needs to be updated by one timestep before the BMI is accessible" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "After initialization we can enable the groundwater coupling. You enable this using the following command:" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [], + "source": [ + "model.set_value(\"groundwater_coupling_enabled\", np.array([True]))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "To make use of the groundwater coupling routines, a few variables will need to be set:\n", + "- the elevation (above reference, e.g. Mean Sea Level) of the top of the aquifer (in cm)\n", + "- the groundwater head (above reference) in the lowest STEMMUS_SCOPE soil layer (in cm)\n", + "\n", + "The groundwater height (where the hydrostatic pressure is equal to 0.0, will be at a depth of `groundwater_elevation_top_aquifer` - `groundwater_head_bottom_layer` in the STEMMUS_SCOPE model).\n", + "\n", + "Lastly, a groundwater temperature can be defined. However, this is optional." + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "model.set_value(\"groundwater_elevation_top_aquifer\", np.array([2000.]))\n", + "# model.set_value(\"groundwater_head_bottom_layer\", np.array([2000-250.])) # 250 cm under ground surface\n", + "model.set_value(\"groundwater_head_bottom_layer\", np.array([1950.])) # 50 cm under ground surface\n", + "\n", + "model.set_value(\"groundwater_temperature\", np.array([23.])) # optional. 50 deg C here to get a high contrast" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can run the model. We define arrays to store the results that we want to inspect, and then step through all model timesteps:" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "433" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "n_timesteps = int((model.get_end_time() - model.get_current_time())/model.get_time_step())\n", + "n_soil_layers = model.get_grid_size(model.get_var_grid(\"soil_moisture\"))\n", + "\n", + "soil_moisture = np.zeros((n_timesteps, n_soil_layers))\n", + "soil_temperature = np.zeros((n_timesteps, n_soil_layers))\n", + "time = []\n", + "i=0" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
model is done\n",
+       "
\n" + ], + "text/plain": [ + "model is done\n" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "while model.get_current_time() < model.get_end_time():\n", + " model.get_value(\"soil_moisture\", soil_moisture[i])\n", + " model.get_value(\"soil_temperature\", soil_temperature[i])\n", + " # model.set_value(\"groundwater_head_bottom_layer\", np.array([1950.-i*5])) # 250 cm under ground surface\n", + "\n", + " # Store the current time as a datetime\n", + " time.append(num2pydate(model.get_current_time(), model.get_time_units()))\n", + "\n", + " i+=1\n", + " model.update()\n", + "\n", + "print(\"model is done\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "For easier anaylsis we can put the data into xarray DataArray objects:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "gs = model.get_grid_size(1)\n", + "depths = np.ones(gs)\n", + "model.get_grid_z(1, depths)\n", + "\n", + "da_sm = xr.DataArray(\n", + " data=soil_moisture,\n", + " dims=(\"time\", \"depth\"),\n", + " coords={\"time\": np.array(time), \"depth\": depths},\n", + ")\n", + "\n", + "da_t = xr.DataArray(\n", + " data=soil_temperature,\n", + " dims=(\"time\", \"depth\"),\n", + " coords={\"time\": np.array(time), \"depth\": depths},\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "outputs": [ + { + "ename": "ValueError", + "evalue": "Model terminated with return code None", + "output_type": "error", + "traceback": [ + "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", + "Cell \u001b[0;32mIn[9], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfinalize\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", + "File \u001b[0;32m~/GitHub/STEMMUS_SCOPE_Processing/PyStemmusScope/bmi/implementation.py:267\u001b[0m, in \u001b[0;36mStemmusScopeBmi.finalize\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 265\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Finalize the STEMMUS_SCOPE model.\"\"\"\u001b[39;00m\n\u001b[1;32m 266\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_process \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 267\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_process\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfinalize\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 268\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 269\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe STEMMUS_SCOPE process is not running/connected. Can\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt finalize!\u001b[39m\u001b[38;5;124m\"\u001b[39m\n", + "File \u001b[0;32m~/GitHub/STEMMUS_SCOPE_Processing/PyStemmusScope/bmi/local_process.py:162\u001b[0m, in \u001b[0;36mLocalStemmusScope.finalize\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 160\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 161\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mModel terminated with return code \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprocess\u001b[38;5;241m.\u001b[39mpoll()\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m--> 162\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg)\n", + "\u001b[0;31mValueError\u001b[0m: Model terminated with return code None" + ] + } + ], + "source": [ + "model.finalize()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we can show the results. Note that up to ~2.5 m depth the soil is completely saturated, and that the temperature here equals the groundwater temperature we defined before." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### with coupling\n", + "model.set_value(\"groundwater_elevation_top_aquifer\", np.array([2000.]))\n", + "\n", + "model.set_value(\"groundwater_head_bottom_layer\", np.array([1950.])) # 50 cm under ground surface\n", + "\n", + "model.set_value(\"groundwater_temperature\", np.array([17.])) # optional. 50 deg C here to get a high contrast" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "fig, (ax1, ax2) = plt.subplots(ncols=2, sharex=True, sharey=True, figsize=(14,5))\n", + "ax1.set_title(\"Soil Moisture\")\n", + "ax2.set_title(\"Soil Temperature\")\n", + "ax1.set_ylabel(\"depth (m)\")\n", + "ax2.set_ylabel(\"depth (m)\")\n", + "da_sm.plot(y=\"depth\", ax=ax1, cbar_kwargs={'label': \"volumetric moisture content (m3 m-3)\"})\n", + "da_t.plot(y=\"depth\", ax=ax2, cbar_kwargs={'label': \"temperature (deg C)\"})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import matplotlib.pyplot as plt\n", + "# with coupling, \n", + "fig, (ax1, ax2) = plt.subplots(ncols=2, sharey=True, figsize=(14,5))\n", + "\n", + "for i in [0, 1, 20, 200, 300, 400]:\n", + " label = da_t.isel(time=i).time.values\n", + " da_sm.isel(time=i).plot(y=\"depth\", ax=ax1, label=label)\n", + "\n", + "ax1.set_xlabel(\"Soil Moisture (m3 m-3)\")\n", + "ax1.set_ylabel(\"depth (m)\")\n", + "ax1.legend()\n", + "\n", + "for i in [0, 1, 20, 200, 300, 400]:\n", + " label = da_t.isel(time=i).time.values\n", + " da_t.isel(time=i).plot(y=\"depth\", ax=ax2, label=label)\n", + "\n", + "ax2.set_ylabel(\"depth (m)\")\n", + "ax2.set_xlabel(\"Soil Temperature (deg C)\")\n", + "ax2.legend()" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAGzCAYAAAAlqLNlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABQx0lEQVR4nO3deXwV9b3/8decNfsC2QgJBFxAFhFwA8W9YGtrqXVvi1Kq2OsOdatexS7SiuutvUXvr1bbalWqonWhIiBVwYVNBFlUQJYQAmQ5Wc828/sjyeGEBAjhJJOTvJ+PxzzOmZnvzPkMQ3Le+c5mWJZlISIiIiIAOOwuQERERKQrUTgSERERiaJwJCIiIhJF4UhEREQkisKRiIiISBSFIxEREZEoCkciIiIiURSORERERKIoHImIiIhEUTgSkS6tqKiIq6++2u4yRKQHUTgSEdstWbKEGTNmUFFRYXcpnWrt2rVccsklDBw4kKSkJLKysjjjjDP417/+ZXdpIj2ay+4CRESWLFnC/fffz9VXX01GRkazeRs2bMDh6J5/x33zzTdUVVVx1VVXkZ+fT21tLS+//DIXXnghTz75JNdee63dJYr0SIYePCsidnvooYe47bbb2Lx5M0VFRXaXY6twOMzo0aOpr69n/fr1dpcj0iN1zz/HRCRuzJgxg9tuuw2AAQMGYBgGhmGwZcsWoOU5R8888wyGYfDBBx9w0003kZ2dTUZGBlOnTiUQCFBRUcGkSZPIzMwkMzOT22+/nf3/BjRNk8cee4yhQ4eSkJBAbm4uU6dOpby8vLM2+4CcTieFhYU97hCjSFeiw2oiYquLLrqIjRs38o9//INHH32UrKwsALKzsw+63I033kheXh73338/H330EU899RQZGRksWbKEfv368cADD/DWW28xa9Yshg0bxqRJkyLLTp06lWeeeYbJkydz0003sXnzZp544glWrlzJhx9+iNvtPuDn+v1+qqqq2rRtTdtyKDU1NdTV1VFZWcnrr7/O22+/zWWXXdamZUWkA1giIjabNWuWBVibN29uMa9///7WVVddFRn/y1/+YgHWhAkTLNM0I9PHjBljGYZhXXfddZFpoVDIKigosM4888zItPfff98CrOeee67Z58ybN6/V6ftr+vy2DG01derUyDIOh8O6+OKLrbKysjYvLyKxpZ4jEYlLU6ZMwTCMyPgpp5zC0qVLmTJlSmSa0+nkxBNPZPny5ZFpc+bMIT09nW9961vs2bMnMn306NGkpKSwaNEirrzyygN+7oQJE5g/f35Mt+WWW27h4osvpri4mJdeeolwOEwgEIjpZ4hI2ykciUhc6tevX7Px9PR0AAoLC1tMjz6X6Msvv6SyspKcnJxW11taWnrQz+3Tpw99+vRpT8kHNHjwYAYPHgzApEmTGD9+PN/73vf4+OOPmwVAEekcCkciEpecTmebp1tRJ2SbpklOTg7PPfdcq8sf6lynpnOD2iIvL69N7fZ38cUXM3XqVDZu3MigQYPatQ4RaT+FIxGxXWf2jhx11FG8++67nHbaaSQmJh728i+++CKTJ09uU1urnXdKqaurA2hzCBOR2FI4EhHbJScnA3TK5euXXnop//u//8uvf/1rHnjggWbzQqEQ1dXVLW5EGS2W5xyVlpa2OLwXDAb561//SmJiIkOGDInJ54jI4VE4EhHbjR49GoC7776byy+/HLfbzfe+971IaIqlM888k6lTpzJz5kxWrVrF+PHjcbvdfPnll8yZM4fHH3+ciy+++IDLx/Kco6lTp+Lz+TjjjDPo27cvJSUlPPfcc6xfv56HH36YlJSUmHyOiBwehSMRsd1JJ53Er3/9a2bPns28efMwTZPNmzd3SDgCmD17NqNHj+bJJ5/kl7/8JS6Xi6KiIn784x9z2mmndchntuayyy7jz3/+M3/605/Yu3cvqampjB49mt///vdceOGFnVaHiDSnx4eIiIiIRNHjQ0RERESiKByJiIiIRFE4EhEREYmicCQiIiISReFIREREJIrCkYiIiEgU3efoMJmmSXFxMampqXogpIiISJywLIuqqiry8/NxOA7eN6RwdJiKi4tbPPVbRERE4sO2bdsoKCg4aBuFo8OUmpoKNPzjpqWl2VyNiIiItIXP56OwsDDyPX4wCkeHqelQWlpamsKRiIhInGnLKTE6IVtEREQkisKRiIiISBSFIxEREZEoCkciIiIiURSORERERKIoHImIiIhEUTgSERERiaJwJCIiIhJF4UhEREQkSo8NR3/84x8pKioiISGBU045hU8++cTukkRERKQL6JHh6MUXX2TatGncd999rFixghEjRjBhwgRKS0vtLk1ERERs1iPD0SOPPMI111zD5MmTGTJkCLNnzyYpKYmnn37a7tJE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443Iek499VROOOEEZs+e3ern+P1+/H5/ZNzn81FYWEhlZSVpaWkdtXkSh+6d/1+8Wvw+PykLMGDcu1xyYqHdJYmISCOfz0d6enqbvr/joueoNZWVlfTqte+8jqVLl3LGGWdEghHAhAkT2LBhA+Xl5ZE25513XrP1TJgwgaVLlx7wc2bOnEl6enpkKCzUF5605A/7+WjXCgBSgokkeXQpv4hIvIrLcPTVV1/xhz/8galTp0amlZSUkJub26xd03hJSclB2zTNb81dd91FZWVlZNi2bVusNkO6kb8te5yd4RpyQiF2m9/lnME5dpckIiLtZGs4uvPOOzEM46BD0yGxJjt27OD888/nkksu4ZprrunwGr1eL2lpac0GkWh7anfz1Lq/A/CdvSl8/8rpJHqcNlclIiLtZWvf//Tp07n66qsP2mbgwIGR98XFxZx99tmMHTu22YnWAHl5eezatavZtKbxvLy8g7Zpmi/SHg+9cyt1hsXQ+gC9Bj/KCf0y7S5JRESOgK3hKDs7m+zstt1JeMeOHZx99tmMHj2av/zlLzgczTu9xowZw913300wGMTtbniu1fz58xk0aBCZmZmRNgsWLOCWW26JLDd//nzGjBkTmw2SHmft9o95q2IVGAYja0/mJxecY3dJIiJyhOLinKMdO3Zw1lln0a9fPx566CF2795NSUlJs3OFrrzySjweD1OmTGHt2rW8+OKLPP7440ybNi3S5uabb2bevHk8/PDDrF+/nhkzZrBs2TJuuOEGOzZL4pxlWdw//1Ysw2BctcmlVz6OyxkXP1IiInIQcXFJzfz58/nqq6/46quvKCgoaDav6U4E6enpvPPOO1x//fWMHj2arKws7r33Xq699tpI27Fjx/L8889zzz338Mtf/pJjjjmGuXPnMmzYsE7dHukenn/vEdY5qkgwTc7qP50BubortohIdxC39zmyy+HcJ0G6r13l27jk1W9T7jT4dk0Wv//5QgzDsLssERE5gB5xnyMRO93zyo8pdxr0D5jcfNFfFYxERLoRhSORw/TMvN/ykasMp2UxqeA6+ubpxqAiIt2JwpHIYdi66yv+XPwPAL7l78Ol377R5opERCTWFI5EDsP9r02iwmnQP2Bx1+X/sLscERHpAApHIm305Kt38Ym3Cqdl8fNB0+mVnmV3SSIi0gEUjkTa4MtvPufv5a8DMMEc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oPOYREREpOexNRxlZ2eTnZ3drmVXrVqFw+EgJycHgDFjxnD33XcTDAZxu90AzJ8/n0GDBpGZmRlps2DBAm655ZbIeubPn8+YMWOObENERESk24iLc46WLl3KY489xmeffcamTZt47rnnuPXWW/nxj38cCT5XXnklHo+HKVOmsHbtWl588UUef/zxZofjbr75ZubNm8fDDz/M+vXrmTFjBsuWLeOGG26wa9NERESkizEsy7LsLuJQVqxYwX/913+xfv16/H4/AwYM4Cc/+QnTpk1rdj7Q6tWruf766/n000/Jysrixhtv5I477mi2rjlz5nDPPfewZcsWjjnmGB588EG+853vtLkWn89Heno6lZWVpKWlxWwbRUREpOMczvd3XISjrkThSEREJP4czvd3XBxWExEREeksCkciIiIiURSORERERKIoHImIiIhEUTgSERERiaJwJCIiIhJF4UhEREQkisKRiIiISBRbn60Wj5rumenz+WyuRERERNqq6Xu7Lfe+Vjg6TFVVVQAUFhbaXImIiIgcrqqqKtLT0w/aRo8POUymaVJcXExqaiqGYdhdTtzy+XwUFhaybds2PYali9O+ih/aV/FD+6rzWZZFVVUV+fn5OBwHP6tIPUeHyeFwUFBQYHcZ3UZaWpp+McQJ7av4oX0VP7SvOteheoya6IRsERERkSgKRyIiIiJRFI7EFl6vl/vuuw+v12t3KXII2lfxQ/sqfmhfdW06IVtEREQkinqORERERKIoHImIiIhEUTgSERERiaJwJCIiIhJF4UhEREQkisKRdJiZM2dy0kknkZqaSk5ODhMnTmTDhg2R+WVlZdx4440MGjSIxMRE+vXrx0033URlZaWNVfdMh9pX0SzL4tvf/jaGYTB37tzOLVTavK+WLl3KOeecQ3JyMmlpaZxxxhnU1dXZUHHP1pb9VVJSwk9+8hPy8vJITk5m1KhRvPzyyzZVLKBwJB1o8eLFXH/99Xz00UfMnz+fYDDI+PHjqampAaC4uJji4mIeeugh1qxZwzPPPMO8efOYMmWKzZX3PIfaV9Eee+wxPVfQRm3ZV0uXLuX8889n/PjxfPLJJ3z66afccMMNh3yelMReW/bXpEmT2LBhA6+//jqff/45F110EZdeeikrV660sfIezhLpJKWlpRZgLV68+IBtXnrpJcvj8VjBYLATK5P9HWhfrVy50urbt6+1c+dOC7BeffVVewqUiNb21SmnnGLdc889NlYlB9La/kpOTrb++te/NmvXq1cv6//+7/86uzxppD8jpNM0HS7r1avXQdukpaXhcumZyHZqbV/V1tZy5ZVX8sc//pG8vDy7SpP97L+vSktL+fjjj8nJyWHs2LHk5uZy5pln8sEHH9hZpjRq7Wdr7NixvPjii5SVlWGaJi+88AL19fWcddZZNlUpCkfSKUzT5JZbbuG0005j2LBhrbbZs2cPv/71r7n22ms7uTqJdqB9deuttzJ27Fi+//3v21idRGttX23atAmAGTNmcM011zBv3jxGjRrFueeey5dffmlnuT3egX62XnrpJYLBIL1798br9TJ16lReffVVjj76aBur7dn057l0iuuvv541a9Yc8K9Xn8/HBRdcwJAhQ5gxY0bnFifNtLavXn/9dRYuXKhzILqY1vaVaZoATJ06lcmTJwMwcuRIFixYwNNPP83MmTNtqVUO/Hvwv//7v6moqODdd98lKyuLuXPncumll/L+++8zfPhwm6rt2RSOpMPdcMMNvPHGG/znP/+hoKCgxfyqqirOP/98UlNTefXVV3G73TZUKXDgfbVw4UK+/vprMjIymrX/4Q9/yLhx43jvvfc6t1A54L7q06cPAEOGDGnW/rjjjmPr1q2dWqPsc6D99fXXX/PEE0+wZs0ahg4dCsCIESN4//33+eMf/8js2bPtKrlHUziSDmNZFjfeeCOvvvoq7733HgMGDGjRxufzMWHCBLxeL6+//joJCQk2VCqH2ld33nknP/vZz5pNGz58OI8++ijf+973OrPUHu9Q+6qoqIj8/PwWl4tv3LiRb3/7251ZqnDo/VVbWwvQ4kpCp9MZ6QWUzqdwJB3m+uuv5/nnn+e1114jNTWVkpISANLT00lMTMTn8zF+/Hhqa2v5+9//js/nw+fzAZCdnY3T6bSz/B7lUPsqLy+v1ZOw+/Xr12rolY5zqH1lGAa33XYb9913HyNGjOCEE07g2WefZf369fzzn/+0ufqe51D7a/DgwRx99NFMnTqVhx56iN69ezN37lzmz5/PG2+8YXP1PZi9F8tJdwa0OvzlL3+xLMuyFi1adMA2mzdvtrX2nuZQ++pAy+hS/s7X1n01c+ZMq6CgwEpKSrLGjBljvf/++/YU3MO1ZX9t3LjRuuiii6ycnBwrKSnJOv7441tc2i+dy7Asy+qEDCYiIiISF3Qpv4iIiEgUhSMRERGRKApHIiIiIlEUjkRERESiKByJiIiIRFE4EhEREYmicCQiIiISReFIREREJIrCkYiIiEgUhSMRERGRKApHIiIiIlH+P8tSxM5mVTx4AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import numpy as np\n", + "import xarray as xr\n", + "\n", + "# Read the CSV file\n", + "csv_path = \"/home/sarah/temp/ecoextreml/test/output/ZA-Kru_2023-09-06-1228_before/Sim_Temp.csv\"\n", + "\n", + "# Read the CSV file\n", + "df = pd.read_csv(csv_path, header=None)\n", + "\n", + "# Get the first row as depths\n", + "depths = df.iloc[0].values\n", + "\n", + "# Get the rest of the data as soil_temperature\n", + "soil_temperature = df.iloc[3:].values\n", + "soil_temperature = soil_temperature.astype(float)\n", + "\n", + "# Create a time index\n", + "time = np.arange(1, len(df)-2)\n", + "\n", + "# Create the xarray DataArray\n", + "da_t = xr.DataArray(\n", + " data=soil_temperature,\n", + " dims=(\"time\", \"depth\"),\n", + " coords={\"time\": time, \"depth\": depths},\n", + ")\n", + "da_t['depth'] = da_t['depth'].astype(float) * -1\n", + "\n", + "da_t.isel(time=0).plot(y=\"depth\")\n", + "da_t.isel(time=1).plot(y=\"depth\")\n", + "da_t.isel(time=2).plot(y=\"depth\")\n", + "# da_t.isel(time=5).plot(y=\"depth\")\n", + "# da_t.isel(time=6).plot(y=\"depth\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([23.8289, 24.5803, 25.3318, 26.0832, 26.7287, 27.3742, 28.0197,\n", + " 28.6652, 29.3107, 29.1801, 29.0495, 28.919 , 28.7884, 28.6578,\n", + " 28.5272, 28.3966, 28.2661, 28.1355, 28.0049, 27.8743, 27.7437,\n", + " 27.6131, 27.4826, 26.3672, 25.2519, 24.1365, 23.0211, 23.0211,\n", + " 23.0211, 23.0211, 23.0211, 23.0211, 23.0211, 23.0211, 23.0211,\n", + " 23.0211, 23.0211, 22.9336, 22.846 , 22.7584, 22.6708, 22.5832,\n", + " 22.4957, 22.4081, 22.3205, 22.2329, 22.1453, 22.0578, 21.9702,\n", + " 21.8826, 21.795 , 21.7074, 21.6199, 21.5323])" + ] + }, + "execution_count": 17, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "da_t.isel(time=0).values" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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F4tFJHFaDYA/EI4AeC5mc1oNgH+wLwLguWii5cii5QiADxCOAHjOdmKSuJQfgD8QjgB4jkv5AfhJoKZf3Lt3r95//33t2LFDjuNUmTZy5MiTLgxA4+GkWo4MjysBgBqGo3/84x+65pprtH//frVo0UKGUbFDMwyDcATghETpkA3AR2q0L5o4caKuv/567d+/X3v37tWePXtSr927d9d2jQAauJidvJSfliMA3qtROPriiy90yy23KCsrq7brAdAIOW78tBotRwD8oEb7ovz8fC1btqy2awHQSNm2LYlwBMAfqt3n6KWXXkoNX3rppZo0aZI++ugj9erVS8FgsMq8l112We1VCKDBc9x4ODLokA3AB6odjoYPH37EuF//+tdHjDMMI/WvQACoDseNX/HKpfwA/KDa4ejwy/UBoLYkbwJJyxEAP6jRKf6//OUvCofDR4yPRCL6y1/+ctJFAWhcki1HRCMAflCjcDRmzBiVlpYeMX7fvn0aM2bMSRcFoHFxaTkC4CM1Ckeu61a58WPS559/ruzs7JMuCkDjkupzRDgC4AMndIfsvn37yjAMGYahiy++WIFAxddt29bGjRt1ySWX1HqRABo2R5xWA+AfJxSOklesFRUVKT8/X82aNUtNC4VC6ty5s370ox/VaoEAGj7H5rQaAP84oXB09913S5I6d+6sK6+8UpmZmWkpCkDjQssRAD+p0YNnR40aJUlatmyZPv74Y0lSz5491a9fv9qrDECj4abuc0Q8AuC9GoWjL774QldddZXeeecdtWzZUpK0d+9eDRo0SM8884w6dOhQmzUCaOC4QzYAP6nR1Wpjx45VNBrVxx9/rN27d2v37t36+OOP5TiOfvKTn9R2jQAauIr7HBGOAHivRi1Hb775ppYsWaLu3bunxnXv3l2PPfaYBg8eXGvFAWgcHCf54FnCEQDv1ajlKC8vT9Fo9Ijxtm2rffv2J10UgMalokM24QiA92oUjmbOnKmbb75Zy5YtS41btmyZxo8fr4ceeqjWigPQOLicVgPgIzU6rTZ69GgdPHhQAwYMSN0IMhaLKRAI6Prrr9f111+fmnf37t21UymABivV5+god94HgLpWo3D06KOP1nIZABozLuUH4CcndZ8jAKgNqT5HtBwB8IEa9TmSpE8//VR33nmnRowYoR07dkiSXnvtNa1Zs6bWigPQOLjc5wiAj9QoHL355pvq1auX3nvvPb3wwgvav3+/JOmDDz5IPWIEAKrLcV1JhCMA/lCjcDRlyhT95je/UUFBgUKhUGr8t771Lb377ru1VhyAxsHl2WoAfKRG4ejDDz/UD37wgyPGt2nTRrt27TrpogA0LomGIxk1P9MPALWmRnuili1batu2bUeMX7lypU477bSTLgpA48J9jgD4SY3C0VVXXaXJkyerpKREhmHIcRy98847+sUvfqGRI0fWdo0AGrjUaTWyEQAfqFE4uv/++9WjRw/l5eVp//796tmzpwYPHqxBgwbpzjvvrO0aATRwruiQDcA/anSfo1AopD/84Q+666679OGHH2r//v3q27evTj/99NquD0AjQDgC4CfVDkcTJkw47vTKV6k9/PDDNa8IQKPjcik/AB+pdjhauXJllc8rVqxQLBZT9+7dJUnr1q2TZVnq169f7VYIoMFL3SGbcATAB6odjhYvXpwafvjhh9W8eXM9/fTTysnJkSTt2bNHY8aM0eDBg2u/SgANW7LlyOBSfgDeq9GeaNasWZo+fXoqGElSTk6OfvOb32jWrFm1VhyAxsFJ9DkCAD+oUTgqKyvTzp07jxi/c+dO7du376SLAtDIJFqOTE6rAfCBGoWjH/zgBxozZoxeeOEFff755/r888/1/PPPa+zYsfrhD39Y2zUCaOAqHh/CaTUA3qvRpfxz5szRL37xC1199dWKRqPxBQUCGjt2rGbOnFmrBQJo+FKn1Wg4AuADNQpHWVlZ+v3vf6+ZM2fq008/lSR169ZNTZs2rdXiADQOyfscmbQcAfCBGoWjpKZNm6p37961VQuAxir15FmajgB4j3+mAfAcLUcA/IQ9EQDPpR4fQssRAB8gHAHwnJN6thq7JADeY08EwHM8Ww2AnxCOAHjP4LQaAP8gHAHwXLLlyOTZagB8gD0RAM9VPFuNliMA3qs34eiyyy5Tx44dlZmZqXbt2um6667T1q1bq8yzatUqDR48WJmZmcrLy9OMGTOOWM6CBQvUo0cPZWZmqlevXnr11VfrahUAHBOX8gPwj3qzJ/rmN7+pZ599VmvXrtXzzz+vTz/9VJdffnlqellZmYYNG6ZOnTpp+fLlmjlzpqZNm6a5c+em5lmyZIlGjBihsWPHauXKlRo+fLiGDx+u1atXe7FKABIcLuUH4COGmzzZX8+89NJLGj58uMLhsILBoJ544gndcccdKikpUSgUkiRNmTJFL774ooqLiyVJV155pQ4cOKCXX345tZxvfOMb6tOnj+bMmVOt3y0rK1N2drZKS0vVokWL2l8xoBG6Ye75Kswo0xVmb9113TyvywHQAJ3I8bvetBxVtnv3bs2bN0+DBg1SMBiUJBUWFurCCy9MBSNJys/P19q1a7Vnz57UPEOHDq2yrPz8fBUWFh7zt8LhsMrKyqq8ANSu1E0g6XMEwAfqVTiaPHmymjZtqlNPPVWbN2/W3//+99S0kpIStW3btsr8yc8lJSXHnSc5/WimT5+u7Ozs1CsvL6+2VgdAQurxIYblcSUA4HE4mjJligzDOO4reUpMkiZNmqSVK1fq9ddfl2VZGjlypNJ9VnDq1KkqLS1NvbZs2ZLW3wMao4r/H9NyBMB7AS9/fOLEiRo9evRx5+natWtquFWrVmrVqpXOOOMMnXnmmcrLy9O7776rgQMHKjc3V9u3b6/y3eTn3Nzc1PvR5klOP5qMjAxlZGScyGoBOEHJaGTSIRuAD3gajlq3bq3WrVvX6LuO40iK9wmSpIEDB+qOO+5QNBpN9UMqKChQ9+7dlZOTk5pn0aJFuvXWW1PLKSgo0MCBA09iLQCcrIoHz9arM/0AGqh6sSd677339Pjjj6uoqEifffaZ/v3vf2vEiBHq1q1bKthcffXVCoVCGjt2rNasWaP58+dr9uzZmjBhQmo548eP18KFCzVr1iwVFxdr2rRpWrZsmX7+8597tWoAVKnPUf3YJQFo4OrFnigrK0svvPCCLr74YnXv3l1jx45V79699eabb6ZOeWVnZ+v111/Xxo0b1a9fP02cOFF33XWXbrjhhtRyBg0apL/+9a+aO3euzjnnHD333HN68cUXdfbZZ3u1agBEyxEAf6m39znyCvc5AmrfyLlf18qMco3KOF+/uKp69xwDgBPR4O9zBKBh4cGzAPyEPREAz1U0X7NLAuA99kQAPFdxE0h2SQC8x54IgOdcgwfPAvAPwhEA7yXOq3EpPwA/YE8EwHOpliOTZ6sB8B7hCIDnUk9W47QaAB8gHAHwnMMdsgH4CHsiAL7B1WoA/IA9EQDPpU6rmeySAHiPPREAz1Xc54gO2QC8RzgC4LmKO2TTIRuA9whHADxHyxEAPyEcAfBcsuXINGk5AuA9whEAz6U6ZLNLAuAD7IkAeC55h2xOqwHwA8IRAM9VnFZjlwTAe+yJAHiu4vEhtBwB8B7hCIDnUi1HPFsNgA8QjgB4jvscAfATwhEAzyXvc2SZQY8rAQDCEQAfcBMNRnTIBuAH7IkAeM5JvJsGuyQA3mNPBMBzFR2y2SUB8B57IgC+YZhcyg/Ae4QjAJ5zUh2yCUcAvEc4AuC5ZIdsnq0GwA/YEwHwXMXjQ2g5AuA9whEAz3G1GgA/YU8EwHMVLUcBT+sAAIlwBMAHkn2OLG4CCcAH2BMB8Fyy5cjgtBoAH2BPBMBzyXDEpfwA/IBwBMBzyQ7ZtBwB8AP2RAA8l2o5suiQDcB7hCMAnnOSN4Gk5QiAD7AnAuAb9DkC4AeEIwCecxRvOrIMTqsB8B7hCIDnUjeBtGg5AuA9whEAzyX7HHGHbAB+QDgC4LlUy5FheFoHAEiEIwA+UHETSFqOAHiPcATAc8mbQFr0OQLgA4QjAJ5ybFtu4nSaydVqAHyAcATAU47rpIbpcwTADwhHADwVs6OpYcsKelgJAMQRjgB4ynHd1DAtRwD8gHAEwFN25ZajQMjDSgAgjnAEwFO2E0sNcyk/AD8gHAHwlOtUOq1mcloNgPcIRwA8FXMqTqsFTDpkA/Ae4QiAp2zbTg3z4FkAfkA4AuCpmFMRjmg5AuAHhCMAnnKdiptA8vgQAH5AOALgKafS1WqmQTgC4D3CEQBPVb7PUcDiUn4A3qt34SgcDqtPnz4yDENFRUVVpq1atUqDBw9WZmam8vLyNGPGjCO+v2DBAvXo0UOZmZnq1auXXn311TqqHMDRVLlDNqfVAPhAvQtHt99+u9q3b3/E+LKyMg0bNkydOnXS8uXLNXPmTE2bNk1z585NzbNkyRKNGDFCY8eO1cqVKzV8+HANHz5cq1evrstVAFCJ48ZPq5mVQhIAeKlehaPXXntNr7/+uh566KEjps2bN0+RSER/+tOfdNZZZ+mqq67SLbfcoocffjg1z+zZs3XJJZdo0qRJOvPMM3Xvvffq3HPP1eOPP16XqwGgkuSl/Nz+EYBf1JtwtH37dv30pz/V//7v/yorK+uI6YWFhbrwwgsVClU8myk/P19r167Vnj17UvMMHTq0yvfy8/NVWFh4zN8Nh8MqKyur8gJQe5KPDyEcAfCLehGOXNfV6NGjdeONN6p///5HnaekpERt27atMi75uaSk5LjzJKcfzfTp05WdnZ165eXlncyqADhMss8R4QiAX3gajqZMmSLDMI77Ki4u1mOPPaZ9+/Zp6tSpdV7j1KlTVVpamnpt2bKlzmsAGrLkpfwmXY4A+ISn181OnDhRo0ePPu48Xbt21b///W8VFhYqIyOjyrT+/fvrmmuu0dNPP63c3Fxt3769yvTk59zc3NT70eZJTj+ajIyMI34XQO1xEn2OTJGOAPiDp+GodevWat269VfO99vf/la/+c1vUp+3bt2q/Px8zZ8/XwMGDJAkDRw4UHfccYei0aiCwfgjCAoKCtS9e3fl5OSk5lm0aJFuvfXW1LIKCgo0cODAWlwrACfCdulzBMBf6sUd1zp27Fjlc7NmzSRJ3bp1U4cOHSRJV199te655x6NHTtWkydP1urVqzV79mw98sgjqe+NHz9eQ4YM0axZs3TppZfqmWee0bJly6pc7g+gbrkOfY4A+Eu96JBdHdnZ2Xr99de1ceNG9evXTxMnTtRdd92lG264ITXPoEGD9Ne//lVz587VOeeco+eee04vvviizj77bA8rBxo326XPEQB/qRctR4fr3Lmz3KPcMK5379566623jvvdK664QldccUW6SgNwguzEg2dpOQLgFw2m5QhA/eRynyMAPkM4AuAp2+EO2QD8hXAEwFOumzitRp8jAD5BOALgqWSfI3ZGAPyC/REATzn0OQLgM4QjAJ5yXK5WA+AvhCMAnkr2OQIAvyAcAfCU4yaerUaHbAA+QTgC4KnkpfwmJ9YA+AThCICn3EQ4AgC/IBwB8FTyUUC0GwHwC8IRAE/ZyT5HHtcBAEnsjwB4ynG4Wg2AvxCOAHiKx4cA8BvCEQBPpS7lp9cRAJ8gHAHwFHfIBuA3hCMAnnJdLuUH4C+EIwCeSl7Kz84IgF+wPwLgqWSfI8PlxBoAfyAcAfBUMhzR6QiAXxCOAHgqcVaNS/kB+AbhCICnkvc54lJ+AH5BOALgqVSfI4/rAIAkwhEATzlcyg/AZwhHADzlOsmbQNJ2BMAfCEcAPMUdsgH4DeEIgKcc0SEbgL8QjgB4KnmHbKIRAL8gHAHwlOskO2QTjwD4A+EIgKeSp9WIRgD8gnAEwFPJm0DybDUAfkE4AuCpiqvVCEcA/IFwBMBTLpfyA/AZwhEAT6VajgziEQB/IBwB8JSrxKX8rseFAEAC4QiAp1z6HAHwGcIRAE8RjgD4DeEIgKdcEY4A+AvhCICnnERfIzpkA/ALwhEAT3EpPwC/IRwB8BSn1QD4DeEIgKfokA3AbwhHADxFyxEAvyEcAfCUm+yQTTgC4BOEIwCeckSHbAD+QjgC4Ck30XRksDsC4BPsjQB4KtUhm6YjAD5BOALgqeSDZ+WSjgD4A+EIgKeS4cik6QiATxCOAHiKS/kB+A3hCICn6JANwG/YGwHwFJfyA/AbwhEAbyVbjgx2RwD8gb0RAE8lO2TT5wiAXxCOAHiqos8R4QiAPxCOAHgqdbUal/ID8AnCEQBPOZxWA+Az9SYcde7cWYZhVHk98MADVeZZtWqVBg8erMzMTOXl5WnGjBlHLGfBggXq0aOHMjMz1atXL7366qt1tQoAjoNwBMAv6k04kqRf//rX2rZtW+p18803p6aVlZVp2LBh6tSpk5YvX66ZM2dq2rRpmjt3bmqeJUuWaMSIERo7dqxWrlyp4cOHa/jw4Vq9erUXqwNAlZ+tVq92RwAasIDXBZyI5s2bKzc396jT5s2bp0gkoj/96U8KhUI666yzVFRUpIcfflg33HCDJGn27Nm65JJLNGnSJEnSvffeq4KCAj3++OOaM2fOUZcbDocVDodTn8vKymp5rYDGLfX4EFqOAPhEvfqn2gMPPKBTTz1Vffv21cyZMxWLxVLTCgsLdeGFFyoUCqXG5efna+3atdqzZ09qnqFDh1ZZZn5+vgoLC4/5m9OnT1d2dnbqlZeXV8trBTRuqQfP0nIEwCfqTcvRLbfconPPPVennHKKlixZoqlTp2rbtm16+OGHJUklJSXq0qVLle+0bds2NS0nJ0clJSWpcZXnKSkpOebvTp06VRMmTEh9LisrIyABtahP7hBl7lyqczpc6HUpACDJ43A0ZcoUPfjgg8ed5+OPP1aPHj2qBJTevXsrFApp3Lhxmj59ujIyMtJWY0ZGRlqXDzR213/vbq9LAIAqPA1HEydO1OjRo487T9euXY86fsCAAYrFYtq0aZO6d++u3Nxcbd++vco8yc/JfkrHmudY/ZgAAEDj42k4at26tVq3bl2j7xYVFck0TbVp00aSNHDgQN1xxx2KRqMKBoOSpIKCAnXv3l05OTmpeRYtWqRbb701tZyCggINHDjw5FYEAAA0GPWiB2RhYaEeffRRffDBB9qwYYPmzZun2267Tddee20q+Fx99dUKhUIaO3as1qxZo/nz52v27NlVTseNHz9eCxcu1KxZs1RcXKxp06Zp2bJl+vnPf+7VqgEAAJ8x3OSDjXxsxYoV+u///m8VFxcrHA6rS5cuuu666zRhwoQq/YFWrVqlm266SUuXLlWrVq108803a/LkyVWWtWDBAt15553atGmTTj/9dM2YMUPf+c53ql1LWVmZsrOzVVpaqhYtWtTaOgIAgPQ5keN3vQhHfkI4AgCg/jmR43e9OK0GAABQVwhHAAAAlRCOAAAAKiEcAQAAVEI4AgAAqIRwBAAAUAnhCAAAoBLCEQAAQCWePlutPkreM7OsrMzjSgAAQHUlj9vVufc14egE7du3T5KUl5fncSUAAOBE7du3T9nZ2cedh8eHnCDHcbR161Y1b95chmEcd96ysjLl5eVpy5YtPGqkFrFd04Ptmj5s2/Rgu6ZHQ92urutq3759at++vUzz+L2KaDk6QaZpqkOHDif0nRYtWjSoPzC/YLumB9s1fdi26cF2TY+GuF2/qsUoiQ7ZAAAAlRCOAAAAKiEcpVFGRobuvvtuZWRkeF1Kg8J2TQ+2a/qwbdOD7ZoebFc6ZAMAAFRByxEAAEAlhCMAAIBKCEcAAACVEI4AAAAqIRwBAABUQjg6Qb/73e/UuXNnZWZmasCAAXr//fePOe+aNWv0ox/9SJ07d5ZhGHr00UePu+wHHnhAhmHo1ltvrd2i64F0bNcvvvhC1157rU499VQ1adJEvXr10rJly9K0Bv5U29vVtm396le/UpcuXdSkSRN169ZN9957b7Ue5NiQnMh2/cMf/qDBgwcrJydHOTk5Gjp06BHzu66ru+66S+3atVOTJk00dOhQrV+/Pt2r4Tu1uV2j0agmT56sXr16qWnTpmrfvr1GjhyprVu31sWq+Ept/71WduONN1br+FbfEI5OwPz58zVhwgTdfffdWrFihc455xzl5+drx44dR53/4MGD6tq1qx544AHl5uYed9lLly7Vk08+qd69e6ejdF9Lx3bds2ePzj//fAWDQb322mv66KOPNGvWLOXk5KRzVXwlHdv1wQcf1BNPPKHHH39cH3/8sR588EHNmDFDjz32WDpXxVdOdLu+8cYbGjFihBYvXqzCwkLl5eVp2LBh+uKLL1LzzJgxQ7/97W81Z84cvffee2ratKny8/NVXl5eV6vludrergcPHtSKFSv0q1/9SitWrNALL7ygtWvX6rLLLqvL1fJcOv5ek/7f//t/evfdd9W+fft0r0bdc1Ft5513nnvTTTelPtu27bZv396dPn36V363U6dO7iOPPHLUafv27XNPP/10t6CgwB0yZIg7fvz4Wqq4fkjHdp08ebJ7wQUX1GaZ9U46tuull17qXn/99VXG/fCHP3Svueaak663vjiZ7eq6rhuLxdzmzZu7Tz/9tOu6rus4jpubm+vOnDkzNc/evXvdjIwM929/+1vtFu9jtb1dj+b99993JbmfffbZSddbX6Rru37++efuaaed5q5evfq4x7f6ipajaopEIlq+fLmGDh2aGmeapoYOHarCwsKTWvZNN92kSy+9tMqyG4t0bdeXXnpJ/fv31xVXXKE2bdqob9+++sMf/lAbJdcL6dqugwYN0qJFi7Ru3TpJ0gcffKC3335b3/72t0+65vqgNrbrwYMHFY1Gdcopp0iSNm7cqJKSkirLzM7O1oABA05631JfpGO7Hk1paakMw1DLli1PtuR6IV3b1XEcXXfddZo0aZLOOuusWq/bDwJeF1Bf7Nq1S7Ztq23btlXGt23bVsXFxTVe7jPPPKMVK1Zo6dKlJ1tivZSu7bphwwY98cQTmjBhgn75y19q6dKluuWWWxQKhTRq1KiTLdv30rVdp0yZorKyMvXo0UOWZcm2bd1333265pprTrbkeqE2tuvkyZPVvn371AGrpKQktYzDl5mc1tClY7serry8XJMnT9aIESMa3JPmjyVd2/XBBx9UIBDQLbfcUqv1+gnhyENbtmzR+PHjVVBQoMzMTK/LaVAcx1H//v11//33S5L69u2r1atXa86cOY0iHKXLs88+q3nz5umvf/2rzjrrLBUVFenWW29V+/bt2a7V8MADD+iZZ57RG2+8wf/na9FXbddoNKof//jHcl1XTzzxhAcV1k9H267Lly/X7NmztWLFChmG4XGF6cNptWpq1aqVLMvS9u3bq4zfvn37V3a2Ppbly5drx44dOvfccxUIBBQIBPTmm2/qt7/9rQKBgGzbro3SfS0d21WS2rVrp549e1YZd+aZZ2rz5s01XmZ9kq7tOmnSJE2ZMkVXXXWVevXqpeuuu0633Xabpk+ffrIl1wsns10feughPfDAA3r99derXHiR/F5t/7eqT9KxXZOSweizzz5TQUFBo2k1ktKzXd966y3t2LFDHTt2TB23PvvsM02cOFGdO3dOx2p4gnBUTaFQSP369dOiRYtS4xzH0aJFizRw4MAaLfPiiy/Whx9+qKKiotSrf//+uuaaa1RUVCTLsmqrfN9Kx3aVpPPPP19r166tMm7dunXq1KlTjZdZn6Rrux48eFCmWXW3YVmWHMep8TLrk5pu1xkzZujee+/VwoUL1b9//yrTunTpotzc3CrLLCsr03vvvXdS/63qk3RsV6kiGK1fv17/+te/dOqpp6alfr9Kx3a97rrrtGrVqirHrfbt22vSpEn65z//mbZ1qXNe9wivT5555hk3IyPDfeqpp9yPPvrIveGGG9yWLVu6JSUlruu67nXXXedOmTIlNX84HHZXrlzprly50m3Xrp37i1/8wl25cqW7fv36Y/5GY7xaLR3b9f3333cDgYB73333uevXr3fnzZvnZmVluf/3f/9X5+vnlXRs11GjRrmnnXaa+/LLL7sbN250X3jhBbdVq1bu7bffXufr55UT3a4PPPCAGwqF3Oeee87dtm1b6rVv374q87Rs2dL9+9//7q5atcr9/ve/73bp0sU9dOhQna+fV2p7u0YiEfeyyy5zO3To4BYVFVWZJxwOe7KOXkjH3+vhGuLVaoSjE/TYY4+5HTt2dEOhkHveeee57777bmrakCFD3FGjRqU+b9y40ZV0xGvIkCHHXH5jDEeum57t+o9//MM9++yz3YyMDLdHjx7u3Llz62ht/KO2t2tZWZk7fvx4t2PHjm5mZqbbtWtX94477mhUBxvXPbHt2qlTp6Nu17vvvjs1j+M47q9+9Su3bdu2bkZGhnvxxRe7a9eurcM18ofa3K7H+nuW5C5evLhuV8xjtf33eriGGI4M121kt7YFAAA4DvocAQAAVEI4AgAAqIRwBAAAUAnhCAAAoBLCEQAAQCWEIwAAgEoIRwAAAJUQjgAAACohHAEAAFRCOAIAAKiEcAQAAFDJ/wf/jGk532F+dAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import numpy as np\n", + "import xarray as xr\n", + "\n", + "# Read the CSV file\n", + "csv_path = \"/home/sarah/temp/ecoextreml/test/output/ZA-Kru_2023-09-06-1228_before/Sim_Theta.csv\"\n", + "\n", + "# Read the CSV file\n", + "df = pd.read_csv(csv_path, header=None)\n", + "\n", + "# Get the first row as depths\n", + "depths = df.iloc[0].values\n", + "\n", + "# Get the rest of the data as soil_temperature\n", + "soil_sm = df.iloc[3:].values\n", + "soil_sm = soil_sm.astype(float)\n", + "\n", + "# Create a time index\n", + "time = np.arange(1, len(df)-2)\n", + "\n", + "# Create the xarray DataArray\n", + "da_s = xr.DataArray(\n", + " data=soil_sm,\n", + " dims=(\"time\", \"depth\"),\n", + " coords={\"time\": time, \"depth\": depths},\n", + ")\n", + "da_s['depth'] = da_s['depth'].astype(float) * -1\n", + "\n", + "da_s.isel(time=0).plot(y=\"depth\")\n", + "da_s.isel(time=1).plot(y=\"depth\")\n", + "da_s.isel(time=2).plot(y=\"depth\")" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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NpsNNputUzVQ/yVJYDAiIhogTA1HGRkZyMjIiMqxCgsL8ctf/hIVFRXIzMwEABQXFyMpKQnjxo3T27z77rsRrysuLkZhYWFUaiAiIqLYZzG7gM46dOgQtm7dikOHDiEQCGDr1q3YunUrGhoaAAAzZszAuHHjcPPNN+Orr77C+++/jyVLluCuu+7Se37uuOMO7N+/Hz/96U9RVlaG3/3ud3jttdfwwAMPmPnRiIiIqA+JmQnZjzzyCP785z/r6xMnTgQAfPTRR7j00kshyzL++c9/4s4770RhYSHi4+Nxyy234Oc//7n+muHDh+Odd97BAw88gJUrVyInJwd//OMfeRo/ERER6SQhRPvnJ1MEp9OJ5ORk1NXVISkpyexyqAcdPLgB39lwNxICGuoOrsCOn19pdklERNRNXfn9jplhNSIiIqLewHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGQQE+Ho4MGDmDdvHoYPH464uDiMHDkSjz76KLxeb0S7bdu2YcqUKbDb7cjNzcWTTz7Z4lhr1qzBmDFjYLfbMX78eLz77ru99TGIiIgoBsREOCorK4Omafj973+P0tJSPPPMM1i1ahV+9rOf6W2cTidmzJiBYcOGYfPmzVi+fDmWLl2KF154QW+zceNG3HTTTZg3bx62bNmCmTNnYubMmdi+fbsZH4uIiIj6IEkIIcwuojuWL1+O559/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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import numpy as np\n", + "import xarray as xr\n", + "\n", + "# Read the CSV file\n", + "csv_path = \"/path_to/output/ZA-Kru_2023-09-06-1228/Sim_Temp.csv\"\n", + "\n", + "# Read the CSV file\n", + "df = pd.read_csv(csv_path, header=None)\n", + "\n", + "# Get the first row as depths\n", + "depths = df.iloc[0].values.astype(float) * -1\n", + "\n", + "# Get the rest of the data as soil_temperature\n", + "soil_temperature = df.iloc[3:].values.astype(float)\n", + "\n", + "# Create a time index\n", + "time = np.arange(1, len(df)-2)\n", + "\n", + "# Create the xarray DataArray\n", + "da_t = xr.DataArray(\n", + " data=soil_temperature,\n", + " dims=(\"time\", \"depth\"),\n", + " coords={\"time\": time, \"depth\": depths},\n", + ")\n", + "\n", + "da_t.isel(time=0).plot(y=\"depth\")\n", + "da_t.isel(time=1).plot(y=\"depth\")\n", + "da_t.isel(time=2).plot(y=\"depth\")" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([23.8289, 24.5803, 25.3318, 26.0832, 26.7287, 27.3742, 28.0197,\n", + " 28.6652, 29.3107, 29.1801, 29.0495, 28.919 , 28.7884, 28.6578,\n", + " 28.5272, 28.3966, 28.2661, 28.1355, 28.0049, 27.8743, 27.7437,\n", + " 27.6131, 27.4826, 26.3672, 25.2519, 24.1365, 23.0211, 23.0211,\n", + " 23.0211, 23.0211, 23.0211, 23.0211, 23.0211, 23.0211, 23.0211,\n", + " 23.0211, 23.0211, 22.9336, 22.846 , 22.7584, 22.6708, 22.5832,\n", + " 22.4957, 22.4081, 22.3205, 22.2329, 22.1453, 22.0578, 21.9702,\n", + " 21.8826, 21.795 , 21.7074, 21.6199, 21.5323])" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "da_t.isel(time=0).values" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 16, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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6t+//0E3CgAAIFPaFY7mzZuna6+9VqtWrUqVrVq1Stdff73uu+++DmscAABAZ2vXbbVJkyapvr5eo0aNSr0IMhqNyu1264orrtAVV1yRqrtr166OaSkAAEAnaFc4evDBBzu4GQAAAF3DQb3nCAAA4HDTrmeOJGnjxo269dZbdfHFF2vbtm2SpL/85S9at25dhzUOAACgs7UrHP3973/X8OHD9eabb+r5559XbW2tJOntt99O/cQIAABAd9SucDRjxgzdddddWr58ubxeb6r861//ut54440OaxwAAEBna1c4evfdd3Xeeec1K+/Tp4927Nhx0I0CAADIlHaFo/z8fG3ZsqVZ+Zo1a3TUUUcddKMAAAAypV3h6KKLLtLNN9+sqqoqWZaleDyu119/XTfddJMuu+yyjm4jAABAp2lXOLr77rs1bNgwFRcXq7a2Vscff7zGjBmj0aNH69Zbb+3oNgIAAHSadr3nyOv16vHHH9fs2bP17rvvqra2VqeccoqOPfbYjm4fAABAp2p1OJo6deoB1zu/pXb//fe3v0UAAAAZ1OpwtGbNmrTlf//734pGoxo6dKgk6T//+Y9cLpdGjhzZsS0EAADoRK0OR6+88krq8/3336/c3Fw99dRTKigokCTt3r1bkydP1pgxYzq+lQAAAJ2kXQ9kz58/X3Pnzk0FI0kqKCjQXXfdpfnz53dY4wAAADpbu8JRMBjU9u3bm5Vv375dNTU1B90oAACATGlXODrvvPM0efJkPf/88/rss8/02Wef6bnnnlNZWZnOP//8jm4jAABAp2nXV/kXLlyom266SZdccokikUhiR263ysrKNG/evA5tIAAAQGdqVzjKzs7WI488onnz5mnjxo2SpGOOOUY5OTkd2jgAAIDO1q5wlJSTk6OTTjqpo9oCAACQce165ggAAOBwRTgCAABwIBwBAAA4EI4AAAAcCEcAAAAOhCMAAAAHwhEAAIBDtwlH5557ro4++mj5/X7169dPl156qTZv3pxW55133tGYMWPk9/tVXFyse++9t9l+lixZomHDhsnv92v48OF66aWXOusUAABAN9BtwtGZZ56pZ599VuvXr9dzzz2njRs36oILLkitDwaDGj9+vAYOHKjVq1dr3rx5mjNnjhYtWpSqs3LlSl188cUqKyvTmjVrNGHCBE2YMEHvvfdeJk4JAAB0QZYx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YDCoN998s0P/eWTaoei7lnz22WfauXPnYXPdddS/r/F4XKFQSBLX3MH0XUsOt2tOanvfDRs2TO+++67Wrl2bms4991ydeeaZWrt2rYqLi3vMddcumX4iHAlPP/208fl85sknnzTvv/++ueqqq0x+fr6pqqoyxhhz6aWXmhkzZqTqh0Ihs2bNGrNmzRrTr18/c9NNN5k1a9aYDz/8MFVn2rRp5tVXXzWVlZXm9ddfN+PGjTO9e/c227Zt6/TzO5Ta2nf33HOP8Xq95ve//33aV39ramrS6uTn55s//OEP5p133jHf+c53Dsuvt3Z039XU1JibbrrJlJeXm8rKSvPyyy+bU0891Rx77LGmsbExI+d4KLS13+6++26zbNkys3HjRvP++++b++67z7jdbvP444+n6nDNta/veso1Z0zb+25fLX2rr6dcd21FOOpCHnroIXP00Ucbr9drvvKVr5g33ngjte700083l19+eWq5srLSSGo2nX766ak6EydONP369TNer9ccddRRZuLEiWbDhg2deEadpy19N3DgwBb77rbbbkvVicfj5n//939N3759jc/nM2eddZZZv359J55R5+nIvquvrzfjx483hYWFxuPxmIEDB5orr7wy9R/vw0lb+m3WrFnmS1/6kvH7/aagoMCUlJSYp59+Om1/XHMJbe27nnTNGdO2vttXS+GoJ113bWEZY0wGBqwAAAC6JJ45AgAAcCAcAQAAOBCOAAAAHAhHAAAADoQjAAAAB8IRAACAA+EIAADAgXAEAADgQDgCAABwIBwBAAA4EI4AAAAc/j8km3aDJ29MnAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import numpy as np\n", + "import xarray as xr\n", + "\n", + "# Read the CSV file\n", + "csv_path = \"/path_to/output/ZA-Kru_2023-09-06-1228_main/Sim_Theta.csv\"\n", + "\n", + "# Read the CSV file\n", + "df = pd.read_csv(csv_path, header=None)\n", + "\n", + "# Get the first row as depths\n", + "depths = df.iloc[0].values\n", + "\n", + "# Get the rest of the data as soil_temperature\n", + "soil_sm = df.iloc[3:].values\n", + "soil_sm = soil_sm.astype(float)\n", + "\n", + "# Create a time index\n", + "time = np.arange(1, len(df)-2)\n", + "\n", + "# Create the xarray DataArray\n", + "da_s = xr.DataArray(\n", + " data=soil_sm,\n", + " dims=(\"time\", \"depth\"),\n", + " coords={\"time\": time, \"depth\": depths},\n", + ")\n", + "da_s['depth'] = da_s['depth'].astype(float) * -1\n", + "\n", + "da_s.isel(time=0).plot(y=\"depth\")\n", + "da_s.isel(time=1).plot(y=\"depth\")\n", + "da_s.isel(time=2).plot(y=\"depth\")" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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6dOnY8KECbjuuuvw2Wef4X//93/xwAMP4JZbbonV/Nx8883YsWMHfvjDH2LTpk345S9/iVdffRV33XVXKj8aERER9SNp0yH7wQcfxIsvvhjbPuOMMwAA77//Pi688EIoioK//OUv+P73v4/y8nL4/X7ccMMN+NGPfhS7ZtSoUfjrX/+Ku+66C0uXLsXw4cPxm9/8ho/xExERUUzahKMXXnihwzGOokaOHNmm2ay1Cy+8EGvXrk1iyYiIiGggSZtmNSIiIqK+wHBEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKkxbhaNeuXZg7dy5GjRqFjIwMjBkzBg899BBM00w47/PPP8e0adPg9XpRWlqKxx57rM17LVu2DOPHj4fX68XEiRPx9ttv99XHICIiojSQFuFo06ZNcF0X//Vf/4UNGzbgqaeewrPPPov77rsvdk4gEMD06dMxcuRIrFmzBkuWLMGiRYvw3HPPxc5ZtWoVrrnmGsydOxdr167FrFmzMGvWLKxfvz4VH4uIiIj6ITXVBeiKmTNnYubMmbHt0aNHY/PmzfjVr36Fxx9/HADw0ksvwTRNPP/889B1HaeccgrWrVuHJ598EjfddBMAYOnSpZg5cybuvvtuAMAjjzyCiooKPPPMM3j22Wfb/dmGYcAwjNh2IBDorY9JRERE/UBa1By1p76+Hvn5+bHtyspKnH/+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xD3CL0lSiktDREQDEcMRpZUPolOGsEmNiIh6CcMRpY3DgRA2VTVAkoDzxjIcERFR72A4orQRrTU6ZWg28v16iktDREQDFcMRpY1of6OvjOWUIURE1HsYjigtCCFiNUfns78RERH1IoYjSgtbDjXicIMBryZjclleqotDREQDGMMRpYWVW8NThpwzqgAeVUlxaYiIaCBjOKK0sDI6vhGfUiMiol7GcET9nmE7+HjnUQAc34iIiHofwxH1e2t21yJkuSjM9GB8SVaqi0NERAMcwxH1ey1ThhRyyhAiIup1DEfU762MjW/EJjUiIup9DEfUr9U2mVh/oB4A+xsREVHfYDiifu3D7dUQAhhXnIXibG+qi0NERIMAwxH1a7EpQ1hrREREfYThiPotIURLfyOGIyIi6iMMR9Rv7axuwv66ZuiKjCmj8lNdHCIiGiQYjqjfik40O3lkHny6muLSEBHRYMFwRP3W/21hkxoREfU9hiPqlyzHxUc7wlOGTGM4IiKiPsRwRP3SZ3vr0GjYyPNpOGVoTqqLQ0REg0jahSPDMHD66adDkiSsW7cu4djnn3+OadOmwev1orS0FI899lib65ctW4bx48fD6/Vi4sSJePvtt/uo5NQd0afUpo4thCJzyhAiIuo7aReOfvjDH2Lo0KFt9gcCAUyfPh0jR47EmjVrsGTJEixatAjPPfdc7JxVq1bhmmuuwdy5c7F27VrMmjULs2bNwvr16/vyI1AXrNx6BAAwjVOGEBFRH0urcPS3v/0N7777Lh5//PE2x1566SWYponnn38ep5xyCq6++mrcfvvtePLJJ2PnLF26FDNnzsTdd9+Nk08+GY888gjOPPNMPPPMM335MegYAiELn+3jlCFERJQaaROODh06hBtvvBG///3v4fP52hyvrKzE+eefD13XY/tmzJiBzZs3o7a2NnbOJZdcknDdjBkzUFlZ2eHPNQwDgUAgYaHeVbn9KBxXYHShH8Pz2v63JiIi6k1pEY6EEJg9ezZuvvlmnHXWWe2eU1VVheLi4oR90e2qqqpOz4keb8/ixYuRk5MTW0pLS4/no1AXRJvUWGtERESpkNJwtHDhQkiS1OmyadMm/PznP0dDQwPuvffePi/jvffei/r6+tiyd+/ePi/DYBObT439jYiIKAVSOuzwggULMHv27E7PGT16NN577z1UVlbC4/EkHDvrrLPwne98By+++CJKSkpw6NChhOPR7ZKSkti6vXOix9vj8Xja/FzqPXtrgth1NAhFllA+piDVxSEiokEopeGoqKgIRUVFxzzvP//zP/HjH/84tn3gwAHMmDEDr7zyCqZMmQIAKC8vx/333w/LsqBpGgCgoqIC48aNQ15eXuyc5cuX484774y9V0VFBcrLy5P4qeh4RKcMOaM0F1leLcWlISKiwSgtJqwaMWJEwnZmZiYAYMyYMRg+fDgA4Nprr8XDDz+MuXPn4p577sH69euxdOlSPPXUU7Hr7rjjDlxwwQV44okncNlll+GPf/wjVq9enfC4P6VW7BH+E48dmomIiHpDWnTI7oqcnBy8++672LlzJyZPnowFCxbgwQcfxE033RQ7Z+rUqXj55Zfx3HPP4bTTTsOf/vQnvPnmmzj11FNTWHKKclyBD7eFpwxhZ2wiIkqVtKg5aq2srAxCiDb7J02ahJUrV3Z67VVXXYWrrrqqt4pGx2H9/nrUN1vI8qo4bTinDCEiotQYMDVHlP6iTWpTxxRAVfirSUREqcFvIOo3ovOpfYX9jYiIKIUYjqhfaDJsfLonPJI551MjIqJUYjiifuGTnTWwHIHS/AyMLOCUIURElDoMR9Qv/F90ypCxRZAkKcWlISKiwYzhiPqF6JQh0/gIPxERpRjDEaVcVX0IWw83QpLCT6oRERGlEsMRpVz0Ef5Jw3OR69NTXBoiIhrsGI4o5aLzqfEpNSIi6g8YjiilXFfgw23R8Y0YjoiIKPUYjiilNlU1oLrRhE9XcOaIvFQXh4iIiOGIUiva3+jc0QXQVf46EhFR6vHbiFIq2t/oK+xvRERE/QTDEaVMyHLwyc4aAMD5JzEcERFR/8BwRCmzelctDNtFSbYXY4oyU10cIiIiAAxHlELR/kZfObGQU4YQEVG/wXBEKbOSU4YQEVE/xHBEKVHdaODLgwEAwHnsjE1ERP0IwxGlRHTgxwknZKMw05Pi0hAREbVgOKKUYJMaERH1VwxH1OeEEPggFo6KUlwaIiKiRAxH1Oe2H2lEVSAEjyrjrDJOGUJERP0LwxH1uf/bEq41OmdUPryakuLSEBERJWI4oj7HKUOIiKg/YziiPmXaLj7acRQA+xsREVH/xHBEferTPbUImg4KM3WML8lKdXGIiIjaYDiiPhV9Su28sYWQZU4ZQkRE/Q/DEfWpldv4CD8REfVvDEfUZ+qCJj7fVweAnbGJiKj/YjiiPrNq+1EIAZw4JBMlOd5UF4eIiKhdDEfUZ6JThnyFU4YQEVE/xnBEfUIIgZVbjwAAzmd/IyIi6scYjqhP7D4axL7aZmiKhCmj81NdHCIiog4xHFGfiNYanTkiDz5dTXFpiIiIOsZwRH0i2t9oGvsbERFRP8dwRL3OdlxUbueUIURElB4YjqjXfbavHg2GjZwMDacOy0l1cYiIiDrFcES9rmXKkAIonDKEiIj6OYYj6nXRzthfGcsmNSIi6v8YjqhXNYQsrN1bB4CdsYmIKD0wHFGv+mhHDRxXoKzAh9J8X6qLQ0REdEwMR9SrPog2qbHWiIiI0gTDEfWq2Hxq7G9ERERpguGIes3+umbsqG6CLAHlYwpSXRwiIqIuYTiiXhNtUju9NBc5GVqKS0NERNQ1DEfUa2JNahwVm4iI0gjDEfUK1xVYFZsyhJ2xiYgofTAcUa/YcCCAmiYTfl3B6aW5qS4OERFRlzEcUa9YuS3c36h8TCE0hb9mRESUPvitRb0iOp8am9SIiCjdMBxR0jWbDlbvqgXAwR+JiCj9MBxR0n288yhMx8Ww3AyMLvSnujhERETdwnBESfdBbFTsQkiSlOLSEBERdQ/DESXdB9ui4xuxSY2IiNIPwxEl1eFACJuqGiBJwHljGY6IiCj9MBxRUkVrjU4dmoN8v57i0hAREXUfwxElVay/EZvUiIgoTaVNOCorK4MkSQnLT3/604RzPv/8c0ybNg1erxelpaV47LHH2rzPsmXLMH78eHi9XkycOBFvv/12X32EAU8IgZWRmqNpbFIjIqI0lTbhCAB+9KMf4eDBg7Hltttuix0LBAKYPn06Ro4ciTVr1mDJkiVYtGgRnnvuudg5q1atwjXXXIO5c+di7dq1mDVrFmbNmoX169en4uMMOJsPNeBIgwGvJmNyWV6qi0NERNQjaqoL0B1ZWVkoKSlp99hLL70E0zTx/PPPQ9d1nHLKKVi3bh2efPJJ3HTTTQCApUuXYubMmbj77rsBAI888ggqKirwzDPP4Nlnn233fQ3DgGEYse1AIJDkTzVwRJvUpowqgEdVUlwaIiKinkmrmqOf/vSnKCgowBlnnIElS5bAtu3YscrKSpx//vnQ9ZZOwDNmzMDmzZtRW1sbO+eSSy5JeM8ZM2agsrKyw5+5ePFi5OTkxJbS0tIkf6qB4/84ZQgREQ0AaVNzdPvtt+PMM89Efn4+Vq1ahXvvvRcHDx7Ek08+CQCoqqrCqFGjEq4pLi6OHcvLy0NVVVVsX/w5VVVVHf7ce++9F/Pnz49tBwIBBqQO3FA+EqV5Gbhw3JBUF4WIUmTI2LHIWfk+FL8D4MpUF4eoR1IajhYuXIif/exnnZ6zceNGjB8/PiGgTJo0CbquY968eVi8eDE8Hk+vldHj8fTq+w8kF59cjItPLj72iUQ0YI2acgFGTbkg1cUgOi4pDUcLFizA7NmzOz1n9OjR7e6fMmUKbNvGrl27MG7cOJSUlODQoUMJ50S3o/2UOjqno35MRERENPikNBwVFRWhqKioR9euW7cOsixjyJBwE055eTnuv/9+WJYFTdMAABUVFRg3bhzy8vJi5yxfvhx33nln7H0qKipQXl5+fB+EiIiIBoy06JBdWVmJp59+Gp999hl27NiBl156CXfddRe++93vxoLPtddeC13XMXfuXGzYsAGvvPIKli5dmtAcd8cdd+Cdd97BE088gU2bNmHRokVYvXo1br311lR9NCIiIupnJCGESHUhjuXTTz/FD37wA2zatAmGYWDUqFG47rrrMH/+/IT+QJ9//jluueUW/POf/0RhYSFuu+023HPPPQnvtWzZMjzwwAPYtWsXTjzxRDz22GP4+te/3uWyBAIB5OTkoL6+HtnZ2Un7jERERNR7uvP9nRbhqD9hOCIiIko/3fn+TotmNSIiIqK+wnBEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVJ6dxq6Sg6ZmYgEEhxSYiIiKirot/bXRn7muGomxoaGgAApaWlKS4JERERdVdDQwNycnI6PYfTh3ST67o4cOAAsrKyIElSm+OBQAClpaXYu3cvpxc5TryXycN7mTy8l8nF+5k8vJedE0KgoaEBQ4cOhSx33quINUfdJMsyhg8ffszzsrOz+cuZJLyXycN7mTy8l8nF+5k8vJcdO1aNURQ7ZBMRERHFYTgiIiIiisNwlGQejwcPPfQQPB5PqouS9ngvk4f3Mnl4L5OL9zN5eC+Thx2yiYiIiOKw5oiIiIgoDsMRERERURyGIyIiIqI4DEdEREREcRiOiIiIiOIwHPXA4sWLcfbZZyMrKwtDhgzBrFmzsHnz5oRzQqEQbrnlFhQUFCAzMxNXXnklDh06lKIS91/Hupc1NTW47bbbMG7cOGRkZGDEiBG4/fbbUV9fn8JS909d+b2MEkLga1/7GiRJwptvvtm3BU0DXb2XlZWV+OpXvwq/34/s7Gycf/75aG5uTkGJ+7eu3M+qqipcd911KCkpgd/vx5lnnonXXnstRSXuv371q19h0qRJsVGwy8vL8be//S12nN89ycFw1AMrVqzALbfcgo8++ggVFRWwLAvTp09HU1NT7Jy77roLf/7zn7Fs2TKsWLECBw4cwBVXXJHCUvdPx7qXBw4cwIEDB/D4449j/fr1eOGFF/DOO+9g7ty5KS55/9OV38uop59+ut25ASmsK/eysrISM2fOxPTp0/HJJ5/gn//8J2699dZjztk0GHXlfl5//fXYvHkz3nrrLXzxxRe44oor8K1vfQtr165NYcn7n+HDh+OnP/0p1qxZg9WrV+OrX/0qvvnNb2LDhg0A+N2TNIKO2+HDhwUAsWLFCiGEEHV1dULTNLFs2bLYORs3bhQARGVlZaqKmRZa38v2vPrqq0LXdWFZVh+WLP10dC/Xrl0rhg0bJg4ePCgAiDfeeCM1BUwj7d3LKVOmiAceeCCFpUpf7d1Pv98vfve73yWcl5+fL37961/3dfHSTl5envjNb37D754k4j9xkiDaxJOfnw8AWLNmDSzLwiWXXBI7Z/z48RgxYgQqKytTUsZ00fpednROdnY2VJXzJnemvXsZDAZx7bXX4he/+AVKSkpSVbS00/peHj58GB9//DGGDBmCqVOnori4GBdccAE++OCDVBYzbbT3uzl16lS88sorqKmpgeu6+OMf/4hQKIQLL7wwRaXs/xzHwR//+Ec0NTWhvLyc3z1JxHB0nFzXxZ133onzzjsPp556KoBw27mu68jNzU04t7i4GFVVVSkoZXpo7162Vl1djUceeQQ33XRTH5cuvXR0L++66y5MnToV3/zmN1NYuvTS3r3csWMHAGDRokW48cYb8c477+DMM8/ExRdfjK1bt6ayuP1eR7+br776KizLQkFBATweD+bNm4c33ngDY8eOTWFp+6cvvvgCmZmZ8Hg8uPnmm/HGG29gwoQJ/O5JIv7T+zjdcsstWL9+Pf/FmATHupeBQACXXXYZJkyYgEWLFvVt4dJMe/fyrbfewnvvvcc+HN3U3r10XRcAMG/ePMyZMwcAcMYZZ2D58uV4/vnnsXjx4pSUNR109P/5//t//w91dXX4+9//jsLCQrz55pv41re+hZUrV2LixIkpKm3/NG7cOKxbtw719fX405/+hBtuuAErVqxIdbEGllS366WzW265RQwfPlzs2LEjYf/y5csFAFFbW5uwf8SIEeLJJ5/swxKmj47uZVQgEBDl5eXi4osvFs3NzX1cuvTS0b284447hCRJQlGU2AJAyLIsLrjggtQUtp/r6F7u2LFDABC///3vE/Z/61vfEtdee21fFjGtdHQ/t23bJgCI9evXJ+y/+OKLxbx58/qyiGnp4osvFjfddBO/e5KIzWo9IITArbfeijfeeAPvvfceRo0alXB88uTJ0DQNy5cvj+3bvHkz9uzZg/Ly8r4ubr92rHsJhGuMpk+fDl3X8dZbb8Hr9aagpP3fse7lwoUL8fnnn2PdunWxBQCeeuop/Pa3v01BifuvY93LsrIyDB06tM3j6Fu2bMHIkSP7sqhp4Vj3MxgMAkCbJ/0URYnV0lHHXNeFYRj87kmmlEazNPX9739f5OTkiH/84x/i4MGDsSUYDMbOufnmm8WIESPEe++9J1avXi3Ky8tFeXl5CkvdPx3rXtbX14spU6aIiRMnim3btiWcY9t2ikvfv3Tl97I18Gm1dnXlXj711FMiOztbLFu2TGzdulU88MADwuv1im3btqWw5P3Tse6naZpi7NixYtq0aeLjjz8W27ZtE48//riQJEn89a9/TXHp+5eFCxeKFStWiJ07d4rPP/9cLFy4UEiSJN59910hBL97koXhqAcAtLv89re/jZ3T3NwsfvCDH4i8vDzh8/nE5ZdfLg4ePJi6QvdTx7qX77//fofn7Ny5M6Vl72+68nvZ3jUMR2119V4uXrxYDB8+XPh8PlFeXi5WrlyZmgL3c125n1u2bBFXXHGFGDJkiPD5fGLSpEltHu0nIb73ve+JkSNHCl3XRVFRkbj44otjwUgIfvckiySEEL1ZM0VERESUTtjniIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojj/P8Q5VEmEPlwgAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import numpy as np\n", + "import xarray as xr\n", + "\n", + "# Read the CSV file\n", + "csv_path = \"/home/sarah/temp/ecoextreml/test/output/ZA-Kru_2023-09-06-1228/Sim_Temp.csv\"\n", + "\n", + "# Read the CSV file\n", + "df = pd.read_csv(csv_path, header=None)\n", + "\n", + "# Get the first row as depths\n", + "depths = df.iloc[0].values\n", + "\n", + "# Get the rest of the data as soil_temperature\n", + "soil_temperature = df.iloc[3:].values\n", + "soil_temperature = soil_temperature.astype(float)\n", + "\n", + "# Create a time index\n", + "time = np.arange(1, len(df)-2)\n", + "\n", + "# Create the xarray DataArray\n", + "da_t = xr.DataArray(\n", + " data=soil_temperature,\n", + " dims=(\"time\", \"depth\"),\n", + " coords={\"time\": time, \"depth\": depths},\n", + ")\n", + "da_t['depth'] = da_t['depth'].astype(float) * -1\n", + "\n", + "da_t.isel(time=0).plot(y=\"depth\")\n", + "da_t.isel(time=1).plot(y=\"depth\")\n", + "da_t.isel(time=2).plot(y=\"depth\")\n", + "da_t.isel(time=3).plot(y=\"depth\")\n", + "da_t.isel(time=9).plot(y=\"depth\")\n", + "# da_t.isel(time=19).plot(y=\"depth\")" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAGzCAYAAAAlqLNlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9oUlEQVR4nO3de3gV1aH//8/MviYhNyQQLuGqhaogiqc09AfqkRJan1pq9aC0Kpgq9XgHrSAeRG3FiqhUq4it1fah9dL6tdZjqUi1p5V4QUEFBQVjQSHcAtm57svs9fsjyWY2CZiEkJ2Q9+t55pmZNWtm1ixH83HN7L0tY4wRAAAAJEl2qhsAAADQmRCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AdGqDBw/W9OnTU90MAN0I4QhAyq1evVoLFizQ/v37U92UDrVhwwZdcMEFGjp0qNLT09WrVy9NmDBBf/nLX1LdNKBb86a6AQCwevVq3X777Zo+fbpycnKStm3atEm2fWz+f9y///1vVVZW6tJLL1W/fv1UU1OjP/3pTzr33HP16KOP6oorrkh1E4FuyeKHZwGk2r333qubbrpJpaWlGjx4cKqbk1KO42jMmDGqq6vTxo0bU90coFs6Nv93DECXsWDBAt10002SpCFDhsiyLFmWpc8++0xS03eOnnjiCVmWpX/961+69tprlZeXp5ycHM2cOVORSET79+/XJZdcotzcXOXm5uonP/mJDv5/wHg8rgceeEAnnXSSgsGg+vTpo5kzZ2rfvn0dddmH5PF4VFBQ0O0eMQKdCY/VAKTUeeedp48//lh/+MMfdP/996tXr16SpLy8vMPud8011yg/P1+333673njjDS1btkw5OTlavXq1Bg4cqLvuuksvvfSSFi1apJNPPlmXXHJJYt+ZM2fqiSee0IwZM3TttdeqtLRUDz30kNauXavXX39dPp/vkOcNh8OqrKxs0bU1XsuXqa6uVm1trSoqKvTCCy/or3/9q6ZOndqifQEcBQYAUmzRokVGkiktLW2ybdCgQebSSy9NrP/mN78xkkxRUZGJx+OJ8sLCQmNZlvnxj3+cKIvFYmbAgAHmjDPOSJT985//NJLM8uXLk86zYsWKZssP1nj+lkwtNXPmzMQ+tm2b888/35SXl7d4fwDti5EjAF1ScXGxLMtKrI8dO1YlJSUqLi5OlHk8Hp1++ul65513EmXPPvussrOz9c1vflN79uxJlI8ZM0Y9evTQq6++qmnTph3yvEVFRVq5cmW7Xsv111+v888/X9u3b9czzzwjx3EUiUTa9RwAWo5wBKBLGjhwYNJ6dna2JKmgoKBJuftdok8++UQVFRXq3bt3s8fdtWvXYc/bt29f9e3bty1NPqQRI0ZoxIgRkqRLLrlEkyZN0ne+8x29+eabSQEQQMcgHAHokjweT4vLjeuF7Hg8rt69e2v58uXN7v9l7zo1vhvUEvn5+S2qd7Dzzz9fM2fO1Mcff6zhw4e36RgA2o5wBCDlOnJ0ZNiwYXrllVf0jW98Q2lpaa3e/+mnn9aMGTNaVNe08ZtSamtrJanFIQxA+yIcAUi5jIwMSeqQj6//13/9lx5++GHdeeeduuuuu5K2xWIxVVVVNfkiSrf2fOdo165dTR7vRaNR/fa3v1VaWppOPPHEdjkPgNYhHAFIuTFjxkiS5s2bpwsvvFA+n0/f+c53EqGpPZ1xxhmaOXOmFi5cqHXr1mnSpEny+Xz65JNP9Oyzz2rJkiU6//zzD7l/e75zNHPmTIVCIU2YMEH9+/dXWVmZli9fro0bN2rx4sXq0aNHu5wHQOsQjgCk3H/8x3/ozjvv1NKlS7VixQrF43GVlpYelXAkSUuXLtWYMWP06KOP6pZbbpHX69XgwYP1wx/+UN/4xjeOyjmbM3XqVP3617/WI488or179yozM1NjxozRz3/+c5177rkd1g4Ayfj5EAAAABd+PgQAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC58z1ErxeNxbd++XZmZmfwgJAAAXYQxRpWVlerXr59s+/BjQ4SjVtq+fXuTX/0GAABdw7Zt2zRgwIDD1iEctVJmZqak+s7NyspKcWsAAEBLhEIhFRQUJP6OHw7hqJUaH6VlZWURjgAA6GJa8koML2QDAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALh023D0y1/+UoMHD1YwGNTYsWP11ltvpbpJAACgE+iW4ejpp5/WrFmzdNttt+ndd9/VKaecoqKiIu3atSvVTQMAACnWLcPRfffdp8svv1wzZszQiSeeqKVLlyo9PV2PP/54qpsGAABSrNuFo0gkonfeeUcTJ05MlNm2rYkTJ6qkpKRJ/XA4rFAolDQBXYUxRh/s/kC3l9yulf9e2bRCaIe0Yq709q+bbHrj0726/S8b9Ny7n3dASwGg8/CmugEdbc+ePXIcR3369Ekq79OnjzZu3Nik/sKFC3X77bd3VPOANok6UZXXlWtv3V5tDW3V5v2btWX/Fm0s36jPq+rDzdbyj/VNO0fa/ZG0c4NUtl76/G3JCUs98qVTf6iY5dPe6oi276/VZU+8rZqIo3NG9tV5pw1I7QUCQAfqduGotebOnatZs2Yl1kOhkAoKClLYInQHxhhVRitVXlsfeMrrylVeW54IQOXVZdpbs7u+PFyhkFN7yGMF4kYTa2r0/R0rpbdfbLJ9k/8kPWGm6uW7/qHy2qiMSd6ek+5r78sDgE6t24WjXr16yePxaOfOnUnlO3fuVH5+fpP6gUBAgUCgo5qHLiAajyocC6suVqdwOKS6SEjVdSHV1FWqJlypmnCVaiPVqo1WqzZSo7pYrcLRWtU5dQo7YYWdOoXjEUXiEUXiUUVMTGETU0QxRYyjOsVVYcUUs1rXLo8xynXi6heL6fhoVMMiUR0fjerkcFhZcaOw8Wm7eurTeF99ZAZpY3yg1pvB2lRXIMmSFJUk2ZZ0XI+ATi3I0ZRT++ubJ/Y57HkB4FjT7cKR3+/XmDFjtGrVKk2ZMkWSFI/HtWrVKl199dWpbRxaLOrEVRd1VBetn4djjsJ1dQrXVKm6dp+qaspVU1eumnCF6iIVqotUqi5WpXCsWhGnWtF4naKmTlETUdREFVVMMRNTzIopKkdRxRWx4opaRlHLKGIZRSwpbEmO1crU0hLWQfMGPeJx9XQc9XTiOs5xEss9HUfpjlfeWECWkyEnlqk6J0vlyla5yVS5svSqydKfTKb2Kkv7TKZ8aZnKywyqV4+A8jLrp+9lBpTnWs/LDCg33S+PfRSuEQC6iG4XjiRp1qxZuvTSS3X66afra1/7mh544AFVV1drxowZqW5alxaJxVUdjqkqHFN1JKbaSEN4iTkKRx2Fw3VyaisVrwvJCVcrHq5SJBxSJFqhcCykSKxSMadKUadGMVOnmKlRTGHFTEQxK1IfYOyYopajqOUoYhuFbaOwZVRrW6q1LdVYlsyXhRdbbfgoQvPHDMbjChjTMEn+uOQ3ks9Y8hlLXmPLZ2x5jEdeY8srrzzGK698suWVR355LZ88ll8eKyiPHZDXSlO63UPp3mx5PRkyvoDkC0regORLUyxwnCLBnnL8Qfk8dv3ktZVpW+rZsOzzWPJ7bPm9tnr1COi4Hn4FvJ7WXjQAdEvdMhxNnTpVu3fv1vz581VWVqbRo0drxYoVTV7S7g4isXh9mAnHVFlXH2qq6uoDTk1trSI1FYrWhBStCSkerlSsrlLR8H7FovsVc0KKxasUN1WKm1oZu06ywjJ2VI4nKseKKeZxFLbjCltx1dqWqm1L1batastWjW0dGIXxNEwtZulQgaVRWtwoaKSgsRQ0tgLGVlAeBeRTwPLJb/kUsPzy2n75rYD8Hr98nqACnqD8njT5vWkKeNMV8KUr6OuhoL9+SgtkKT2YqbRgtryBdHn9Afn9Qfm8Hvk8try2JZuRFwDosixjDn79EocTCoWUnZ2tiooKZWVlpbo5SWojjvZUhVVeHdHe6rD2VEVUXlmrmoo9Cof2KFq9V6Z6rzyRffI4e2WZffJaIXm81bLsGhlPnSKeqOo8cdXacVV6LFXYtkK2nQg1LRqZaYM0Y9VP8igor4KWV2m2X2l2QEFPQOmeNKX70pXhT1eGr4cyg9nqEcxUVlq2MoK5Sg/kKD2Yo/S045QeyFbQlybb6nbfVAEAOITW/P3uliNHXY0TN9q+v1af7a1W6Z5q7dhfq3BFmbwVWxWs2qYeddtlRfco5tmnmLdKEV+taj1hRT0x1XochWxbFR5bFT5bFT1tVdr2IQKOJcnfojbZRkqXrXTLqwzbp3Q7oB7eoDJ9acrwZTRMmcoIZCkjkKOMYLbS03qqR9pxyghkK92Xrh6+HsrwZSjNS5ABAHQehKNOZG9VWP/3yW7tCoW1s6JOgbK35C3frHj1XmVYu1WdvkNpngpleapV7pN2eDzakenV9lyvKj0Hhwuvvuwfb7o8yvYEle1NV7a/h7L92coO5ig7kKvstJ7KTstTVkZvZQVzEkGmMdQEPAFZR+PFZAAAUoxw1EnsrQprzE9fSazf4P2jrvM+J0kK+Sx9Y1DjdyvZkjJbdEyPLPXxZqlPsLf6ZfTVgMz+GpgzSANyBqtf9lBlB3MU9AQJOQAAuBCOOomgz6PBx6Xrs701kqTPTa/ENr+Rhkai+tTfui/jc2S0PVah7VUVWlv1ibSzaR3bGGXEjRzboxrL6PyvnK/5X59PYAIAdFu8kN1KHfFCdiQWV00kppqIo5q6sGqrKxWuqVCkOqTqmn2qrt2tmrp9qgvvV210v8LRSoWdakWcGkVNrcImrKjCilgxRayY6qz6T4zV2VKNLdXYtqoP8WJ1mjdNr/3Xa0r3pR+VawMAIBV4IbuL83tt+b1+5aRLUpqkHElH9pMlxhiFY3HVhKOqqapUbfU+lZZ9IfOPK3Rj/2Ci3qPffJRgBADo1ghH3YRlWQr6PAr6POrZIygpT/0GDNUjJemS4hqZMVBPfu95+Tz8jhYAoHvj89PdWEbAq5hd/9F9T8wQjAAAEOGo28u3j5ckrQtv02PvP6aKcEWKWwQAQGoRjrq59AHf1X/v2y9J+sXaX2jC0xM07X+n6Rfv/kJvl72tiBNJbQMBAOhgfFqtlTrzz4e0xepPdqvitxdqZ+4mPZeVqVJf8mtoad40jew1Uj2DPZXhy1APXw/18PdImmf4MpTpz0ya8/1JAIDOhE+rocVOG9xTX7dnadG+xXoh9I7KPB69kRZMTHtVq7fK3mr1cb2WVxn+hjB1UID60oDly1SGP0Pp3nT5PX5+WgQA0KEIR91c0OfRgimjdeXT12my87bOytymUWabJld8qsDuL/SJz6ePAn5V2ZYqbVvVlq0q21KV16cqj1dVtkdVDT9MWyWjKsvISIqZmCrCFe3yDpPH8shn++onj6/5Zde63/bL5/HJa3ubbG/cllTuPtbhttk++T3+Zrd5bS8hDgCOEYQjaMqp/VW6p1pLVnn1YkVhQ6lRb+3XGPO5zkzbqTH+z9U/vEU9qkplmfghjxWXVGtZqrIbQpRtq9q2VWlZ9fOG9cZtjfXqQ9eB8hr7QNBwjCPHcVTn1EnRo9sXR6K5MOZedwcrr8fbJIQlBa9DBL/GZa/tldfy1s8bpy9bb6bMY3l4/AkAB+Gdo1Y61t45ctsVqtPabfu1btt+rd26T+9/XqGaiJNUx6eYeqhG6QorzQorTZGG5Tr1sKLK8UWU7Ykq0xNVpieiHnZEPayw0q2I0q2I0lSngAkrYOoUMHXyxcPyObXyOrXyOLWJ8ziqD1kxy1LEshS1pKgsRRuXrfrliCzFXOvJ9SxFGrcpeb8m65alqA5at+yGc9dPscTx6yfnGMkUzQWmxuXGUbGDyxPbLZ88tueIA9rB5zpkueVNnC9R7iprXCfwAThYa/5+E45a6VgORweLOXF9vLNKa7ft09qt+7WtvEa1UUfV4ZhqI46qI45qI44izqFHklrDUlwBRZWusNKtsIIKJ5ZzvDHl+KLK9kSU6YkpyxNRDzusHlZEaVZEQVOnYEPw8puIPIrJK0deE5XHOPKYqDwmJtvE6ufxqKyGuR1v23CUIzUTqtxh7OBAlhy+Is0Fvmb3OygQWlJMlpyGeWNoa1x2GoJcLFHWMJdkuklmaAxgidDkCmQ+29ds0Ds4tB08muf3+Osn16PZxnW/x5/0WNdd12t7k9YTx/T4CHJAByIcHUXdKRy1VNSJ1/8OXOPvwYUblqOu5YiTXKdhXh12VBuN1c8jjqojscS8Lto+oevLGXnlyKeYfA1zrxz5rAPrPjkK2I6CtqN0T1xBO64021HQE1fQdhSw4wpa9fOAFVPAjstvxeS3GueO/A3H9VuxxPnqA1ysPsw1BDePicqjmOx4/boVj8puDHSJKSY5kcM+4myOI7lCU31gahKk3OWussYweGCf+mUnKZw11j1wzKjrmM5Bx4xKitm2HMtWzLIbjmsfOH5SwNOBuaSYjGKqf8etq7JktTpwtTisud6zO1y95ury/hyORXxaDR3K57GVnWYrO619v2HbiRvVRhuCVLj5cFUTcRSOxRV14oq45pFm140iTlzRhvWD6zbWr4vFFXVM0xExp2HqRO892YrLp/rwleGNK+gxyvDUB7i0RIiLK+hxEoEu0DhZ8Ya5Ux/eGsOcYvI3BEO/YspoCG5exeRVVF7XSFz9PCo7HksEODseORDinGh9iGsIc4qFpXaOM42Bz1HyCFpjWaxhhO5A8GsYdWsIbO7A57iWo5YUaXysqwOPdyO2p2GyFbU8itp2op77MWxEUsQyikiKyigqo4iM3HeVkVHYCSvshDvVfeW1vC0Ka4kPObjCmnvE7eCwdnC5z+MqO8wxG0fgGGVDRyEcodPy2JZ6BLzqEfBKmR1/fmNMIiRF3SHqkEHMNKw7isaMwu4g1ljvoCDWuF+TgHeIcx04R/2f2LhsheVX2EiVjS9DdTKWJfk9dv0PKntsBT1GaZ54fZiz4/VBznaU5qkfmUtrHIlrGKkLWAcCXMB2EuHNnxjdc434mZg8isoTj8lrogqahlE3U19mm2hiBC5pJM6JyopHJKcx0NWHOjnhdu+PmOQKUQ0BTAeCVeN7csmBS4mA5i5L7KNmyhL17IYglxzg6sNbwzt0B2WOmIkpFoupVrXNXEHqNAlWrvmXBTB34DrcPgFPQEFvUGnetMSU7k1XmjdNQW+QUbVugnAEHIJlWfJ7Lfm9thRIdWuSNQa3JqNfTnLICrsD1WFG1qJOXOHDBLHm9k0+V3Ld5LZK4Vh9W5qyJHkaps7Ba1vyeiz5bFteWwp4VB/YPE79KJztKGg5B43CNUx2TAE58tuOAo2jb5bTMLrXGOTcj28bR+Wi8iqmdOMo00QbHrEeGJ2zXe/HNQY822kMdTFZjaN1bfxGe6P6kJQUnpoLaWo+uLlH15ICXQv3r//wQ+MI3IF3+Q7+0EM0HlU0HlW1qo/sH/IRcIcmd3BKTL62bSd4dS6EI6ALcge3jE4Y3GLx5EAWdo2IRWNGEcdJPOb8stAWicUbRuFMYlTOPQqX2LdhORY3ijlG0XhcMcco5sQVjdfPY05922Lx+kDXnPrtRnU6OMzZDVNn/s9m0/fn/FZM6YlHq/WPV4OWk1gPWPVhz58IefWPaQOJ0TnnwGNWKyafosqUI5+JyWu5Hrma+tE6r2LyxOuDnTcerl+OR+SJR2THww3zlg1xOlJSYEoOYa6yxrAl96jcgXruOvX7H1SWqGcrYntUa1mqte36uSXVuUJabaxWtbGjM6KW5gm6AlT6EQUv9zaCV+t15n/LAXRBlmXJ57Hk83S+4OZmjJHTEISiBwWnWMOoXJNtTcrqQ5YTN65gVl/m3uYOaI3b3Md0h7eo6zwHzpd8bqex7KC2OnE1jkcdeCBmdOB9uU7CUsO7bYopoKj8iipgNcyT1pO31y/HFLSiCloxpdsxBRqWA1b9cpai8lv1+zXu62ucm/pln4nIZ6LymojsFrwDF5dUZ1mqsS3VWrZqLEu1tpUcomxLNZZ9oNy9bB+0j2tbnes73WqdOtU6dVJ4X7v3eZrlU5rHpzQ7oDSPX+netIYwFlSaN11pvsYpQ+n+TKX5eigtkFm/rRsGL8IRgG7Jsuofn3k99d8UfyxoHLU71MjZ4YLcocPaocNh4zanmbImwdFV1uR8jlFNPK6QK+g1bosf1Y8j1o+0JQJYQ7BqXA4khbTIgbBmHQhefsWSgl2mouplRRVwBbv6OpFmw6BPUcUtR1FP/OgGLxNVbSwqqabdezHNm6b8jHwdn3O8js85XsNyhun4nOM1MGugfHb7flCno/BR/lbio/wA0HHicXfQq19uNnB9ybZY/OCypqNyB0bimtZrLkweHOSaC6XNtac5tuINQaoxlB0UyBIjYs2HtAP7RBPHCdpR+bwx2Z6obE9UsmMydkyOFZVjO4pajqJWTGHFFbYchRVXnUyrg9eheC2PBmf01/E9v6Lje45IBKeCzAJ57I7/HxI+yg8AOCbYtqWA7VHgGPlr5X6c21zgCsfiqonEVBWOqaoupupITFXh+i/frQ7HVFlXP6+OxFR+cHmkfjkpgLX6HX2THMgUU7pVp/72Pp3i36dB9l4NsPeoj3Yr2+xR0OxVxIprm8+rzT6fNvt92uLzaYvfpxpb2ly1VZurtkpbX0mcwS9bQwO5GpYxQMfnnqDje4/WsPzT1D+zf6d5RMfIUSsxcgQA6MzCsfov2K2qqw9Z1Q1hq7ohcNUvO4nyqobA1Vi3OuwkQlht9PAvq1mKK08VGmDtVj9rr/pbe9TP2qO+1m4FfOWq9VdoeyCuLT6fPvH7VerzHnLUKRg36uf41Ndk6ryRV2rS1y9q135h5AgAgG4q4PUo4PWoZ4b/iI/lxE1iRModrBJhK3wgeFWHY9oTdvTvg8pVW6Gsip3KjZZpkvYoy79dln+XagMVKvfX6Qu/UanPpzrb0qd2TJ9qnyreX9Tu4ag1CEcAAKBZHttSVtCnrKBPyj6yYxljVBeNNwlWNTU1iuzfqvLy9Vpb9v+0IvCFIin+eCXhCAAAHHWWZSnN71Ga36O8TPf3fBwnqUDSN1Tzwnat2Pdcilp4QOd48wkAAKCTIBwBAAC4EI4AAABcCEcAAKBTcNr448ntjXAEAABS7t/bP9b/2/sXSVKO0lPaFsIRAABIqf2VezT7xQv0hc9SXiyuGyc+lNL2EI4AAEDKxGJRzfrDOdoUiKuHE9dto+/SV4eOSWmbCEcAACBlbnriHL0dqJHPGN1QMFNnjPluqptEOAIAAKnx099dold8OyRJl2VO1n9989oUt6ge4QgAAHS4R5+/Rc8470qSztOJuvr796a4RQcQjgAAQIfavHW9Htv3goxl6cxIL932w9+nuklJCEcAAKBDbfh0tcK2peNicS265H9lezypblISwhEAAEiJgLEUDKT2O42aQzgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgEuXCUc/+9nPNG7cOKWnpysnJ6fZOlu3btU555yj9PR09e7dWzfddJNisVhSnddee02nnXaaAoGAjj/+eD3xxBNHv/EAAKDL6DLhKBKJ6IILLtCVV17Z7HbHcXTOOecoEolo9erVevLJJ/XEE09o/vz5iTqlpaU655xzdNZZZ2ndunW6/vrr9aMf/Uh/+9vfOuoyAABAJ+dNdQNa6vbbb5ekQ470vPzyy/rwww/1yiuvqE+fPho9erTuvPNO3XzzzVqwYIH8fr+WLl2qIUOGaPHixZKkr371q/rXv/6l+++/X0VFRR11KQAAoBPrMiNHX6akpEQjR45Unz59EmVFRUUKhULasGFDos7EiROT9isqKlJJSckhjxsOhxUKhZImAABw7DpmwlFZWVlSMJKUWC8rKztsnVAopNra2maPu3DhQmVnZyemgoKCo9B6AADQWaQ0HM2ZM0eWZR122rhxYyqbqLlz56qioiIxbdu2LaXtAQAAR1dK3zmaPXu2pk+fftg6Q4cObdGx8vPz9dZbbyWV7dy5M7Gtcd5Y5q6TlZWltLS0Zo8bCAQUCARa1AYAAND1pTQc5eXlKS8vr12OVVhYqJ/97GfatWuXevfuLUlauXKlsrKydOKJJybqvPTSS0n7rVy5UoWFhe3SBgAA0PV1mXeOtm7dqnXr1mnr1q1yHEfr1q3TunXrVFVVJUmaNGmSTjzxRF188cV677339Le//U233nqrrrrqqsTIz49//GN9+umn+slPfqKNGzfq4Ycf1jPPPKMbbrghlZcGAAA6kS7zUf758+frySefTKyfeuqpkqRXX31VZ555pjwej1588UVdeeWVKiwsVEZGhi699FLdcccdiX2GDBmi//3f/9UNN9ygJUuWaMCAAfrVr37Fx/gBAECCZYwxqW5EVxIKhZSdna2KigplZWWlujkAAHQ5f35tmW7994PqFzX624/Wd8g5W/P3u8s8VgMAAOgIhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC5dIhx99tlnKi4u1pAhQ5SWlqZhw4bptttuUyQSSar3/vvva/z48QoGgyooKNA999zT5FjPPvusRowYoWAwqJEjR+qll17qqMsAAABdQJcIRxs3blQ8Htejjz6qDRs26P7779fSpUt1yy23JOqEQiFNmjRJgwYN0jvvvKNFixZpwYIFWrZsWaLO6tWrddFFF6m4uFhr167VlClTNGXKFK1fvz4VlwUAADohyxhjUt2Itli0aJEeeeQRffrpp5KkRx55RPPmzVNZWZn8fr8kac6cOXr++ee1ceNGSdLUqVNVXV2tF198MXGcr3/96xo9erSWLl3a7HnC4bDC4XBiPRQKqaCgQBUVFcrKyjpalwcAwDHrz68t063/flD9okZ/+1HHDFCEQiFlZ2e36O93lxg5ak5FRYV69uyZWC8pKdGECRMSwUiSioqKtGnTJu3bty9RZ+LEiUnHKSoqUklJySHPs3DhQmVnZyemgoKCdr4SAAC6j0gkrBc/fkKSFDRWahtzCF0yHG3evFkPPvigZs6cmSgrKytTnz59kuo1rpeVlR22TuP25sydO1cVFRWJadu2be11GQAAdCtxx9ENT07SG4FKeY3R9/tflOomNSul4WjOnDmyLOuwU+MjsUZffPGFJk+erAsuuECXX375UW9jIBBQVlZW0gQAAFon7jia/Ztv6f/85bKN0RVZ5+iSb9/y5TumgDeVJ589e7amT59+2DpDhw5NLG/fvl1nnXWWxo0bl/SitSTl5+dr586dSWWN6/n5+Yet07gdAAAcHfN+e55e8e2QJF2adqauPO/nKW7RoaU0HOXl5SkvL69Fdb/44gudddZZGjNmjH7zm9/ItpMHvQoLCzVv3jxFo1H5fD5J0sqVKzV8+HDl5uYm6qxatUrXX399Yr+VK1eqsLCwfS4IAAA0seDJC/WiXf8Bqmne0zVr6kMpbtHhdYl3jr744gudeeaZGjhwoO69917t3r1bZWVlSe8KTZs2TX6/X8XFxdqwYYOefvppLVmyRLNmzUrUue6667RixQotXrxYGzdu1IIFC7RmzRpdffXVqbgsAACOeXcvv0x/0gZJ0nk6UXN/8JsUt+jLpXTkqKVWrlypzZs3a/PmzRowYEDStsZvIsjOztbLL7+sq666SmPGjFGvXr00f/58XXHFFYm648aN0+9//3vdeuutuuWWW3TCCSfo+eef18knn9yh1wMAQHfwmxfv1PLY25KkbzuDdftlT6e4RS3TZb/nKFVa8z0JAAB0ZzOX/X9aHahQYThLS4v/T7bHk7K2dIvvOQIAAJ2bUf34y4C0wSkNRq1FOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4NLmnw/Zv3+/3nrrLe3atUvxeDxp2yWXXHLEDQMAAEiFNoWjv/zlL/rBD36gqqoqZWVlybKsxDbLsghHAACgy2rTY7XZs2frsssuU1VVlfbv3699+/YlpvLy8vZuIwAAQIdpUzj64osvdO211yo9Pb292wMAAJBSbQpHRUVFWrNmTXu3BQAAIOVa/M7RCy+8kFg+55xzdNNNN+nDDz/UyJEj5fP5kuqee+657ddCAACADtTicDRlypQmZXfccUeTMsuy5DjOETUKAAAgVVocjg7+uD4AAMCxqE3vHP32t79VOBxuUh6JRPTb3/72iBsFAACQKm0KRzNmzFBFRUWT8srKSs2YMeOIGwUAAJAqbQpHxpikL35s9Pnnnys7O/uIGwUAAJAqrfqG7FNPPVWWZcmyLJ199tnyeg/s7jiOSktLNXny5HZvJAAAQEdpVThq/MTaunXrVFRUpB49eiS2+f1+DR48WN///vfbtYEAAAAdqVXh6LbbbpMkDR48WFOnTlUwGDwqjQIAAEiVNv3w7KWXXipJWrNmjT766CNJ0oknnqgxY8a0X8sAAABSoE3h6IsvvtCFF16o119/XTk5OZKk/fv3a9y4cXrqqac0YMCA9mwjAABAh2nTp9WKi4sVjUb10Ucfqby8XOXl5froo48Uj8f1ox/9qL3bCAAA0GHaNHL0j3/8Q6tXr9bw4cMTZcOHD9eDDz6o8ePHt1vjAAAAOlqbRo4KCgoUjUablDuOo379+h1xowAAAFKlTeFo0aJFuuaaa7RmzZpE2Zo1a3Tdddfp3nvvbbfGAQAAdLQ2PVabPn26ampqNHbs2MQXQcZiMXm9Xl122WW67LLLEnXLy8vbp6UAAAAdoE3h6IEHHmjnZgAAAHQOR/Q9RwAAAMeaNr1zJElbtmzRrbfeqosuuki7du2SJP31r3/Vhg0b2q1xAAAAHa1N4egf//iHRo4cqTfffFPPPfecqqqqJEnvvfde4idGAAAAuqI2haM5c+bopz/9qVauXCm/358o/8///E+98cYb7dY4AACAjtamcPTBBx/oe9/7XpPy3r17a8+ePUfcKAAAgFRpUzjKycnRjh07mpSvXbtW/fv3P+JGAQAApEqbwtGFF16om2++WWVlZbIsS/F4XK+//rpuvPFGXXLJJe3dRgAAgA7TpnB01113acSIESooKFBVVZVOPPFEjR8/XuPGjdOtt97a3m0EAADoMG36niO/36/HHntM8+fP1wcffKCqqiqdeuqpOuGEE9q7fQAAAB2qxeFo1qxZh93u/pTafffd1/YWAQAApFCLw9HatWuT1t99913FYjENHz5ckvTxxx/L4/FozJgx7dtCAACADtTicPTqq68mlu+77z5lZmbqySefVG5uriRp3759mjFjhsaPH9/+rQQAAOggbXohe/HixVq4cGEiGElSbm6ufvrTn2rx4sXt1jgAAICO1qZwFAqFtHv37iblu3fvVmVl5RE3CgAAIFXaFI6+973vacaMGXruuef0+eef6/PPP9ef/vQnFRcX67zzzmvvNgIAAHSYNn2Uf+nSpbrxxhs1bdo0RaPR+gN5vSouLtaiRYvatYEAAAAdqU3hKD09XQ8//LAWLVqkLVu2SJKGDRumjIyMdm0cAABAR2tTOGqUkZGhUaNGtVdbAAAAUq5N7xwBAAAcqwhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABw6TLh6Nxzz9XAgQMVDAbVt29fXXzxxdq+fXtSnffff1/jx49XMBhUQUGB7rnnnibHefbZZzVixAgFg0GNHDlSL730UkddAgAA6AK6TDg666yz9Mwzz2jTpk3605/+pC1btuj8889PbA+FQpo0aZIGDRqkd955R4sWLdKCBQu0bNmyRJ3Vq1froosuUnFxsdauXaspU6ZoypQpWr9+fSouCQAAdEKWMcakuhFt8cILL2jKlCkKh8Py+Xx65JFHNG/ePJWVlcnv90uS5syZo+eff14bN26UJE2dOlXV1dV68cUXE8f5+te/rtGjR2vp0qUtOm8oFFJ2drYqKiqUlZXV/hcGAMAx4opl31BJIKQL7FGaf/HylLalNX+/u8zIkVt5ebmWL1+ucePGyefzSZJKSko0YcKERDCSpKKiIm3atEn79u1L1Jk4cWLSsYqKilRSUnLIc4XDYYVCoaQJAAAcu7pUOLr55puVkZGh4447Tlu3btWf//znxLaysjL16dMnqX7jellZ2WHrNG5vzsKFC5WdnZ2YCgoK2utyAABAJ5TScDRnzhxZlnXYqfGRmCTddNNNWrt2rV5++WV5PB5dcsklOtpPBefOnauKiorEtG3btqN6PgAAkFreVJ589uzZmj59+mHrDB06NLHcq1cv9erVS1/5ylf01a9+VQUFBXrjjTdUWFio/Px87dy5M2nfxvX8/PzEvLk6jdubEwgEFAgEWnNZAACgC0tpOMrLy1NeXl6b9o3H45Lq3wmSpMLCQs2bN0/RaDTxHtLKlSs1fPhw5ebmJuqsWrVK119/feI4K1euVGFh4RFcBQAAOJZ0iXeO3nzzTT300ENat26d/v3vf+vvf/+7LrroIg0bNiwRbKZNmya/36/i4mJt2LBBTz/9tJYsWaJZs2YljnPddddpxYoVWrx4sTZu3KgFCxZozZo1uvrqq1N1aQAAoJPpEuEoPT1dzz33nM4++2wNHz5cxcXFGjVqlP7xj38kHnllZ2fr5ZdfVmlpqcaMGaPZs2dr/vz5uuKKKxLHGTdunH7/+99r2bJlOuWUU/THP/5Rzz//vE4++eRUXRoAAOhkuuz3HKUK33MEAEDL8D1HAAAAxwDCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALl0uHIXDYY0ePVqWZWndunVJ295//32NHz9ewWBQBQUFuueee5rs/+yzz2rEiBEKBoMaOXKkXnrppQ5qOQAA6Aq6XDj6yU9+on79+jUpD4VCmjRpkgYNGqR33nlHixYt0oIFC7Rs2bJEndWrV+uiiy5ScXGx1q5dqylTpmjKlClav359R14CAADoxLpUOPrrX/+ql19+Wffee2+TbcuXL1ckEtHjjz+uk046SRdeeKGuvfZa3XfffYk6S5Ys0eTJk3XTTTfpq1/9qu68806ddtppeuihhzryMgAAQCfWZcLRzp07dfnll+t3v/ud0tPTm2wvKSnRhAkT5Pf7E2VFRUXatGmT9u3bl6gzceLEpP2KiopUUlJyyPOGw2GFQqGkCQAAHLu6RDgyxmj69On68Y9/rNNPP73ZOmVlZerTp09SWeN6WVnZYes0bm/OwoULlZ2dnZgKCgqO5FIAAEAnl9JwNGfOHFmWddhp48aNevDBB1VZWam5c+d2eBvnzp2rioqKxLRt27YObwMAAOg43lSefPbs2Zo+ffph6wwdOlR///vfVVJSokAgkLTt9NNP1w9+8AM9+eSTys/P186dO5O2N67n5+cn5s3VadzenEAg0OS8AADg2JXScJSXl6e8vLwvrfeLX/xCP/3pTxPr27dvV1FRkZ5++mmNHTtWklRYWKh58+YpGo3K5/NJklauXKnhw4crNzc3UWfVqlW6/vrrE8dauXKlCgsL2/GqAABAV5bScNRSAwcOTFrv0aOHJGnYsGEaMGCAJGnatGm6/fbbVVxcrJtvvlnr16/XkiVLdP/99yf2u+6663TGGWdo8eLFOuecc/TUU09pzZo1SR/3BwAA3VuXeCG7JbKzs/Xyyy+rtLRUY8aM0ezZszV//nxdccUViTrjxo3T73//ey1btkynnHKK/vjHP+r555/XySefnMKWAwCAzqRLjBwdbPDgwTLGNCkfNWqU/vnPfx523wsuuEAXXHDB0WoaAADo4o6ZkSMAAID2QDgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAODSZcLR4MGDZVlW0nT33Xcn1Xn//fc1fvx4BYNBFRQU6J577mlynGeffVYjRoxQMBjUyJEj9dJLL3XUJQAAgC6gy4QjSbrjjju0Y8eOxHTNNdcktoVCIU2aNEmDBg3SO++8o0WLFmnBggVatmxZos7q1at10UUXqbi4WGvXrtWUKVM0ZcoUrV+/PhWXAwAAOiFvqhvQGpmZmcrPz2922/LlyxWJRPT444/L7/frpJNO0rp163TffffpiiuukCQtWbJEkydP1k033SRJuvPOO7Vy5Uo99NBDWrp0abPHDYfDCofDifVQKNTOVwUAADqTLjVydPfdd+u4447TqaeeqkWLFikWiyW2lZSUaMKECfL7/YmyoqIibdq0Sfv27UvUmThxYtIxi4qKVFJScshzLly4UNnZ2YmpoKCgna8KAAB0Jl1m5Ojaa6/Vaaedpp49e2r16tWaO3euduzYofvuu0+SVFZWpiFDhiTt06dPn8S23NxclZWVJcrcdcrKyg553rlz52rWrFmJ9VAoREACAKAFTs2boJx9H2jkwPGpbkqrpDQczZkzRz//+c8PW+ejjz7SiBEjkgLKqFGj5Pf7NXPmTC1cuFCBQOCotTEQCBzV4wMAcKy68nsLU92ENklpOJo9e7amT59+2DpDhw5ttnzs2LGKxWL67LPPNHz4cOXn52vnzp1JdRrXG99TOlSdQ73HBAAAup+UhqO8vDzl5eW1ad9169bJtm317t1bklRYWKh58+YpGo3K5/NJklauXKnhw4crNzc3UWfVqlW6/vrrE8dZuXKlCgsLj+xCAADAMaNLvJBdUlKiBx54QO+9954+/fRTLV++XDfccIN++MMfJoLPtGnT5Pf7VVxcrA0bNujpp5/WkiVLkh7HXXfddVqxYoUWL16sjRs3asGCBVqzZo2uvvrqVF0aAADoZCxjjEl1I77Mu+++q//+7//Wxo0bFQ6HNWTIEF188cWaNWtW0vtA77//vq666iq9/fbb6tWrl6655hrdfPPNScd69tlndeutt+qzzz7TCSecoHvuuUff/va3W9yWUCik7OxsVVRUKCsrq92uEQAAHD2t+fvdJcJRZ0I4AgCg62nN3+8u8VgNAACgoxCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwSelvq3VFjd+ZGQqFUtwSAADQUo1/t1vy3deEo1aqrKyUJBUUFKS4JQAAoLUqKyuVnZ192Dr8fEgrxeNxbd++XZmZmbIsK2XtCIVCKigo0LZt2/gZk1ai79qOvms7+q7t6Lu2o+8OMMaosrJS/fr1k20f/q0iRo5aybZtDRgwINXNSMjKyur2N3xb0XdtR9+1HX3XdvRd29F39b5sxKgRL2QDAAC4EI4AAABcCEddVCAQ0G233aZAIJDqpnQ59F3b0XdtR9+1HX3XdvRd2/BCNgAAgAsjRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI46kR++ctfavDgwQoGgxo7dqzeeuutQ9bdsGGDvv/972vw4MGyLEsPPPBAkzoLFiyQZVlJ04gRI47iFaROa/ruscce0/jx45Wbm6vc3FxNnDixSX1jjObPn6++ffsqLS1NEydO1CeffHK0LyMl2rvvpk+f3uS+mzx58tG+jA7Xmn577rnndPrppysnJ0cZGRkaPXq0fve73yXV4Z5rXkv6rrvcc1Lr+s7tqaeekmVZmjJlSlJ5d7rvWsWgU3jqqaeM3+83jz/+uNmwYYO5/PLLTU5Ojtm5c2ez9d966y1z4403mj/84Q8mPz/f3H///U3q3Hbbbeakk04yO3bsSEy7d+8+ylfS8Vrbd9OmTTO//OUvzdq1a81HH31kpk+fbrKzs83nn3+eqHP33Xeb7Oxs8/zzz5v33nvPnHvuuWbIkCGmtra2oy6rQxyNvrv00kvN5MmTk+678vLyjrqkDtHafnv11VfNc889Zz788EOzefNm88ADDxiPx2NWrFiRqMM91/a+6w73nDGt77tGpaWlpn///mb8+PHmu9/9btK27nLftRbhqJP42te+Zq666qrEuuM4pl+/fmbhwoVfuu+gQYMOGY5OOeWUdmxl53QkfWeMMbFYzGRmZponn3zSGGNMPB43+fn5ZtGiRYk6+/fvN4FAwPzhD39o38anWHv3nTH1f6gO/g/wseZI+80YY0499VRz6623GmO4546k74zpHvecMW3ru1gsZsaNG2d+9atfNemn7nTftRaP1TqBSCSid955RxMnTkyU2batiRMnqqSk5IiO/cknn6hfv34aOnSofvCDH2jr1q1H2txOpT36rqamRtFoVD179pQklZaWqqysLOmY2dnZGjt27BH/8+hMjkbfNXrttdfUu3dvDR8+XFdeeaX27t3brm1PpSPtN2OMVq1apU2bNmnChAmSuOeOpO8aHcv3nNT2vrvjjjvUu3dvFRcXN9nWXe67tvCmugGQ9uzZI8dx1KdPn6TyPn36aOPGjW0+7tixY/XEE09o+PDh2rFjh26//XaNHz9e69evV2Zm5pE2u1Noj767+eab1a9fv8R/IMrKyhLHOPiYjduOBUej7yRp8uTJOu+88zRkyBBt2bJFt9xyi771rW+ppKREHo+nXa8hFdrabxUVFerfv7/C4bA8Ho8efvhhffOb35TEPXckfScd+/ec1La++9e//qVf//rXWrduXbPbu8t91xaEo2PYt771rcTyqFGjNHbsWA0aNEjPPPNMs/8X0R3dfffdeuqpp/Taa68pGAymujldyqH67sILL0wsjxw5UqNGjdKwYcP02muv6eyzz05FUzuFzMxMrVu3TlVVVVq1apVmzZqloUOH6swzz0x10zq9L+s77rmmKisrdfHFF+uxxx5Tr169Ut2cLodw1An06tVLHo9HO3fuTCrfuXOn8vPz2+08OTk5+spXvqLNmze32zFT7Uj67t5779Xdd9+tV155RaNGjUqUN+63c+dO9e3bN+mYo0ePbr/Gp9jR6LvmDB06VL169dLmzZuPiT9Ube0327Z1/PHHS5JGjx6tjz76SAsXLtSZZ57JPXcEfdecY+2ek1rfd1u2bNFnn32m73znO4myeDwuSfJ6vdq0aVO3ue/agneOOgG/368xY8Zo1apVibJ4PK5Vq1apsLCw3c5TVVWlLVu2JP1L0NW1te/uuece3XnnnVqxYoVOP/30pG1DhgxRfn5+0jFDoZDefPPNdv3nkWpHo++a8/nnn2vv3r3HzH3XXv++xuNxhcNhSdxzR9J3zTnW7jmp9X03YsQIffDBB1q3bl1iOvfcc3XWWWdp3bp1Kigo6Db3XZuk+o1w1HvqqadMIBAwTzzxhPnwww/NFVdcYXJyckxZWZkxxpiLL77YzJkzJ1E/HA6btWvXmrVr15q+ffuaG2+80axdu9Z88skniTqzZ882r732miktLTWvv/66mThxounVq5fZtWtXh1/f0dTavrv77ruN3+83f/zjH5M++ltZWZlUJycnx/z5z38277//vvnud797TH68tb37rrKy0tx4442mpKTElJaWmldeecWcdtpp5oQTTjB1dXUpucajobX9dtddd5mXX37ZbNmyxXz44Yfm3nvvNV6v1zz22GOJOtxzbeu77nLPGdP6vjtYc5/q6y73XWsRjjqRBx980AwcOND4/X7zta99zbzxxhuJbWeccYa59NJLE+ulpaVGUpPpjDPOSNSZOnWq6du3r/H7/aZ///5m6tSpZvPmzR14RR2nNX03aNCgZvvutttuS9SJx+Pmf/7nf0yfPn1MIBAwZ599ttm0aVMHXlHHac++q6mpMZMmTTJ5eXnG5/OZQYMGmcsvvzzxH+9jSWv6bd68eeb44483wWDQ5ObmmsLCQvPUU08lHY97rl5r+6473XPGtK7vDtZcOOpO911rWMYYk4IBKwAAgE6Jd44AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAAJf/H0PSdkpRm6mtAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import numpy as np\n", + "import xarray as xr\n", + "\n", + "# Read the CSV file\n", + "csv_path = \"/home/sarah/temp/ecoextreml/test/output/ZA-Kru_2023-09-06-1228/Sim_Theta.csv\"\n", + "\n", + "# Read the CSV file\n", + "df = pd.read_csv(csv_path, header=None)\n", + "\n", + "# Get the first row as depths\n", + "depths = df.iloc[0].values\n", + "\n", + "# Get the rest of the data as soil_temperature\n", + "soil_sm = df.iloc[3:].values\n", + "soil_sm = soil_sm.astype(float)\n", + "\n", + "# Create a time index\n", + "time = np.arange(1, len(df)-2)\n", + "\n", + "# Create the xarray DataArray\n", + "da_s = xr.DataArray(\n", + " data=soil_sm,\n", + " dims=(\"time\", \"depth\"),\n", + " coords={\"time\": time, \"depth\": depths},\n", + ")\n", + "da_s['depth'] = da_s['depth'].astype(float) * -1\n", + "\n", + "da_s.isel(time=0).plot(y=\"depth\")\n", + "da_s.isel(time=1).plot(y=\"depth\")\n", + "da_s.isel(time=2).plot(y=\"depth\")\n", + "# da_s.isel(time=5).plot(y=\"depth\")\n", + "# da_s.isel(time=9).plot(y=\"depth\")\n", + "# da_s.isel(time=19).plot(y=\"depth\")" + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "metadata": { + "collapsed": true, + "jupyter": { + "outputs_hidden": true + } + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " T0 T1\n", + "0 23.8289 21.4762\n", + "1 24.5803 22.4195\n", + "2 25.3318 23.2396\n", + "3 26.0832 24.5699\n", + "4 26.7287 25.8374\n", + "5 27.3742 26.7958\n", + "6 28.0197 27.5279\n", + "7 28.6652 28.0974\n", + "8 29.3107 28.5115\n", + "9 29.1801 28.6945\n", + "10 29.0495 28.7665\n", + "11 28.9190 28.7765\n", + "12 28.7884 28.7558\n", + "13 28.6578 28.7284\n", + "14 28.5272 28.7156\n", + "15 28.3966 28.7644\n", + "16 28.2661 28.9214\n", + "17 28.1355 29.1866\n", + "18 28.0049 29.0455\n", + "19 27.8743 24.1795\n", + "20 23.0000 23.0000\n", + "21 23.0000 23.0000\n", + "22 23.0000 23.0000\n", + "23 23.0000 23.0000\n", + "24 23.0000 23.0000\n", + "25 23.0000 23.0000\n", + "26 23.0000 23.0000\n", + "27 23.0000 23.0000\n", + "28 23.0000 23.0000\n", + "29 23.0000 23.0000\n", + "30 23.0000 23.0000\n", + "31 23.0000 23.0000\n", + "32 23.0000 23.0000\n", + "33 23.0000 23.0000\n", + "34 23.0000 23.0000\n", + "35 23.0000 23.0000\n", + "36 23.0000 23.0000\n", + "37 23.0000 23.0000\n", + "38 23.0000 23.0000\n", + "39 23.0000 23.0000\n", + "40 23.0000 23.0000\n", + "41 23.0000 23.0000\n", + "42 23.0000 23.0000\n", + "43 23.0000 23.0000\n", + "44 23.0000 23.0000\n", + "45 23.0000 23.0000\n", + "46 23.0000 23.0000\n", + "47 23.0000 23.0000\n", + "48 23.0000 23.0000\n", + "49 23.0000 23.0000\n", + "50 23.0000 23.0000\n", + "51 23.0000 23.0000\n", + "52 23.0000 23.0000\n", + "53 23.0000 23.0000\n" + ] + } + ], + "source": [ + "\n", + "df = pd.DataFrame({'T0': da_t.isel(time=0).values, 'T1': da_t.isel(time=1).values})\n", + "\n", + "print(df)" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "DE-Seh_2008-2010_FLUXNET2015_Met.nc b'Croplands '\n", + "AU-Gin_2012-2017_OzFlux_Met.nc b'Woody Savannas '\n", + "IT-Col_2007-2014_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", + "US-GLE_2009-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "IT-LMa_2003-2004_LaThuile_Met.nc b'Deciduous Broadleaf Forests '\n", + "AU-Cum_2013-2018_OzFlux_Met.nc b'Evergreen Broadleaf Forests '\n", + "US-Ne2_2002-2012_FLUXNET2015_Met.nc b'Croplands: Lands covered with temporary crops followed by harvest and a bare soil period '\n", + "ZA-Kru_2000-2002_FLUXNET2015_Met.nc b'Savannas '\n", + "FR-Lq1_2004-2006_LaThuile_Met.nc b'Grasslands '\n", + "CA-NS4_2003-2004_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "AU-GWW_2013-2017_OzFlux_Met.nc b'Savannas '\n", + "AU-Stp_2010-2017_OzFlux_Met.nc b'Grasslands '\n", + "US-Twt_2010-2014_FLUXNET2015_Met.nc b'Croplands: Lands covered with temporary crops followed by harvest and a bare soil period '\n", + "US-SRG_2009-2014_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "UK-Ham_2004-2004_LaThuile_Met.nc b'Deciduous Broadleaf Forest '\n", + "IT-Ren_2010-2013_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "CN-Qia_2003-2005_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", + "US-Syv_2002-2008_FLUXNET2015_Met.nc b'Mixed Forests '\n", + "ES-LMa_2004-2006_LaThuile_Met.nc b'Savannas '\n", + "DE-Meh_2004-2006_LaThuile_Met.nc b'Mixed Forests '\n", + "HU-Bug_2003-2006_LaThuile_Met.nc b'Grasslands '\n", + "AU-Lit_2016-2017_OzFlux_Met.nc b'Woody Savannas '\n", + "ZM-Mon_2008-2008_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", + "FR-Gri_2005-2013_FLUXNET2015_Met.nc b'Croplands: Lands covered with temporary crops followed by harvest and a bare soil period '\n", + "PL-wet_2004-2005_LaThuile_Met.nc b'Permanent Wetlands '\n", + "AU-How_2003-2017_OzFlux_Met.nc b'Woody Savannas '\n", + "CA-Qcu_2002-2006_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", + "PT-Mi2_2005-2006_LaThuile_Met.nc b'Grasslands '\n", + "RU-Che_2003-2004_FLUXNET2015_Met.nc b'Permanent Wetlands: Lands with a permanent mixture of water and herbaceous or woody vegetation that cover extensive areas. The vegetation can be present in either salt, brackish, or fresh water '\n", + "IT-Isp_2013-2014_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Consists of broadleaf tree communities with an annual cycle of leaf-on and le'\n", + "DK-Fou_2005-2005_FLUXNET2015_Met.nc b'Croplands '\n", + "US-Cop_2002-2003_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "CA-NS7_2003-2004_FLUXNET2015_Met.nc b'Open Shrublands '\n", + "US-Aud_2003-2005_LaThuile_Met.nc b'Grasslands '\n", + "IT-BCi_2005-2010_FLUXNET2015_Met.nc b'Croplands '\n", + "US-AR1_2010-2012_FLUXNET2015_Met.nc b'Grasslands '\n", + "DE-Geb_2001-2014_FLUXNET2015_Met.nc b'Croplands '\n", + "IT-Cpz_2001-2008_FLUXNET2015_Met.nc b'Evergreen Broadleaf Forests '\n", + "CH-Fru_2007-2014_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "AU-Rig_2011-2016_OzFlux_Met.nc b'Grasslands '\n", + "US-SP3_1999-2004_LaThuile_Met.nc b'Evergreen Broadleaf Forest '\n", + "US-MMS_1999-2014_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Consists of broadleaf tree communities with an annual cycle of leaf-on and le'\n", + "FI-Sod_2008-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "NL-Ca1_2003-2006_LaThuile_Met.nc b'Grasslands '\n", + "DK-ZaH_2000-2013_FLUXNET2015_Met.nc b'Grasslands '\n", + "US-WCr_1999-2006_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", + "AU-Cow_2010-2015_OzFlux_Met.nc b'Evergreen Broadleaf Forest '\n", + "AU-Wrr_2016-2017_OzFlux_Met.nc b'Evergreen Broadleaf Forests '\n", + "US-Ne3_2002-2012_FLUXNET2015_Met.nc b'Croplands '\n", + "AU-Sam_2011-2017_OzFlux_Met.nc b'Grasslands '\n", + "CA-SF2_2003-2005_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "US-UMB_2000-2014_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", + "CA-SF1_2004-2006_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "US-FPe_2000-2006_LaThuile_Met.nc b'Grasslands '\n", + "CA-Qfo_2004-2010_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "DE-Tha_1998-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "US-NR1_1999-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "US-Me4_1996-2000_LaThuile_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", + "CA-NS6_2002-2004_FLUXNET2015_Met.nc b'Open Shrublands '\n", + "US-Bkg_2005-2006_LaThuile_Met.nc b'Grasslands '\n", + "AU-DaP_2009-2012_OzFlux_Met.nc b'Grasslands '\n", + "IT-CA3_2012-2013_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Consists of broadleaf tree communities with an annual cycle of leaf-on and le'\n", + "FR-Pue_2000-2014_FLUXNET2015_Met.nc b'Evergreen Broadleaf Forests '\n", + "US-Wkg_2005-2014_FLUXNET2015_Met.nc b'Grasslands '\n", + "NL-Loo_1997-2013_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "US-SP1_2005-2005_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", + "US-Ne1_2002-2012_FLUXNET2015_Met.nc b'Croplands '\n", + "IT-Noe_2004-2014_FLUXNET2015_Met.nc b'Closed Shrublands: Lands with woody vegetation less than 2 meters tall and with shrub canopy cover >60%. The shrub foliage can be either evergreen or deciduous. '\n", + "US-AR2_2010-2011_FLUXNET2015_Met.nc b'Grasslands '\n", + "AU-DaS_2010-2017_OzFlux_Met.nc b'Savannas '\n", + "AU-Dry_2011-2015_OzFlux_Met.nc b'Savannas '\n", + "US-Ha1_1992-2012_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", + "FR-Hes_1997-2006_LaThuile_Met.nc b'Deciduous Broadleaf Forest '\n", + "IE-Dri_2003-2005_LaThuile_Met.nc b'Grasslands '\n", + "CH-Cha_2006-2014_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "SE-Deg_2002-2005_LaThuile_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "BE-Bra_2004-2014_FLUXNET2015_Met.nc b'Mixed Forests '\n", + "CN-HaM_2002-2003_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "US-SP2_2000-2004_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", + "PT-Esp_2002-2004_LaThuile_Met.nc b'Evergreen Broadleaf Forest '\n", + "DE-Gri_2004-2014_FLUXNET2015_Met.nc b'Grasslands '\n", + "JP-SMF_2003-2006_FLUXNET2015_Met.nc b'Mixed Forests '\n", + "IT-Lav_2005-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "FR-Fon_2005-2013_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", + "US-Me6_2011-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", + "IT-PT1_2003-2004_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", + "CH-Oe1_2002-2008_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "DK-Lva_2005-2006_LaThuile_Met.nc b'Grasslands '\n", + "IT-Non_2002-2002_LaThuile_Met.nc b'Deciduous Broadleaf Forest '\n", + "CN-Du2_2007-2008_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "PT-Mi1_2005-2005_LaThuile_Met.nc b'Evergreen Broadleaf Forest '\n", + "SD-Dem_2005-2009_FLUXNET2015_Met.nc b'Savannas: Lands with herbaceous and other understory systems, and with forest canopy cover between 10-30%. The forest cover height exceeds 2 meters. '\n", + "IT-CA2_2012-2013_FLUXNET2015_Met.nc b'Croplands: Lands covered with temporary crops followed by harvest and a bare soil period '\n", + "CZ-wet_2007-2014_FLUXNET2015_Met.nc b'Permanent Wetlands: Lands with a permanent mixture of water and herbaceous or woody vegetation that cover extensive areas. The vegetation can be present in either salt, brackish, or fresh water '\n", + "UK-PL3_2005-2006_LaThuile_Met.nc b'Mixed Forests '\n", + "NL-Hor_2008-2011_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "CN-Dan_2004-2005_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "ES-ES2_2005-2006_LaThuile_Met.nc b'Croplands '\n", + "IE-Ca1_2004-2006_LaThuile_Met.nc b'Croplands '\n", + "RU-Fyo_2003-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", + "US-Goo_2004-2006_LaThuile_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "IT-SRo_2003-2012_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", + "CA-NS2_2002-2004_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "RU-Zot_2003-2003_LaThuile_Met.nc b'Woody Savannas '\n", + "DE-Obe_2008-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", + "FI-Hyy_1996-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "BE-Vie_1997-2014_FLUXNET2015_Met.nc b'Mixed Forests '\n", + "CA-NS1_2003-2003_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "AT-Neu_2002-2012_FLUXNET2015_Met.nc b'Grasslands '\n", + "US-Me2_2002-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "AU-ASM_2011-2017_OzFlux_Met.nc b'Evergreen Needleleaf Forests '\n", + "AU-Otw_2009-2010_OzFlux_Met.nc b'Grasslands '\n", + "DE-Kli_2005-2014_FLUXNET2015_Met.nc b'Croplands: Lands covered with temporary crops followed by harvest and a bare soil period '\n", + "AU-Ync_2011-2017_OzFlux_Met.nc b'Grasslands '\n", + "US-Los_2000-2008_FLUXNET2015_Met.nc b'Permanent Wetlands '\n", + "DE-Wet_2002-2006_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", + "AU-Ctr_2010-2017_OzFlux_Met.nc b'Evergreen Broadleaf Forest '\n", + "US-MOz_2005-2006_LaThuile_Met.nc b'Deciduous Broadleaf Forest '\n", + "US-Blo_2000-2006_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "ID-Pag_2002-2003_LaThuile_Met.nc b'Evergreen Broadleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees and shrubs remain green year round. Canopy is never without g'\n", + "AU-TTE_2013-2017_OzFlux_Met.nc b'Open Shrublands '\n", + "CN-Cha_2003-2005_FLUXNET2015_Met.nc b'Mixed Forests '\n", + "US-KS2_2003-2006_FLUXNET2015_Met.nc b'Closed Shrublands '\n", + "US-Whs_2008-2014_FLUXNET2015_Met.nc b'Open Shrublands: Lands with woody vegetation less than 2 meters tall and with shrub canopy cover between 10-60%. The shrub foliage can be either evergreen or deciduous. '\n", + "ES-ES1_1999-2006_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", + "DE-Hai_2000-2012_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", + "BR-Sa3_2001-2003_FLUXNET2015_Met.nc b'Evergreen Broadleaf Forests '\n", + "US-Bo1_1997-2006_LaThuile_Met.nc b'Croplands '\n", + "DK-Ris_2004-2005_LaThuile_Met.nc b'Croplands '\n", + "ES-VDA_2004-2004_LaThuile_Met.nc b'Grasslands '\n", + "US-Prr_2011-2013_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", + "CN-Cng_2008-2009_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "IT-Amp_2003-2006_LaThuile_Met.nc b'Grasslands '\n", + "US-ARM_2003-2012_FLUXNET2015_Met.nc b'Croplands '\n", + "CH-Dav_1997-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "US-Tw4_2014-2014_FLUXNET2015_Met.nc b'Permanent Wetlands: Lands with a permanent mixture of water and herbaceous or woody vegetation that cover extensive areas. The vegetation can be present in either salt, brackish, or fresh water '\n", + "CA-NS5_2003-2004_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "US-Myb_2011-2014_FLUXNET2015_Met.nc b'Permanent Wetlands '\n", + "IT-CA1_2012-2013_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", + "US-PFa_1995-2014_FLUXNET2015_Met.nc b'Mixed Forests '\n", + "IT-Mal_2003-2003_LaThuile_Met.nc b'Grasslands '\n", + "AR-SLu_2010-2010_FLUXNET2015_Met.nc b'Mixed Forests '\n", + "AU-Cpr_2011-2017_OzFlux_Met.nc b'Savannas '\n", + "GF-Guy_2004-2014_FLUXNET2015_Met.nc b'Evergreen Broadleaf Forests '\n", + "BW-Ma1_2000-2000_LaThuile_Met.nc b'Savannas '\n", + "US-Var_2001-2014_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "US-Bar_2005-2005_LaThuile_Met.nc b'Mixed Forests '\n", + "FR-LBr_2003-2008_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", + "BE-Lon_2005-2014_FLUXNET2015_Met.nc b'Croplands '\n", + "AU-Rob_2014-2017_OzFlux_Met.nc b'Evergreen Broadleaf Forests '\n", + "IT-SR2_2013-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", + "ES-LgS_2007-2007_FLUXNET2015_Met.nc b'Open Shrublands '\n", + "FI-Lom_2007-2009_FLUXNET2015_Met.nc b'Permanent Wetlands: Lands with a permanent mixture of water and herbaceous or woody vegetation that cover extensive areas. The vegetation can be present in either salt, brackish, or fresh water '\n", + "IT-Ro1_2002-2006_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", + "AU-Emr_2012-2013_OzFlux_Met.nc b'Grasslands '\n", + "IT-MBo_2003-2012_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", + "CN-Din_2003-2005_FLUXNET2015_Met.nc b'Evergreen Broadleaf Forests '\n", + "DE-Bay_1997-1999_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", + "UK-Gri_2000-2001_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", + "DE-SfN_2013-2014_FLUXNET2015_Met.nc b'Permanent Wetlands '\n", + "US-Ho1_1996-2004_LaThuile_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", + "DK-Sor_1997-2014_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", + "FI-Kaa_2000-2002_LaThuile_Met.nc b'Permanent Wetlands '\n", + "US-SRM_2004-2014_FLUXNET2015_Met.nc b'Woody Savannas '\n", + "US-Ton_2001-2014_FLUXNET2015_Met.nc b'Woody Savannas '\n", + "FR-Lq2_2004-2006_LaThuile_Met.nc b'Grasslands '\n", + "IT-Ro2_2002-2008_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Consists of broadleaf tree communities with an annual cycle of leaf-on and le'\n", + "AU-Whr_2015-2016_OzFlux_Met.nc b'Evergreen Broadleaf Forests '\n", + "CA-SF3_2003-2005_FLUXNET2015_Met.nc b'Open Shrublands '\n", + "AU-Tum_2002-2017_OzFlux_Met.nc b'Evergreen Broadleaf Forests '\n" + ] + } + ], + "source": [ + "import xarray as xr\n", + "from pathlib import Path\n", + "\n", + "# Specify the directory\n", + "dir_path = Path('/home/sarah/temp/ecoextreml/data/forcing/plumber2_data')\n", + "\n", + "# Loop over the files in the directory\n", + "for file_path in dir_path.iterdir():\n", + " \n", + " ds_forcing = xr.open_dataset(file_path)\n", + " print(file_path.name, ds_forcing[\"IGBP_veg_long\"].values)" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[]" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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SpJyc3OVmpqqjh07BsesX79e06dPD26Xm5ur9PT0pjkgAADQ6rWKa4727t2rYcOGqXv37nr00Ud14MABeb3ekGuFxo8fL4/Ho6ysLG3dulWrVq3S0qVLlZ2dHRxz5513au3atVq8eLEKCgq0cOFCbdy4UbfffrsThwUAAMKQo2eO6is3N1c7duzQjh071K1bt5C+6jsRJCQkaN26dbrtttuUlpamTp06af78+br55puDYwcPHqwXX3xR8+bN0z333KMLLrhAr7/+ui655JIWPR4AABC+Wu19jpzSkPskAACA+uM+RwAAAGGIcAQAAGAgHAEAABgIRwAAAAbCEQAAgIFwBAAAYCAcAQAAGAhHAAAABsIRAACAodG3njx8+LA+/vhj7d+/X4FAIKRvwoQJZ1wYAACAExoVjt58801df/31OnLkiOLj42VZVrDPsizCEQAAaLUa9bbajBkzdNNNN+nIkSM6fPiwDh06FFyKioqaukYAAIAW06hwtHfvXk2bNk2xsbFNXQ8AAICjGhWOMjIytHHjxqauBQAAwHH1vubojTfeCD6/+uqrNXPmTH3++efq37+/IiMjQ8Zec801TVchAABAC6p3OMrMzKzRdt9999VosyxLfr//jIoCAABwSr3D0akf1wcAADgbNeqaoxdeeEGlpaU12svKyvTCCy+ccVEAAABOaVQ4mjx5soqLi2u0l5SUaPLkyWdcFAAAgFMaFY5s2w658WO1b7/9VgkJCWdcFAAAgFMadIfsyy+/XJZlybIs/fSnP1VExMnN/X6/du7cqVGjRjV5kQAAAC2lQeGo+hNr+fn5ysjIULt27YJ9Ho9HPXv21L/92781aYEAAAAtqUHhaMGCBZKknj17auzYsYqOjm6WogAAAJzSqC+enThxoiRp48aN2rZtmySpX79+SktLa7rKAAAAHNCocLR3715dd911+uCDD9ShQwdJ0uHDhzV48GC99NJL6tatW1PWCAAA0GIa9Wm1rKwslZeXa9u2bSoqKlJRUZG2bdumQCCgX//6101dIwAAQItp1Jmj9957Txs2bFBqamqwLTU1VU888YSGDBnSZMUBAAC0tEadOUpJSVF5eXmNdr/fr65du55xUQAAAE5pVDjKycnRHXfcoY0bNwbbNm7cqDvvvFOPPvpokxUHAADQ0hr1ttqkSZN07NgxDRo0KHgjyIqK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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "import numpy as np\n", + "import xarray as xr\n", + "\n", + "# Read the CSV file\n", + "csv_path = \"/home/sarah/temp/ecoextreml/test/output/DE-Geb_2024-08-01-1043/Sim_Temp.csv\"\n", + "\n", + "# Read the CSV file\n", + "df = pd.read_csv(csv_path, header=None)\n", + "\n", + "# Get the first row as depths\n", + "depths = df.iloc[0].values\n", + "\n", + "# Get the rest of the data as soil_temperature\n", + "soil_temperature = df.iloc[3:].values\n", + "soil_temperature = soil_temperature.astype(float)\n", + "\n", + "# Create a time index\n", + "time = np.arange(1, len(df)-2)\n", + "\n", + "# Create the xarray DataArray\n", + "da_t = xr.DataArray(\n", + " data=soil_temperature,\n", + " dims=(\"time\", \"depth\"),\n", + " coords={\"time\": time, \"depth\": depths},\n", + ")\n", + "da_t['depth'] = da_t['depth'].astype(float) * -1\n", + "\n", + "da_t.isel(time=0).plot(y=\"depth\")\n", + "da_t.isel(time=1).plot(y=\"depth\")\n", + "da_t.isel(time=2).plot(y=\"depth\")\n", + "# da_t.isel(time=3).plot(y=\"depth\")\n", + "# da_t.isel(time=9).plot(y=\"depth\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "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.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/docs/notebooks/ex8.ipynb b/docs/notebooks/ex8.ipynb new file mode 100644 index 0000000..4374833 --- /dev/null +++ b/docs/notebooks/ex8.ipynb @@ -0,0 +1,1256 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import os\n", + "import sys\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib as mpl\n", + "from matplotlib import gridspec\n", + "import matplotlib.pyplot as plt\n", + "import flopy\n", + "from modflowapi import ModflowApi" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Model name and workspace" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [], + "source": [ + "folder_name = \"mf6_model\"\n", + "gwf_name = 'gwf'\n", + "gwe_name = 'gwe'\n", + "ws = os.path.join(\".\", folder_name)" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [], + "source": [ + "if sys.platform == \"win32\":\n", + " mf6_dll = \"libmf6.dll\"\n", + "else:\n", + " mf6_dll = \"libmf6.so\"\n", + "\n", + "if sys.platform == \"win32\":\n", + " exe_name = \"mf6.exe\"\n", + "else:\n", + " exe_name = \"mf6\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + ".\\libmf6.dll True D:\\ITC\\PhD\\SSM\\MODFLOWAPI\\ex8_extend_ex7_add_gwe\n" + ] + } + ], + "source": [ + "mf6_dll = os.path.join(\".\", \"libmf6.dll\")\n", + "init_ws = os.path.abspath(os.getcwd())\n", + "print(mf6_dll, os.path.isfile(mf6_dll), init_ws)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Model parameters\n", + "\n", + "_Spatial and Temporal Discretization_" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [], + "source": [ + "nlay, nrow, ncol = 2, 1, 1\n", + "shape3d = (nlay, nrow, ncol)\n", + "shape2d = (nrow, ncol)\n", + "delr, delc = 1., 1\n", + "area = delr * delc\n", + "aquifer_thickness = 10.\n", + "dz = aquifer_thickness / nlay\n", + "#elevations = [2595] + np.arange(-dz, -(aquifer_thickness + dz), -dz).tolist()\n", + "elevations = [26.0, 26.0 - dz, 26.0 - 2*dz]\n", + "nper, pertime, nstp, tsmult = 10, 1, 48, 1" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_Hydraulic Properties_" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "k, ss, sy = 0.1, 1.5e-5, 0.05" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_Initial Conditions_" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "h0 = elevations[0] - 2.5" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_Evapotranspiration Data_" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Build a one-dimensional model\n", + "\n", + "_Simulation Object_" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "sim = flopy.mf6.MFSimulation(sim_name=folder_name, sim_ws=ws, verbosity_level=1, memory_print_option=\"all\", exe_name = exe_name)\n", + "tdis = flopy.mf6.ModflowTdis(sim, filename=f\"{gwf_name}.tdis\", time_units=\"days\", nper=nper, perioddata=((pertime, nstp, tsmult),)*nper,)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_Groundwater Flow Model_" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [], + "source": [ + "gwf = flopy.mf6.ModflowGwf(sim, modelname=gwf_name, newtonoptions=\"NEWTON UNDER_RELAXATION\", save_flows=True)\n", + "ims_gwf = flopy.mf6.ModflowIms(sim, print_option=\"summary\", complexity=\"MODERATE\", filename=f\"{gwf_name}.ims\",\n", + " outer_maximum= 500, under_relaxation=\"dbd\",\n", + " linear_acceleration=\"bicgstab\", rcloserecord=[1e-6, \"strict\"],inner_dvclose=1e-8,outer_dvclose=1e-9,);\n", + "sim.register_ims_package(ims_gwf, [gwf.name]) " + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [], + "source": [ + "dis_gwf = flopy.mf6.ModflowGwfdis(gwf, length_units=\"meters\", nlay=nlay, nrow=nrow, ncol=ncol, \n", + " delr=delr, delc=delc, top=elevations[0], botm=elevations[1:])\n", + "npf = flopy.mf6.ModflowGwfnpf(gwf, icelltype=1, k=k)\n", + "sto = flopy.mf6.ModflowGwfsto(gwf, iconvert=1, ss=ss, sy=sy)\n", + "ic = flopy.mf6.ModflowGwfic(gwf, strt=h0)\n", + "#api = flopy.mf6.ModflowGwfapi(gwf, pname=\"bmi-et\", maxbound=1,)\n", + "rch = flopy.mf6.ModflowGwfrch(gwf, pname=\"rch_0\", maxbound=10, save_flows=True, stress_period_data = [((0, 0, 0), 0.0001, 0)], auxiliary=[\"TEMPERATURE\"])\n", + "#oc = flopy.mf6.ModflowGwfoc(gwf, printrecord={0: [(\"BUDGET\", \"ALL\")]})\n", + "oc_gwf = flopy.mf6.ModflowGwfoc(gwf, budget_filerecord = '{}.cbc'.format(gwf_name), \n", + " budgetcsv_filerecord = '{}.cbc.csv'.format(gwf_name),\n", + " head_filerecord = '{}.hds'.format(gwf_name),\n", + " saverecord = [('HEAD', 'ALL'),('BUDGET', 'LAST')],\n", + " printrecord = [('HEAD', 'ALL'),('BUDGET', 'LAST')])\n", + "obs_lst = []\n", + "for k in range(nlay):\n", + " obs_lst.append([\"H{:02d}\".format(k+1), \"HEAD\", (k, 0, 0)])\n", + "obs_gwf = flopy.mf6.ModflowUtlobs(gwf, print_input=False, continuous={\"gwhead.csv\": obs_lst});" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_Groundwater Heat Model_" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [], + "source": [ + "gwe = flopy.mf6.ModflowGwe(sim, modelname=gwe_name, save_flows=True)\n", + "ims_gwe = flopy.mf6.ModflowIms(sim, print_option=\"summary\", filename=f\"{gwe_name}.ims\", complexity=\"SIMPLE\",\n", + " linear_acceleration=\"bicgstab\", rcloserecord=[1e-6, \"strict\"],inner_dvclose=1e-8,outer_dvclose=1e-9,);\n", + "sim.register_ims_package(ims_gwe, [gwe.name])" + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [], + "source": [ + "strt_temp = 10.0 # Initial temperature ($^{\\circ}C$)\n", + "scheme = \"Upstream\" # Advection scheme ($-$)\n", + "alh = 0.0 # No mechanical dispersion ($m^2/day$)\n", + "ath1 = 0.0 # No transverse dispersivity ($m^2/day$)\n", + "dispersivity = 0.0 # Longitudinal mechanical dispersion term ($m$)\n", + "porosity = 0.2 # Porosity ($-$)\n", + "rhos = 1500.0 # Density of dry solid aquifer material ($\\frac{kg}{m^3}$)\n", + "cps = 760.0 # Heat capacity of dry solid aquifer material ($\\frac{J}{kg \\cdot ^{\\circ} C}$)\n", + "rhow = 1000.0 # Density of water ($\\frac{kg}{m^3}$)\n", + "cpw = 4183.0 # Heat capacity of water ($\\frac{J}{kg \\cdot ^{\\circ} C}$)\n", + "lhv = 2500.0 # Latent heat of vaporization\n", + "ktw = 0.5918 # Thermal conductivity of water ($\\frac{W}{m \\cdot ^{\\circ} C}$)\n", + "kts = 0.27 # Thermal conductivity of solid aquifer material ($\\frac{W}{m \\cdot ^{\\circ} C}$)" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nobsgwe_lst = []\\nfor k in range(nlay):\\n obsgwe_lst.append([\"T{:02d}\".format(k+1), \"TEMPERATURE\", (k, 0, 0)])\\nobs_gwe = flopy.mf6.ModflowUtlobs(gwe, print_input=False, continuous={\"gwtemp.csv\": obsgwe_lst});\\n'" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Instantiating MODFLOW 6 transport discretization package\n", + "dis_gwe = flopy.mf6.ModflowGwedis(gwe, length_units=\"meters\", nlay=nlay, nrow=nrow, ncol=ncol, \n", + " delr=delr, delc=delc, top=elevations[0], botm=elevations[1:])\n", + "# Instantiating MODFLOW 6 transport initial concentrations\n", + "ic_gwe = flopy.mf6.ModflowGweic(gwe, strt=strt_temp, pname=\"IC\", filename=f\"{gwe_name}.ic\",)\n", + "# Instantiating MODFLOW 6 transport advection package\n", + "adv = flopy.mf6.ModflowGweadv(gwe, scheme=scheme, pname=\"ADV\", filename=\"{}.adv\".format(gwe_name))\n", + "# Instantiating MODFLOW 6 transport dispersion package\n", + "cnd = flopy.mf6.ModflowGwecnd(gwe, xt3d_off=False, alh=alh, ath1=ath1, ktw=ktw * 86400, \n", + " kts=kts * 86400, pname=\"CND\",filename=f\"{gwe_name}.cnd\",)\n", + "# Instantiating MODFLOW 6 transport mass storage package\n", + "est = flopy.mf6.ModflowGweest(gwe, save_flows=True, porosity=porosity, cps=cps, rhos=rhos,\n", + " packagedata=[cpw, rhow, lhv], pname=\"EST\", filename=f\"{gwe_name}.est\",)\n", + "# Instantiating MODFLOW 6 source/sink mixing package\n", + "sourcerecarray = [ (\"rch_0\", \"AUX\", \"TEMPERATURE\") ]\n", + "ssm = flopy.mf6.ModflowGwessm(gwe, sources = sourcerecarray, filename = \"{}.ssm\".format(gwe_name))\n", + "\n", + "oc_gwe = flopy.mf6.ModflowGweoc(gwe, budget_filerecord = '{}.cbc'.format(gwe_name), \n", + " budgetcsv_filerecord = '{}.cbc.csv'.format(gwe_name),\n", + " temperature_filerecord=\"{}.ucn\".format(gwe_name),\n", + " saverecord = [('TEMPERATURE', 'LAST'),('BUDGET', 'LAST')],\n", + " printrecord = [('TEMPERATURE', 'LAST'),('BUDGET', 'LAST')])\n", + "# The following lines are commented on for now because of an (bug) error (Observation type not found: TEMPERATURE)\n", + "'''\n", + "obsgwe_lst = []\n", + "for k in range(nlay):\n", + " obsgwe_lst.append([\"T{:02d}\".format(k+1), \"TEMPERATURE\", (k, 0, 0)])\n", + "obs_gwe = flopy.mf6.ModflowUtlobs(gwe, print_input=False, continuous={\"gwtemp.csv\": obsgwe_lst});\n", + "'''" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "gwfgwe = flopy.mf6.ModflowGwfgwe(sim, exgtype='GWF6-GWE6', exgmnamea = gwf_name, exgmnameb = gwe_name, filename = 'gwf_gwe.gwfgwe')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_Write the Model Files_" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "writing simulation...\n", + " writing simulation name file...\n", + " writing simulation tdis package...\n", + " writing solution package ims_-1...\n", + " writing solution package ims_0...\n", + " writing package gwf_gwe.gwfgwe...\n", + " writing model gwf...\n", + " writing model name file...\n", + " writing package dis...\n", + " writing package npf...\n", + " writing package sto...\n", + " writing package ic...\n", + " writing package rch_0...\n", + " writing package oc...\n", + " writing package obs_0...\n", + " writing model gwe...\n", + " writing model name file...\n", + " writing package dis...\n", + " writing package ic...\n", + " writing package adv...\n", + " writing package cnd...\n", + " writing package est...\n", + " writing package ssm...\n", + " writing package oc...\n" + ] + } + ], + "source": [ + "sim.write_simulation()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "_Retrieve a few processed items from the GWF model_" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(1, 1) (2, 1, 1)\n", + "[[26.]] [[16.]]\n" + ] + } + ], + "source": [ + "gwf_top = gwf.dis.top.array\n", + "gwf_botm = gwf.dis.botm.array\n", + "print(gwf_top.shape, gwf_botm.shape)\n", + "print(gwf_top, gwf_botm[-1])" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# forward model run\n", + "#success, buff = sim.run_simulation()" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([500])" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\n", + "verbose, success = False, False\n", + "\n", + "mf6_config_file = os.path.join(ws, 'mfsim.nam')\n", + "mf6 = ModflowApi(mf6_dll, working_directory=ws)\n", + "\n", + "# initialize the model\n", + "mf6.initialize(mf6_config_file)\n", + "\n", + "# time loop\n", + "current_time = mf6.get_current_time()\n", + "end_time = mf6.get_end_time()\n", + "\n", + "# get pointer to simulated heads\n", + "head_tag = mf6.get_var_address(\"X\", gwf_name.upper())\n", + "temp_tag = mf6.get_var_address(\"X\", gwe_name.upper())\n", + "\n", + "head = mf6.get_value_ptr(head_tag)\n", + "temp = mf6.get_value_ptr(temp_tag)\n", + "\n", + "# maximum outer iterations\n", + "max_iter = mf6.get_value(mf6.get_var_address(\"MXITER\", \"SLN_1\"))\n", + "max_iter\n" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([23.5, 23.5]), array([10., 10.]))" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "head, temp" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [], + "source": [ + "# get pointers to API data\n", + "rch_address = mf6.get_var_address(\"RECHARGE\", gwf_name.upper(), \"RCH_0\")\n", + "rch = mf6.get_value(rch_address)" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Updating Time step: 1 Head = 23.5 Temp = 10.0\n", + "Updating Time step: 2 Head = 23.5 Temp = 10.0\n", + "Updating Time step: 3 Head = 23.5 Temp = 10.0\n", + "Updating Time step: 4 Head = 23.5 Temp = 10.0\n", + "Updating Time step: 5 Head = 23.5 Temp = 10.0\n", + "Updating Time step: 6 Head = 23.5 Temp = 10.0\n", + "Updating Time step: 7 Head = 23.5 Temp = 10.0\n", + "Updating Time step: 8 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 9 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 10 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 11 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 12 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 13 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 14 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 15 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 16 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 17 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 18 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 19 Head = 23.51 Temp = 10.0\n", + "Updating Time step: 20 Head = 23.52 Temp = 10.0\n", + "Updating Time step: 21 Head = 23.52 Temp = 10.0\n", + "Updating Time step: 22 Head = 23.52 Temp = 9.99\n", + "Updating Time step: 23 Head = 23.52 Temp = 9.99\n", + "Updating Time step: 24 Head = 23.52 Temp = 9.99\n", + "Updating Time step: 25 Head = 23.52 Temp = 9.99\n", + "Updating Time step: 26 Head = 23.52 Temp = 9.99\n", + "Updating Time step: 27 Head = 23.52 Temp = 9.99\n", + "Updating Time step: 28 Head = 23.52 Temp = 9.99\n", + "Updating Time step: 29 Head = 23.52 Temp = 9.99\n", + "Updating Time step: 30 Head = 23.52 Temp = 9.99\n", + "Updating Time step: 31 Head = 23.52 Temp = 9.99\n", + "Updating Time step: 32 Head = 23.52 Temp = 9.99\n", + "Updating Time step: 33 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 34 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 35 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 36 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 37 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 38 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 39 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 40 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 41 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 42 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 43 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 44 Head = 23.53 Temp = 9.99\n", + "Updating Time step: 45 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 46 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 47 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 48 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 49 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 50 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 51 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 52 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 53 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 54 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 55 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 56 Head = 23.54 Temp = 9.99\n", + "Updating Time step: 57 Head = 23.55 Temp = 9.99\n", + "Updating Time step: 58 Head = 23.55 Temp = 9.99\n", + "Updating Time step: 59 Head = 23.55 Temp = 9.99\n", + "Updating Time step: 60 Head = 23.55 Temp = 9.98\n", + "Updating Time step: 61 Head = 23.55 Temp = 9.98\n", + "Updating Time step: 62 Head = 23.55 Temp = 9.98\n", + "Updating Time step: 63 Head = 23.55 Temp = 9.98\n", + "Updating Time step: 64 Head = 23.55 Temp = 9.98\n", + "Updating Time step: 65 Head = 23.55 Temp = 9.98\n", + "Updating Time step: 66 Head = 23.55 Temp = 9.98\n", + "Updating Time step: 67 Head = 23.55 Temp = 9.98\n", + "Updating Time step: 68 Head = 23.55 Temp = 9.98\n", + "Updating Time step: 69 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 70 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 71 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 72 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 73 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 74 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 75 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 76 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 77 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 78 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 79 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 80 Head = 23.56 Temp = 9.98\n", + "Updating Time step: 81 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 82 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 83 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 84 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 85 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 86 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 87 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 88 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 89 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 90 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 91 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 92 Head = 23.57 Temp = 9.98\n", + "Updating Time step: 93 Head = 23.58 Temp = 9.98\n", + "Updating Time step: 94 Head = 23.58 Temp = 9.98\n", + "Updating Time step: 95 Head = 23.58 Temp = 9.98\n", + "Updating Time step: 96 Head = 23.58 Temp = 9.98\n", + "Updating Time step: 97 Head = 23.58 Temp = 9.98\n", + "Updating Time step: 98 Head = 23.58 Temp = 9.98\n", + "Updating Time step: 99 Head = 23.58 Temp = 9.97\n", + "Updating Time step: 100 Head = 23.58 Temp = 9.97\n", + "Updating Time step: 101 Head = 23.58 Temp = 9.97\n", + "Updating Time step: 102 Head = 23.58 Temp = 9.97\n", + "Updating Time step: 103 Head = 23.58 Temp = 9.97\n", + "Updating Time step: 104 Head = 23.58 Temp = 9.97\n", + "Updating Time step: 105 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 106 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 107 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 108 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 109 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 110 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 111 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 112 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 113 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 114 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 115 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 116 Head = 23.59 Temp = 9.97\n", + "Updating Time step: 117 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 118 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 119 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 120 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 121 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 122 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 123 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 124 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 125 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 126 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 127 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 128 Head = 23.6 Temp = 9.97\n", + "Updating Time step: 129 Head = 23.61 Temp = 9.97\n", + "Updating Time step: 130 Head = 23.61 Temp = 9.97\n", + "Updating Time step: 131 Head = 23.61 Temp = 9.97\n", + "Updating Time step: 132 Head = 23.61 Temp = 9.97\n", + "Updating Time step: 133 Head = 23.61 Temp = 9.97\n", + "Updating Time step: 134 Head = 23.61 Temp = 9.97\n", + "Updating Time step: 135 Head = 23.61 Temp = 9.97\n", + "Updating Time step: 136 Head = 23.61 Temp = 9.97\n", + "Updating Time step: 137 Head = 23.61 Temp = 9.96\n", + "Updating Time step: 138 Head = 23.61 Temp = 9.96\n", + "Updating Time step: 139 Head = 23.61 Temp = 9.96\n", + "Updating Time step: 140 Head = 23.61 Temp = 9.96\n", + "Updating Time step: 141 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 142 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 143 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 144 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 145 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 146 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 147 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 148 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 149 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 150 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 151 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 152 Head = 23.62 Temp = 9.96\n", + "Updating Time step: 153 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 154 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 155 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 156 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 157 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 158 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 159 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 160 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 161 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 162 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 163 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 164 Head = 23.63 Temp = 9.96\n", + "Updating Time step: 165 Head = 23.64 Temp = 9.96\n", + "Updating Time step: 166 Head = 23.64 Temp = 9.96\n", + "Updating Time step: 167 Head = 23.64 Temp = 9.96\n", + "Updating Time step: 168 Head = 23.64 Temp = 9.96\n", + "Updating Time step: 169 Head = 23.64 Temp = 9.96\n", + "Updating Time step: 170 Head = 23.64 Temp = 9.96\n", + "Updating Time step: 171 Head = 23.64 Temp = 9.96\n", + "Updating Time step: 172 Head = 23.64 Temp = 9.96\n", + "Updating Time step: 173 Head = 23.64 Temp = 9.96\n", + "Updating Time step: 174 Head = 23.64 Temp = 9.96\n", + "Updating Time step: 175 Head = 23.64 Temp = 9.96\n", + "Updating Time step: 176 Head = 23.64 Temp = 9.95\n", + "Updating Time step: 177 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 178 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 179 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 180 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 181 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 182 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 183 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 184 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 185 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 186 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 187 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 188 Head = 23.65 Temp = 9.95\n", + "Updating Time step: 189 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 190 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 191 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 192 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 193 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 194 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 195 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 196 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 197 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 198 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 199 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 200 Head = 23.66 Temp = 9.95\n", + "Updating Time step: 201 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 202 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 203 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 204 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 205 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 206 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 207 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 208 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 209 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 210 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 211 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 212 Head = 23.67 Temp = 9.95\n", + "Updating Time step: 213 Head = 23.68 Temp = 9.95\n", + "Updating Time step: 214 Head = 23.68 Temp = 9.95\n", + "Updating Time step: 215 Head = 23.68 Temp = 9.95\n", + "Updating Time step: 216 Head = 23.68 Temp = 9.94\n", + "Updating Time step: 217 Head = 23.68 Temp = 9.94\n", + "Updating Time step: 218 Head = 23.68 Temp = 9.94\n", + "Updating Time step: 219 Head = 23.68 Temp = 9.94\n", + "Updating Time step: 220 Head = 23.68 Temp = 9.94\n", + "Updating Time step: 221 Head = 23.68 Temp = 9.94\n", + "Updating Time step: 222 Head = 23.68 Temp = 9.94\n", + "Updating Time step: 223 Head = 23.68 Temp = 9.94\n", + "Updating Time step: 224 Head = 23.68 Temp = 9.94\n", + "Updating Time step: 225 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 226 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 227 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 228 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 229 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 230 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 231 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 232 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 233 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 234 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 235 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 236 Head = 23.69 Temp = 9.94\n", + "Updating Time step: 237 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 238 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 239 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 240 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 241 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 242 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 243 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 244 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 245 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 246 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 247 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 248 Head = 23.7 Temp = 9.94\n", + "Updating Time step: 249 Head = 23.71 Temp = 9.94\n", + "Updating Time step: 250 Head = 23.71 Temp = 9.94\n", + "Updating Time step: 251 Head = 23.71 Temp = 9.94\n", + "Updating Time step: 252 Head = 23.71 Temp = 9.94\n", + "Updating Time step: 253 Head = 23.71 Temp = 9.94\n", + "Updating Time step: 254 Head = 23.71 Temp = 9.94\n", + "Updating Time step: 255 Head = 23.71 Temp = 9.93\n", + "Updating Time step: 256 Head = 23.71 Temp = 9.93\n", + "Updating Time step: 257 Head = 23.71 Temp = 9.93\n", + "Updating Time step: 258 Head = 23.71 Temp = 9.93\n", + "Updating Time step: 259 Head = 23.71 Temp = 9.93\n", + "Updating Time step: 260 Head = 23.71 Temp = 9.93\n", + "Updating Time step: 261 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 262 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 263 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 264 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 265 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 266 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 267 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 268 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 269 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 270 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 271 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 272 Head = 23.72 Temp = 9.93\n", + "Updating Time step: 273 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 274 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 275 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 276 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 277 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 278 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 279 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 280 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 281 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 282 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 283 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 284 Head = 23.73 Temp = 9.93\n", + "Updating Time step: 285 Head = 23.74 Temp = 9.93\n", + "Updating Time step: 286 Head = 23.74 Temp = 9.93\n", + "Updating Time step: 287 Head = 23.74 Temp = 9.93\n", + "Updating Time step: 288 Head = 23.74 Temp = 9.93\n", + "Updating Time step: 289 Head = 23.74 Temp = 9.93\n", + "Updating Time step: 290 Head = 23.74 Temp = 9.93\n", + "Updating Time step: 291 Head = 23.74 Temp = 9.93\n", + "Updating Time step: 292 Head = 23.74 Temp = 9.93\n", + "Updating Time step: 293 Head = 23.74 Temp = 9.93\n", + "Updating Time step: 294 Head = 23.74 Temp = 9.93\n", + "Updating Time step: 295 Head = 23.74 Temp = 9.92\n", + "Updating Time step: 296 Head = 23.74 Temp = 9.92\n", + "Updating Time step: 297 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 298 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 299 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 300 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 301 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 302 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 303 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 304 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 305 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 306 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 307 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 308 Head = 23.75 Temp = 9.92\n", + "Updating Time step: 309 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 310 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 311 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 312 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 313 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 314 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 315 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 316 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 317 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 318 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 319 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 320 Head = 23.76 Temp = 9.92\n", + "Updating Time step: 321 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 322 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 323 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 324 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 325 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 326 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 327 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 328 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 329 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 330 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 331 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 332 Head = 23.77 Temp = 9.92\n", + "Updating Time step: 333 Head = 23.78 Temp = 9.92\n", + "Updating Time step: 334 Head = 23.78 Temp = 9.92\n", + "Updating Time step: 335 Head = 23.78 Temp = 9.91\n", + "Updating Time step: 336 Head = 23.78 Temp = 9.91\n", + "Updating Time step: 337 Head = 23.78 Temp = 9.91\n", + "Updating Time step: 338 Head = 23.78 Temp = 9.91\n", + "Updating Time step: 339 Head = 23.78 Temp = 9.91\n", + "Updating Time step: 340 Head = 23.78 Temp = 9.91\n", + "Updating Time step: 341 Head = 23.78 Temp = 9.91\n", + "Updating Time step: 342 Head = 23.78 Temp = 9.91\n", + "Updating Time step: 343 Head = 23.78 Temp = 9.91\n", + "Updating Time step: 344 Head = 23.78 Temp = 9.91\n", + "Updating Time step: 345 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 346 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 347 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 348 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 349 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 350 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 351 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 352 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 353 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 354 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 355 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 356 Head = 23.79 Temp = 9.91\n", + "Updating Time step: 357 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 358 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 359 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 360 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 361 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 362 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 363 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 364 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 365 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 366 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 367 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 368 Head = 23.8 Temp = 9.91\n", + "Updating Time step: 369 Head = 23.81 Temp = 9.91\n", + "Updating Time step: 370 Head = 23.81 Temp = 9.91\n", + "Updating Time step: 371 Head = 23.81 Temp = 9.91\n", + "Updating Time step: 372 Head = 23.81 Temp = 9.91\n", + "Updating Time step: 373 Head = 23.81 Temp = 9.91\n", + "Updating Time step: 374 Head = 23.81 Temp = 9.91\n", + "Updating Time step: 375 Head = 23.81 Temp = 9.9\n", + "Updating Time step: 376 Head = 23.81 Temp = 9.9\n", + "Updating Time step: 377 Head = 23.81 Temp = 9.9\n", + "Updating Time step: 378 Head = 23.81 Temp = 9.9\n", + "Updating Time step: 379 Head = 23.81 Temp = 9.9\n", + "Updating Time step: 380 Head = 23.81 Temp = 9.9\n", + "Updating Time step: 381 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 382 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 383 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 384 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 385 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 386 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 387 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 388 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 389 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 390 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 391 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 392 Head = 23.82 Temp = 9.9\n", + "Updating Time step: 393 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 394 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 395 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 396 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 397 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 398 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 399 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 400 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 401 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 402 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 403 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 404 Head = 23.83 Temp = 9.9\n", + "Updating Time step: 405 Head = 23.84 Temp = 9.9\n", + "Updating Time step: 406 Head = 23.84 Temp = 9.9\n", + "Updating Time step: 407 Head = 23.84 Temp = 9.9\n", + "Updating Time step: 408 Head = 23.84 Temp = 9.9\n", + "Updating Time step: 409 Head = 23.84 Temp = 9.9\n", + "Updating Time step: 410 Head = 23.84 Temp = 9.9\n", + "Updating Time step: 411 Head = 23.84 Temp = 9.9\n", + "Updating Time step: 412 Head = 23.84 Temp = 9.9\n", + "Updating Time step: 413 Head = 23.84 Temp = 9.9\n", + "Updating Time step: 414 Head = 23.84 Temp = 9.9\n", + "Updating Time step: 415 Head = 23.84 Temp = 9.89\n", + "Updating Time step: 416 Head = 23.84 Temp = 9.89\n", + "Updating Time step: 417 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 418 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 419 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 420 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 421 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 422 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 423 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 424 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 425 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 426 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 427 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 428 Head = 23.85 Temp = 9.89\n", + "Updating Time step: 429 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 430 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 431 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 432 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 433 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 434 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 435 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 436 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 437 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 438 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 439 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 440 Head = 23.86 Temp = 9.89\n", + "Updating Time step: 441 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 442 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 443 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 444 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 445 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 446 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 447 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 448 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 449 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 450 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 451 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 452 Head = 23.87 Temp = 9.89\n", + "Updating Time step: 453 Head = 23.88 Temp = 9.89\n", + "Updating Time step: 454 Head = 23.88 Temp = 9.89\n", + "Updating Time step: 455 Head = 23.88 Temp = 9.89\n", + "Updating Time step: 456 Head = 23.88 Temp = 9.88\n", + "Updating Time step: 457 Head = 23.88 Temp = 9.88\n", + "Updating Time step: 458 Head = 23.88 Temp = 9.88\n", + "Updating Time step: 459 Head = 23.88 Temp = 9.88\n", + "Updating Time step: 460 Head = 23.88 Temp = 9.88\n", + "Updating Time step: 461 Head = 23.88 Temp = 9.88\n", + "Updating Time step: 462 Head = 23.88 Temp = 9.88\n", + "Updating Time step: 463 Head = 23.88 Temp = 9.88\n", + "Updating Time step: 464 Head = 23.88 Temp = 9.88\n", + "Updating Time step: 465 Head = 23.88 Temp = 9.88\n", + "Updating Time step: 466 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 467 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 468 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 469 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 470 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 471 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 472 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 473 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 474 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 475 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 476 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 477 Head = 23.89 Temp = 9.88\n", + "Updating Time step: 478 Head = 23.9 Temp = 9.88\n", + "Updating Time step: 479 Head = 23.9 Temp = 9.88\n", + "Updating Time step: 480 Head = 23.9 Temp = 9.88\n" + ] + } + ], + "source": [ + "# model time loop\n", + "kstp = 0\n", + "while current_time < end_time:\n", + " # set values\n", + " rch_updated = np.array([0.002])\n", + " mf6.set_value(rch_address, rch_updated)\n", + " # get values\n", + " head = mf6.get_value_ptr(head_tag)[0]\n", + " temp = mf6.get_value_ptr(temp_tag)[0]\n", + "\n", + " #print('Updating Time step: ' + str(kstp + 1))\n", + " print('Updating Time step: ' + str(kstp + 1) + ' Head = ' + str(round(head, 2)) + ' Temp = ' + str(round(temp, 2)))\n", + " kstp = kstp + 1\n", + " # Update models\n", + " mf6.update() \n", + " current_time = mf6.get_current_time()" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "' \\n# model time loop\\nkstp = 0\\nwhile current_time < end_time:\\n # get dt and prepare for non-linear iterations\\n dt = mf6.get_time_step()\\n mf6.prepare_time_step(dt)\\n\\n # convergence loop\\n kiter = 0\\n mf6.prepare_solve()\\n\\n while kiter < max_iter:\\n if verbose:\\n print(kiter, nodelist)\\n # solve with updated well rate\\n has_converged = mf6.solve(1)\\n kiter += 1\\n if has_converged:\\n if verbose:\\n break\\n\\n # finalize time step\\n mf6.finalize_solve()\\n\\n # set values\\n rch_updated = np.array([0.002])\\n mf6.set_value(rch_address, rch_updated)\\n # get values\\n head = mf6.get_value_ptr(head_tag)[0]\\n temp = mf6.get_value_ptr(temp_tag)[0]\\n\\n # finalize time step and update time\\n mf6.finalize_time_step()\\n current_time = mf6.get_current_time()\\n \\n #print(\\'Updating Time step: \\' + str(kstp + 1))\\n #print(\\'Updating Time step: \\' + str(kstp + 1) + \\' Head = \\' + str(round(head, 2)) + \\', and Temp = \\' + str(round(temp, 2)))\\n #kstp = kstp + 1\\n \\n # terminate if model did not converge\\n if not has_converged:\\n print(\"model did not converge\")\\n break\\n '" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "''' \n", + "# model time loop\n", + "kstp = 0\n", + "while current_time < end_time:\n", + " # get dt and prepare for non-linear iterations\n", + " dt = mf6.get_time_step()\n", + " mf6.prepare_time_step(dt)\n", + "\n", + " # convergence loop\n", + " kiter = 0\n", + " mf6.prepare_solve()\n", + "\n", + " while kiter < max_iter:\n", + " if verbose:\n", + " print(kiter, nodelist)\n", + " # solve with updated well rate\n", + " has_converged = mf6.solve(1)\n", + " kiter += 1\n", + " if has_converged:\n", + " if verbose:\n", + " break\n", + "\n", + " # finalize time step\n", + " mf6.finalize_solve()\n", + "\n", + " # set values\n", + " rch_updated = np.array([0.002])\n", + " mf6.set_value(rch_address, rch_updated)\n", + " # get values\n", + " head = mf6.get_value_ptr(head_tag)[0]\n", + " temp = mf6.get_value_ptr(temp_tag)[0]\n", + "\n", + " # finalize time step and update time\n", + " mf6.finalize_time_step()\n", + " current_time = mf6.get_current_time()\n", + " \n", + " #print('Updating Time step: ' + str(kstp + 1))\n", + " #print('Updating Time step: ' + str(kstp + 1) + ' Head = ' + str(round(head, 2)) + ', and Temp = ' + str(round(temp, 2)))\n", + " #kstp = kstp + 1\n", + " \n", + " # terminate if model did not converge\n", + " if not has_converged:\n", + " print(\"model did not converge\")\n", + " break\n", + " ''' " + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [], + "source": [ + "# cleanup\n", + "try:\n", + " mf6.finalize()\n", + " success = True\n", + "except:\n", + " raise RuntimeError" + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [], + "source": [ + "# Export heads and flows\n", + "headfile = '{}.hds'.format(gwf_name)\n", + "hds = flopy.utils.binaryfile.HeadFile(os.path.join(ws, headfile))\n", + "gwheads = gwf.output.head().get_data()\n", + "\n", + "tempfile = '{}.ucn'.format(gwe_name)\n", + "#tmp = flopy.utils.binaryfile.UcnFile(os.path.join(ws, tempfile))\n", + "#gwtemps = gwe.output.temperature().get_data()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
timeH01H02
00.02083323.50004223.500035
10.04166723.50087323.500745
20.06250023.50170523.501558
30.08333323.50253623.502387
40.10416723.50336823.503218
............
4759.91666723.89496323.894813
4769.93750023.89579423.895645
4779.95833323.89662623.896476
4789.97916723.89745723.897307
47910.00000023.89828823.898139
\n", + "

480 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " time H01 H02\n", + "0 0.020833 23.500042 23.500035\n", + "1 0.041667 23.500873 23.500745\n", + "2 0.062500 23.501705 23.501558\n", + "3 0.083333 23.502536 23.502387\n", + "4 0.104167 23.503368 23.503218\n", + ".. ... ... ...\n", + "475 9.916667 23.894963 23.894813\n", + "476 9.937500 23.895794 23.895645\n", + "477 9.958333 23.896626 23.896476\n", + "478 9.979167 23.897457 23.897307\n", + "479 10.000000 23.898288 23.898139\n", + "\n", + "[480 rows x 3 columns]" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "sim_heads = pd.read_csv(os.path.join(ws, \"gwhead.csv\"))\n", + "sim_heads\n" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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1ClOnz5tdhyrUb58eapVq2Z2DBEREfmLnTt30qdPH86dO4e9vT0hISEMHjzYqk9f/0wl9k9sbW2pX7++RgryqUyZMjqBFRERKWKys7MJDg5m8uTJ5OTk0LBhQz799FMaN25sdrR7SiX2L0qVKqWL9ouIiIhVOn/+PP369ePbb78FYODAgcydOxdHR0eTk917KrEiIiIixcC3335Lv379OH/+PGXLliU0NJSBAweaHeu+0buXRERERKxYdnY2kydPpkuXLpw/f57GjRvz/fffF+sCCzqJFREREbFa586do1+/fmzfvh2AoUOHMnv2bMqWLWtusAdAJVZERETECn399dcMGDCAxMREypUrx/z58+nbt6/ZsR4YjROIiIiIWJGsrCzefvttunbtSmJiIk2aNOHAgQMlqsCCTmJFRERErMbZs2fp06cPu3fvBmDkyJHMnDmzRF5ZSSVWRERExAps2LCBgQMHkpycjLOzMwsWLKBXr15mxzKNxglEREREirDr16/zxhtv8Mwzz5CcnEzz5s05ePBgiS6woJNYERERkSLr9OnT9O7dm+joaABeffVV3n//fezs7ExOZj6VWBEREZEi6Msvv2TQoEFcunSJ8uXLExERga+vr9mxigyNE4iIiIgUIZmZmYwdO5bnn3+eS5cu0apVKw4dOqQC+xcqsSIiIiJFxMmTJ2nbti2zZ88G4LXXXmPnzp3UrVvX3GBFkMYJRERERIqAzz77jCFDhpCamkrFihVZvHgxzzzzjNmxiiydxIqIiIiY6Nq1awQGBtKzZ09SU1Np27YtMTExKrB3oBIrIiIiYpITJ07QunVrQkNDAXjrrbfYtm0btWrVMjlZ0adxAhERERETrFy5kmHDhnHlyhUqV67M0qVL6dq1q9mxrIZOYkVEREQeoKtXrzJs2DD69u3LlStXaN++PTExMSqwBaQSKyIiIvKAHD16lFatWrFgwQIsFgt///vf+fbbb6lRo4bZ0ayOxglEREREHoAlS5YwcuRI0tPTqVq1KsuWLaNz585mx7JaOokVERERuY/S0tIYNGgQAwcOJD09nSeffJKYmBgV2LukEisiIiJyn/z000+0bNmSRYsWUapUKaZOncqWLVuoVq2a2dGsnsYJRERERO4xwzBYuHAho0eP5urVq7i5ubFy5UqeeOIJs6MVGyqxIiIiIvfQ5cuXGTly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RO6aSqyI3HOGYTBz5kzatm3Lb7/9xkMPPcSePXt49dVXsVgsZscTEZFiQOMEInJPJScnExAQwPr16wF46aWX+OSTT3BxcTE5mYiIFCc6iRWRe2bPnj00a9aM9evXY2dnR2hoKGvWrFGBFRGRe04lVkTuWk5ODu+99x7t27fnzJkz1K9fn7179zJy5EiND4iIyH2hcQIRuSuJiYn4+/uzefNmAPr06cP8+fNxcnIyOZmIiBRnKrEiUmg7d+6kT58+nDt3Dnt7e+bMmcOQIUN0+ioiIvedxglEpMCys7N599136dixI+fOnaNhw4bs27ePoUOHqsCKiMgDoZNYESmQ8+fP079/f7755hsA/P39mTt3LuXKlTM5mYiIlCQqsSKSb1u3bqVv376cP3+esmXLMnfuXAICAsyOJSIiJZDGCUTkjrKzs5k8eTKdO3fm/PnzNGrUiP3796vAioiIaXQSKyK3de7cOfr168f27dsBGDp0KLNnz6Zs2bLmBhMRkRJNJVZEbmnLli3079+fxMREypUrx/z58+nbt6/ZsURERDROICI3ysrK4u233+app54iMTGRJk2acODAARVYEREpMnQSKyJ5nD17lj59+rB7924ARowYwaxZs7C3tzc5mYiIyP+nEisiuTZs2MDAgQNJTk7GycmJTz75hF69epkdS0RE5AYaJxARrl+/zhtvvMEzzzxDcnIyHh4eHDp0SAVWRESKLJ3EipRwp0+fxs/Pj7179wIwevRoZsyYgZ2dncnJREREbk0lVqQEW7duHQEBAVy6dAkXFxcWLlzICy+8YHYsERGRO9I4gUgJlJmZydixY/H19eXSpUu0bNmSQ4cOqcCKiIjVUIkVKWFOnjxJ27ZtmT17NgBBQUHs2rULd3d3k5OJiIjkn8YJREqQzz77jCFDhpCamkqFChVYvHgxzz77rNmxRERECkwnsSIlwLVr1wgMDKRnz56kpqbSpk0bYmJiVGBFRMRqqcSKFHMnTpygdevWhIaGAvDmm2+yfft2ateubXIyERGRwtM4gUgxtnLlSoYNG8aVK1eoXLkyS5cupWvXrmbHEhERuWs6iRUphq5evcqwYcPo27cvV65coX379sTExKjAiohIsaESK1LMHD16lFatWrFgwQIsFguTJk3i22+/pUaNGmZHExERuWc0TiBSjCxZsoSRI0eSnp6Oq6sr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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Let's have a look at the time series of the simulated heads and observed heads at the observation location\n", + "fig, ax = plt.subplots(figsize = (8, 6))\n", + "sim_heads.plot(ax = ax, x = 'time', y = 'H01', kind = 'line', color = 'black', rot = 0, zorder = 1, fontsize = 10)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "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.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/docs/notebooks/modflow_example.ipynb b/docs/notebooks/modflow_example.ipynb new file mode 100644 index 0000000..c66e7af --- /dev/null +++ b/docs/notebooks/modflow_example.ipynb @@ -0,0 +1,182 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "eb4bdb30-f9a3-4d7c-a1a4-0afdfbd59372", + "metadata": {}, + "source": [ + "This notebook creates a simple modflow model, following the tutorials https://flopy.readthedocs.io/en/stable/tutorials.html#modflow-6" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9b605568-ba4f-4258-9a45-09a3ebaa487a", + "metadata": {}, + "outputs": [], + "source": [ + "import flopy" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "64efdc83-03ed-43a0-a0e3-31524109d9ad", + "metadata": {}, + "outputs": [], + "source": [ + "# set paths and names\n", + "folder_name = \"mf6_model\"\n", + "gwf_name = 'gwf'\n", + "gwe_name = 'gwe'\n", + "ws = f\"./{folder_name}\"\n", + "\n", + "### Model parameters\n", + "\n", + "# Spatial and Temporal Discretization\n", + "nlay, nrow, ncol = 2, 1, 1\n", + "shape3d = (nlay, nrow, ncol)\n", + "shape2d = (nrow, ncol)\n", + "delr, delc = 1., 1\n", + "area = delr * delc\n", + "aquifer_thickness = 10.\n", + "dz = aquifer_thickness / nlay\n", + "elevations = [26.0, 26.0 - dz, 26.0 - 2*dz]\n", + "nper, pertime, nstp, tsmult = 10, 1, 48, 1\n", + "\n", + "# Hydraulic Properties\n", + "k, ss, sy = 0.1, 1.5e-5, 0.05\n", + "\n", + "# Initial Conditions\n", + "h0 = elevations[0] - 2.5" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "66ac97ab-5579-4836-86af-bf413900b077", + "metadata": {}, + "outputs": [], + "source": [ + "### Build a one-dimensional model\n", + "\n", + "# Simulation Object\n", + "sim = flopy.mf6.MFSimulation(sim_name=folder_name, sim_ws=ws, verbosity_level=1, memory_print_option=\"all\", exe_name = exe_name)\n", + "tdis = flopy.mf6.ModflowTdis(sim, filename=f\"{gwf_name}.tdis\", time_units=\"days\", nper=nper, perioddata=((pertime, nstp, tsmult),)*nper,)\n", + "\n", + "# Groundwater Flow Model\n", + "gwf = flopy.mf6.ModflowGwf(sim, modelname=gwf_name, newtonoptions=\"NEWTON UNDER_RELAXATION\", save_flows=True)\n", + "ims_gwf = flopy.mf6.ModflowIms(sim, print_option=\"summary\", complexity=\"MODERATE\", filename=f\"{gwf_name}.ims\",\n", + " outer_maximum= 500, under_relaxation=\"dbd\",\n", + " linear_acceleration=\"bicgstab\", rcloserecord=[1e-6, \"strict\"],inner_dvclose=1e-8,outer_dvclose=1e-9,)\n", + "sim.register_ims_package(ims_gwf, [gwf.name]) \n", + "\n", + "is_gwf = flopy.mf6.ModflowGwfdis(gwf, length_units=\"meters\", nlay=nlay, nrow=nrow, ncol=ncol, \n", + " delr=delr, delc=delc, top=elevations[0], botm=elevations[1:])\n", + "npf = flopy.mf6.ModflowGwfnpf(gwf, icelltype=1, k=k)\n", + "sto = flopy.mf6.ModflowGwfsto(gwf, iconvert=1, ss=ss, sy=sy)\n", + "ic = flopy.mf6.ModflowGwfic(gwf, strt=h0)\n", + "rch = flopy.mf6.ModflowGwfrch(gwf, pname=\"rch_0\", maxbound=10, save_flows=True, stress_period_data = [((0, 0, 0), 0.0001, 0)], auxiliary=[\"TEMPERATURE\"])\n", + "oc_gwf = flopy.mf6.ModflowGwfoc(gwf, budget_filerecord = '{}.cbc'.format(gwf_name), \n", + " budgetcsv_filerecord = '{}.cbc.csv'.format(gwf_name),\n", + " head_filerecord = '{}.hds'.format(gwf_name),\n", + " saverecord = [('HEAD', 'ALL'),('BUDGET', 'LAST')],\n", + " printrecord = [('HEAD', 'ALL'),('BUDGET', 'LAST')])\n", + "obs_lst = []\n", + "for k in range(nlay):\n", + " obs_lst.append([\"H{:02d}\".format(k+1), \"HEAD\", (k, 0, 0)])\n", + "obs_gwf = flopy.mf6.ModflowUtlobs(gwf, print_input=False, continuous={\"gwhead.csv\": obs_lst})\n", + "\n", + "# Groundwater Heat Model\n", + "gwe = flopy.mf6.ModflowGwe(sim, modelname=gwe_name, save_flows=True)\n", + "ims_gwe = flopy.mf6.ModflowIms(sim, print_option=\"summary\", filename=f\"{gwe_name}.ims\", complexity=\"SIMPLE\",\n", + " linear_acceleration=\"bicgstab\", rcloserecord=[1e-6, \"strict\"],inner_dvclose=1e-8,outer_dvclose=1e-9,);\n", + "sim.register_ims_package(ims_gwe, [gwe.name])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b3d9fffa-dc56-4c78-bb19-c880b8eaff2d", + "metadata": {}, + "outputs": [], + "source": [ + "# Instantiating MODFLOW 6 transport discretization package\n", + "\n", + "strt_temp = 10.0 # Initial temperature ($^{\\circ}C$)\n", + "scheme = \"Upstream\" # Advection scheme ($-$)\n", + "alh = 0.0 # No mechanical dispersion ($m^2/day$)\n", + "ath1 = 0.0 # No transverse dispersivity ($m^2/day$)\n", + "dispersivity = 0.0 # Longitudinal mechanical dispersion term ($m$)\n", + "porosity = 0.2 # Porosity ($-$)\n", + "rhos = 1500.0 # Density of dry solid aquifer material ($\\frac{kg}{m^3}$)\n", + "cps = 760.0 # Heat capacity of dry solid aquifer material ($\\frac{J}{kg \\cdot ^{\\circ} C}$)\n", + "rhow = 1000.0 # Density of water ($\\frac{kg}{m^3}$)\n", + "cpw = 4183.0 # Heat capacity of water ($\\frac{J}{kg \\cdot ^{\\circ} C}$)\n", + "lhv = 2500.0 # Latent heat of vaporization\n", + "ktw = 0.5918 # Thermal conductivity of water ($\\frac{W}{m \\cdot ^{\\circ} C}$)\n", + "kts = 0.27 # Thermal conductivity of solid aquifer material ($\\frac{W}{m \\cdot ^{\\circ} C}$)\n", + "\n", + "is_gwe = flopy.mf6.ModflowGwedis(gwe, length_units=\"meters\", nlay=nlay, nrow=nrow, ncol=ncol, \n", + " delr=delr, delc=delc, top=elevations[0], botm=elevations[1:])\n", + "\n", + "# Instantiating MODFLOW 6 transport initial concentrations\n", + "ic_gwe = flopy.mf6.ModflowGweic(gwe, strt=strt_temp, pname=\"IC\", filename=f\"{gwe_name}.ic\",)\n", + "\n", + "# Instantiating MODFLOW 6 transport advection package\n", + "adv = flopy.mf6.ModflowGweadv(gwe, scheme=scheme, pname=\"ADV\", filename=\"{}.adv\".format(gwe_name))\n", + "\n", + "# Instantiating MODFLOW 6 transport dispersion package\n", + "cnd = flopy.mf6.ModflowGwecnd(gwe, xt3d_off=False, alh=alh, ath1=ath1, ktw=ktw * 86400, \n", + " kts=kts * 86400, pname=\"CND\",filename=f\"{gwe_name}.cnd\",)\n", + "\n", + "# Instantiating MODFLOW 6 transport mass storage package\n", + "est = flopy.mf6.ModflowGweest(gwe, save_flows=True, porosity=porosity, cps=cps, rhos=rhos,\n", + " packagedata=[cpw, rhow, lhv], pname=\"EST\", filename=f\"{gwe_name}.est\",)\n", + "\n", + "# Instantiating MODFLOW 6 source/sink mixing package\n", + "sourcerecarray = [ (\"rch_0\", \"AUX\", \"TEMPERATURE\") ]\n", + "ssm = flopy.mf6.ModflowGwessm(gwe, sources = sourcerecarray, filename = \"{}.ssm\".format(gwe_name))\n", + "\n", + "oc_gwe = flopy.mf6.ModflowGweoc(gwe, budget_filerecord = '{}.cbc'.format(gwe_name), \n", + " budgetcsv_filerecord = '{}.cbc.csv'.format(gwe_name),\n", + " temperature_filerecord=\"{}.ucn\".format(gwe_name),\n", + " saverecord = [('TEMPERATURE', 'LAST'),('BUDGET', 'LAST')],\n", + " printrecord = [('TEMPERATURE', 'LAST'),('BUDGET', 'LAST')])\n", + "gwfgwe = flopy.mf6.ModflowGwfgwe(sim, exgtype='GWF6-GWE6', exgmnamea = gwf_name, exgmnameb = gwe_name, filename = 'gwf_gwe.gwfgwe')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8b040a8d-ddae-4efb-b910-fb3505ceee6d", + "metadata": {}, + "outputs": [], + "source": [ + "# Write the Model Files\n", + "sim.write_simulation()" + ] + } + ], + "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.10.13" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/notebooks/run_model_on_different_infra.ipynb b/docs/notebooks/run_model_on_different_infra.ipynb index cf7c540..0599b4f 100644 --- a/docs/notebooks/run_model_on_different_infra.ipynb +++ b/docs/notebooks/run_model_on_different_infra.ipynb @@ -5,10 +5,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Running the STEMMUS_SCOPE model on a system\n", + "This notebook shows steps to run the STEMMUS_SCOPE model, including preprocessing and postprocessing. For postprocesisng, the file `required_netcdf_variables.csv` can be found at https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/utils/csv_to_nc/required_netcdf_variables.csv. \n", "\n", - "This notebook shows steps to run the STEMMUS_SCOPE model, including preprocessing and postprocessing. STEMMUS_SCOPE files are located in a repository https://github.com/EcoExtreML/STEMMUS_SCOPE. Then specify the path to a config file e.g.`config_file_template.txt`, executable file `STEMMUS_SCOPE` or source code `STEMMUS_SCOPE/src` in the cells below. There are already config files for users on Snellius and CRIB, see `config_file_snellius.txt`, `config_file_crib.txt`. Depending on your system (OS, Matlab availability, etc.), there are a few ways you can run the model. Choose how do you want to run the model:\n", + "First, check the `Getting started` page on documentation of [STEMMUS_SCOPE](https://ecoextreml.github.io/STEMMUS_SCOPE/getting_started/) and [pystemmusscope](https://pystemmusscope.readthedocs.io/en/latest/). \n", "\n", + "Depending on your system (OS, Matlab availability, etc.), there are a few ways you can run the model. Choose how do you want to run the model:\n", "\n", "[**Executable file**](#1-using-executable-file)\n", "\n", @@ -112,7 +113,7 @@ " EndTime=\"2001-01-02T01:30\",\n", ")\n", "\n", - "# new config file genertaed to run the model \n", + "# new config file genertaed to run the model\n", "print(f\"New config file {config_path}\")\n", "\n", "# see input and output paths generated by the model\n", @@ -217,7 +218,7 @@ " EndTime=\"2001-01-02T01:30\",\n", ")\n", "\n", - "# new config file genertaed to run the model \n", + "# new config file genertaed to run the model\n", "print(f\"New config file {config_path}\")\n", "\n", "# see input and output paths generated by the model\n", @@ -340,7 +341,7 @@ " EndTime=\"2001-01-02T01:30\",\n", ")\n", "\n", - "# new config file genertaed to run the model \n", + "# new config file genertaed to run the model\n", "print(f\"New config file {config_path}\")\n", "\n", "# see input and output paths generated by the model\n", diff --git a/docs/notebooks/run_model_with_different_dataset.ipynb b/docs/notebooks/run_model_with_different_dataset.ipynb index b5202e5..b49bd1f 100644 --- a/docs/notebooks/run_model_with_different_dataset.ipynb +++ b/docs/notebooks/run_model_with_different_dataset.ipynb @@ -5,12 +5,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Running the STEMMUS_SCOPE model with different dataset\n", + "This notebook shows how to run the STEMMUS_SCOPE model uisng the `Executable` file, including preprocessing and postprocessing. See the [Different ways to run the model](./run_model_on_different_infra.ipynb) for different ways e.g. Executable file, Matlab, Octave.\n", "\n", - "This notebook shows how to run the STEMMUS_SCOPE model uisng the `Executable` file, including preprocessing and postprocessing. For postprocesisng, the file `required_netcdf_variables.csv` can be found at https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/utils/csv_to_nc/required_netcdf_variables.csv.\n", + "Also, check the `Getting started` page on documentation of [STEMMUS_SCOPE](https://ecoextreml.github.io/STEMMUS_SCOPE/getting_started/) and [pystemmusscope](https://pystemmusscope.readthedocs.io/en/latest/). \n", "\n", - "See the [Running the STEMMUS_SCOPE model on a system](./run_model_on_different_infra.ipynb) for different ways e.g. Executable file, Matlab, Octave.\n", - "The `STEMMUS_SCOPE` executable file is located in a repository https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/run_model_on_snellius/exe/STEMMUS_SCOPE.\n", + "For postprocesisng, the file `required_netcdf_variables.csv` can be found at https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/utils/csv_to_nc/required_netcdf_variables.csv.\n", "\n", "## Which datasets are available?\n", "The config file shows how to set the paths to different data needed by the model. Check the data source on Snelius and CRIB and modify the config file accordingly:\n", @@ -136,7 +135,7 @@ " EndTime=\"2001-01-02T01:30\",\n", ")\n", "\n", - "# new config file genertaed to run the model \n", + "# new config file genertaed to run the model\n", "print(f\"New config file {config_path}\")\n", "\n", "# see input and output paths generated by the model\n", @@ -296,7 +295,7 @@ " EndTime=\"2014-01-15T00:00\",\n", ")\n", "\n", - "# new config file genertaed to run the model \n", + "# new config file genertaed to run the model\n", "print(f\"New config file {config_path}\")\n", "\n", "# see input and output paths generated by the model\n", diff --git a/docs/notebooks/run_model_with_different_dataset_on_CRIB.ipynb b/docs/notebooks/run_model_with_different_dataset_on_CRIB.ipynb index a668edb..0fe818b 100644 --- a/docs/notebooks/run_model_with_different_dataset_on_CRIB.ipynb +++ b/docs/notebooks/run_model_with_different_dataset_on_CRIB.ipynb @@ -4,11 +4,11 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Running the STEMMUS_SCOPE model with different dataset on CRIB using MATLAB\n", + "This notebook shows how to run the STEMMUS_SCOPE model uisng source code, including preprocessing and postprocessing. See the [Different ways to run the model](./run_model_on_different_infra.ipynb) for different ways e.g. Executable file, Matlab, Octave.\n", "\n", - "This notebook shows how to run the STEMMUS_SCOPE model uisng source code, including preprocessing and postprocessing. For postprocesisng, the file required_netcdf_variables.csv can be found at https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/utils/csv_to_nc/required_netcdf_variables.csv.\n", + "Also, check the `Getting started` page on documentation of [STEMMUS_SCOPE](https://ecoextreml.github.io/STEMMUS_SCOPE/getting_started/) and [pystemmusscope](https://pystemmusscope.readthedocs.io/en/latest/). \n", "\n", - "See the [Running the STEMMUS_SCOPE model on a system](./run_model_on_different_infra.ipynb) for different ways e.g. Executable file, Matlab, Octave.\n", + "For postprocesisng, the file `required_netcdf_variables.csv` can be found at https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/utils/csv_to_nc/required_netcdf_variables.csv.\n", "\n", "## Which datasets are available?\n", "The config file shows how to set the paths to different data needed by the model. Check the data source on Snelius and CRIB and modify the config file accordingly:\n", @@ -100,7 +100,7 @@ " EndTime=\"2001-01-02T01:30\",\n", ")\n", "\n", - "# new config file genertaed to run the model \n", + "# new config file genertaed to run the model\n", "print(f\"New config file {config_path}\")\n", "\n", "# see input and output paths generated by the model\n", @@ -227,7 +227,7 @@ " EndTime=\"2014-01-15T00:00\",\n", ")\n", "\n", - "# new config file genertaed to run the model \n", + "# new config file genertaed to run the model\n", "print(f\"New config file {config_path}\")\n", "\n", "# see input and output paths generated by the model\n", @@ -262,20 +262,9 @@ }, { "cell_type": "code", - "execution_count": 7, + "execution_count": null, "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "b'MATLAB is selecting SOFTWARE OPENGL rendering.\\nOpening log file: /home/alidoost/java.log.37351\\n\\n < M A T L A B (R) >\\n Copyright 1984-2021 The MathWorks, Inc.\\n R2021a Update 3 (9.10.0.1684407) 64-bit (glnxa64)\\n May 27, 2021\\n\\n \\nTo get started, type doc.\\nFor product information, visit www.mathworks.com.\\n \\nReading config from /gpfs/home2/alidoost/test_matlab/input/ZA-Kru_2022-10-27-1651/ZA-Kru_2022-10-27-1651_config.txt\\nThe calculations start now\\nThe calculations end now\\n'" - ] - }, - "execution_count": 7, - "metadata": {}, - "output_type": "execute_result" - } - ], + "outputs": [], "source": [ "# run the model\n", "result = model.run()\n", diff --git a/docs/reference.md b/docs/reference.md index 4da2358..b18d283 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -1,8 +1,6 @@ -Here you find the code reference for the two main components users of `PyStemmusScope` -might need. First is the StemmusScope model class. Second is the `save` module, with -which you can save the STEMMUS_SCOPE model output to a netCDF file. +Here you find the code reference for the main components of `PyStemmusScope`. -## **PyStemmusScope**: +## **Run the model**: ::: PyStemmusScope.stemmus_scope.StemmusScope options: @@ -10,11 +8,18 @@ which you can save the STEMMUS_SCOPE model output to a netCDF file. show_source: true heading_level: 3 - -## **PyStemmusScope.save**: +## **To netcdf**: ::: PyStemmusScope.save options: show_root_heading: true show_source: true heading_level: 3 + +## **BMI interface**: + +::: PyStemmusScope.bmi.implementation.StemmusScopeBmi + options: + show_root_heading: true + show_source: true + heading_level: 3 diff --git a/mkdocs.yml b/mkdocs.yml index a31e3fb..efdbd0c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -11,10 +11,10 @@ nav: - Site and global datasets on CRIB: notebooks/run_model_with_different_dataset_on_CRIB.ipynb - BMI: - - "BMI instructions": bmi.md - - "BMI demonstration": notebooks/BMI_demo.ipynb - - "grpc4bmi demonstration": notebooks/grpc4bmi_demo.ipynb - - "example: coupling modflow and stemmus_scope": notebooks/bmi_MODFLOW_coupling.ipynb + - BMI instructions: bmi.md + - BMI demonstration: notebooks/BMI_demo.ipynb + - grpc4bmi demonstration: notebooks/grpc4bmi_demo.ipynb + - example-coupling modflow and stemmus_scope: notebooks/bmi_MODFLOW_coupling.ipynb - Contributing guide: CONTRIBUTING.md - API reference: reference.md From 11ad0b5202e1ad1c36abdab9b5553ea77b1e4f82 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Mon, 9 Dec 2024 16:52:57 +0100 Subject: [PATCH 03/26] add bmi api docs --- PyStemmusScope/bmi/__init__.py | 4 ++++ docs/reference.md | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) create mode 100644 PyStemmusScope/bmi/__init__.py diff --git a/PyStemmusScope/bmi/__init__.py b/PyStemmusScope/bmi/__init__.py new file mode 100644 index 0000000..568ad6f --- /dev/null +++ b/PyStemmusScope/bmi/__init__.py @@ -0,0 +1,4 @@ +from .implementation import StemmusScopeBmi + + +__all__ = ["StemmusScopeBmi"] diff --git a/docs/reference.md b/docs/reference.md index b18d283..e319080 100644 --- a/docs/reference.md +++ b/docs/reference.md @@ -7,8 +7,9 @@ Here you find the code reference for the main components of `PyStemmusScope`. show_root_heading: false show_source: true heading_level: 3 + members_order: source -## **To netcdf**: +## **Post processing**: ::: PyStemmusScope.save options: @@ -18,8 +19,9 @@ Here you find the code reference for the main components of `PyStemmusScope`. ## **BMI interface**: -::: PyStemmusScope.bmi.implementation.StemmusScopeBmi +::: PyStemmusScope.bmi.StemmusScopeBmi options: show_root_heading: true show_source: true heading_level: 3 + members_order: source From 68b539382d63fbc6a9ac6704be61dcb61cf55c20 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Mon, 9 Dec 2024 17:21:57 +0100 Subject: [PATCH 04/26] update contributing guide --- docs/CONTRIBUTING.md | 65 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 64 insertions(+), 1 deletion(-) diff --git a/docs/CONTRIBUTING.md b/docs/CONTRIBUTING.md index 3d1ecef..1c2cfa7 100644 --- a/docs/CONTRIBUTING.md +++ b/docs/CONTRIBUTING.md @@ -1,5 +1,68 @@ # Contributing Guide +We welcome any kind of contributions to our software, from simple +comment or question to a full fledged [pull +request](https://help.github.com/articles/about-pull-requests/). Please +read and follow our [Code of Conduct](./CODE_OF_CONDUCT.md). + +A contribution can be one of the following cases: + +1. you have a question; +2. you think you may have found a bug (including unexpected behavior); +3. you want to make some kind of change to the code base (e.g. to fix a + bug, to add a new feature, to update documentation). +4. you want to make a release + +The sections below outline the steps in each case. + +## You have a question + +1. use the search functionality + [here](https://github.com/EcoExtreML/STEMMUS_SCOPE_Processing/issues) to see if + someone already filed the same issue; +2. if your issue search did not yield any relevant results, make a new issue; +3. apply the \"Question\" label; apply other labels when relevant. + +## You think you may have found a bug + +1. use the search functionality + [here](https://github.com/EcoExtreML/STEMMUS_SCOPE_Processing/issues) to see + if someone already filed the same issue; +2. if your issue search did not yield any relevant results, make a new issue, + making sure to provide enough information to the rest of the community to + understand the cause and context of the problem. Depending on the issue, you + may want to include: - the [SHA + hashcode](https://help.github.com/articles/autolinked-references-and-urls/#commit-shas) + of the commit that is causing your problem; - some identifying information + (name and version number) for dependencies you\'re using; - information + about the operating system; +3. apply relevant labels to the newly created issue. + +## You want to make some kind of change to the code base + +1. (**important**) announce your plan to the rest of the community + *before you start working*. This announcement should be in the form + of a (new) issue; +2. (**important**) wait until some kind of consensus is reached about + your idea being a good idea; +3. if needed, fork the repository to your own Github profile and create your own + feature branch off of the latest main commit. While working on your feature + branch, make sure to stay up to date with the main branch by pulling in + changes, possibly from the \'upstream\' repository (follow the instructions + [here](https://help.github.com/articles/configuring-a-remote-for-a-fork/) + and [here](https://help.github.com/articles/syncing-a-fork/)); +4. If you are using [Visual Studio Code](https://code.visualstudio.com), some + extensions will be recommended and you are offered to run inside a + [DevContainer](https://containers.dev) in which the dependencies are already + installed; + +In case you feel like you\'ve made a valuable contribution, but you +don\'t know how to write or run tests for it, or how to generate the +documentation: don\'t let this discourage you from making the pull +request; we can help you! Just go ahead and submit the pull request, but +keep in mind that you might be asked to append additional commits to +your pull request. + If you want to contribute to `PyStemmusScope`, we recommend installing the package in editable mode. The instructions below will guide you though the steps required. @@ -52,6 +115,7 @@ mkdocs serve ``` Then open the local hyperlink displayed in the terminal, e.g.: + ``` INFO - [13:23:44] Serving on http://127.0.0.1:8000/ ``` @@ -122,7 +186,6 @@ release usually includes a new tag. Then, you need to update the `compatible_tags` variable of the class `StemmusScopeDocker` in `PyStemmusScope/bmi/docker_process.py`. - ## Making a release This section describes how to make a release in 3 parts: From d5e97a91f7d5b4093e27bcea64728834bc9e5e53 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Mon, 9 Dec 2024 17:23:10 +0100 Subject: [PATCH 05/26] move documentation of global data to docs, update the text --- docs/downloading_global_data.md | 75 +++++++++++++++++++++++++++++++ docs/index.md | 5 +++ docs/installation_instructions.md | 9 ++++ 3 files changed, 89 insertions(+) create mode 100644 docs/downloading_global_data.md diff --git a/docs/downloading_global_data.md b/docs/downloading_global_data.md new file mode 100644 index 0000000..1ea13b2 --- /dev/null +++ b/docs/downloading_global_data.md @@ -0,0 +1,75 @@ +# Global data for STEMMUS_SCOPE + +This document outlines which, where and how we download the "global" input data for the +model. + +## Data of Climate Data store (CDS) + +Many of the forcing-related data is available in the era5 reanalysis data. + +**era5 variables**: + +- mean_total_precipitation_rate +- surface_thermal_radiation_downwards +- surface_solar_radiation_downwards +- surface_pressure +- 10m_u_component_of_wind +- 10m_v_component_of_wind + +**era5-land variables**: + +- 2m_temperature +- 2m_dewpoint_temperature + +**era5-land soil initial conditions**: + +For running STEMMUS-SCOPE, global data is also required for the soil initial conditions. These are retrieved from ERA5-land. + +## CO2 data from Atmosphere Data Store (ADS) + +CO2 data is available in the CAMS dataset. An ADS script that can download the +data is available at `download_scripts/download_CAMS_CO2.py`. + +A simple check for the parsing of the data is in `data_analysis_notebooks/parse_CO2_data.ipynb`. + +## Canopy height data from ETH + +The canopy height data is described in: https://langnico.github.io/globalcanopyheight/ + +Get data from: +https://share.phys.ethz.ch/~pf/nlangdata/ETH_GlobalCanopyHeight_10m_2020_version1/3deg_cogs/ +This can be done with, e.g. a wget command. + +The valid filenames are all in `download_scripts/valid_eth_canopy_height_files.txt`. + +A simple example for the parsing of the data is in `data_analysis_notebooks/parse_canopy_height.ipynb`. + +## DEM data from Copernicus + +To download the DEM data: +`wget https://prism-dem-open.copernicus.eu/pd-desk-open-access/prismDownload/COP-DEM_GLO-90-DGED__2021_1/Copernicus_DSM_30_N35_00_E012_00.tar` +unzip and extract tif file. + +All valid DEM urls are in `download_scripts/valid_dem_urls.csv`. + +A word doc for instructions is available [here](https://spacedata.copernicus.eu/documents/20123/121286/Copernicus+DEM+Open+HTTPS+Access.pdf/36c9adad-8488-f463-af43-573e68b7f481?t=1669283200177) + +A simple example for the parsing of the data is in `data_analysis_notebooks/parse_dem.ipynb`. + +## LAI from Climate Data Store (CDS) + +LAI data was retrieved from the CDS. However, there are some downloading issues with +the `satellite-lai-fapar` dataset. A ticket has been opened at the ECMWF. + +The download script for downloading the LAI data is available under `download_scripts/download_FAPAR_LAI.py`. + +A simple example for parsing the LAI data is in `data_analysis_notebooks/parse_LAI.py`. + +## Land cover from Climate Data Store (CDS) + +Land cover data is available at [https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=overview](https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=overview). + +## Download and prepare data + +Tha python package [`zampy`](https://zampy.readthedocs.io/) can be used to +download and prepare the data. diff --git a/docs/index.md b/docs/index.md index c6efef9..9bce573 100644 --- a/docs/index.md +++ b/docs/index.md @@ -11,6 +11,11 @@ for preparing data and running the STEMMUS-SCOPE model. The model source code To run the model, check the [requirements](https://ecoextreml.github.io/STEMMUS_SCOPE/getting_started/). +### Global data + +See [this documentation](./downloading_global_data.md) on which, where and how +we download the "global" input data for the model. + ## Configuration file The configuration file is a text file that sets the paths required by the model. diff --git a/docs/installation_instructions.md b/docs/installation_instructions.md index 7fcf91e..37b209e 100644 --- a/docs/installation_instructions.md +++ b/docs/installation_instructions.md @@ -6,6 +6,9 @@ source code [STEMMUS_SCOPE repository](https://github.com/EcoExtreML/STEMMUS_SCOPE). For model-specific instructions, check the `Getting started` page. +Note that the latest version of `PyStemmusScope` is compatible with latest +version of `STEMMUS-SCOPE` model. + ## Install PyStemmusScope To install the package, you need to have Python ">=3.9, <3.12" installed. @@ -24,6 +27,12 @@ Open a jupyter notebook and run the code below in a cell: !pip install pystemmusscope ``` +On CRIB, you can use the following command to install the package: + +```sh +python3 -m pip install --user pystemmusscope +``` + ## Install jupyterlab Jupyterlab is needed to run notebooks. Run the commands below in a terminal: From 059fd86d8c3e1d80ed9713b985b49c7523ed842a Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Mon, 9 Dec 2024 17:24:00 +0100 Subject: [PATCH 06/26] remove downloading scripts --- .../download_scripts/download_CAMS_CO2.py | 31 ------- .../download_scripts/download_FAPAR_LAI.py | 57 ------------- .../download_cds_landcover.py | 31 ------- .../download_era5land_monthly.py | 49 ----------- global_data/downloading_global_data.md | 83 ------------------- 5 files changed, 251 deletions(-) delete mode 100644 global_data/download_scripts/download_CAMS_CO2.py delete mode 100644 global_data/download_scripts/download_FAPAR_LAI.py delete mode 100644 global_data/download_scripts/download_cds_landcover.py delete mode 100644 global_data/download_scripts/download_era5land_monthly.py delete mode 100644 global_data/downloading_global_data.md diff --git a/global_data/download_scripts/download_CAMS_CO2.py b/global_data/download_scripts/download_CAMS_CO2.py deleted file mode 100644 index 6618fb3..0000000 --- a/global_data/download_scripts/download_CAMS_CO2.py +++ /dev/null @@ -1,31 +0,0 @@ -"""Download CAMS data using the cdsapi.""" -from pathlib import Path -import cdsapi -import certifi -import urllib3 - - -# UID+api key is read here: -with (Path.home() / ".adsloginrc").open(encoding="utf8") as f: - uid = f.readline().strip() - api_key = f.readline().strip() - -http = urllib3.PoolManager(cert_reqs="CERT_REQUIRED", ca_certs=certifi.where()) - -c = cdsapi.Client( - url="https://ads.atmosphere.copernicus.eu/api/v2", - key=f"{uid}:{api_key}", - verify=True, -) - -c.retrieve( - "cams-global-ghg-reanalysis-egg4", - { - "format": "netcdf", - "model_level": "60", # surface level data - "date": "2003-01-02/2020-12-31", - "step": ["0", "3", "6", "9", "12", "15", "18", "21"], - "variable": "carbon_dioxide", - }, - "CAMS_CO2_2003-2020.nc", -) diff --git a/global_data/download_scripts/download_FAPAR_LAI.py b/global_data/download_scripts/download_FAPAR_LAI.py deleted file mode 100644 index 018b570..0000000 --- a/global_data/download_scripts/download_FAPAR_LAI.py +++ /dev/null @@ -1,57 +0,0 @@ -"""Download monthly ERA5-land data using the cdsapi.""" -import itertools -from pathlib import Path -import cdsapi -from pathos.threading import ThreadPool as Pool - - -N_TRIES = 3 - - -with (Path.home() / ".cdsloginrc").open(encoding="utf8") as f: - uid = f.readline().strip() - api_key = f.readline().strip() - - -def request_lai_data(year, month): - """Request the LAI data from the CDS.""" - c = cdsapi.Client( - url="https://cds.climate.copernicus.eu/api/v2", - key=f"{uid}:{api_key}", - verify=True, - retry_max=1, - ) - - c.retrieve( - "satellite-lai-fapar", - { - "format": "zip", - "variable": "lai", - "satellite": ("proba" if year >= 2014 else "spot"), - "sensor": "vgt", - "horizontal_resolution": "1km", - "product_version": "V1", - "year": f"{year}", - "month": [ - f"{month}", - ], - "nominal_day": [ - "10", - "20", - "28", - "30", - "31", - ], - }, - f"LAI_fapar_vgt_{year}-{month}.zip", - ) - - -if __name__ == "__main__": - years = list(range(2012, 2018)) - months = [str(x).rjust(2, "0") for x in range(1, 13)] - - _years, _months = map(list, zip(*itertools.product(years, months))) - - pool = Pool(nodes=2) - pool.map(request_lai_data, _years, _months) diff --git a/global_data/download_scripts/download_cds_landcover.py b/global_data/download_scripts/download_cds_landcover.py deleted file mode 100644 index 8b0daf8..0000000 --- a/global_data/download_scripts/download_cds_landcover.py +++ /dev/null @@ -1,31 +0,0 @@ -"""Download land cover data using the cdsapi.""" -from pathlib import Path -import cdsapi - - -with (Path.home() / ".cdsloginrc").open(encoding="utf8") as f: - uid = f.readline().strip() - api_key = f.readline().strip() - - -c = cdsapi.Client( - url="https://cds.climate.copernicus.eu/api/v2", - key=f"{uid}:{api_key}", - verify=True, -) - - -years = [2013] - - -for year in years: - c.retrieve( - "satellite-land-cover", - { - "variable": "all", - "format": "zip", - "year": f"{year}", - "version": "v2.0.7cds", - }, - f"cds_landcover_{year}.zip", - ) diff --git a/global_data/download_scripts/download_era5land_monthly.py b/global_data/download_scripts/download_era5land_monthly.py deleted file mode 100644 index 799695a..0000000 --- a/global_data/download_scripts/download_era5land_monthly.py +++ /dev/null @@ -1,49 +0,0 @@ -"""Download monthly ERA5-land data using the cdsapi.""" -import itertools -from pathlib import Path -import cdsapi -import certifi -import urllib3 - - -http = urllib3.PoolManager(cert_reqs="CERT_REQUIRED", ca_certs=certifi.where()) - -with (Path.home() / ".cdsloginrc").open(encoding="utf8") as f: - uid = f.readline().strip() - api_key = f.readline().strip() - -c = cdsapi.Client( - url="https://cds.climate.copernicus.eu/api/v2", - key=f"{uid}:{api_key}", - verify=True, -) - -variables = ["2m_dewpoint_temperature", "2m_temperature"] -years = [2014] -months = ["01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12"] - -for var, year, month in itertools.product(variables, years, months): - # fmt: off - c.retrieve( - "reanalysis-era5-land", - { - "variable": [var], - "year": f"{year}", - "month": month, - "day": [ - "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", - "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", - "23", "24", "25", "26", "27", "28", "29", "30", "31", - ], - "time": [ - "00:00", "01:00", "02:00", "03:00", "04:00", "05:00", "06:00", - "07:00", "08:00", "09:00", "10:00", "11:00", "12:00", "13:00", - "14:00", "15:00", "16:00", "17:00", "18:00", "19:00", "20:00", - "21:00", "22:00", "23:00", - ], - "area": [65, 20, 60, 24], - "format": "netcdf", - }, - f"era5-land_{var}_{year}-{month}_FI-Hyy.nc", - ) - # fmt: on diff --git a/global_data/downloading_global_data.md b/global_data/downloading_global_data.md deleted file mode 100644 index 436dba0..0000000 --- a/global_data/downloading_global_data.md +++ /dev/null @@ -1,83 +0,0 @@ -# Global data for STEMMUS_SCOPE -This document outlines which, where and how we download the "global" input data for the -model. - -## Data downloaded through era5cli -Many of the forcing-related data is available in the era5 reanalysis data. - -**era5 variables**: - - mean_total_precipitation_rate - - surface_thermal_radiation_downwards - - surface_solar_radiation_downwards - - surface_pressure - - 10m_u_component_of_wind - - 10m_v_component_of_wind - -These can be downloaded using [era5cli](https://era5cli.readthedocs.io/) as: -``` -era5cli hourly --variables 10m_u_component_of_wind 10m_v_component_of_wind mean_total_precipitation_rate surface_pressure surface_thermal_radiation_downwards surface_solar_radiation_downwards --startyear 2016 --endyear 2016 --levels surface --area 65 20 60 24 -``` - -Note: the year range is set with `--startyear` and `--endyear`. The lat/lon bounding box is set with `--area`. - -**era5-land variables**: - - 2m_temperature - - 2m_dewpoint_temperature - -We would like to run the following command: -``` -era5cli hourly --variables 2m_temperature 2m_dewpoint_temperature --startyear 2016 --endyear 2016 --months 1 --land --levels surface --area 54 3 50 8 -``` -However, currently this raises a too-many-requests error. Until that is fixed, we can use -the cds. See `download_era5land_monthly.py`. - -**era5-land soil initial conditions** - -For running STEMMUS-SCOPE, global data is also required for the soil initial conditions. These are retrieved from ERA5-land, using the following command: -``` -era5cli hourly --startyear 2014 --endyear 2014 --hours 0 --land --levels surface --area 65 20 60 24 --variables skin_temperature soil_temperature_level_1 soil_temperature_level_2 soil_temperature_level_3 soil_temperature_level_4 volumetric_soil_water_layer_1 volumetric_soil_water_layer_2 volumetric_soil_water_layer_3 volumetric_soil_water_layer_4 -``` - -## CO2 data -CO2 data is available in the CAMS dataset. An ADS script that can download the data is - available at `download_scripts/download_CAMS_CO2.py`. - -A simple check for the parsing of the data is in `data_analysis_notebooks/parse_CO2_data.ipynb`. - - -## Canopy height data -The canopy height data is described in: https://langnico.github.io/globalcanopyheight/ - -Get data from: -https://share.phys.ethz.ch/~pf/nlangdata/ETH_GlobalCanopyHeight_10m_2020_version1/3deg_cogs/ -This can be done with, e.g. a wget command. - -The valid filenames are all in `download_scripts/valid_eth_canopy_height_files.txt`. - -A simple example for the parsing of the data is in `data_analysis_notebooks/parse_canopy_height.ipynb`. - - -## DEM data -To download the DEM data: -`wget https://prism-dem-open.copernicus.eu/pd-desk-open-access/prismDownload/COP-DEM_GLO-90-DGED__2021_1/Copernicus_DSM_30_N35_00_E012_00.tar` -unzip and extract tif file. - -All valid DEM urls are in `download_scripts/valid_dem_urls.csv`. - -A word doc for instructions is available [here](https://spacedata.copernicus.eu/documents/20123/121286/Copernicus+DEM+Open+HTTPS+Access.pdf/36c9adad-8488-f463-af43-573e68b7f481?t=1669283200177) - -A simple example for the parsing of the data is in `data_analysis_notebooks/parse_dem.ipynb`. - - -## LAI - -LAI data was retrieved from the CDS. However, there are some downloading issues with -the `satellite-lai-fapar` dataset. A ticket has been opened at the ECMWF. - -The download script for downloading the LAI data is available under `download_scripts/download_FAPAR_LAI.py`. - -A simple example for parsing the LAI data is in `data_analysis_notebooks/parse_LAI.py`. - -## Land cover - -Land cover data is currently not implemented yet either. From e4b22a75a59d42875b73c6592bca7f351bb90ed7 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Mon, 9 Dec 2024 17:24:35 +0100 Subject: [PATCH 07/26] add MCR_CACHE_ROOT --- PyStemmusScope/bmi/local_process.py | 1 + 1 file changed, 1 insertion(+) diff --git a/PyStemmusScope/bmi/local_process.py b/PyStemmusScope/bmi/local_process.py index 40908a4..7fda913 100644 --- a/PyStemmusScope/bmi/local_process.py +++ b/PyStemmusScope/bmi/local_process.py @@ -103,6 +103,7 @@ def __init__(self, cfg_file: str) -> None: env = { "LD_LIBRARY_PATH": lib_path, "MATLAB_LOG_DIR": str(config["OutputPath"]), + "MCR_CACHE_ROOT": str(os.getenv("MCR_CACHE_ROOT")), } self.process = subprocess.Popen( From 61f173e258a0fba4447fc893ddeae0103d4489c8 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Mon, 9 Dec 2024 17:30:42 +0100 Subject: [PATCH 08/26] remove wrong notebooks --- .../BMI_groundwater_coupling_copy.ipynb | 404 ------ .../BMI_groundwater_coupling_csv_plots.ipynb | 1128 --------------- docs/notebooks/ex8.ipynb | 1256 ----------------- docs/notebooks/modflow_example.ipynb | 182 --- 4 files changed, 2970 deletions(-) delete mode 100644 docs/notebooks/BMI_groundwater_coupling_copy.ipynb delete mode 100644 docs/notebooks/BMI_groundwater_coupling_csv_plots.ipynb delete mode 100644 docs/notebooks/ex8.ipynb delete mode 100644 docs/notebooks/modflow_example.ipynb diff --git a/docs/notebooks/BMI_groundwater_coupling_copy.ipynb b/docs/notebooks/BMI_groundwater_coupling_copy.ipynb deleted file mode 100644 index bf312e0..0000000 --- a/docs/notebooks/BMI_groundwater_coupling_copy.ipynb +++ /dev/null @@ -1,404 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# STEMMUS_SCOPE BMI groundwater coupling\n", - "We have to choose how we want to run the BMI. We can do this either using a local executable file, or with a Docker container.\n", - "\n", - "How to run the model is define in the configuration file.\n", - "If it has an entry \"ExeFilePath\" it will use the local executable. If this is missing, it wil try to use Docker (if docker-py is available). " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "cfg_file = \"/home/sarah/temp/ecoextreml/test/input/NL-Loo_2024-11-07-1226/NL-Loo_2024-11-07-1226_config.txt\"\n", - "out_path = \"/home/sarah/temp/ecoextreml/test/output/NL-Loo_2024-11-07-1226/\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If we are using the local executable file we first have to add the matlab runtime compiler locations to PATH:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/usr/local/MATLAB/MATLAB_Runtime/R2023a/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/extern/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/sys/opengl/lib/glnxa64\n" - ] - } - ], - "source": [ - "from PyStemmusScope.config_io import read_config\n", - "import os\n", - "matlab_path = !whereis MATLAB\n", - "matlab_path = matlab_path.s.split(\": \")[1]\n", - "os.environ['LD_LIBRARY_PATH'] = (\n", - " f\"{matlab_path}/MATLAB_Runtime/R2023a/runtime/glnxa64:\"\n", - " f\"{matlab_path}/MATLAB_Runtime/R2023a/bin/glnxa64:\"\n", - " f\"{matlab_path}/MATLAB_Runtime/R2023a/sys/os/glnxa64:\"\n", - " f\"{matlab_path}/MATLAB_Runtime/R2023a/extern/bin/glnxa64:\"\n", - " f\"{matlab_path}/MATLAB_Runtime/R2023a/sys/opengl/lib/glnxa64\")\n", - "print(os.environ['LD_LIBRARY_PATH'])\n", - "os.environ[\"STEMMUS_SCOPE\"] = read_config(cfg_file)[\"ExeFilePath\"]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can initialize the model with a prepared configuration file:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from PyStemmusScope.bmi.implementation import StemmusScopeBmi\n", - "from cftime import num2pydate\n", - "from rich import print\n", - "import numpy as np\n", - "import xarray as xr\n", - "from pathlib import Path\n", - "\n", - "model = StemmusScopeBmi()\n", - "\n", - "model.initialize(cfg_file)\n", - "\n", - "model.update() # STEMMUS_SCOPE needs to be updated by one timestep before the BMI is accessible" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After initialization we can enable the groundwater coupling. You enable this using the following command:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "model.set_value(\"groundwater_coupling_enabled\", np.array([False]))" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "# model.set_value(\"groundwater_elevation_top_aquifer\", np.array([2000.]))\n", - "# model.set_value(\"groundwater_head_bottom_layer\", np.array([1950.])) # 50 cm under ground surface\n", - "# model.set_value(\"groundwater_temperature\", np.array([23.])) # optional. 50 deg C here to get a high contrast" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can run the model. We define arrays to store the results that we want to inspect, and then step through all model timesteps:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
model is done\n",
-       "
\n" - ], - "text/plain": [ - "model is done\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "n_timesteps = int((model.get_end_time() - model.get_current_time())/model.get_time_step())\n", - "n_soil_layers = model.get_grid_size(model.get_var_grid(\"soil_moisture\"))\n", - "\n", - "soil_moisture = np.zeros((n_timesteps, n_soil_layers))\n", - "soil_temperature = np.zeros((n_timesteps, n_soil_layers))\n", - "time = []\n", - "i=0\n", - "\n", - "\n", - "# while model.get_current_time() < model.get_end_time():\n", - "while i < 1200:\n", - " model.get_value(\"soil_moisture\", soil_moisture[i])\n", - " model.get_value(\"soil_temperature\", soil_temperature[i])\n", - "\n", - " # Store the current time as a datetime\n", - " time.append(num2pydate(model.get_current_time(), model.get_time_units()))\n", - "\n", - " i+=1\n", - " model.update()\n", - "\n", - "print(\"model is done\")\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For easier anaylsis we can put the data into xarray DataArray objects:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": { - "collapsed": true, - "jupyter": { - "outputs_hidden": true - } - }, - "outputs": [ - { - "ename": "ValueError", - "evalue": "conflicting sizes for dimension 'time': length 1487 on the data but length 0 on coordinate 'time'", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[6], line 5\u001b[0m\n\u001b[1;32m 2\u001b[0m depths \u001b[38;5;241m=\u001b[39m np\u001b[38;5;241m.\u001b[39mones(gs)\n\u001b[1;32m 3\u001b[0m model\u001b[38;5;241m.\u001b[39mget_grid_z(\u001b[38;5;241m1\u001b[39m, depths)\n\u001b[0;32m----> 5\u001b[0m da_sm \u001b[38;5;241m=\u001b[39m \u001b[43mxr\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mDataArray\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 6\u001b[0m \u001b[43m \u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43msoil_moisture\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 7\u001b[0m \u001b[43m \u001b[49m\u001b[43mdims\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtime\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[43m \u001b[49m\u001b[43mcoords\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43m{\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mtime\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mnp\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43marray\u001b[49m\u001b[43m(\u001b[49m\u001b[43mtime\u001b[49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mdepth\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m:\u001b[49m\u001b[43m \u001b[49m\u001b[43mdepths\u001b[49m\u001b[43m}\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 9\u001b[0m \u001b[43m)\u001b[49m\n\u001b[1;32m 10\u001b[0m da_sm\u001b[38;5;241m.\u001b[39mto_netcdf(path\u001b[38;5;241m=\u001b[39m\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;132;01m{\u001b[39;00mout_path\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m/soil_moisture.nc\u001b[39m\u001b[38;5;124m\"\u001b[39m, mode\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mw\u001b[39m\u001b[38;5;124m'\u001b[39m)\n\u001b[1;32m 12\u001b[0m da_t \u001b[38;5;241m=\u001b[39m xr\u001b[38;5;241m.\u001b[39mDataArray(\n\u001b[1;32m 13\u001b[0m data\u001b[38;5;241m=\u001b[39msoil_temperature,\n\u001b[1;32m 14\u001b[0m dims\u001b[38;5;241m=\u001b[39m(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtime\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdepth\u001b[39m\u001b[38;5;124m\"\u001b[39m),\n\u001b[1;32m 15\u001b[0m coords\u001b[38;5;241m=\u001b[39m{\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mtime\u001b[39m\u001b[38;5;124m\"\u001b[39m: np\u001b[38;5;241m.\u001b[39marray(time), \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mdepth\u001b[39m\u001b[38;5;124m\"\u001b[39m: depths},\n\u001b[1;32m 16\u001b[0m )\n", - "File \u001b[0;32m~/miniconda3/envs/pystemmusscope/lib/python3.10/site-packages/xarray/core/dataarray.py:443\u001b[0m, in \u001b[0;36mDataArray.__init__\u001b[0;34m(self, data, coords, dims, name, attrs, indexes, fastpath)\u001b[0m\n\u001b[1;32m 441\u001b[0m data \u001b[38;5;241m=\u001b[39m _check_data_shape(data, coords, dims)\n\u001b[1;32m 442\u001b[0m data \u001b[38;5;241m=\u001b[39m as_compatible_data(data)\n\u001b[0;32m--> 443\u001b[0m coords, dims \u001b[38;5;241m=\u001b[39m \u001b[43m_infer_coords_and_dims\u001b[49m\u001b[43m(\u001b[49m\u001b[43mdata\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mshape\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mcoords\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdims\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 444\u001b[0m variable \u001b[38;5;241m=\u001b[39m Variable(dims, data, attrs, fastpath\u001b[38;5;241m=\u001b[39m\u001b[38;5;28;01mTrue\u001b[39;00m)\n\u001b[1;32m 446\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(coords, Coordinates):\n", - "File \u001b[0;32m~/miniconda3/envs/pystemmusscope/lib/python3.10/site-packages/xarray/core/dataarray.py:188\u001b[0m, in \u001b[0;36m_infer_coords_and_dims\u001b[0;34m(shape, coords, dims)\u001b[0m\n\u001b[1;32m 185\u001b[0m var\u001b[38;5;241m.\u001b[39mdims \u001b[38;5;241m=\u001b[39m (dim,)\n\u001b[1;32m 186\u001b[0m new_coords[dim] \u001b[38;5;241m=\u001b[39m var\u001b[38;5;241m.\u001b[39mto_index_variable()\n\u001b[0;32m--> 188\u001b[0m \u001b[43m_check_coords_dims\u001b[49m\u001b[43m(\u001b[49m\u001b[43mshape\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mnew_coords\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mdims_tuple\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 190\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m new_coords, dims_tuple\n", - "File \u001b[0;32m~/miniconda3/envs/pystemmusscope/lib/python3.10/site-packages/xarray/core/dataarray.py:126\u001b[0m, in \u001b[0;36m_check_coords_dims\u001b[0;34m(shape, coords, dim)\u001b[0m\n\u001b[1;32m 124\u001b[0m \u001b[38;5;28;01mfor\u001b[39;00m d, s \u001b[38;5;129;01min\u001b[39;00m v\u001b[38;5;241m.\u001b[39msizes\u001b[38;5;241m.\u001b[39mitems():\n\u001b[1;32m 125\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m s \u001b[38;5;241m!=\u001b[39m sizes[d]:\n\u001b[0;32m--> 126\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\n\u001b[1;32m 127\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mconflicting sizes for dimension \u001b[39m\u001b[38;5;132;01m{\u001b[39;00md\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m: \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 128\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mlength \u001b[39m\u001b[38;5;132;01m{\u001b[39;00msizes[d]\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m on the data but length \u001b[39m\u001b[38;5;132;01m{\u001b[39;00ms\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m on \u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 129\u001b[0m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mcoordinate \u001b[39m\u001b[38;5;132;01m{\u001b[39;00mk\u001b[38;5;132;01m!r}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[1;32m 130\u001b[0m )\n", - "\u001b[0;31mValueError\u001b[0m: conflicting sizes for dimension 'time': length 1487 on the data but length 0 on coordinate 'time'" - ] - } - ], - "source": [ - "# gs = model.get_grid_size(1)\n", - "# depths = np.ones(gs)\n", - "# model.get_grid_z(1, depths)\n", - "\n", - "# da_sm = xr.DataArray(\n", - "# data=soil_moisture,\n", - "# dims=(\"time\", \"depth\"),\n", - "# coords={\"time\": np.array(time), \"depth\": depths},\n", - "# )\n", - "# da_sm.to_netcdf(path=f\"{out_path}/soil_moisture.nc\", mode='w')\n", - "\n", - "# da_t = xr.DataArray(\n", - "# data=soil_temperature,\n", - "# dims=(\"time\", \"depth\"),\n", - "# coords={\"time\": np.array(time), \"depth\": depths},\n", - "# )\n", - "# da_t.to_netcdf(path=f\"{out_path}/soil_temperature.nc\", mode='w')" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "real_datetime(2012, 2, 1, 0, 0)" - ] - }, - "execution_count": 8, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "num2pydate(model.get_end_time(), model.get_time_units())" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "1487" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "n_timesteps" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "ename": "ValueError", - "evalue": "Model terminated with return code None", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[7], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfinalize\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/GitHub/STEMMUS_SCOPE_Processing/PyStemmusScope/bmi/implementation.py:268\u001b[0m, in \u001b[0;36mStemmusScopeBmi.finalize\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 266\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Finalize the STEMMUS_SCOPE model.\"\"\"\u001b[39;00m\n\u001b[1;32m 267\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_process \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 268\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_process\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfinalize\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 269\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 270\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe STEMMUS_SCOPE process is not running/connected. Can\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt finalize!\u001b[39m\u001b[38;5;124m\"\u001b[39m\n", - "File \u001b[0;32m~/GitHub/STEMMUS_SCOPE_Processing/PyStemmusScope/bmi/local_process.py:162\u001b[0m, in \u001b[0;36mLocalStemmusScope.finalize\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 160\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 161\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mModel terminated with return code \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprocess\u001b[38;5;241m.\u001b[39mpoll()\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m--> 162\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg)\n", - "\u001b[0;31mValueError\u001b[0m: Model terminated with return code None" - ] - } - ], - "source": [ - "model.finalize()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can show the results. Note that up to ~2.5 m depth the soil is completely saturated, and that the temperature here equals the groundwater temperature we defined before." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### plots" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 9, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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AABo2UgMAQDggnR0Bcv0rmQ//PBDMAnUsWNHtW7dWoccckhwe58+fehKBgAAghh8ummQGAIAwAVWGmYly/Tp6rt06aItW7aopKREkjRx4kR17NgxuP2HH35QmzZt3AoPAAA0MySGmgZXBAAAuGLgwIFasWJF8PG8efMciaG33npLAwYMcCM0AAAASdI///lPnXPOOerWrZsMw9Dzzz/v2G7btqZPn66uXbuqVatWGj58uL766it3gk0SFUMAALiArmTSCy+8EHf7scceq1NPPXU/RQMAAJo7w/APIJ1qG42xe/duHX300brssst0wQUXRGyfP3++7r33Xj322GPq2bOnpk2bptLSUn3xxRcqKChIKdb9hcQQAAAuIDHUsOOOO87tEAAAQDNieDwyPZ6U22iMs88+W2effXbUbbZta+HChbr11lt13nnnSZIef/xxFRUV6fnnn9fFF1+cUqz7C4khAADgum+++UZvvfWWvv32W1mW5dg2adIkl6ICAACIbf369aqoqNDw4cOD69q1a6chQ4ZoxYoVJIYAAEBsVAzVe/TRR3XFFVcoLy9PBx54oAyj/nkZhkFiCAAASErv4NNVVVWO9fn5+crPz29UWxUVFZKkoqIix/qioqLgtkzA4NMAAMBV06ZN0/Tp07Vjxw5t2LBB69evDy7/+c9/3A4PAAC0QCUlJWrXrl1wmTt3rtshuYaKIQAAXEDFUL09e/bo4osvlpniYJIAAKBlS2fF0KZNm1RYWBhc39hqIUkqLi6WJFVWVqpr167B9ZWVlRo4cGBKce5P3IEBAOACW5IlI6XFdvtJpMn48eP1zDPPuB0GAABo5gzTTMsiSYWFhY4lmcRQz549VVxcrPLy8uC6qqoqvffeexo6dGjanndTo2IIAAC4au7cufrpT3+qpUuX6qijjlJubq5j+4IFC1yKDAAAZLtdu3Zp7dq1wcfr16/XqlWr1LFjRx188MH69a9/rdmzZ6tv377B6eq7deumkSNHuhd0I5EYAgDABXQlqzd37ly98sor6tevnyRFDD4NAAAgpbcrWaI++OADnX766cHHZWVlkqQxY8bo0Ucf1Y033qjdu3frV7/6lbZv366TTjpJS5cuVUFBQUpx7k8khgAAcAGJoXp33323Hn74YY0dO9btUAAAQDNmmEbqiSGzcfdPp512mmw7dgd+wzA0a9YszZo1K6W43MQYQwAAwFX5+fk68cQT3Q4DAAAgK5EYAgDABYGKoVSXluDaa6/Vfffd53YYAACgmUvn4NOoR1cyAABcQFeyeu+//77+8Y9/6MUXX9QRRxwRMfj0c88951JkAACgOTFMjwzTk3IbcCIxBAAAXNW+fXtdcMEFbocBAACQlUgMAQDgAts2ZKdY8ZPq8c3FI4884nYIAAAgE5ge/5JqG3AgMQQAgAssGbKUYleyFI8HAADIKKbpX1JtAw5cEQAAsN+NGDFC7777boP77dy5U3feeacWLVq0H6ICAADIPlQMAQDggmwffPqiiy7ShRdeqHbt2umcc87R4MGD1a1bNxUUFOiHH37QF198obfeeksvv/yyfvKTn+g3v/mN2yEDAACXGR6PDE+Kg0+neHxLRGIIAAAXZPsYQ+PHj9ell16qZ555RkuWLNGDDz6oHTt2SJIMw1D//v1VWlqqf/3rXzr88MNdjhYAADQLWT7G0Jdffqmnn35ab775pv773/9qz5496ty5s4455hiVlpbqwgsvVH5+fqPbJTEEAABckZ+fr0svvVSXXnqpJGnHjh3au3evDjzwwIgp6wEAALLVhx9+qBtvvFFvvfWWTjzxRA0ZMkTnn3++WrVqpW3btumzzz7TLbfcomuuuUY33nijfv3rXzcqQURiCAAAF2R7V7Jo2rVrp3bt2rkdBgAAaK5MMw0VQ5k31PKFF16oG264QX/+85/Vvn37mPutWLFC99xzj+6++27dfPPNCbdPYggAABdke1cyAACAxjJMU0aKiZ1Uj3fDv//974SqqYcOHaqhQ4eqpqamUe1n3hUBAAAAAADIEo3tYt/Y/UkMAQDgAruuK1kqCxVDAAAgqxie+gGok12MzBx8+h//+If69++vqqqqiG07duzQEUccoTfffDOptkkMAQDgAluSbae4uP0kAAAA9qdUk0LpmNXMJQsXLtSECRNUWFgYsa1du3a64oortGDBgqTaJjEEAABc1atXL33//fcR67dv365evXq5EBEAAEDz8vHHH2vEiBExt5911llauXJlUm0z+DQAAC6wZMhQirOSpXh8c7Fhwwb5fL6I9dXV1dq8ebMLEQEAgOYoWweflqTKysq4Ywfl5ORo69atSbVNYggAABcwK5n017/+NfjzK6+84piq3ufzqby8XD169HAhMgAA0CyloytYhnYl6969uz777DP16dMn6vZPPvlEXbt2TaptEkMAAMAVI0eOlCQZhqExY8Y4tuXm5qpHjx66++67XYgMAACgefnxj3+sadOmacSIESooKHBs27t3r2bMmKGf/vSnSbWdmTVUAABkuFRnJAssyVi0aJF69OihgoICDRkyRO+//37MfR966CGdfPLJ6tChgzp06KDhw4dH7D927FgZhuFY4vWBD14Dy5JlWTr44IP17bffBh9blqXq6mqtWbMm6RscAADQAplmGgafzsw0yK233qpt27bp0EMP1fz58/XCCy/ohRde0J133ql+/fpp27ZtuuWWW5Jqm4ohAABcEJhZLNU2GmvJkiUqKyvT4sWLNWTIEC1cuFClpaVas2aNunTpErH/8uXLdckll+iEE05QQUGB7rzzTp111ln6/PPP1b179+B+I0aM0COPPBJ8nJ+fn3BM69evb/wTAQAAWcfweGR4UusKlurxbikqKtI777yjq666SlOnTpVddyNoGIZKS0u1aNEiFRUVJdU2iSEAALLIggULNGHCBI0bN06StHjxYr300kt6+OGHNWXKlIj9n3zyScfj3/3ud3r22WdVXl6u0aNHB9fn5+eruLg46bjKy8tVXl4erBwK9fDDDyfdLgAAQEtxyCGH6OWXX9YPP/ygtWvXyrZt9e3bVx06dEipXRJDAAC4IJ2DT1dVVTnW5+fnR63Y8Xq9WrlypaZOnRpcZ5qmhg8frhUrViR0zj179qimpkYdO3Z0rF++fLm6dOmiDh066IwzztDs2bN14IEHJtTmzJkzNWvWLA0ePFhdu3aVYWT2oNoAAKCJmGbqXcEytCtZqA4dOujYY49NW3skhgAAcEE6E0MlJSWO9TNmzNBtt90Wsf93330nn88XUWZcVFSk1atXJ3TOm266Sd26ddPw4cOD60aMGKELLrhAPXv21Lp163TzzTfr7LPP1ooVK+RJoFx78eLFevTRR/XLX/4yoRgAAECWyuJZyZoSiSEAADLcpk2bVFhYGHzcmPF9GmPevHl6+umntXz5csdsGBdffHHw56OOOkoDBgxQ7969tXz5cg0bNqzBdr1er0444YQmiRkAAADxZX4NFQAAGSids5IVFhY6lliJoU6dOsnj8aiystKxvrKyssHxge666y7NmzdPr776qgYMGBB33169eqlTp05au3ZtQtfi8ssv11NPPZXQvgAAIHsZpictC5yoGAIAwAVuzEqWl5enQYMGqby8XCNHjpTknzK+vLxcEydOjHnc/PnzNWfOHL3yyisaPHhwg+f5+uuv9f3336tr164JxbVv3z49+OCDev311zVgwADl5uY6ti9YsCChdgAAQAtnpGGMIYP6mHAkhgAAyCJlZWUaM2aMBg8erOOOO04LFy7U7t27g7OUjR49Wt27d9fcuXMlSXfeeaemT5+up556Sj169FBFRYUkqW3btmrbtq127dqlmTNn6sILL1RxcbHWrVunG2+8UX369FFpaWlCMX3yyScaOHCgJOmzzz5zbGMgagAAgHp//etfo643DEMFBQXq06ePevbs2ag2SQwBAOACf8VQqoNPN/6YUaNGaevWrZo+fboqKio0cOBALV26NDgg9caNG2WGfBP3wAMPyOv16mc/+5mjncAA1x6PR5988okee+wxbd++Xd26ddNZZ52l22+/PeGxjpYtW9b4JwIAALJOOrqCZXpXspEjR8owDNlhN4KBdYZh6KSTTtLzzz+f8DT2JIYAAHBBOmcla6yJEyfG7Dq2fPlyx+MNGzbEbatVq1Z65ZVXkooj3Nq1a7Vu3TqdcsopatWqVfDmBgAAQFLddPWpzkqW2V3JXnvtNd1yyy2aM2eOjjvuOEnS+++/r2nTpunWW29Vu3btdMUVV+j666/X73//+4TaJDEEAABc9f333+vnP/+5li1bJsMw9NVXX6lXr14aP368OnTooLvvvtvtEAEAAJqFa6+9Vg8++KBjRtdhw4apoKBAv/rVr/T5559r4cKFuuyyyxJuM7NTZQAAZCg7TUtLcN111yk3N1cbN25U69atg+tHjRqlpUuXuhgZAABoVkwzPUsGW7dunQoLCyPWFxYW6j//+Y8kqW/fvvruu+8SbjMjrsiGDRs0fvx49ezZU61atVLv3r01Y8YMeb1et0MDACApga5kqS4twauvvqo777xTBx10kGN937599d///telqAAAQHNjeDxpWTLZoEGDdMMNN2jr1q3BdVu3btWNN96oY489VpL01VdfqaSkJOE2M6Ir2erVq2VZlv7f//t/6tOnjz777DNNmDBBu3fv1l133eV2eAAAIAW7d+92VAoFbNu2LeEBrAEAALLB73//e5133nk66KCDgsmfTZs2qVevXnrhhRckSbt27dKtt96a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Jujaa6/Ve++9J8Mw9M033+jJJ5/U9ddfr6uuuiqpNpNKDI0bN047duyIWL9z506NGzcuqUAAAEDTW7JkicrKyjRjxgx9+OGHOvroo1VaWqpvv/026v7Lly/XJZdcomXLlmnFihUqKSnRWWedFZwBQ5Lmz5+ve++9V4sXL9Z7772nNm3aqLS0VPv27dtfTwt1uEcDAKBlmzJlin7xi19o2LBh2rVrl0455RRdfvnluuKKK3TNNdck1WZSiSHbtmVEybJ9/fXXUaebBQAAYVyalWzBggWaMGGCxo0bp/79+2vx4sVq3bq1Hn744aj7P/nkk/rf//1fDRw4UIcddph+97vfybIslZeX+5+GbWvhwoW69dZbdd5552nAgAF6/PHH9c033+j5559P5QohCdyjAQBatCyflczn8+nNN9/U1VdfrW3btumzzz7Tu+++q61btwbHaUxGwmMMSdIxxxwjwzBkGIaGDRumnJz6w30+n9avX68RI0YkHQwAANnCsP1Lqm1IUlVVlWN9fn6+8vPzI/b3er1auXKlpk6dGlxnmqaGDx+uFStWJHTOPXv2qKamRh07dpQkrV+/XhUVFRo+fHhwn3bt2mnIkCFasWKFLr744sY+LSSBezQAQFYwDP+SahsZyuPx6KyzztKXX36p9u3bq3///mlpt1GJocCsF6tWrVJpaaljDIC8vDz16NFDF154YVoCAwAAiSkpKXE8njFjhm677baI/b777jv5fD4VFRU51hcVFWn16tUJneumm25St27dgomgioqKYBvhbQa2Nca+fftUUFDQ6OOyHfdoAABkhyOPPFL/+c9/1LNnz7S12ajE0IwZMyT5p5AdNWoUN24AACQrjbOSbdq0SYWFhcHV0aqF0mHevHl6+umntXz58rTeA1iWpTlz5mjx4sWqrKzUv//9b/Xq1UvTpk1Tjx49NH78+LSdq6XiHg0AkBVcnJVs0aJF+s1vfqOKigodffTRuu+++3TcccelFksSZs+ereuvv1633367Bg0apDZt2ji2h94TJqpRiaGAMWPGSJI++OADffnll5Kk/v37a9CgQck0BwAAUlBYWJjQTUCnTp3k8XhUWVnpWF9ZWani4uK4x951112aN2+eXn/9dQ0YMCC4PnBcZWWlunbt6mhz4MCBCcU/e/ZsPfbYY5o/f74mTJgQXH/kkUdq4cKFJIYagXs0AEBLFphZLNU2GiswecfixYs1ZMgQLVy4UKWlpVqzZo26dOmSUjyN9eMf/1iSdO655zrGFQyMM+jz+RrdZlKJoc2bN+viiy/W22+/rfbt20uStm/frhNOOEFPP/20DjrooGSaBQAATSgvL0+DBg1SeXl5sOtRYCDpiRMnxjxu/vz5mjNnjl555RUNHjzYsa1nz54qLi5WeXl5MBFUVVWl9957L+EpUx9//HE9+OCDGjZsmK688srg+qOPPjrhLm7w4x4NAID0C528Q5IWL16sl156SQ8//LCmTJmyX2NZtmxZ2ttMKjE0fvx41dTU6Msvv1S/fv0kSWvWrNG4ceN0+eWXa+nSpWkNEgCAlsZQGgafTuKYsrIyjRkzRoMHD9Zxxx2nhQsXavfu3cEbndGjR6t79+6aO3euJOnOO+/U9OnT9dRTT6lHjx7BcYPatm2rtm3byjAM/frXv9bs2bPVt29f9ezZU9OmTVO3bt2CyaeGbN68WX369IlYb1mWampqkniW2Yt7NABAi5bGrmT7c/KOdDr11FPT3mZSiaE33nhD77zzTvCGQ5L69eun++67TyeffHLaggMAoMVKcrr5iDYaadSoUdq6daumT5+uiooKDRw4UEuXLg0OHr1x40aZZv0N1wMPPCCv16uf/exnjnZCB7i+8cYbtXv3bv3qV7/S9u3bddJJJ2np0qUJj3PTv39/vfnmmzrkkEMc6//85z/rmGOOafRzzGbcowEAWjLbMGSnOKtY4Pj9OXlHOv3zn/+Mu/2UU05pdJtJJYZKSkqifoPn8/nUrVu3ZJoEAAD7ycSJE2N2HVu+fLnj8YYNGxpszzAMzZo1S7NmzUoqnunTp2vMmDHavHmzLMvSc889pzVr1ujxxx/Xiy++mFSb2Yp7NAAAErO/Ju9It9NOOy1iXehYQ8mMMZRUDdZvfvMbXXPNNfrggw+C6z744ANde+21uuuuu5JpEgCA7GKnaWkBzjvvPP3tb3/T66+/rjZt2mj69On68ssv9be//U1nnnmm2+FlFO7RAAAtmW2nZ5HqJ+8ILLESQ6lM3tEUfvjhB8fy7bffaunSpTr22GP16quvJtVmUhVDY8eO1Z49ezRkyBDl5PibqK2tVU5Oji677DJddtllwX23bduWVGAAALRoaZyuPpPV1tbqjjvu0GWXXabXXnvN7XAyHvdoAICWzLJtWXZqN0CNPT7ZyTuaSrt27SLWnXnmmcrLy1NZWZlWrlzZ6DaTSgwtXLgwmcMAAAAccnJyNH/+fI0ePdrtUFoE7tEAAEi/hibvaA6Kioq0Zs2apI5NKjE0ZsyYpE4GAAD8DDsNs5K1gIohSRo2bJjeeOMN9ejRw+1QMh73aACAlsytguuGJu/Ynz755BPHY9u2tWXLFs2bN08DBw5Mqs2kEkOStG7dOj3yyCNat26d7rnnHnXp0kV///vfdfDBB+uII45ItlkAALIDXcmCzj77bE2ZMkWffvqpBg0apDZt2ji2n3vuuS5Flpm4RwMAtFSW7V9SbSMZ8Sbv2J8GDhwowzBkh3WJO/744/Xwww8n1WbS09WfffbZOvHEE/XPf/5Tc+bMUZcuXfTxxx/r97//vf785z8nFQwAAMg+//u//ytJWrBgQcQ2wzCSml0jW3GPBgBAy7Z+/XrHY9M01blzZxUUFCTdZlKzkk2ZMkWzZ8/Wa6+9pry8vOD6M844Q++++27SwQAAkDWYlSzIsqyYC0mhxuEeDQDQktm2nZYlk73xxhsqLi7WIYccokMOOUQlJSUqKCiQ1+vV448/nlSbSSWGPv30U51//vkR67t06aLvvvsuqUAAAMgmgTGGUl2AUNyjAQBaskBXslSXTDZu3Djt2LEjYv3OnTuTHgw7qa5k7du315YtW9SzZ0/H+o8++kjdu3dPKhAAAJCdZs2aFXf79OnT91MkmY97NAAAWjbbtmUYRsT6r7/+OupU9olIKjF08cUX66abbtIzzzwjwzBkWZbefvttXX/99Uw3CwBAImzDv6TaRgvwl7/8xfG4pqZG69evV05Ojnr37k1iqBG4RwMAtHQZXvCTtGOOOUaGYcgwDA0bNkw5OfXpHJ/Pp/Xr12vEiBFJtZ1UYuiOO+7Q1VdfrZKSEvl8PvXv31+1tbX6n//5H916661JBQIAQFZhVrKgjz76KGJdVVWVxo4dG7VbFGLjHg0A0JK5OSuZ20aOHClJWrVqlUpLS9W2bdvgtry8PPXo0UMXXnhhUm0nlRjKy8vTQw89pOnTp+vTTz/Vrl27dMwxx6hv375JBQEAABCqsLBQM2fO1DnnnKNf/vKXboeTMbhHAwCgZZoxY4YkqUePHho1alRKs5CFSzgxVFZWFnd76EwX0aabBQAA9dIxeHRLH3x6x44dUQdXhBP3aACAbJGOWcUyfVayMWPGpL3NhBND4WXeH374oWpra9WvXz9J0r///W95PB4NGjQovRECANAS0ZUs6N5773U8tm1bW7Zs0RNPPKGzzz7bpagyB/doAIBsYdUtqbaRyXw+n37729/qT3/6kzZu3Civ1+vYvm3btka3mXBiaNmyZcGfFyxYoAMOOECPPfaYOnToIEn64YcfNG7cOJ188smNDgIAAGSv3/72t47Hpmmqc+fOGjNmjKZOnepSVJmDezQAALLHzJkz9bvf/U6TJ0/WrbfeqltuuUUbNmzQ888/n/SEHUmNMXT33Xfr1VdfDd5wSFKHDh00e/ZsnXXWWZo8eXJSwQAAkDXS0JWspVQMrV+/3u0QWgzu0QAALZlt+5dU28hkTz75pB566CH95Cc/0W233aZLLrlEvXv31oABA/Tuu+9q0qRJjW7TTCaQqqoqbd26NWL91q1btXPnzmSaBAAgu9hpWlqAyy67LOr9w+7du3XZZZe5EFHm4h4NANCSBWYlS3XJZBUVFTrqqKMkSW3btg2Ox/jTn/5UL730UlJtJpUYOv/88zVu3Dg999xz+vrrr/X111/r2Wef1fjx43XBBRckFQgAAMhOjz32mPbu3Ruxfu/evXr88cddiChzcY8GAEDLdtBBB2nLli2SpN69e+vVV1+VJP3rX/9Sfn5+Um0m1ZVs8eLFuv766/WLX/xCNTU1/oZycjR+/Hj95je/SSoQAACyCoNPq6qqKji7yM6dOx3Trvp8Pr388svq0qWLixFmHu7RAAAtGbOS+b8EKi8v15AhQ3TNNdfo0ksv1e9//3tt3LhR1113XVJtJpUYat26tf7v//5Pv/nNb7Ru3TpJ/kxVmzZtkgoCAIBsw3T1Uvv27WUYhgzD0KGHHhqx3TAMzZw504XIMhf3aACAloxZyaR58+YFfx41apQOOeQQvfPOO+rbt6/OOeecpNpMKjEU0KZNGw0YMCCVJgAAQJZatmyZbNvWGWecoWeffVYdO3YMbsvLy9Mhhxyibt26uRhh5uIeDQCAlqempkZXXHGFpk2bpp49e0qSjj/+eB1//PEptZtSYggAACBZp556qiT/rGQHH3ywDMNwOSIAANCc2UrDrGRpicQdubm5evbZZzVt2rS0tpvU4NMAACBFzEoW9OWXX+rtt98OPl60aJEGDhyoX/ziF/rhhx9cjAwAADQnlm2nZclkI0eO1PPPP5/WNqkYAgAArrrhhht05513SpI+/fRTlZWVafLkyVq2bJnKysr0yCOPuBwhAABA89C3b1/NmjVLb7/9tgYNGhQxjuCkSZMa3SaJIQAAXMDg0/XWr1+v/v37S5KeffZZnXPOObrjjjv04Ycf6sc//rHL0QEAgOaCSV2l3//+92rfvr1WrlyplStXOrYZhkFiCACAjJLpdyZpkpeXpz179kiSXn/9dY0ePVqS1LFjR1VVVbkZGgAAaEYs27+k2kYmW79+fdrbJDEEAABcddJJJ6msrEwnnnii3n//fS1ZskSS9O9//1sHHXSQy9EBAAA0P16vV+vXr1fv3r2Vk5NaaofBpwEAcAODTwfdf//9ysnJ0Z///Gc98MAD6t69uyTp73//u0aMGOFydAAAoNmw/bOSpbJk+v3Tnj17NH78eLVu3VpHHHGENm7cKEm65pprNG/evKTazJjE0LnnnquDDz5YBQUF6tq1q375y1/qm2++cTssAACSEhhjKNWlJTj44IP14osv6uOPP9b48eOD63/729/q3nvvdTEyAADQnFiy07JksqlTp+rjjz/W8uXLVVBQEFw/fPjwYNV1Y2VMYuj000/Xn/70J61Zs0bPPvus1q1bp5/97GduhwUAAJIQOnZQVVVV3AUAAAB+zz//vO6//36ddNJJMgwjuP6II47QunXrkmozY8YYuu6664I/H3LIIZoyZYpGjhypmpoa5ebmuhgZAABJyPJpNTp06KAtW7aoS5cuat++vePGJsC2bRmGIZ/P50KEAACguQl2B0uxjUy2detWdenSJWL97t27o95PJSJjEkOhtm3bpieffFInnHBC3KRQdXW1qqurg4/51hEA0Fxk+3T1//jHP9SxY0dJ0rJly1yOBqG4fwIANFfMSiYNHjxYL730kq655hpJCiaDfve732no0KFJtZlRiaGbbrpJ999/v/bs2aPjjz9eL774Ytz9586dq5kzZ+6n6AAAQKJOPfXUqD/Dfdw/AQDQfN1xxx06++yz9cUXX6i2tlb33HOPvvjiC73zzjt64403kmrT1TGGpkyZIsMw4i6rV68O7n/DDTfoo48+0quvviqPx6PRo0fLjlMHNnXqVO3YsSO4bNq0aX88LQAAGsasZA7bt2/X3Xffrcsvv1yXX365fvvb32rHjh1uh5WVuH8CADRXqc5Ilo6uaG476aSTtGrVKtXW1uqoo47Sq6++qi5dumjFihUaNGhQUm26WjE0efJkjR07Nu4+vXr1Cv7cqVMnderUSYceeqgOP/xwlZSU6N13341ZLpWfn6/8/Px0hgwAQHpk+RhDoT744AOVlpaqVatWOu644yRJCxYs0Jw5c/Tqq6/qRz/6kcsRZhfunwAAzVU6ZhXL9FnJJKl379566KGH0taeq4mhzp07q3Pnzkkda1mWJDn6wAMAgMxz3XXX6dxzz9VDDz2knBz/rUltba0uv/xy/frXv9Y///lPlyMEAABoPnw+n/7yl7/oyy+/lCT1799f5513XvA+qrEyYoyh9957T//617900kknqUOHDlq3bp2mTZum3r17Jz24EgAAbsr2wadDffDBB46kkCTl5OToxhtv1ODBg12MDAAANCfMSiZ9/vnnOvfcc1VRUaF+/fpJku6880517txZf/vb33TkkUc2uk1XxxhKVOvWrfXcc89p2LBh6tevn8aPH68BAwbojTfeoNQZAJCZGGMoqLCwUBs3boxYv2nTJh1wwAEuRAQAAJojy7bTsmSyyy+/XEcccYS+/vprffjhh/rwww+1adMmDRgwQL/61a+SajMjEkNHHXWU/vGPf+j777/Xvn37tH79ej3wwAPq3r2726EBAJBxFi1apB49eqigoEBDhgzR+++/H3Pfzz//XBdeeKF69OghwzC0cOHCiH1uu+22iMkjDjvssITjGTVqlMaPH68lS5Zo06ZN2rRpk55++mldfvnluuSSS5J5igAAAC3SqlWrNHfuXHXo0CG4rkOHDpozZ44++uijpNrMiK5kAAC0OC4NPr1kyRKVlZVp8eLFGjJkiBYuXKjS0lKtWbNGXbp0idh/z5496tWrly666CJdd911Mds94ogj9PrrrwcfN6aP+1133SXDMDR69GjV1tZKknJzc3XVVVdp3rx5jXh2AACgJfNZ/iXVNjLZoYceqsrKSh1xxBGO9d9++6369OmTVJskhgAAcIFbYwwtWLBAEyZM0Lhx4yRJixcv1ksvvaSHH35YU6ZMidj/2GOP1bHHHitJUbcH5OTkqLi4uPEBScrLy9M999yjuXPnat26dZL8s220bt06qfYAAEDLlI6uYJnelWzu3LmaNGmSbrvtNh1//PGSpHfffVezZs3SnXfeqaqqquC+hYWFCbVJYggAgCzh9Xq1cuVKTZ06NbjONE0NHz5cK1asSKntr776St26dVNBQYGGDh2quXPn6uCDD25UG61bt9ZRRx2VUhwAAAAt2U9/+lNJ0s9//nMZhiFJsuuSXeecc07wsWEY8vl8CbVJYggAADeksStZ6DdDkpSfnx91cobvvvtOPp9PRUVFjvVFRUVavXp10mEMGTJEjz76qPr166ctW7Zo5syZOvnkk/XZZ58lNHj0vn37dN9992nZsmX69ttvZVnOGu8PP/ww6dgAAEDLYdm2fFleMbRs2bK0t0liCAAAF6SzK1lJSYlj/YwZM3Tbbbel1ngjnH322cGfBwwYoCFDhuiQQw7Rn/70J40fP77B48ePH69XX31VP/vZz3TccccFv/0CAAAIZdmpJ3aszM4L6dRTT017mySGAADIcJs2bXL0IY9WLSRJnTp1ksfjUWVlpWN9ZWVl0uMDRdO+fXsdeuihWrt2bUL7v/jii3r55Zd14oknpi0GAACAlmrfvn365JNPolZan3vuuY1uj8QQAABuSGNXssLCwoQGF8zLy9OgQYNUXl6ukSNHSpIsy1J5ebkmTpyYYjD1du3apXXr1umXv/xlQvt37949oS5nAAAguzErmbR06VKNHj1a3333XcS2xowrFMpMR2AAAKCR7DQtjVRWVqaHHnpIjz32mL788ktdddVV2r17d3CWstGjRzsGp/Z6vVq1apVWrVolr9erzZs3a9WqVY5qoOuvv15vvPGGNmzYoHfeeUfnn3++PB6PLrnkkoRiuvvuu3XTTTfpv//9b+OfEAAAyBqBWclSXTLZNddco4suukhbtmyRZVmOJZmkkETFEAAAWWXUqFHaunWrpk+froqKCg0cOFBLly4NDki9ceNGmWb990bffPONjjnmmODju+66S3fddZdOPfVULV++XJL09ddf65JLLtH333+vzp0766STTtK7776rzp07JxTT4MGDtW/fPvXq1UutW7dWbm6uY/u2bdtSfNYAAAAtQ2VlpcrKyiImE0kFiSEAAFxg1C2ptpGMiRMnxuw6Fkj2BPTo0SM4BWosTz/9dJKR+F1yySXavHmz7rjjDhUVFTH4NAAAiMqXhlnJUj3ebT/72c+0fPly9e7dO21tkhgCAMANaRxjKNO98847WrFihY4++mi3QwEAAM2YpdRnFcvwIYZ0//3366KLLtKbb76po446KqLSetKkSY1uk8QQAABw1WGHHaa9e/e6HQYAAECz98c//lGvvvqqCgoKtHz5ckeltWEYJIYAAMgUhu1fUm2jJZg3b54mT56sOXPmRP3mK5EZ1wAAQMvns2z5UiwZSvV4t91yyy2aOXOmpkyZ4hgXMhUkhgAAcANdyYJGjBghSRo2bJhjvW3bSU+7CgAAWh47DbOKNTR2YnPn9Xo1atSotCWFJBJDAADAZcuWLXM7BAAAgIwwZswYLVmyRDfffHPa2iQxBACAWzL7C6u0OfXUU90OAQAAZACf7V9SbSOT+Xw+zZ8/X6+88ooGDBgQ0QV/wYIFjW6TxBAAAC5gjCEAAIDGsdLQlSzV49326aef6phjjpEkffbZZ45toQNRNwaJIQAAAAAAgAzQFF3wSQwBAOAGBp8GAABoFGYlq7d27VqtW7dOp5xyilq1ahWctCMZ6RvGGgAAJCzQlSzVBQAAIFsEupKlumSy77//XsOGDdOhhx6qH//4x9qyZYskafz48Zo8eXJSbZIYAgAArlq/fr2++uqriPVfffWVNmzYsP8DAgAAaKauu+465ebmauPGjWrdunVw/ahRo7R06dKk2iQxBACAG+w0LS3A2LFj9c4770Ssf++99zR27Nj9HxAAAGiWArOSpbpksldffVV33nmnDjroIMf6vn376r///W9SbZIYAgDABXQlq/fRRx/pxBNPjFh//PHHa9WqVfs/IAAA0CzRlUzavXu3o1IoYNu2bcrPz0+qTRJDAADAVYZhaOfOnRHrd+zYIZ/P50JEAAAAzdPJJ5+sxx9/PPjYMAxZlqX58+fr9NNPT6pNZiUDAMANzEoWdMopp2ju3Ln64x//KI/HI0ny+XyaO3euTjrpJJejAwAAzYVl2bJSnFUs1ePdNn/+fA0bNkwffPCBvF6vbrzxRn3++efatm2b3n777aTaJDEEAIAbSAwF3XnnnTrllFPUr18/nXzyyZKkN998U1VVVfrHP/7hcnQAAKC5sNIwRlCG54V05JFH6t///rfuv/9+HXDAAdq1a5cuuOACXX311eratWtSbZIYAgAArurfv78++eQT3X///fr444/VqlUrjR49WhMnTlTHjh3dDg8AAKDZ2Lhxo0pKSnTLLbdE3XbwwQc3uk0SQwAAuCAdg0e3lMGnJalbt26644473A4DAAA0Y+kYPDrTB5/u2bOntmzZoi5dujjWf//99+rZs2dS4zOSGAIAwA1Z3pXsk08+0ZFHHinTNPXJJ5/E3XfAgAH7KSoAANCc+WxbvhQTO6ke7zbbtmUYRsT6Xbt2qaCgIKk2SQwBAID9buDAgaqoqFCXLl00cOBAGYYhO8qNmmEYzEwGAACyXllZmST/vdG0adMcU9b7fD699957GjhwYFJtkxgCAMAFhm3LSPEbq1SPd9P69evVuXPn4M8AAAANyeZZyT766CNJ/oqhTz/9VHl5ecFteXl5Ovroo3X99dcn1TaJIQAA3JDlXckOOeQQSVJNTY1mzpypadOmqWfPni5HBQAAmjOfUp+VLFPrkJctWyZJGjdunO655x4VFhamrW0zbS0BAAA0Um5urp599lm3wwAAAMgIjzzySFqTQhKJIQAAXBGYlSzVpSUYOXKknn/+ebfDAAAAzVxgVrJUFzjRlQwAADdkeVeyUH379tWsWbP09ttva9CgQWrTpo1j+6RJk1yKDAAANCfMStY0SAwBAABX/f73v1f79u21cuVKrVy50rHNMAwSQwAAAE2IxBAAAC5IR1ewltKVjFnJAABAIizLli9LZyVrSowxBACAG+w0LS3ArFmztGfPnoj1e/fu1axZs1yICAAANEe+usRQqgucSAwBAABXzZw5U7t27YpYv2fPHs2cOdOFiAAAALIHiSEAAFzArGT1bNuWYRgR6z/++GN17NjRhYgAAEBz1NwrhubMmaMTTjhBrVu3Vvv27aPus3HjRv3kJz9R69at1aVLF91www2qra1tspgSwRhDAAC4gVnJ1KFDBxmGIcMwdOihhzqSQz6fT7t27dKVV17pYoQAAKA58VlKObHjs9IUTBRer1cXXXSRhg4dqt///veR5/b59JOf/ETFxcV65513tGXLFo0ePVq5ubm64447mi6wBpAYAgAArli4cKFs29Zll12mmTNnql27dsFteXl56tGjh4YOHepihAAAAIkLdIF/9NFHo25/9dVX9cUXX+j1119XUVGRBg4cqNtvv1033XSTbrvtNuXl5e3HaOuRGAIAwCUtpStYssaMGSNJ6tmzp0488UTl5HBbAgAAYktHV7DA8VVVVY71+fn5ys/PT6nthqxYsUJHHXWUioqKgutKS0t11VVX6fPPP9cxxxzTpOePhTGGAABwg22nZ2kBTj31VP33v//VrbfeqksuuUTffvutJOnvf/+7Pv/8c5ejAwAAzUU6xxgqKSlRu3btgsvcuXObPP6KigpHUkhS8HFFRUWTnz8WEkMAAMBVb7zxho466ii99957eu6554IzlH388ceaMWOGy9EBAICWaNOmTdqxY0dwmTp1atT9pkyZEhwTMdayevXq/Rx9elGzDQCAC9Ixq1hL6Yo2ZcoUzZ49W2VlZTrggAOC68844wzdf//9LkYGAACaEysNXcmsuuMLCwtVWFjY4P6TJ0/W2LFj4+7Tq1evhM5dXFys999/37GusrIyuM0tJIYAAHADs5IFffrpp3rqqaci1nfp0kXfffedCxEBAIDmyGenYYyhRnbF79y5szp37pzSOQOGDh2qOXPm6Ntvv1WXLl0kSa+99poKCwvVv3//tJwjGXQlAwAArmrfvr22bNkSsf6jjz5S9+7dXYgIAACg8TZu3KhVq1Zp48aN8vl8WrVqlVatWhXsJn/WWWepf//++uUvf6mPP/5Yr7zyim699VZdffXVTT7wdTxUDAEA4ALD8i+pttESXHzxxbrpppv0zDPPyDAMWZalt99+W9dff71Gjx7tdngAAKCZSOesZE1h+vTpeuyxx4KPA7OMLVu2TKeddpo8Ho9efPFFXXXVVRo6dKjatGmjMWPGaNasWU0WUyKoGAIAwA12mpYkLFq0SD169FBBQYGGDBkS0dc91Oeff64LL7xQPXr0kGEYWrhwYcpthrvjjjt02GGHqaSkRLt27VL//v11yimn6IQTTtCtt97a2KcHAABaqHTOStYUHn30Udm2HbGcdtppwX0OOeQQvfzyy9qzZ4+2bt2qu+66Szk57tbskBgCACCLLFmyRGVlZZoxY4Y+/PBDHX300SotLQ1OER9uz5496tWrl+bNmxdzUMTGthkuLy9PDz30kNatW6cXX3xRf/jDH7R69Wo98cQT8ng8ST9XAAAANIzEEAAALgjMSpbq0lgLFizQhAkTNG7cOPXv31+LFy9W69at9fDDD0fd/9hjj9VvfvMbXXzxxTH7vje2zVgOPvhg/fjHP9bPf/5z9e3bt9HPDQAAtGy1lp2WBU6MMQQAgBts27+k2oakqqoqx+r8/PyoSRyv16uVK1dq6tSpwXWmaWr48OFasWJFUiGko03btvXnP/9Zy5Yt07fffivLcg6e9NxzzyUVGwAAaFma+xhDmYqKIQAAMlxJSYnatWsXXObOnRt1v++++04+n09FRUWO9UVFRaqoqEjq3Olo89e//rV++ctfav369Wrbtq3jubRr1y6puAAAAJAYKoYAAHBBsl3BwtuQpE2bNqmwsDC43s3pTpPxxBNP6LnnntOPf/xjt0MBAADNmJWGiiGLiqEIJIYAAHBDCrOKOdqQVFhY6EgMxdKpUyd5PB5VVlY61ldWVsYcWHp/tNmuXTv16tUrqfMDAIDs4bNt+VLsip/q8S0RXckAAMgSeXl5GjRokMrLy4PrLMtSeXm5hg4d6lqbt912m2bOnKm9e/cmFQMAAACSR8UQAAAuSGdXssYoKyvTmDFjNHjwYB133HFauHChdu/erXHjxkmSRo8ere7duwfHKfJ6vfriiy+CP2/evFmrVq1S27Zt1adPn4TabMjPf/5z/fGPf1SXLl3Uo0cP5ebmOrZ/+OGHjX+iAACgxWHw6aZBYggAADekcVayxhg1apS2bt2q6dOnq6KiQgMHDtTSpUuDg0dv3LhRpllfUPzNN9/omGOOCT6+6667dNddd+nUU0/V8uXLE2qzIWPGjNHKlSt16aWXqqioSIZhNPp5AQCAlo/EUNMgMQQAQJaZOHGiJk6cGHVbINkT0KNHD9kJJKDitdmQl156Sa+88opOOumkpI4HAABA8kgMAQDgAre6kjVHJSUlCQ2eDQAAshsVQ02DwacBAHCDnaalBbj77rt14403asOGDW6HAgAAmjGfbclnpbjYlttPo9mhYggAALjq0ksv1Z49e9S7d2+1bt06YvDpbdu2uRQZAABAy0diCAAAF9CVrN7ChQvdDgEAAGQAKw1dySy6kkUgMQQAgBss27+k2kYLMGbMGLdDAAAAGcBn2TIZYyjtMi4xVF1drSFDhujjjz/WRx99pIEDB7odEgAASMHGjRvjbj/44IP3UyQAAADZJ+MSQzfeeKO6deumjz/+2O1QAABIXjoGj24hX3j16NFDhmHE3O7z+fZjNAAAoLmqtSQjxYqfWsaejpBRiaG///3vevXVV/Xss8/q73//u9vhAACANPjoo48cj2tqavTRRx9pwYIFmjNnjktRAQAAZIeMSQxVVlZqwoQJev7559W6deuEjqmurlZ1dXXwcVVVVVOFBwBAoxhKw+DTaYnEfUcffXTEusGDB6tbt276zW9+owsuuMCFqLIX908AgOaKMYaahul2AImwbVtjx47VlVdeqcGDByd83Ny5c9WuXbvgUlJS0oRRAgDQCLadnqUF69evn/71r3+5HUbW4f4JANBc+epmJUt1gZOriaEpU6bIMIy4y+rVq3Xfffdp586dmjp1aqPanzp1qnbs2BFcNm3a1ETPBAAAJKuqqsqx7NixQ6tXr9att96qvn37uh1e1uH+CQCA7OJqV7LJkydr7Nixcffp1auX/vGPf2jFihXKz893bBs8eLD+53/+R4899ljUY/Pz8yOOAQCgOTDsNHQlayFfeLVv3z5i8GnbtlVSUqKnn37apaiyF/dPAIDmiq5kTcPVxFDnzp3VuXPnBve79957NXv27ODjb775RqWlpVqyZImGDBnSlCECANA0mJUsaNmyZY7Hpmmqc+fO6tOnj3JyMmY4RAAA0MSsNHQFs0gMRciIu62DDz7Y8bht27aSpN69e+uggw5yIyQAAJAmp556qtshAAAAZK2MSAwBANDSGLYtI8XBo1M93k1//etfE9733HPPbcJIAABApvBZtgy6kqVdRiaGevToITuDb4YBAJBVt6TaRoYaOXJkQvsZhiGfz9e0wQAAgIxg27bsFBM75BIiZWRiCAAAZDbLyuCsFgAAQAtCYggAABdke1cyAACAxrIsO+XBoxl8OpLpdgAAAGQlO01LC/HGG2/onHPOUZ8+fdSnTx+de+65evPNN90OCwAANCO2badlgROJIQAA4Ko//OEPGj58uFq3bq1JkyZp0qRJatWqlYYNG6annnrK7fAAAABaNLqSAQDgBtv2L6m20QLMmTNH8+fP13XXXRdcN2nSJC1YsEC33367fvGLX7gYHQAAaC5sKw2DT9OVLAIVQwAAuMCw07O0BP/5z390zjnnRKw/99xztX79ehciAgAAzVFgjKFUFziRGAIAAK4qKSlReXl5xPrXX39dJSUlLkQEAACQPehKBgCAG+hKFjR58mRNmjRJq1at0gknnCBJevvtt/Xoo4/qnnvucTk6AADQXNiWf0m1DTiRGAIAwAWG5V9SbaMluOqqq1RcXKy7775bf/rTnyRJhx9+uJYsWaLzzjvP5egAAEBzkY5ZxZiVLBKJIQAA4Lrzzz9f559/vtthAAAAZB3GGAIAwA2BrmSpLi3A5ZdfruXLl7sdBgAAaOYYfLppkBgCAMANdpqWFmDr1q0aMWKESkpKdMMNN2jVqlVuhwQAAJqhwHT1qS5wIjEEAABc9cILL2jLli2aNm2a/vWvf2nQoEE64ogjdMcdd2jDhg1uhwcAANCikRgCAMAFhm2nZWkpOnTooF/96ldavny5/vvf/2rs2LF64okn1KdPH7dDAwAAzUU6qoWoGIrA4NMAALiB6eqjqqmp0QcffKD33ntPGzZsUFFRkdshAQCAZsJKwxdjVgu8f0oVFUMAAMB1y5Yt04QJE1RUVKSxY8eqsLBQL774or7++mu3QwMAAGjRqBgCAMANtiQrDW20AN27d9e2bds0YsQIPfjggzrnnHOUn5/vdlgAAKCZse3UB4+2qRiKQGIIAAAXpGOMoJYyxtBtt92miy66SO3bt3c7FAAA0IylY1YxZiWLRGIIAAC4asKECW6HAAAAkLVIDAEA4AZbaRh8Oi2RAAAAZATLkowUK36sVLvyt0AkhgAAcAOzkgEAADSKbdspjxHEGEORmJUMAAAAAAAgS5EYAgDADVaaliQsWrRIPXr0UEFBgYYMGaL3338/7v7PPPOMDjvsMBUUFOioo47Syy+/7Ng+duxYGYbhWEaMGJFccAAAADHYVnoWOJEYAgDABYFZyVJdGmvJkiUqKyvTjBkz9OGHH+roo49WaWmpvv3226j7v/POO7rkkks0fvx4ffTRRxo5cqRGjhypzz77zLHfiBEjtGXLluDyxz/+ManrAgAAEItl2WlZ4ERiCACALLJgwQJNmDBB48aNU//+/bV48WK1bt1aDz/8cNT977nnHo0YMUI33HCDDj/8cN1+++360Y9+pPvvv9+xX35+voqLi4NLhw4d9sfTAQAAQIpIDAEA4IbA4NOpLpKqqqocS3V1ddRTer1erVy5UsOHDw+uM01Tw4cP14oVK6Ies2LFCsf+klRaWhqx//Lly9WlSxf169dPV111lb7//vtUrg4AAEAE27LTssCJxBAAAG5IY2KopKRE7dq1Cy5z586NesrvvvtOPp9PRUVFjvVFRUWqqKiIekxFRUWD+48YMUKPP/64ysvLdeedd+qNN97Q2WefLZ/Pl8oVAgAAcCAx1DSYrh4AgAy3adMmFRYWBh/n5+fv1/NffPHFwZ+POuooDRgwQL1799by5cs1bNiw/RoLAAAAGoeKIQAA3JDGiqHCwkLHEisx1KlTJ3k8HlVWVjrWV1ZWqri4OOoxxcXFjdpfknr16qVOnTpp7dq1jbkiAAAAcVm2nZYFTiSGAABwgwvT1efl5WnQoEEqLy+vD8OyVF5erqFDh0Y9ZujQoY79Jem1116Lub8kff311/r+++/VtWvXxgUIAAAQB13JmgaJIQAAskhZWZkeeughPfbYY/ryyy911VVXaffu3Ro3bpwkafTo0Zo6dWpw/2uvvVZLly7V3XffrdWrV+u2227TBx98oIkTJ0qSdu3apRtuuEHvvvuuNmzYoPLycp133nnq06ePSktLXXmOAAAASBxjDAEA4ALDtmWkWMqczPGjRo3S1q1bNX36dFVUVGjgwIFaunRpcIDpjRs3yjTrvzc64YQT9NRTT+nWW2/VzTffrL59++r555/XkUceKUnyeDz65JNP9Nhjj2n79u3q1q2bzjrrLN1+++37fawjAADQstl26hU/Nl3JIpAYAgDADSFjBKXURhImTpwYrPgJt3z58oh1F110kS666KKo+7dq1UqvvPJKUnEAAAA0hm3ZslJNDNGVLAJdyQAAAAAAALIUFUMAALjBsiUjxW+s+MYLAABkEdu2U+4KRleySCSGAABwg4tdyQAAADJROmYVoytZJLqSAQAAAAAAZCkqhgAAcEUaKobEN14AACB7WJadclf6VAevbolIDAEA4Aa6kgEAADSKbflkW76U24ATXckAAAAAAACyFBVDAAC4wbKVclcwSqEBAEAWoWKoaZAYAgDADbblX1JtAwAAIEvYlpWGxBD3T+HoSgYAAAAAAJClqBgCAMANDD4NAADQKLbPJ9uXYsVQise3RCSGAABwA2MMAQAANIptp2GMIZvEUDi6kgEAAAAAAGQpKoYAAHADXckAAAAahVnJmgYVQwAAuMFWfXIo6cXtJwEAALD/BBJDqS5NYcOGDRo/frx69uypVq1aqXfv3poxY4a8Xq9jv08++UQnn3yyCgoKVFJSovnz5zdJPI1BxRAAAAAAAEAKVq9eLcuy9P/+3/9Tnz599Nlnn2nChAnavXu37rrrLklSVVWVzjrrLA0fPlyLFy/Wp59+qssuu0zt27fXr371K9diJzEEAIAb6EoGAADQKM25K9mIESM0YsSI4ONevXppzZo1euCBB4KJoSeffFJer1cPP/yw8vLydMQRR2jVqlVasGCBq4khupIBAOAGy0rPAgAAkCVsy0pD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Sg3w6FsHDw8P2Nvb6y1rfYMvKiqCVqtt82HT2NiIHj16GCY0GYWoqCikpaXh999/R+/evXXLVSoVmpqaoNFo9L71qqmp0ZVslUqFixcv6j1e61U3VCoV6uvrkZ+fj8LCQkRFRQF49I2UEAKWlpY4ffo0QkJC4O/vr7t/r1692s2Zm5uL8PBwrF69GpMnT4ZCoYBarcbGjRv1xllZWendlslkaGlpec5nhYiIzAH7E/1X7E9kKjgxRGRG2nszf9Yb/N27d2FhYYGCggJYWFjojXu8DFHXJYTA4sWLkZKSgqysLHh6euqtHzlyJKysrJCRkYHQ0FAAQElJCaqqqnQnQAwMDMS6detQW1sLFxcXAEB6ejocHR3h4+MDKysrFBUV6T3utm3bkJmZicOHD8PT0xN2dnZ631A9TU5ODvr164cvv/xSt6yysvKFngMiIjJv7E/0vNifyNRwYoioi5DL5XonPXwZhg8fDq1Wi9ra2qcedkpdW2RkJPbv34+jR4/CwcFB9z/tCoUCr732GhQKBRYsWIBly5bByckJjo6OWLx4MQIDAxEQEAAACA4Oho+PD+bMmYNvv/0W1dXViImJQWRkJKytrQFA9z/3rVxcXGBjY9NmeUe8vLxQVVUFtVqNUaNG4cSJE0hJSXkJzwQREXVF7E/0KrA/kanhVcmIuggPDw/k5eXhxo0buH379ks5rNPb2xvh4eGIiIjAkSNHUFFRgYsXLyI+Ph4nTpx4CanJ2G3fvh11dXWYMGEC3NzcdD8HDhzQjUlISMA777yD0NBQjBs3DiqVCkeOHNGtt7CwQFpaGiwsLBAYGIjZs2cjIiJCd6LPF9H6Om894WJISAiWLl2KqKgo+Pn5IScnB7GxsS+8HSIi6prYn+hVYH8iUyMTQgipQxDRiystLcXcuXNx+fJl3L9/H4mJiZg/fz7+/fdfKJVKJCUlYcmSJbrLrwJAXFwcUlNTcenSJd2yefPmQaPRIDU1FcCjEy7+73//w549e3Dz5k04OzsjICAAq1evhq+vr2F3kugJ1dXVcHNzwx9//IE333xT6jhERGRi2J/IHLE/0ZM4MURERCZHCIHKykps2LABhw8fxo0bN2BjYyN1LCIiIiKjxf5ET8NzDBERkcmpq6vDoEGDMHjwYKjVapYaIiIiog6wP9HT8IghIiIiIiIiIiIzxZNPExERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZKU4MERERERERERGZqf8DIXyB1OU65ScAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "fig, (ax1, ax2) = plt.subplots(ncols=2, sharex=True, sharey=True, figsize=(14,5))\n", - "ax1.set_title(\"Soil Moisture\")\n", - "ax2.set_title(\"Soil Temperature\")\n", - "ax1.set_ylabel(\"depth (m)\")\n", - "ax2.set_ylabel(\"depth (m)\")\n", - "da_sm.plot(y=\"depth\", ax=ax1, cbar_kwargs={'label': \"volumetric moisture content (m3 m-3)\"})\n", - "da_t.plot(y=\"depth\", ax=ax2, cbar_kwargs={'label': \"temperature (deg C)\"})" - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 10, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAABIIAAAHWCAYAAAALsiIqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAADmVElEQVR4nOzdd3hb5dkG8Ptob8l7O3uQPSAhgQApIQkrhbI3acroB3SwaZktq4TVQqHQssoIo2UnbBIaQgYBJ2Tv6T01bO3zfn/Iki1P2ZEt2b5/16XrSGc+R0qsR895z/tKQggBIiIiIiIiIiLq9xSJDoCIiIiIiIiIiHoHC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0FERERERERERAMEC0E04A0ePBhXXnllosMgIiIi6jOYPxER9V0sBNGA8N133+Hee+9FXV1dokPpVd9//z2uv/56jB07FkajEYWFhTj//POxc+fONtfftm0b5s+fD5PJhNTUVFx22WWorKxstZ4sy3jkkUcwZMgQ6HQ6TJgwAUuWLOkwFr/fjzFjxkCSJDz66KMxn4PX68Vtt92G3Nxc6PV6TJ8+HV988UWr9T7//HMsWrQI48aNg1KpxODBg2M+RleP5ff7cd9992Ho0KHQarUYOnQo7r//fgQCgcg6kiTF9FixYkVkmxdeeAFHHXUUdDodRowYgaeeeqrNOL/88kvMnj0b6enpsNlsmDZtGl599dWYznHLli0477zzMHToUBgMBqSnp+OEE07ARx991Ob6sf6baE9dXR2uvvpqZGRkwGg0Yvbs2fjxxx/bXPfDDz/ElClToNPpUFhYiHvuuSfqPSUiot7F/In5UzyPxfyJ+RMlEUE0ACxevFgAEPv27Wu1zOPxCJ/P1/tB9YJzzjlHZGdnixtuuEH885//FH/+859FVlaWMBqNYtOmTVHrHjp0SKSnp4thw4aJv/71r+KBBx4QKSkpYuLEicLr9Uate/vttwsA4qqrrhLPP/+8OP300wUAsWTJknZjeeyxx4TRaBQAxOLFi2M+hwsvvFCoVCpx8803i+eee07MmDFDqFQqsXLlyqj1rrjiCqHT6cTMmTNFfn6+GDRoUMzH6Oqxzj//fCFJkli0aJF49tlnxRVXXBF5P8JeffXVqMcpp5wiALSaX1ZWJoQQ4h//+IcAIM455xzx/PPPi8suu0wAEA8//HDUsT/44AMhSZKYOXOmeOqpp8TTTz8tTjjhBAFAPP74452e49KlS8W8efPEvffeK55//nnx5JNPilmzZgkA4rnnnotatyv/JtoSDAbFzJkzhdFoFPfee694+umnxZgxY4TZbBY7d+6MWnfZsmVCkiQxe/Zs8fzzz4sbbrhBKBQKce2113Z6HCIi6hnMn5g/xfNYzJ+YP1HyYCGIBoSOEpn+bNWqVa2+cHbu3Cm0Wq245JJLoub/+te/Fnq9Xhw4cCAy74svvmj1BXf48GGhVqvFddddF5kny7KYNWuWyM/PF4FAoFUc5eXlwmq1ij/96U9dSmTWrl3ban232y2GDRsmZsyYEbVucXFxJCE9/fTTu5zIxHqsdevWCQDirrvuitr+pptuEpIkiY0bN7a5/+uuu060V3tvaGgQaWlp4vTTT4+af8kllwij0Shqamoi80455RSRm5srPB5PZJ7f7xfDhg0TEyZMiP2EmwkEAmLixIli1KhRUfNj/TfRnrfeeksAEO+8805kXkVFhbDZbOKiiy6KWnfMmDFi4sSJwu/3R+b98Y9/FJIkiW3btnXrvIiI6Mgwf2rC/OnIjsX8ifkTJRcWgqjfu+eeewSAVo9wUjNo0CBxxRVXRNZ/6aWXBACxcuVKccMNN4j09HRhtVrF1VdfLbxer6itrRWXXXaZsNlswmaziVtuuUXIshx1zGAwKJ544gkxZswYodVqRWZmprj66qujvpASacqUKWLKlClR8zIzM8V5553Xat2RI0eKk08+OfL673//uwAgtmzZErXeG2+8EXnfWlq4cKGYNm2a2Lt3b5cSmVtuuUUolUpht9uj5j/44IMCgDh48GCb23UnkYn1WI899lib5//9998LAOIPf/hDm/vvKJFZunSpACCWLl0aNf+7776LXAULmz59uhg7dmyrfUyfPl1Mnz49at6BAwdiTgLOOOMMkZWVFTUv1n8TQgixe/dusXv37qh55513nsjKyhLBYDBq/tVXXy0MBkMkGduyZYsAIP7+979HrVdcXCwAiD//+c8xnQMREcUP86fWmD91/1jMn5g/UXJRdfeWMqK+4he/+AV27tyJJUuW4IknnkB6ejoAICMjo8PtbrjhBmRnZ+O+++7DmjVr8Pzzz8Nms+G7775DYWEhHnzwQSxbtgyLFy/GuHHjcPnll0e2veaaa/Dyyy9j4cKF+M1vfoN9+/bh6aefRlFREVatWgW1Wt3ucb1eL5xOZ0znFj6XrhBCoLy8HGPHjo3MKy4uRkVFBY4++uhW60+bNg3Lli2LvC4qKoLRaMRRRx3Var3w8uOPPz4yf926dXjllVfw7bffQpKkLsVaVFSEkSNHwmKxtHmsDRs2oKCgoEv7PNJjeb1eAIBer49az2AwAAB++OGHbh0bQKv3f+rUqVAoFCgqKsKll14KADjppJPwl7/8BXfddReuuOIKSJKEN954A+vXr8fbb78dtf3ll1+Ob775BkKIVsesr6+H2+2G3W7Hhx9+iE8++QQXXHBBZHlX/k0AwMknnwwA2L9/f9R5TZkyBQpFdHd006ZNw/PPP4+dO3di/Pjx7Z5/bm4u8vPzI8uJiKj3MH+KxvzpyI7F/In5EyUXFoKo35swYQKmTJmCJUuW4Kyzzoq5E7ysrCwsW7YMkiTh//7v/7B7924sXrwY11xzDZ599lkAwNVXX43BgwfjxRdfjCQy3377Lf71r3/h9ddfx8UXXxzZ3+zZszF//ny88847UfNbWrJkCRYuXBhTjG19QXXm9ddfR3FxMf70pz9F5pWWlgIAcnJyWq2fk5ODmpoaeL1eaLValJaWIisrq1VSEt62pKQkKr4bbrgBF1xwAWbMmBH1JReL0tLSdmNqeawjFeuxRo0aBQBYtWoVhgwZEllv5cqVAEIJQHeOrVQqkZmZGTVfo9EgLS0t6jzvuusu7Nu3Dw888ADuv/9+AKEk6r///S9+/vOfx3zMm266Cc899xwAQKFQ4Be/+AWefvrpqJiA2P5NdHReJ5xwQpvbA6H3dPz48Z0eK56fMxERxYb5UzTmT0d2LOZPzJ8oubAQRNSORYsWRX1ZT58+HatXr8aiRYsi85RKJY4++uioqxjvvPMOrFYrTjnlFFRVVUXmT506FSaTCcuXL+8wkZk3b16bIy3Ew/bt23HddddhxowZuOKKKyLz3W43ALT5paTT6SLraLXayLSj9cJefvllbNq0Cf/5z3+6FW9XjnWkYj3WaaedhkGDBuHmm2+GwWDA1KlTsXbtWvzxj3+ESqXqVkxutxsajabNZTqdLmqfWq0WI0eOxLnnnotf/OIXCAaDeP7553HppZfiiy++wLHHHhtZt/mIGi397ne/w7nnnouSkhK8/fbbCAaD8Pl8UTGFj9dWTOF1wsvbSlJjfU87O5bD4Wj3PIiIKLkwfwph/sT8qa2Ywuswf6JEYyGIqB2FhYVRr61WKwC0akprtVpRW1sbeb1r1y7Y7fZWVyfCKioqOjxuTk5Om5X9I1VWVobTTz8dVqsV//nPf6BUKiPLws10w812m/N4PFHr6PX6mNZzOBy44447cMstt3TY/DgYDLYaTjM1NRUajSbmY8UqHsfS6XRYunQpzj//fJxzzjkAQl/AjzzyCB544AGYTKYuxRTed/MkouXxm5/n9ddfjzVr1uDHH3+MNBk+//zzMXbsWPz2t7/F2rVrYzrm6NGjMXr0aAChJtBz587FmWeeibVr10KSpC79m+jovGL9N9XRsbr6ORMRUeIwfwph/sT8qa2YwnF3dl7Mn6insRBE1I7mX/SdzW/exFiWZWRmZuL1119vc/vO7q0P33cci+zs7JjWs9vtOPXUU1FXV4eVK1ciNzc3ank4cQo3MW2utLQUqampkasNOTk5WL58OYQQUVf8wtuG9/3oo4/C5/PhggsuiFztOHz4MACgtrYW+/fvR25uLkpKSqKaCAPA8uXLcdJJJyEnJ6fNpsItjxWrQ4cOxeVYY8eOxebNm7F161bU1tZizJgx0Ov1+P3vf48TTzyxSzEBofc0GAyioqIiKgH2+Xyorq6OHNvn8+GFF17ArbfeGnXfuFqtxqmnnoqnn34aPp+v3atjHTn33HNxzTXXYOfOnRg1alSX/k10dF7tbQ80vafNj9Uy6S0tLY30M0BERMmP+RMi85g/MX9qjvkTJRMWgmhA6Gone0di2LBh+PLLL3Hcccd1qxL/1ltvxfUed4/HgzPPPBM7d+7El19+iTFjxrRaJy8vDxkZGVi/fn2rZevWrcOkSZMirydNmoR//etf2LZtW9S+wldSwusePHgQtbW1UZ0qhj344IN48MEHUVRUhNGjR7dqyj1x4sTIvpYvXw6HwxHVCWHLY8UqOzs7bseSJCnq3JYtWwZZljFnzpwuxdR83+vXr8dpp50Wmb9+/XrIshxZXl1djUAggGAw2Goffr8fsiy3uSwW4ebF4SS6K/8m2jNp0iSsXLkSsixHJV5r166FwWDAyJEjI+sBofNtnrSUlJTg8OHDuPrqq7t1TkREdGSYPzF/Apg/dYT5E/VZiRiqjKi3PfvsswKAKCoqarWsveFPv//++6j1wsOoVlZWRs2/4oorhNFojLxesWKFACDuuOOOVsfy+/2itra2w1hLSkrEF198EdOjM4FAQCxYsECoVKpWQ2u2dO211wq9Xh81pOiXX34pAIhnn302Mu/QoUNCrVaL6667LjJPlmUxa9YskZeXJwKBgBBCiB9++EG89957UY/nnntOABBXXnmleO+990RdXV2HMa1Zs6bVcKkej0cMHz681VCfzXVn+NPuHksIIRoaGsSUKVNETk6OcDgcba7T0fCnDQ0NIjU1VZxxxhlR8y+99FJhMBhEdXW1ECL0edpsNjFy5Ejh9Xoj6zmdTpGfny9Gjx4dtX1bw5+Wl5e3Or7P5xNTpkwRer1eOJ3OyPxY/00I0fbwp2+++aYAIN55553IvMrKSmGz2cQFF1wQte7o0aPFxIkTI/9+hBDizjvvFJIkia1bt7aKmYiIeh7zJ+ZPnWH+xPyJ+ia2CKIBYerUqQCAP/7xj7jwwguhVqtx5plnwmg0xv1YJ554Iq655ho89NBD2LBhA+bOnQu1Wo1du3bhnXfewV//+lece+657W4fz3vcb7rpJnz44Yc488wzUVNTg9deey1qeXhITQD4wx/+gHfeeQezZ8/Gb3/7W7hcLixevBjjx4+PusKWn5+P3/3ud1i8eDH8fj+OOeYYvP/++1i5ciVef/31SNPvKVOmYMqUKVHHCzdxHjt2LM4666xO458+fTrOO+883HHHHaioqMDw4cPxyiuvYP/+/XjhhRei1v3pp5/w4YcfAgB2794Nu90eGRVi4sSJOPPMM+N2rPPPPx+5ubkYM2YMHA4HXnzxRezduxdLly6F2Wzu9Lxa0uv1+POf/4zrrrsO5513HubNm4eVK1fitddewwMPPIDU1FQAoWb1N998M+68804ce+yxuPzyyxEMBvHCCy/g8OHDrT7ftoY/veaaa+BwOHDCCScgLy8PZWVleP3117F9+3Y89thjUffox/pvAmh7+NNzzz0Xxx57LBYuXIitW7ciPT0dzzzzDILBIO67776o7RcvXowFCxZg7ty5uPDCC7F582Y8/fTT+NWvftVqqF0iIuodzJ+YPzF/CmH+RP1OoitRRL3lz3/+s8jLyxMKhUIAEPv27RNCxP+KVtjzzz8vpk6dKvR6vTCbzWL8+PHi1ltvFSUlJXE/t/aceOKJAkC7j5Y2b94s5s6dKwwGg7DZbOKSSy4RZWVlrdYLBoPiwQcfFIMGDRIajUaMHTtWvPbaa53Gs2/fvlZXjTrjdrvFzTffLLKzs4VWqxXHHHOM+PTTT1utF/7c2no0/3zjcay//OUvYvTo0UKn04mUlBSxYMGCNq+WNtfRFa2w559/XowaNUpoNBoxbNgw8cQTTwhZllut9/rrr4tp06YJm80m9Hq9mD59uvjPf/7Tar3w59/ckiVLxJw5c0RWVpZQqVQiJSVFzJkzR3zwwQdtxhTrv4lBgwa1eRWxpqZGLFq0SKSlpQmDwSBOPPHEVv+3wt577z0xadIkodVqRX5+vrjzzjuFz+drc10iIuodzJ+YP8XrWMyfmD9R8pCEiOEmWSIiIiIiIiIi6vMUna9CRERERERERET9AQtBREREREREREQDBAtBREREREREREQDBAtBREREREREREQDBAtBREREREREREQDBAtBREREREREREQDhCrRAfQmWZZRUlICs9kMSZISHQ4RERG1QwgBp9OJ3NxcKBS8bpVIzJ+IiIj6hljzpwFVCCopKUFBQUGiwyAiIqIYHTp0CPn5+YkOY0Bj/kRERNS3dJY/DahCkNlsBhB6UywWS4KjISIiovY4HA4UFBREvrspcZg/ERER9Q2x5k8DqhAUbs5ssViYyBAREfUBvBUp8Zg/ERER9S2d5U+86Z6IiIiIiIiIaIBgIYiIiIiIiIiIaIBgIYiIiIiIiIiIaIBgIYiIiIiIiIiIaIBgIYiIiIiIiIiIaIBgIYiIiIiIiIiIaIBgIYiIiIiIiIiIaIBgIYiIiIiIiIiIaIBgIYiIiIiIiIiIaIBgIYiIiIiIiIiIaIDoc4Wgv//97xg8eDB0Oh2mT5+OdevWJTokIiIiIiIiIqI+oU8Vgt566y3ceOONuOeee/Djjz9i4sSJmDdvHioqKhIdGhERERERERFR0utThaDHH38cV111FRYuXIgxY8bgH//4BwwGA1588cVEh0ZERERERPHmdQJCJDqKPkXw/SKiTqgSHUCsfD4ffvjhB9xxxx2ReQqFAnPmzMHq1avb3Mbr9cLr9UZeOxyOHontrxddCVn4W8yVOt1OimGdtrYCRLPnXdxaaraNaLG7lrsMLw/PFOj0kB0vPrLzlSBBSKKb71tbMQjE9ClI7b5of7WoBV3YRgqfb/NpG1tJnb/XEgARWa/Z/qS2zrtpfsvjSm2dg9T6fZNaBiW1OkJkXmTryCT6dWj/TbFExSCh1bymzaTI9ohaLjU+laBSKKGQFIh6HyUJgASlWgeVUtFGXFKzidQiztbnK0XWj6wY/XaEtwufi9Te+Ufvu+m0WuxfUrRYtSlGSQqfp9RqP03xN85QRO+3eVxS43vUtK+oHUXWifpcmn0OUX97JEBqjFmSmsXR4vjhaxXh04tso2j2uTR/D5udj6RWQWmxROY3Hautz7XFZxfZJ5qeN/8MG6c6owYqjTLq/Qyv3WyHzSehpQoJ5rSM6PeEKIn0Rv4khMAb966FWquERq+ERqdqfCih1oemGp0KmhbP1ZHnSihViqT5f1T2pz+j4ccfoTAaoTAZoTQaoTCaGl+bouebms83QWkyQmE0QlKrE30aCefyBlBa50aVy4dqlwemPR/j6G1/wbKc/8PX6tmorveiut6HR8+biCmFKV3atzvgxn77fhxyHsJB50Ecch4KPXccxLs/fxcWjaWHzqr3le/djQ8evR85w0chZ8Qo5Awfhayhw6HW6RIdGhEliT5TCKqqqkIwGERWVlbU/KysLGzfvr3NbR566CHcd999PR6bLLyQhbPHjxMXLS8QHOlrIiLqsozBQ3HGb29Fam5+okMhaqU38ie/N4i68oYj2odCKUWKQurGIlKocNSygNSiqNR8nTgVlHwHDsDbTj4aK0mng8JkaioWNT5ChaLG12YTlFHLTFCYzU3PTSZIqr6R3rt9QXy6pRSbix3YVeHC7nInSuweAIAWPjyk/hdOUn4LABiy/y186huNcCW+wuHpdP977XvxXfF32Fq9FVurt2KfYx9kIbe57iHnIYxNGxufE0sCpbu2w1VTjV3rvsOudd8BCF1MSSsoRPawEcgeNgJZQ4YjfdAQqFiAJBqQJNFH2g6WlJQgLy8P3333HWbMmBGZf+utt+Kbb77B2rVrW23T1hWtgoIC2O12WCzxq/q/ef898NW7ITVWSYQQoWei6TUACIhQIUVIoefh1xAQkJqavQrRrOAiwnttWr3ZcwkitJlo1pqj2Scqol+0Plaz/bX5ss1/HiLU1KTdYzQdq81tG48vWrUpiT6H5u1S2t1dq923bN4UPl5bO5AQeT8i5xXDMVruu80mVaLNty60dtM2kgi9brm38L8QqcX+W79n7Uiy/9Xd/SsT/oQQ63k3HbHDvSqEgLKN9WUoAIWqWeuN8L/19vcn2l0m2njWQXyi5ZKO9iu1Wke0eN2+6HWaPpvmLQ07P6f2lrW9Rtf31/n70MX9NjXBamed1n/HWn+2bX1uApAApVKCQqWInh/ZKvrDDQb8ELIMjd6ABTf+AYMmTGrnPAY2h8MBq9Ua9+9s6lxv5E/BoIzyvQ74PAH4PUH4PAH43I1TTwA+TxB+d9NznycIvycArzsAvzcY1++55gWllkWi8HOtvqN5KsgH9yBYWQW5vh6yyxWa1oemQZcLcn1D0/zGabDxufB0XtToCkmvbyoWmc1NxSKzCUqzpbGYZIbCYobSbA6t03xqMkFSKjs/0BH47w+HcdM7G9tcZtWrcZfq3zjX/xFkKPBN1uXYNPRXSLGYkWrUIs2kwehsM2wGTZvbf3XwKzz5w5PY79jfalmKNgWFlkIUmAtQaC5EgaUABeYCjEwZCb1KH89TTCi/x4PyvbtRsms7ynbvDBWGamtaradQKpFWMAhZQ4Yhc/BQZAweiozCIdAaDAmImojiIdb8qW9cMgCQnp4OpVKJ8vLyqPnl5eXIzs5ucxutVgutVtvjsV14Z8+3OiKiI/fi5hfxxA9P4OTCk/Hk7CcBdy2qXroY6RXfISgk/GPo07juiksTHSbFgb+sDNX/egF177wD0fiDVp2bi5RLL4V+/Dgo09KhSk+DwmzuVksAIQT2b6rGuo/2ouqQK7R/rRITZuej4KhU6M0aGCwaaA2qplvZGrlqa/Dxk39B8fYteO+R+zDnV9chc/BQGG0p0FssUCh69gcYUWd6I39SKhXIHWHr1rZCFvB72ygehZ+7G4tH4UKSO1Rs8raY7/cEAQByUMBT74envuVt/l2j1imh1Ruh0VubCks2FTQ5KmibF5cai01GQ+M8NaCWvVAEPIC7sVDkcoUKSE4X5PrG567wMmfTMqczVFByOiN/64TbjYDbDVRWdvtcFEZjY2HIBEW4eNReEcliCT1vNlV08u/nre8PRZ7PHJaGBRNzMSLLhOEZZlgNauCZe4AKQDHhPMz+xV8xO8a499btxW3/uw3eoBcqhQrTsqdhcuZkjEkbg6NSj0KGIaPb70lfotbpkD9mHPLHjIvMc9ZUoWzPLpTv2RWa7tsDj9OByv17Ubl/b9T2tuwcZA4KFYYyBw9FeuFgmNPSk+ZWTCI6cn2mRRAATJ8+HdOmTcNTTz0FAJBlGYWFhbj++utx++23d7o9ry4SDWz3r7kfb+14CwaVAfMGz8NpFYcxbeN/oQDwqu4SXHDz09Co+lQf+tSJQFUVat94A7VL3kSwtrbVckmjgTItDarGhzI9Daq0dKjSQ4WicMFIlZYGhdXaKgkWQmDfxip8v3RfpCDUnEIhQWdWw2DRwGDWQG/WQG/RQGdQYNvKF1G+Z0N0PAoFDFYbjNYUGFNSYLSlwGhLhdFma/Y8tEyt7d99PfA7O3n0189CyAI+b/OCUbNCkrvptdcdgN8daCwkNc5vfO51ByAH4pdKq7VKaA2tWxw1b5GkNagjLZPCz7V6FTQqAcnvhggXkhqLSLLTGXrudDROnQg6ndFTlxOyo6mYdKQkjaZZYcgMpdkCpcUMReO0RtLiH+vLUavQwqXWw5KRgkmj83HshMGYPKYAmqLngS/uBpRa4NhrgeNvBPS2To9716q78P7u96GSVLht2m04d+S5UCn6zHXvXiWEgLOqEuV7d6PiwF5U7N+Lyv374Kxuu4CoNRqRXjAYGYMGN5sOgkbP1kNEySTW7+w+VQh66623cMUVV+C5557DtGnT8OSTT+Ltt9/G9u3bW/Ud1Jb+msgQUWzWl63HnavuRLGrODJvqC+Af5eWwhiU8PmYh3HaBdckMELqKbLHA/uHH8Lx8VIEyssRqK6G7GpduOmQWg3t0KFIuehCWBcsgKJZ0/lwQWjz/4rhrPbA7fTB2xDocHdCBBFwr4QcOAQh1wOia/2laA1GTJp3Bo674NJ+eZWW39nJg59FxwL+YKviUKSQ1GxeqJgUXWzyNoSmAX/bfdd0laSQIoWhUJFIBa2hsZDUOG16rY68Dq+nkoKh29ccjUUjlxNBhzM0dYaKRUGXE7LThaDT0fTa0VRUgnzk5xJQqqDWyFCrvVCqBRR6BZSZhVAWjIUydzgUVguUFiuUVguUFgsUjc9XOzfhju/vgcMf6rsz25iNadnTcHTW0ZiSNQWF5sJ++fcynhocdlQe2IfK/XtR0TitKTkMORhsc31rZhbS8guRXjAI6QWDkFYwCKm5+VBp2r51j4h6Vr8sBAHA008/jcWLF6OsrAyTJk3C3/72N0yfPj2mbZnIEJEQAkUVRXh7+9tYun8pAODDwyUY4g/go6z/w5m/fijBEVJvkT0eBKurEaiuRqCqGoHqKgSrqhqfV4eeNy6XW4yapLBakXLeuUi5+GKoc3Pb3H8wIMPt9MHt9KPB4UODwwe304cGZ2jqdvjQ4PTD7fDB7fKHkmzRACHXQ6nyIG+kGmm5Cngb7Kivq0V9XR3q62pQX1uLgK/pqv3Yk+Zg7tU3QNHDfXr0Nn5nJw9+Fj0vGJBDhaFwgcjduljkcwfhdftbTAPwNS6X5SNP6dsqJOkM0UUkjV4dKiYZQus0PVdBqZQgNzQ0FpKckWnQ0Vg0ChePnM5QCyWHE367HQ01dgSdDmjcDVAcaQdQKhV8Rg1qVF44tEG4dBLqdUC9DpDNBqRmDkJG9hBkZQ9DXu4opGYOgspmC400yY6T2xQM+FFTfBiVB/ej6uD+0PTAvjb7HQJCHVPbcnKRnl+ItIJBSMsvQHp+IWw5eeycmqiH9dtC0JFgIkNEgUAQaz/5N4q3Lcafs5TICgTwyqEA9o7/PaYtuApaJijUBtnnQ7CqCs4vv0LNa6/Bf/BgaIFCAfPJJyPlskthOOaYbl9pFrKAp8GPsj12rPu46TYzjU6JiXMKMfHkAmj1odsbhBDwud3YsXolvvzX3yFkGSOmzcRpv7mlXyXY/M5OHvwskp8QAgG/DF9DY+HIE5p63f7QPHf4dSDqdajQ5Ie3IQA5eOQ/CZRqRaTFkdaghtbY7HmzgpE23BrJ2LRMrVUiGJSxeXcZNu84jJ17SnBgfxkCdXWYEtiFowM7MDxwGEqfQNAnIehXwOfXIiAbAb8E0eAB2mm1EqugXgvJaobWlgp1SiqUVhuUVmvTw9b0XGG1hpbbrJ32idRfuZ0OVB06gOpDB1F16EDj8wPw1Lfd4lZSKGDLzkVaXgHS8guRlh+apuTmQa0ZmO8hUbyxENQGJjJEA5cQAt+tXgnjV3dgUnAzbs1IwycmI05RjsJD5/4bWh3vcafYiGAQrm++Qc2rr6Jh9ZrIfO3IkUi5+GJYzzwDCqOx+/tvvM1s3Uf7UF0cSqa1BhUmzy3EhNkFUGubWv7s+n41lj75FwQDARSOn4Sf3/SHftNfA7+zkwc/i/5PCIGgXw4ViOrDhSJ/pEVSpHDU4G8qKjU0FZG87sARj+SmUEhRhaHwNKiSUOXzo6TBixKHAzbnT5gibcQxqp9gVdRCq6iHSvLBKQzYrpkCR+qxMOUdjcE2C/TextZJdge8dTWoKt+H2spD8NXVQNid0NR7YfQApiMcuE3S66G02aBMsYVaF8Xw6O5gBclOCIH6utpIUajq0EFUFx9EzeFD8DbUt72RJIVuMcsrQGpeAVLz8iPPdUZT754AUR/HQlAbmMgQDUy7y+3Y+O9b8HPXO1BJMpzQYM7gfDRIAbx66quYlDkp0SFSH+XZuRO1r78B+4cfQrjdAACFyQTr2Wcj5aKLoB06pNv7FrLAnqJKrPtoL2rLQv0H6c1qTJk3CONOzINKHSoIHdi0AR8svh9+rwdZQ0fg7NvuhtGWcuQnl2D8zk4e/CyoM+GOt731/maFI3/rglGz1z53AJ7G50fa4bYSPmgVLugULmglF7QKF+olCZWqFLhTByE9LxcjCq0oyDJCbwqN6KgzqhFU+bHfsR+7q3dif8kWlJTsRGX5Xnhrq2FyI1IkMrlF4xQweQQsHgXMHgkGtwxFd2/JUyobWxk1FodSUkKFpJQUKG0p0a8bH325eCSEQH1tDaoPH0J18UFUNxaIqg8dbLcFEQAYU1KRlpePlNwCpOXlIzU3VCgypab12feCqCexENQGJjJEA89rq3ZhyKdX4DjlFgBAiW4Eyk6/E1f8eBcA4I3T3oBNZ4NFY4FZY4ZC4qhh1HVBhwP2995DzRtvwH/gYGS+ceYMpFx+OcwnndTtfcuywK7vy7Hu431wVIaKTUabFsecPhhjjs+FJEko270T7z58L9zOUF9GVz72DNLyC4/onBKN39nJg58F9aTwbW2RIlKDH5766Km3vqmY5Glcz9MQuu3tSH7JSAoJusZWSDqjClqjGjqjGkod4FU1wKWwoxZVqJTLUBooxiH/Phz2HYBX6QYkQBICei9gdoeKRGa3gNkNZPh1yA6YkOHTwuZVwuyWoGvwQ+30QOGoj1w46DKVCkpbdHFImRIqIkXm2VKgTE2BKjUVytTUpL9tTQiBBnsdaooPobr4cOP0EGqKD8FVU93udmqdHqm5+UjNy0dqbrgFUT6sWTn96jZpoq5iIagNTGSIBpY9lS48/cT9eELzbNT8tTotfpXTeqRBSQAGoYQRahgVWhgVBphUJlg0Vlj1qbAZ0pFuzkKGLQeppkxYNVZYtBZYtVZolcmdaFHvELKM+lXfofaNN+BasQLhXyiDXnsVhqOP7v5+hUDFASe+/vc21JTUQ4gghFyD8SfqIKEalQf24cBPRZH1c0aMwsX3P3akp5NQ/M5OHvwsKFm1bIkUKRJVVcK1bwsaivdCuJzwykZ4ZTM8wgSHnAKfbIIC3b/wIykAhQ4QWj/8Gg/cShecCjvqpCrYpVp4VfXwqBoap/XwqhrgUdcjqAiNJmkSGgyRMlAopyA3aEZWwIh0nwY2jwKmBgGdywfJ7kKwtjbykBu6NrJkmMJggDItLVQcSgkVh1SpKVA2f56aCmVKKlRpqVDo9d1+X+LN21CPmuLDocJQyWHUFB9GTclh1JWVQLQzOp2kUMCamdVYJCoITRsLRnoz/35R/8dCUBuYyBANLG5fEI+++Qlm7XoEJyk3ohypMIt6yAof7ktPxV61GnalAg6FAm7FkbUE0il1ODr7aDz9s6ehVPSv0Zuoe3yHi3H4uuvg3bEDhmnTYF1wJowzZ7Y7ylh7PPV+vPfYj6gpCfWtEHCvQcDzXbvrqzRanHT5Ikw85bQjij/R+J2dPPhZUJ9WXwVsX4rg5v9Cue+byOxdwQI84z8f3wanYFy6FYumD0KqWgWPy9/UGqneD0996Lmn3g9vvR8Bf9sFiFgEFD64VfWhApE6VCTyqFzwqBtCU1UDPGoXPKp6qPQSLBYj0swpyDRmIluVipygGZk+HVJ9KlgbJOjr/ZBr7aFiUV0tAjWNhaOaGgRqa4FAoMsxSnp9qDVRWlrjNBWq1LTQNC0tVDxKSws9T0mBpFJ1+/3ormDAj7qyMtSUHAoVhxpbE9WWHoavg9ZWOrMlqjAUnlozsvrdyJs0cLEQ1AYmMkQUlAVcDQ1w1VWj3l4Fj7MaPlctGlxVcDWUo95ThQZfHTwBOzyyC17hhgceeCU/3IoAGpQynApFpIBUp1RBNOsh89k5z+L4vOMTeIaUTCr/9jdUPRPdIk0zeDCMM2fCOOt4GKdN67RjaUe1G2/cuxbBxh8fgYYPEfDuBgCkFwxC/phxyBg0BBmDhiC9YBDUWl3PnEwv43d28uBnQf1G1W5g/YvAhtcAjx0AsFkMxT2+y7BJeRRumz8avzxucId9zwR8wcbiUGOByOWPvPa2mB8qKIVei272JRSQ/PCq6uFWtywg1cOndkNtVMBg1sBsMSLFZkaazYYsawbSdWlIDxiQ6lFC5/JBrq1FoKYGwZpaBGtrQkWjmhoEahvn1dRA+Hxdjk9pszUrGjUrHqWlQ5WeBlV6OpTp6VClpfV4a6NwR9XhlkORQlHJYTirKts/B5UKtuzcFgWi0K1mGl3ytJAiigULQW1gIkNERyoQCMBlr0XROw9idtmLOKDIg/Wmlfjz9w/i8wOfQ4KE2QWzceW4KzExYyL7HBrghBBw//gj6ld9h/rvvoN706bo4Y3VahimToVp1vEwHn88tCNHtvkDpLasHus/2Y9d68ohB53w2l8EEITOZMXcq6/DiOkze++kegm/s5MHPwvqd7wuYM2zwKq/Aj4nZCjw98AC/DXwC9w0fxx+fdKwuB5OyAI+T6hVkccVnvrgqQ/A3TgNvfbD4/LD7fLB7fJDBDvfd1v8Cl+oWNTYusindkPSy1AbJOhMahjNWlitJqTYLMhISUV2WgYyTRmwBNWQwwWimhoEqqsRrK5BoKbFtLoawdpaoJ3bs9qjMBgiRaFQgSgtUjBSpjU+z0iHKj097kUjv8eDmtJi1JYcjrrNrLakGAF/+wUwU1p6pP+h1HCH1XkFMFht7KyakhILQW1gIkNE8VJbUwXxt0lIhRNrj/oDhi1YhHu/uxffHG5qdq5X6THMOgwjUkZguG04RqSMwIiUEUjTcaSLgSrodKJh7Vq4Vq1C/cpv4T98OGq5KjsbphNOgOmkE2E89lgoDNFDwddVNODHTw9g27cb4XUuhZBrAQDphSMw8/zzMXzqdEhHeJtjsuB3dvLgZ0H9Vn0V8MXdwIbXAQBr5KNwle8mPH75CThlTOu+BHuTEAJ+bzCqxVH4udvlR4PTC4e9Hk5nA9wuP/z1MmS3BEnu3neAVxnqxyig9QK6AJR6QGNUQGfWwGzRw2o1IS3VhqzUNOSkZ8Kk1UF2OBCsrkagugbBmtA0UFONYFU1AtXVCFRVIVhVhUB1NYTX26V4FEZjqFiUkQ5VegZU6aECUbhQpExvnJ+WekS3pwlZhqOqMlIgat4fUYO9rt3tdEZTY6uhAqTlF0SGu7ekZ/Sb72Hqm1gIagMTGSKKp9VvPowZ2x+CHUbI1/+IlPRs7Knbg1e2vIJl+5bBG2w76UnRpmCYbRgyDBlI0abAprNFpqna1KbXWhvUSo580V8JIeA/cACuld+i/ttvUb92LYTHE1kuaTQwTJ8O88k/g2n2z6DOyowsc1S58f2y3dj89QcIuL8HELpsbE7PxtFnLMCYWT+DzmTq7VOKK35nJw9+FtTvbXkP+PA3gNeBrfIg3GL4E/5705nQqftWvzHNi0duV6hw5HDUo6bWjro6JxyOBrhdPvjqgwi4AcmjhNKrgdSNjrMDCj/8GjdkrR+SPgiVMdTayGDWwGI1hlobpaYgKy0NZosByqAHcnVjgaiyCoHqqlARqbFoFC4YBaqqor4LOyVJoVHTIoWiDKgyM0LTFo+WF1c643Y5G1sONfVFVFN8GHUVZWhvuDqVVhsZxSwtvxCp+QVIyyuELSub/RBRr2AhqA1MZIgongJ+Hw4+dAyGyvuxJu0sHHvDK03L5AAOOg9id+1u7K7bjV21u7C7bjcOOg9CFrE3pTapTbBpbUjRpUSmUcUjrQ0mjQkmtQlGtREmTWiqU+rY6qiPkT0eNKxbB9eKb+D65hv4i4ujlusmTID5Zz+D+ZQ50A4L3bbgqHZj7fubsHXlpwh4NgIiVHxUqtQYOeN4TDh5HvJGj+2T/xb4nZ08+FnQgFD6E8Rr50Cqr8AGeSgOn/EWzpg2MtFR9ThZFvA1BOC0N6C8pgpVNXWorXPA7qhHg8MLT30AwQYB4VZC4VFD49NDKbp+kUqWAgjovBC6AJSGUGsjvVkDk0UPm82E9BQbMtJSYTTroFMGIDmqQ4WiyspQ4agq/KgMtTSqDBWOunJ7msJobF0gCheNMjMjD4XR2Ek/UT7Ulhaj+vDB0JD3hw+iuvgQaktLIAfb7qBbqVIhpXmBqLElUUpOLpQqXvSj+GEhqA1MZIgo3rZ+twxjPr8IQSHhwAVfYuiYjocI9wQ82Gvfi732vaj11IYe3lrUeeqip966LhWMWlJKylBhSG2CUWNsKhQ1nzbOb2te+LVBbWA/RwkghIBvzx44v14O11dfwb1xY9Ry7YjhMM+dB8v8edCOGAFHtRvrPt6BrSu+RsD7E0SwKrJuSk4exs0+BWNPPBlGW0pvn0q38Ts7efCzoAGjcifcz82BPmDHJt0UjL/lc4Atc6PIsgx7vROlVRWoqK5BdV0dHPZ6uBxuuJ1++BtkBBskSB411F4tdH4T1LK268dRBiDr/FDoZaiNCujMKpgselhtRqSmWpGeYoPBqIZGuKFy10HUhItGbT9EB6OJtSQZDFC3KA6FHhlQh5+30cJIDgZRV16K6sMHI8Peh58HfG23EpcUCqRk5zYWhgqRll/QOOx9Xr8Z/IF6FwtBbWAiQ0Q9YcPi0zCpfhV+MJ6Aqbd8FJd9ykKG0+dErSdUFIpMvbWRAlKdtw513jrU++vh8rtQ7wtNm49iFg8GlaH9gpLGBIPKAKPaGHkY1I2vVdGvDSoDlAo2i+4Of0UFXMtXwPnVl6hfvQbw+yPLNMOGwTJvHixnnAGvJRvrlu7D9m+LEPBsQtC3A0BoXUmhwNAp0zDplFMxaOKUpG8lxO/s5MHPggaSAz+tRMZ/z4FB8kKecCEUZz0LsM+XbhFCwOFzoNxegfLqalTV1KLW7oTT3oAGhw/e+gCCDRKEWwGVRwtdwAi9zwyV0HT5WLLGD0kvN96ipoLJooPVZkJqigVWmwk6dRAavxOqhloo7FUIVjUrFFU0PZcdjpiPqTCb2ygQZUKVlQV1VmiqSk8HlEo4qioaC0ONxaHDh1BdfAg+d0PbO5ckWDOzIn0PpeaFWhOl5hb0+Vu/qWexENQGJjJE1BP2b12HwrfmQiEJ7DnnMwwbf2zCYhFCwB1ww+V3RYpD9YH6SJHI5Xe1KhxFXvvr4fKFpk6/EwG57ebNR0Kv0kcVjpoXjSLPmy9rUUyKLFMZoFfpk76Y0ROCDgecX38N52efo/7bbyGaFYV048bBuuBMyEf/DD98V4dd3x9G0LcDsm8z5EBpZL3U3HxMnn8mxpz4s6QdGpff2cmDnwUNJLIs8Ns//wVPyH+BSpKBsWcDZz8HqLreqoViF5SDqPPWocpdhQpHFaqqa1Fda4ejrgH1Tg88Tj8C9YBwh/o10vvN0PtN0PlNUHSxjyOhkCEZZKiNEvRmNUxWHWw2E2w2M/R6CZpgAzQeO9T11VDYKyBXViJQURF5+CsqIBraKeC0JElQpqdBnZkVKgxlZUKdlQVVZhaUmRnw6XWw+72oralCTbhQVHwIHmf7BSmD1RYZ5j5UHAqNZGZOS2dH1cRCUFuYyBBRT/nhsbMw1bkcGwwzMenWTxIdTlz4gr6oglF7RaTwoyHQEP3a3xAqQvnre6SopJAUMKgMkSKRWW2GWdP0MGlMsGgskfmR1+HlalOfLyYFnU64li+HfelS1H+7qmloeoUCxuOOg3zyOdhUkYmDW2shB6sgApsh+7ci6A91xKk1GDF5/hmYesbZ0BmT6wojv7OTBz8LGmguen4N0vZ/jL9pn4VCBIDCGcCZfwUyRiU6NALgl/2ocdegylOFqoYqVNbUorq2FnZ7PZx2NzxOP3wuGcKtgMZrgD5ggt5nhj5ghibY1dutBCS9gMakgMGsgdlmgNVmhEGngFa4ofE7ofbUQe2ogLK2DHJFOQLl5fBXlCNQUQkEYst/IrejZWdDnZ2FQGoqXHoNnJKA3euB3WlHTUU5XDVV7e5DpdUiNScfKbl5SMnJQ2rjNCUnD9oudpRNfRcLQW1gIkNEPeXAjiLkvzEbSklg7xnvYOjRcxMdUlLxBX1RRaLII9BYMGpePGqcH/W6WWGpwd8Qt9vfVJIqqnBk1phh0VhgUpuiikpmjblVocmiscCo7rhDyd4UqK6G45NP4fjoo6g+hZQpKfDOvQTbpImoLPNBCC+Uih2A/BMa6ioAhIbBPebn52LyvDOg1iVHnwT8zk4e/CxooLnz/U14bc1BPDKlBufvvgPwOQGFCph2NXDibYDelugQKQZCCNT761HprkSVuyrU2sheheq6OthrQ/0aeZwBBOoF4FY1tjIyw9A41QUMXR5RTakHtCYljBYdzFY9DFoBrfBCE3BB46mDylUFVW0ZlFWHISrK4K+ogGy3x7ZztRrIyoQnIw0NVjNcWjWcQobd64bDYYcsB9vd1GhLaSoQ5eQ1Ps+HNTMLSpWqS+dIyY2FoDYwkSGinrTqyUtxXN1HKFYPQt7vVwCG1ESH1C+Fb39rWUxy+Vxw+p1w+pxw+Byh1z5n5OHwOeDyN80LivYTplhpFBqk6lORqktFii4Fabq0yPNUXWh+mi4t8lqn6p0ii+/AAdS9+x7s772HQEWo2CMA1B17LnamnIR6twQhBMwpxfDXr4K9IjRCmSktHXOvuh5DJnfc6Xlv4Hd28uBnQQPNsyv24C+fbscvJufh8Tlm4PM7gR3LQgs1JmDkfGDsWcDwOYA6OW+vpa7xB/2o9lSjsqEyUjiqcFWgus4Oe50L9XYvPK4AgvUS9H5TqGjkayoa6f0mKNC1fhBVeik0cppZA71GQCt5oQ3WQ+Otg9pZDZW9FMqKw1CU7odcVdHukPUAIANo0KhRr9fCnWpDg8WIerUKThGEJ+BvdztJoYA1Iwu27BzYsnOQkp0LW3YubNk5jUUidpbe17AQ1AYmMkTUk/Yf2A/Ti7OQLjngTh0D/S+eAtKG88phEgoXkyKFIr8zqmjUXvGo+Xy/3H5i1R6DyhApEKXqUpGqT0WKNiXyPNuQjUGWQUjXp8elpZEIBOD69lvU/ec/cC1fAQSDCCpUKBl9JvZlz0ZAVkIIGdmDy1Bz+Gs4q0JFo7EnzsFJV/wqobeL8Ts7efCzoIHmvaLD+P1bG3Hc8DS8/qvGfv92fwV89gegcnvTiuGi0FFnAFnjgJTBHGWsnwvIAdR4akLFooYqVLgrQrenNVSips4Oh70BDQ4v/C5A5zO2amUULhopRdda4WiNSugNSug1clPByOOAur4SqtpyqCoPQVG+H2q3HVKLVtN+hQL1WnXTQ6dBvVGPerUSHV0SkyQFLBkZocJQVg5SchoLRBlZsGZmJ00LYorGQlAbmMgQUU975NUPsHD3DciQmjXzNaSFCkKpw4C0oY3TYaGpNrn6ZaHYNfgbIqO41XhqUO2uRq23FjXuGtR4Wj+6UjjSq/QoNBei0FKIQnMhBlkGRZ53t0jkLy9H3VtvofattxGsroZXY8GekeegLD3U+kdrANKyN2Hvj18CQiAtvxDn3nk/TCmJadnG7+zkwc+CBpqVuypx2QvrMCrLjM9+f0LTAiGAw+uBre8DW94HHIejN1SogJQhQPqI0COt2dSY1punQAkWlIOo9dZGWhhVNlRGikYVDRWotTvgcrjhdcqRgpHBZ4kqGoVed62lkSQBOr0EvUaGDl5ogi5o3HVQOSuhri2BsuowNO5aaHwOKINeeFVK1GvVaNCqUa9pnDa+DnbS8bTeYoU1MytUGMrKbnwemprTM3jLWYKwENQGJjJE1NOKDtbipmf/g/u0r+N4UykkV1nHG5iyG4tCQ0PFonCBKHUIm5v3I0IIuPyupqKRpzryvMZTEykeFbuKUVJfAlnI7e7LoDKg0FKIAnNBqEDUWDAaZBmENF1ap0Ui2eeD87PPUPPSy/Bs3Yo6y1DsHHURXMZcAEDmoHpU7X8HDXU1sGXl4Ly7HoAlIzOu70cs+J2dPPhZ0ECz6bAdZz79LXKsOqy+4+S2V5JloPiHUFFo3/+A6j2Av779nepTo4tD4eepQ9iKaAALF4wqGipCt6M1VEQXjxoq4LA3wO30Q+czwuBvLBb5QsUio9/a9Dpg7tKxVUoBnToIrfBAG3BC3VADtaMSqtoSqD21kIJOBNAAn9IPt0YVKRa5NSr4VR0XpyRJgik1DbasHFgys0JFoszsSNHIaEtJmj4W+xsWgtrARIaIelpQFpjy5y9gd/vx31/PxNRsFVCzN5Qg1uwJTcPPG6o72JMEWPMbC0TDmloRpQ0HbIMAlabXzol6lz/ox2HXYRxyHsIBxwEccByIPC+tL41bkUgIAdeKFah6+u9o2LodBwpPwf5Bp0IoVFCpHAh634fbUQVTWjrOu/N+pObm98bpR/A7O3nws6CB5kB1PU5cvAJGjRJb/jQ/to2EABwlQNVOoHo3ULULqN4VmtoPtb+dpAwVg9JGAOnDgfSRTcUiQ1qoiQcNeEE5iBpPDSrcFZECUfNiUZW7CpWuKrhdvsa+iyww+CyNrYssMITn+S3Q+8zQyF27rUuj8EMrN0Djs0PjqobCVQ4EayELB4KiAQGFDz5lEG61Am6NCnInrYmUKhUsaRmwZudGWhPZMrMjRaNkG8m0L2EhqA1MZIioN1z3+o9YuqkUvz15BH5/ysj2V3TXAtV7mwpENXtCyWP1XsDbwQgSkgKwFQI6W6jVkEoLqPSAWgeomj2av26+nkob23ZKDRPQJOML+lDsKsZBx0EccBzAQedBHHQcxEHnwZiKREOsQzA1ayqm50zHlMwpMGlMoYLQN9+g6u/PoGpvFbaNuhROy2AI2QnZ9x787iroLVZceN9ferUYxO/s5MHPggaa2nofJv/5CwDA7gdOhUrZtZGjWvE1hL7jq3YCVbubCkTVuwGfq/3tdDYgZVBoqrM2PfS21vN01qZ5aj2/vwcov+xHtbs6citay6JReOpsqG8sFDUWixqLRuECkt5vhrFx2pVb0xQiCHXABZWnDApvORCsgZDtoWKR5IVPGYRXhU7/fWq0WlhTM2DJzoElOxuW9ExY0jNgSc+EOT0DBquNLYrawUJQG5jIEFFveHPdQdz+7iZMHZSC//56Ztd3IESotVB1Y2EoqlC0t+Om53Elda+A1N3CU3g7hYoJbDf4gr5QSyLHoVZFohJXCUSLziOVkhJj08dievZ0TM+ZjgnpExBc/T3Kn34Gu2vTsXfwGQhKAQQa3kXQX4G0/EJc/MBj0Oh655ZFfmcnD34WNNAEgjKG//ETAMCPd52CVGMPtcIVAnCWRrceCj+vOwSgmz/TFOo2Ckcti0bhwlEby9TsBLi/8wV9TbeiuStb3ZIWnufwOqELGCJFo3DfRW21ONIFjTEdW4gghOyE0lcGhb8CCNRAyA7IqIdf8iKoaP+iVphSqYTJaoMlIwvW3LxQoSgjE+a0jMZp2oAd8YyFoDYwkSGi3nC4tgHH/2U5lAoJRXefAosujl9EQgDOMqB2H+B1AQFP6OF3AwEvEGicNn/t9zStF/BEv25ru+4mnvEiKXq38BReT9l/OzUMF4m2V2/HurJ1WFe2Doec0bcqaBQaTMqchGlZx2DGDiDw3GfYUHAhGrQG+ByvQYh6jJwxC2f89tZeuQrH7+zkwc+CBqIxd3+KBl8Q39xyEgalxfYDN6787tBFIEcx4HEAnjrAY282bfFwN84XHY0DFSOVroPCkbWdIlOzZezzqN/wBDxNhaKWI6U1Kxo5fA4oZGVUgcjgszZOLdD7LTBGWiBZoBDttzISwgchOyCCdgjZCQRrIQVqANkBWdQjCB8QQxpiMJpgTkuHNScPlswsWDIym1oWZWRCa0jA/+tewEJQG5jIEFFv+dmjK7C3qh7PXTYV88ZmJzqc2AkBBP3dKyB1t/AUfp1okrILBaTOikuN05YJtMYEdHLffG8pcZWEikKl67C2dC0q3BVRy9N9Oly3Mg1+9+mosqbA53wbgIwTL12Eo888u8fj43d28uBnQQPR9Ae/RLnDi49vOB7j8qyJDic2QgC++mYForoOikbtLIvHxSC1oZ1b11oUj7SW0G3oClXoYoxC3fi8cdrmczWgUDZ7rgq9ZkvihPIEPKF+ilrcghY1dVfC7rUDQopqZWSI9GFkbVZECs3XBFu3Qg63KBKyA2icRl4H7ZCFE0DnrYrUag3MKamwZGSGWhVlZMGSnhHq1DozC3qLtU/efhbrd3b/vfxJRJRAs0akY29VPVbuquxbhSBJCnVErdKEkrTeIkRjQagXC09+DxD0NoshGOqroaP+Go6UpAglvrFcZW3roTXHLdnNNeXirOFn4azhZ0EIgf2O/aGiUNlafF/2PapQh/tOLsak3c/hzE2no9R2IgLu5fjmtRcxeNIUpBcMikscRETJyKJTo9zhhd3tT3QosZMkQGsKPax5Xd9elgGfs+2WRq0ebcz3OkL78TeEHs6SeJ5dx7pVRGr2XNn4us3nLfenbixctfU83tvG3j9PIulUOuSb85Fv7rgvQW/QGyoYtVksKscB92ZUNlSizlsHAFAFNVGFodZTK0zeAmiDJkgIXWgTQgDC3VggaioSRRWMhAd+vw81FWWoqSgDtvzUKlaVUgWz2QJrRiZsufmwFQ6GLScnMvqZWte3b6FkIYiIqAfMGpGBV1YfwMpdVYkOpW+QpFCrmt7ul0CWQ8WglgWkyOs2CkiR120Unppv52sIJcXhBDngAYTcmDzXdS/ecCGpzf4e2prX4qExtVlIkiQJQ6xDMMQ6BBeMvgCykLGrdhfWlq7Fl5lf4tGCpVj09WQ0qIdB9u/B0seewOVPPNEnr5QREcUi3C9Qdb0vwZH0IoWi6fuiO+Rg7EUjjz10y1vQB8iB0CPob3zuB4KNUzkQ/VwOtHNsf+iRDC2M40qKsYjUlWJUoopaKmiVauTpMpBnyOmwhXS4D6P2WhiVe/bC4XPA7rXD5XdBEgro/abGTq6jWxaZPRZYPIOg95uhka1QQAMh/C2KRM2KRUE7IFwIBAOoratBbV0NsGt7qxjVSi2MehMsKalIzclG2uAhSBk2DCl5BTClpUGR5EU8FoKIiHrAscPSoFJIOFDdgAPV9YnpX4A6p1AACn3oNq6e7gPZ74kuDIUT43avtrZIooO+OBSSlICuoxZJoalCZ8UonRWjTCNw2eSp+E/ud3hC90/8cunxsEOJqtLd2PDBMkw+6/Q4vTlERMklw6wFAFQ6vZ2sSREKJWBIDT16ihBtFI7Cz/2hYlTkeYsiUqv1e2rbdvYTbFwWed5if2327yRC3//BfliQlBTNWnJF3xqoUaiQq1Aht8NWXTZAkQa/XgWnQoIdAnaFCE3RADucsItDsIsA7MKPQ8IPe9CHer8En0cD4dXB4LPA6DMjpd4CqzsFJu8g6AIWKGUjJFmGEE4I2d7YX1HTA8ILf9CLOpcXda5qHDy0C1i3svnJQSXpoFbrodMbYUpJRWpuDvJGjUL+pAkwZWUm/GIaC0FERD3ApFVh6qAUrN1Xg//trMRlM1gIGvDCLZ5Mmd3b3u+J4Spry9fNmvbL/lCS6a4NPWIkATgPwEyVEg8ea8dR606FV96NFW++irGnngyNtm83jSYiagsLQUlKamwho1SHLuL0J7LcVByKtIqKsYjUav2ubNvRflpu2/x5jAUwORC6kNWSaGyVHfQCR3AHphpAauOjK4IAnAoF6hQK2I0K2M0K2BUKOJQK2BVK2CUVHMIKd9AGX9AGtdsGbYMVek8+jB4DNAEFFAEBgQCEXN+sUOQEEERAuBHwueH21aDWfgiH9m/Exu8+jUStlMw4+cpfYPz8s7p/8keAhSAioh5ywsgMrN1Xg292VuGyGYMTHQ71deFCkjmr69sKEbo1LdYm+220UsoL+PGUvQzvDP4ah/cOhixc2LZ8KSbOPyfeZ0pElHB5tlCRYW9lD/YbR9ScQgEoNAA0iY4k/mS5g9ZVnbXG6qhlVve3VcoB2OQAbOFt2yukoRqQKgCjH9D5IctBOEUAdgRhhwy7UoFa6FEXTIHbmwJfQypEQxrg0QMBJUQAECIAWXggi3pA1APwIyhq8MMHn7MQRETU35w4MgOLP9uB1Xuq4AvI0KiSY7QoGoAkKXTlVK0HzN3ovFwIwO+GwmPHBR47HrvhdgAyRCAOwxQTESWhiQU2AEDRoToIIRJ+GwdRn6ZQAAotAG2iIzliCgDWxgeAZoWojltUyQEv7G4Hyg+V4LPnP0dArkIiB3BnIYiIqIeMybEg3aRBlcuHHw7UYsawtESHRNQ9kgRoDKGHJSfR0RAR9bhxuVaoFBIqnV4U17mRn2JIdEhElIwUyphGd1MASAGQMhz4/PkvejyszvDyNBFRD1EoJJwwIgMAsGJnRYKjISIioljpNUoclWMBAHy6uSzB0RARxRcLQUREPejEUaFC0Dc7KhMcCREREXXFBccUAAAe/2InDtc2JDgaIqL4YSGIiKgHzRqRAUkCtpc5UWp3JzocIiIiitHF0wpxzOAUNPiC+MN7mxPanwcRUTyxEERE1INSjRpMzLcBAD7ZxKblREREfYVCIeHhcyZAo1Lgfzsrcft/N6HoYC0LQkTU57EQRETUw04dFxql6aFPtuHTzaUJjoboyElSaGjb3WvWJzgSIqKeNSzDhJvnjgQAvLX+EM5+5jucuHgFHv1sB3aVOxMcHRFR97AQRETUw355/BCcOTEX/qDAdW8U4cONJYkOieiIaFVmAEDp3qoER0JE1POumjUULy88Bj+flAu9WomDNQ14evlunPLE/3DqX1fiH9/sQXEdb/8mor6Dw8cTEfUwtVKBJy+YBLVSwrs/FuN3bxbBH5BxztT8RIdG1C1DJg/BtnXl8AVrUX1gL9IGDU10SEREPUaSJJw0KhMnjcpEgy+AL7aW46ONJVixoxLbSh3YVurAw59sxzGDU7BgUh5OH5+DVKMm0WETEbWLLYKIiHqBUiHh0XMn4sJjCiAL4Ob/bMSSdQcTHRZRt8z9zW2QJBMAPz79618THQ4RUa8xaFT4+aQ8/OuKY/D9H+fgwbPHY/qQVEgS8P3+Wtz1/mZMe+BLLHxpHd4vKka9N5DokImIWmGLICKiXqJQSHjw7PHQqhR4ZfUB3PHuJviDMi6fMTjRoRF1iUqthkFrQr3HhepSR6LDISJKiBSjBhdPL8TF0wtRanfj442l+GBjMTYXO7B8RyWW76iETq3AnKOy8PNJeThxZAY0Kl6HJ6LEYyGIiKgXKRQS7l0wFhqVAv9cuQ93f7AFvoCMX83irTXUt4ydPQXrPlkGv1yNgxvXoXDitESHRESUMDlWPa46YSiuOmEodle48OHGEny4oRj7qxvw8U+l+PinUlj1apw2PhsLJuZh+pBUKBRSosMmogGKJWkiol4mSRL+cNpRuH72cADA/Uu34dXV+xMbFFEXzbry/6CQrABkfP3cy4kOh4goaQzPNOHGU0Zi+c0n4cPrj8Oi44cg06yF3e3HknWHcNE/12DGw1/hng8247vdVfAH5USHTEQDDFsEERElgCRJuHneKCgk4G9f78Y/V+7DZbxFjPoYnUaPBq8d9Q5vokMhIko6kiRhQr4NE/Jt+MNpR2Ht3mp8uLEEyzaVotzhxSurD+CV1Qdg1atx8uhMzB2bjRNGpsOg4U80IupZ/CtDRJRAV584DH9fsQcHaxpQUudGrk2f6JCIYiZJvK2BiCgWSoWEmcPTMXN4Ou77+Vh8u6sKn28px5fbylFd78O7RcV4t6gYWpUCs0ZkYN7YLJx8VBZHHyOiHsFCEBFRApm0KozLtWDjYTvW7qvG2ZM5pDwREVF/plUpcfJRoUJPUBb44UAtPt9Shs+2luFQjRtfbgsViBQScMzgVMwbm41TxmShINWQ6NCJqJ9gIYiIKMGmD00LFYL21rAQRERENIAoFRKmDUnFtCGp+OPpR2F7mROfbynHZ1vKsLXUgbX7arB2Xw3+9PFWjMmxYN7YbMwdm4XR2Wa2yiSibmMhiIgowY4dmorn/7cXa/ZWJzoUIiIiShBJknBUjgVH5Vjw2zkjcKimAZ9vLcfnW8rw/f4abC11YGupA098uRMFqXrMHZONeWOzMXVQCpQcgYyIuoCFICKiBDt6cCoUErC/ugHlDg+yLLpEh0REREQJVpBqwKLjh2DR8UNQU+/Dl9vK8fmWcqzcVYlDNW688O0+vPDtPqQZNTj5qEzMG5uN44anQ6dWJjp0IkpyLAQRESWYRafGmFwLNhc7sGZvNX4+KS/RIREREVESSTVqcP7RBTj/6AI0+AL4385KfL6lHF9tr0B1vQ9vrz+Mt9cfhkGjxIkjMzBvbDZmj8qE1aBOdOhElIRYCCIiSgLHDklrLATVsBBERERE7TJoVJg/Lgfzx+XAH5Sxbl8NPt9Shs+3lqPU7sEnm8vwyeYyqBQSjh2ahnljs3DKmGxkW9nimIhCWAgiIkoCxw5Nw7++3cd+goiIiChmaqUCxw1Px3HD03HvgrHYVGzH51vK8fnWMuwsd+Hb3VX4dncV7vpgCybmWzF3bDbmjc3CsAwTO5smGsBYCCIiSgLThob6CdpXVY8yu4dX7YiIiKhLJEnChHwbJuTbcPO8UdhXVY8vtpbhsy3l+PFgLTYetmPjYTsWf7YDQ9ONOGVsFuaNzcakfBsU7GyaaEBhIYiIKAlYdGqMy7Pip8N2rN5bxWHkiYiI6IgMSTfi6hOG4eoThqHC6cFX2yrw2ZYyfLe7Gnur6vHcN3vx3Dd7kWHW4pQxWZg7Jgszh6VDo1IkOnQi6mEsBBERJYljh6bhp8N2rNlTw0IQERERxU2mWYeLphXiommFcHr8+Kaxs+nl2ytQ6fTijbUH8cbagzBrVThpdCbmjsnCSaMyYNaxs2mi/oiFICKiJDFjaBqe/99erGY/QURERNRDzDo1zpiQizMm5MIXkLF6bzU+31KGL7aWo8LpxUcbS/DRxhJolArMHJ6GuWOyMWdMJjLNvG2dqL9gIYiIKEkcPTgFSoWEgzUNKK5zI8+mT3RIRERE1I9pVAqcODIDJ47MwJ9/Pg4bDteFOpveUoa9VfVYsaMSK3ZU4o/vA1MLU3DGhBycNiGHRSGiPo6FICKiJGHWqTE+z4oNh+qwek81zp3K28OIiIiodygUEqYUpmBKYQpuP3U0dle48FnjsPQbD9Vh/YFarD9Qiz99vBUzhqXhzAm5mD8uGzaDJtGhE1EXsRBERJREZgxLYyGIiIiIEm54pgnDM4fjutnDUWb3YNmmUnz0UwmKDtZh1e5qrNpdjbs+2IwTRmTgzIm5OGVMFoxa/rwk6gv4P5WIKInMGJqGZ1fsweo9VRBCQJI4nCsRERElVrZVh18ePwS/PH4IDtU04KOfSvDRxlJsK3Xgq+0V+Gp7BXRqBU4enYUzJ+bgpFGZ0KmViQ6biNrRZwpBDzzwAJYuXYoNGzZAo9Ggrq4u0SEREcXd0YNToFZKKLF7cKC6AYPTjYkOiYiIiCiiINWA/ztpOP7vpOHYXeHEhxtL8dHGEuyrqsfSTaVYuqkUJq0Kc8dm4cyJuTh+eDrUSg5JT5RM+kwhyOfz4bzzzsOMGTPwwgsvJDocIqIeYdCoMKnAhu/312L13moWgoiIiChpDc8048ZTzPj9nBHYUuKIjDhWYvfg3R+L8e6PxUgxqHHq+BwsmJiLYwanQqlga2eiROszhaD77rsPAPDyyy8nNhAioh42Y1g6vt9fi+/2VOOiaYWJDoeIiIioQ5IkYVyeFePyrLht/mj8eLAWH20swdJNpahy+fDG2oN4Y+1BZFm0OH18LhZMysXEfCtvgSdKkD5TCOoOr9cLr9cbee1wOBIYDRFRbGYMTcPfvtqF1Xuq2U8QEfU65k9EdCQUCglHD07F0YNTcdcZY7Bmbw0+3FiMTzeXodzhxYur9uHFVfswJN2If11xNIZlmBIdMtGA069v1nzooYdgtVojj4KCgkSHRETUqcmFNgBAlcuL2gZ/YoMhogGH+RMRxYtKqcDxI9LxyLkT8f2dc/Cvy4/Ggom50KuV2FdVj79+uSvRIRINSAktBN1+++2QJKnDx/bt27u9/zvuuAN2uz3yOHToUByjJyLqGTq1Ejp16M9zvTeQ4GiIaKBh/kREPUGrUmLOmCz87aLJeP2q6QCAL7eVw+MPJjgyooEnobeG3XTTTbjyyis7XGfo0KHd3r9Wq4VWq+329kREiWLSquHxe+H0sBBERL2L+RMR9bTJBTbk2fQornNjxY4KzB+Xk+iQiAaUhBaCMjIykJGRkcgQiIiSklmnQpXLCxdbBBEREVE/I0kSTp+Qg+f/txcf/1TKQhBRL+szfQQdPHgQGzZswMGDBxEMBrFhwwZs2LABLpcr0aEREcWdSRuq07u87COIiIiI+p/Tx4eKP19tq4Dbx9vDiHpTnxk17O6778Yrr7wSeT158mQAwPLly3HSSSclKCoiop4RLgTx1jAiIiLqjybkW5GfosfhWjeW76jAaePZKoiot/SZFkEvv/wyhBCtHiwCEVF/ZNaFWwSxEERERET9T/j2MABY+lNpgqMhGlj6TCGIiGggMenYIoiIiIj6t5NGZgIANhXbExwJ0cDCQhARURIK3xrG4eOJiIiov7LoQ/mOm0PIE/UqFoKIiJIQ+wgiIiKi/s6gCeU7HnYWTdSrWAgiIkpC4VvD2CKIiIiI+iu9WgmALYKIehsLQUREScisZWfRRERE1L+FC0EBWcAflBMcDdHAwUIQEVESMnHUMCIiIurndJqmn6NsFUTUe1gIIiJKQiatGgALQURERNR/aZQKKKTQc/YTRNR7WAgiIkpC7CyaiIiI+jtJkqBRhX6SegO8NYyot7AQRESUhDh8PBEREQ0ECklKdAhEAw4LQURESSjSRxBbBBEREVE/Fi4DyUIkNA6igYSFICKiJBRuEeTyBSDLTIyIiIiof5IaWwSxDkTUe1gIIiJKQubGFkFCAA0cRYOIiIj6qXCLINaBiHoPC0FERElIq1JA1TiMBvsJIiIion6rsRIk2CSIqNewEERElIQkSYr0E8SRw4iIiKi/Yosgot7HQhARUZJqGkLen+BIiIiIiHoG+wgi6n0sBBERJammIeTZRxARERH1Txw9nqj3sRBERJSkIiOHedkiiIiIiIiI4oOFICKiJMU+goiIiIiIKN5YCCIiSlJNLYJYCCIiIiIiovhgIYiIKEmZG1sEudgiiIiIiIiI4oSFICKiJMUWQUREREREFG8sBBERJSmTVg0AcLBFEBEREfV7HD+eqLewEERElKTCnUXXs0UQERER9VMcPZ6o97EQRESUpMy8NYyIiIiIiOKMhSAioiRlYmfRREREREQUZywEERElqXBn0U62CCIiIiIiojhhIYiIKElFWgR5/QmOhIiIiIiI+gsWgoiIklSkjyDeGkZERERERHHCQhARUZIKtwhyegIQgkOqEhERERHRkWMhiIgoSYX7CArIAt6AnOBoiIiIiIioP2AhiIgoSRk1qshzJ28PIyIiIiKiOGAhiIgoSSkUUqRVkIsjhxERERERURywEERElMRM7DCaiIiIiIjiiIUgIqIkFukwmkPIExERERFRHLAQRESUxNgiiIiIiIiI4omFICKiJGZuNoQ8ERERUX8jEh0A0QDEQhARURILF4LYWTQREREREcUDC0FEREmMo4YREREREVE8sRBERJTETFo1AN4aRkRERERE8cFCEBFREmvqI4ijhhERERER0ZFjIYiIKImxjyAiIiIiIoonFoKIiJIYh48nIiIiIqJ4YiGIiCiJmTh8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xfnnn48lS5YgMzMTgwcPhrrFkLE//vhj3IIjIhrIXOFCkFaZ4EiIqC9gjkZEiba30oWr/r0evoCMOUdl4e4zx7K/MqIk1OVC0BVXXIEffvgBl156KTsiJCLqQZHOojVsEUREnWOORkSJVO3yYuHL36OuwY+JBTY8dRGHiSdKVl3+dbF06VJ89tlnOP7443siHiIiauTiqGFE1AXM0YgoUTz+IK5+9QccqG5Afooe/7r8aOg1bNFMlKy63EdQQUEBLBZLT8RCRETNNN0axkIQEXWOORoRJYIsC9z8zkb8cKAWFp0KLy88BhlmbaLDIqIOdLkQ9Nhjj+HWW2/F/v37eyAcIiICQklVgy80ahg7iyaiWDBHI6JEePTzHfj4p1KoFBL+cdlUDM80JzokIupEl39dXHrppWhoaMCwYcNgMBhadURYU1MTt+CIiAaqel8g8pwtgogoFszRiKi3vfX9QTyzYg8A4OFzJmDmsPQER0REsejyr4snn3yyB8IgIqLm6r2h1kBKhQStqsuNN4loAGKORkS96dtdVfjje5sBAL/52XCcOzU/wRERUay6NWoYERH1rEhH0RolR/4hopgwRyOi3rK30oVfv/YDArLAzyfl4venjEx0SETUBTFdZq6vr+/STru6PhERRWvwccQwIuocczQi6m1CCPzxvc1wegM4ZnAKHjl3Ai9aEfUxMRWChg8fjocffhilpaXtriOEwBdffIFTTz0Vf/vb3+IWIBHRQOTxywAAnZpDrxJR+5ijEVFv+2BDCVbvrYZOrcDj50+CVsVchaivielS84oVK/CHP/wB9957LyZOnIijjz4aubm50Ol0qK2txdatW7F69WqoVCrccccduOaaa3o6biKifs0bCPURxP6BiKgjzNGIqDfZ3X7cv3QbAOCGn41AQaohwRERUXfEVAgaNWoU/vvf/+LgwYN45513sHLlSnz33Xdwu91IT0/H5MmT8c9//hOnnnoqlEpWhImIjhRbBBFRLJijEVFveuzzHahyeTE0w4hfzRqS6HCIqJu61PlEYWEhbrrpJtx00009FQ8REQHw+EMtgnRqtggios4xRyOinrbpsB2vrjkAALj/5+N4SxhRH8ZfGERESShcCGKSRURERIkWlAX++P4mCAH8fFIuZg5PT3RIRHQEWAgiIkpCnkD41jD+mSYiIqLEemPdQfx02A6zVoU/nn5UosMhoiPEXxhEREnIG7k1jC2CiIiIKHEqnV488ul2AMDN80Yh06xLcEREdKRYCCIiSkKRPoJ4axgREREl0IPLtsHpCWBcngWXHjso0eEQURywEERElIS8vDWMiIiIEmz1nmq8V1QMSQIeOGs8lAop0SERURx0adSwsLq6Oqxbtw4VFRWQZTlq2eWXXx6XwIiIBjIPbw0jom5gjkZE8eIPyrj7g80AgEumF2JigS2xARFR3HS5EPTRRx/hkksugcvlgsVigSQ1VYUlSWKSQUQUBx5/6AecloUgIooRczQiiqd/rz6AXRUupBo1uGXu6ESHQ0Rx1OV7Dm666Sb88pe/hMvlQl1dHWprayOPmpqanoiRiGjAaRo+nreGEVFsmKMRUbxUubx48oudAIBb5o2C1aBOcEREFE9d/oVRXFyM3/zmNzAYDD0RDxERofnw8WwRRESxYY5GRPGy+NMdcHpDHUSff3RBosMhojjrciFo3rx5WL9+fU/EQkREjZqGj2eLICKKDXM0IoqHjYfq8PYPhwAA9y0Yyw6iifqhmPoI+vDDDyPPTz/9dNxyyy3YunUrxo8fD7U6upngggUL4hshEdEAFGkRxOHjiagDzNGIKJ5kWeDej7ZACOAXk/MwdVBqokMioh4QUyHorLPOajXvT3/6U6t5kiQhGAwecVBERANdpI8gtggiog4wRyOieHq3qBhFB+tg1Chx26nsIJqov4qpENRy+FEiIupZkVvD2CKIiDrAHI2I4sXp8ePhT7YDAG44eQSyLLoER0REPaXLl5r//e9/w+v1tprv8/nw73//Oy5BERENdF52Fk1EXcQcjYiOxFNf70aVy4uh6Ub88rghiQ6HiHpQlwtBCxcuhN1ubzXf6XRi4cKFcQmKiGig87CzaCLqIuZoRNRduytcePHbfQCAu84cA42K+QdRf9bl/+FCCEhS657jDx8+DKvVGpegiIgGOo+fLYKIqGuYoxFRd92/dCsCssDJozMxe1RmosMhoh4WUx9BADB58mRIkgRJknDyySdDpWraNBgMYt++fZg/f36PBElENNB4A6EWQbwiR0SdYY5GREdi46E6rNhRCZVCwl1njEl0OETUC2IuBIVHpdiwYQPmzZsHk8kUWabRaDB48GCcc845cQ+QiGgg8gcFAECjZCGIiDrGHI2IjsQ/V+4FAJw5MReD040JjoaIekPMhaB77rkHADB48GBccMEF0OnYizwRUU/xNXYWzRZBRNQZ5mhE1F2HaxvwyeYyAMCvZrGDaKKBIuZCUNgVV1wBAFi/fj22bdsGABgzZgymTp0a38iIiAYoIQR8wVAhSM0WQUQUI+ZoRNRVL63aj6AscNzwNIzNZV9iRANFlwtBxcXFuPDCC7Fq1SrYbDYAQF1dHWbOnIk333wT+fn58Y6RiGhACd8WBrBFEBHFjjkaEXWF3e3Hm+sOAgB+NWtogqMhot7U5V8YixYtgt/vx7Zt21BTU4Oamhps27YNsizjV7/6VU/ESEQ0oIRbAwHsI4iIYsccjYi64s11B1HvC2JEpgknjcxIdDhE1Iu63CLom2++wXfffYdRo0ZF5o0aNQpPPfUUZs2aFdfgiIgGIn+gWSGILYKIKEbM0YgoVv6gjJe/2w8AuGrWUEiSlNiAiKhXdfkXRkFBAfx+f6v5wWAQubm5cQmKiGggC7cIUkiAUsHEjIhiwxyNiGK19KdSlNo9SDdp8fPJ/PtANNB0uRC0ePFi3HDDDVi/fn1k3vr16/Hb3/4Wjz76aFyDIyIaiDhiGBF1B3M0IoqFECIyZPwVMwZBq1ImOCIi6m1dvjXsyiuvRENDA6ZPnw6VKrR5IBCASqXCL3/5S/zyl7+MrFtTUxO/SImIBgiOGEZE3cEcjYhisXpPNbaUOKBTK3DpsYMSHQ4RJUCXC0FPPvlkD4RBRERh4RZBWrYIIqIuYI5GRLEItwY6b2oBUoyaBEdDRInQ5ULQFVdc0RNxEBFRIz9bBBFRNzBHI6LO7K5wYvmOSkgSsOj4IYkOh4gSpFu/Mvbs2YM777wTF110ESoqKgAAn3zyCbZs2RLX4IiIBiL2EURE3cUcjYg68q+V+wAApxyVhcHpxgRHQ0SJ0uVfGd988w3Gjx+PtWvX4t1334XL5QIAbNy4Effcc0/cAyQiGmjYRxARdQdzNCLqSKXTi3eLigEAV58wNMHREFEidflXxu233477778fX3zxBTSapntKf/azn2HNmjVxDY6IaCAKtwhiIYiIuoI5GhF15NU1B+ALyJhUYMPUQSmJDoeIEqjLvzI2bdqEs88+u9X8zMxMVFVVxSUoIqKBzB8UAHhrGBF1DXM0ImqPxx/Ea2sOAAB+NWsIJElKcERElEhd/pVhs9lQWlraan5RURHy8vLiEhQR0UAWGTWMLYKIqAuYoxFRe94vKkZNvQ95Nj3mj81OdDhElGBd/pVx4YUX4rbbbkNZWRkkSYIsy1i1ahVuvvlmXH755T0RIxHRgBIeNYwtgoioK5ijEVFbhBD417ehTqIXHjcYKl5oIhrwuvxX4MEHH8To0aNRUFAAl8uFMWPG4IQTTsDMmTNx55139kSMREQDSlMfQWy2TUSxY45GRG35Zmcldle4YNKqcP4xBYkOh4iSgKqrG2g0Gvzzn//EXXfdhc2bN8PlcmHy5MkYMWJET8RHRDTg+NgiiIi6gTkaEbXlhcbWQBccUwCLTp3gaIgoGXS5EBRWWFiIwsLCeMZCRETgqGFEdGSYoxFR2PYyB1buqoJCAq6cOTjR4RBRkoipEHTjjTfGvMPHH3+828EQERH7CCKi2DFHI6KOvLAy1Bro1HE5KEg1JDgaIkoWMRWCioqKol7/+OOPCAQCGDVqFABg586dUCqVmDp1avwjJCIaYMItgjRsEUREnWCORkTtqXB68MGGEgDAollDEhwNESWTmApBy5cvjzx//PHHYTab8corryAlJQUAUFtbi4ULF2LWrFk9EyUR0QDCFkFEFCvmaETUntdWH4AvKGNKoQ1TClMSHQ4RJZEu/8p47LHH8NBDD0USDABISUnB/fffj8ceeyyuwTW3YMECFBYWQqfTIScnB5dddhlKSkp67HhERIniDbJFEBF1XaJyNCJKPh5/EK+tPQgAWHT80ARHQ0TJpsu/MhwOByorK1vNr6yshNPpjEtQbZk9ezbefvtt7NixA//973+xZ88enHvuuT12PCKiRPEHBABAzRZBRNQFicrRiCj5vFdUjJp6H/Jseswbm5XocIgoyXR51LCzzz4bCxcuxGOPPYZp06YBANauXYtbbrkFv/jFL+IeYNjvf//7yPNBgwbh9ttvx1lnnQW/3w+1msMgElH/4QsGAbBFEBF1TaJyNCJKLrIsIkPGLzxuMFTMJ4iohS4Xgv7xj3/g5ptvxsUXXwy/3x/aiUqFRYsWYfHixXEPsC01NTV4/fXXMXPmzA6LQF6vF16vN/La4XD0RnhEREck3CKIfQQRUVfEK0dj/kTUt32zqxK7K1wwaVW44JiCRIdDREmoy78yDAYDnnnmGVRXV6OoqAhFRUWoqanBM888A6PR2BMxRtx2220wGo1IS0vDwYMH8cEHH3S4/kMPPQSr1Rp5FBTwDyERJT9fYx9BaqWU4EiIqC+JV47G/ImobwsPGX/BMQUw63jnBBG11u3LzUajERMmTMCECRO6XQC6/fbbIUlSh4/t27dH1r/llltQVFSEzz//HEqlEpdffjmEEO3u/4477oDdbo88Dh061K04iYh6k4+dRRPRETjSHI35E1Hfta3UgW93V0EhhW4LIyJqS5dvDYunm266CVdeeWWH6wwd2tTLfXp6OtLT0zFy5EgcddRRKCgowJo1azBjxow2t9VqtdBqtfEMmYiox/kC4eHjlQmOhIgGIuZPRH1XuG+gU8fnID/FkOBoiChZJbQQlJGRgYyMjG5tK8uhH0rN72EnIuoP/Lw1jIiIiLqowuHBBxuKAQC/On5IgqMhomSW0EJQrNauXYvvv/8exx9/PFJSUrBnzx7cddddGDZsWLutgYiI+qqmFkG8NYyIiIhi8+qaA/AHBaYU2jC5MCXR4RBREusTvzIMBgPeffddnHzyyRg1ahQWLVqECRMm4JtvvmHTZSLqd/zsI4iIiIi6wOMP4rU1BwAAv5o1tJO1iWig6xMtgsaPH4+vv/460WEQEfUKtggiIiKirnj3x2LUNviRn6LH3DFZiQ6HiJIcf2UQESUZXzA0GqKaLYKIiIioE7Is8MK3ewEAC48bAhXzByLqBP9KEBElGV8gCIAtgoiIiKhz3+ysxJ7Kepi1Kpx/dH6iwyGiPoC/MoiIkoyfLYKIiIgoRv9qbA104bQCmHXqBEdDRH0Bf2UQESWZcB9BWrYIIiIiog5sLXFg1e5qKBUSrpg5ONHhEFEfwV8ZRERJJjxqGFsEERERUUde+HYfAGD+uGzkpxgSHA0R9RX8lUFElGQ4ahgRERF1psLhwYcbiwEAvzp+SIKjIaK+hL8yiIiSjC/SIkhKcCRERESUrF5dcwD+oMDUQSmYXJiS6HCIqA9hIYiIKIkIISKFIA1vDSMiIqI2uH1BvLbmAABgEVsDEVEX8VcGEVESCcoCIjRoGG8NIyIioja9W3QYtQ1+FKTqMW9sdqLDIaI+hr8yiIiSSLg1EMBCEBEREbUmyyLSSfTCmUOgVPBWciLqGv7KICJKIv6AiDznqGFERETU0oqdFdhbWQ+zVoXzjylIdDhE1AfxVwYRURLxBoMAAEkCVLzCR0RERC38a2WoNdCF0wpg0qoSHA0R9UUsBBERJRF/MNQiSK1UQJJYCCIiIqImW0sc+G5PNZQKCVfMHJzocIioj2IJuQVZluHz+RIdBhH1Q2q1GkqlssN1fIFQH0Fa3hZGRH0I8yei3vHO2r3IMytx0qgMpOsV8Hg8iQ6px8WSPxFR17AQ1IzP58O+ffsgy3LnKxMRdYPNZkN2dna7rX38jZ1Fq9lRNBH1EcyfiHpHUBY4LlvGzKxMZJq12LdvX6JD6jWd5U9E1DUsBDUSQqC0tBRKpRIFBQVQKPgjjIjiRwiBhoYGVFRUAABycnLaXC/cIkjDFkFE1AcwfyLqPZVOL4JGL/RqJQrTjIkOp1fEmj8RUdewENQoEAigoaEBubm5MBgMiQ6HiPohvV4PAKioqEBmZmabzZx9kRZBvOJFRMmP+RNR75BlAYffC0mlQVaqATqdJtEh9ZpY8ici6hpetmkUbBypR6MZOH9Uiaj3hX8o+f3+NpezRRAR9SXMn4h6R22DD0FZQKNSwKJTJzqcXtdZ/kREXcNfGi3wvlMi6kmd/Y2J9BHEQhAR9SHMn4h6jhACVa5QZ+zpRu2A/P82EM+ZqCfxlwYRURKJjBrGzqKJiIgIgNMTgDcQhFKSkGJk6zsiOnL8pUFElETYIoiIiIiaq3J5AQCpJg2UCraMIaIjx18afdxDDz2EY445BmazGZmZmTjrrLOwY8eOqHU8Hg+uu+46pKWlwWQy4ZxzzkF5eXnUOgcPHsTpp58Og8GAzMxM3HLLLQgEAm0ec9WqVVCpVJg0aVKn8QkhcPfddyMnJwd6vR5z5szBrl27otZ54IEHMHPmTBgMBthstpjP/aeffsKsWbOg0+lQUFCARx55JGr5li1bcM4552Dw4MGQJAlPPvlk1HJJkjp83HvvvQBie29WrFiBKVOmQKvVYvjw4Xj55Zc7jX/BggUoLCyETqdDTk4OLrvsMpSUlHTpHNsS7887rKamBpdccgksFgtsNhsWLVoEl8vV5XjfeecdjB49GjqdDuPHj8eyZcuilsfyb6avxdIV3gALQUREPY35E/OnlpI1f3L7AnB5A/ji4w9w0vTJzJ+IKD7EAGK32wUAYbfbWy1zu91i69atwu12JyCy7ps3b5546aWXxObNm8WGDRvEaaedJgoLC4XL5Yqsc+2114qCggLx1VdfifXr14tjjz1WzJw5M7I8EAiIcePGiTlz5oiioiKxbNkykZ6eLu64445Wx6utrRVDhw4Vc+fOFRMnTuw0vocfflhYrVbx/vvvi40bN4oFCxaIIUOGRL3Pd999t3j88cfFjTfeKKxWa0znbbfbRVZWlrjkkkvE5s2bxZIlS4RerxfPPfdcZJ1169aJm2++WSxZskRkZ2eLJ554ImofpaWlkceTTz4pLBZL1Dyn0xnTe7N3715hMBjEjTfeKLZu3SqeeuopoVQqxaefftrhOTz++ONi9erVYv/+/WLVqlVixowZYsaMGV06x7bE8/Nubv78+WLixIlizZo1YuXKlWL48OHioosu6lK8q1atEkqlUjzyyCNi69at4s477xRqtVps2rQpsk4s/2b6Uiwtdfa35p31h8Sg2z4Wl7+wtsPPgyjR/v3bG8Sj558unrzw8h7Zf0ff2dS7mD8xf2qO+VPv5k8Hq+vFK+99yvypj/6tIWrLXy+8Ujx6/unixWuujfu+Y82fWAhq1F/+uFRUVAgA4ptvvhFCCFFXVyfUarV45513Iuts27ZNABCrV68WQgixbNkyoVAoRFlZWWSdZ599VlgsFuH1eqP2f8EFF4g777xT3HPPPZ0mMrIsi+zsbLF48eLIvLq6OqHVasWSJUtarf/SSy/FnMg888wzIiUlJSq+2267TYwaNarN9QcNGtQqkYnl2LG8N7feeqsYO3Zs1HYXXHCBmDdvXkznEvbBBx8ISZKEz+cTQnT9HIWI/+cdtnXrVgFAfP/995F5n3zyiZAkSRQXF8cc7/nnny9OP/30qH1Pnz5dXHPNNUKI2P7N9LVYWursb83raw6IQbd9LH71yvdtLidKFiwEDRzMn0KYP7XG/Kln8ydfICh+Olwn5p5xtph/6mlR+2b+RNR3JUMhiPcetEMIgQZfICEPIUS347bb7QCA1NRUAMAPP/wAv9+POXPmRNYZPXo0CgsLsXr1agDA6tWrMX78eGRlZUXWmTdvHhwOB7Zs2RKZ99JLL2Hv3r245557Yopl3759KCsrizq21WrF9OnTI8furtWrV+OEE06IGq523rx52LFjB2pra49o3y2P09l7s3r16qhzDK/T/BxffvnlDkc7qKmpweuvv46ZM2dCrVZH9tvZOa5YsQKSJGH//v0A4vt5t3wfbDYbjj766Mi8OXPmQKFQYO3atTHH29l7Fcu/mb4WS1eF+wji8PFE1Bcxf2L+FD4O86cjz1n2HC6DEAKbir7HvLmntPteMX8ioq5SJTqAZOX2BzHm7s8Scuytf5oHg6brH40sy/jd736H4447DuPGjQMAlJWVQaPRtLp3PCsrC2VlZZF1mn+phZeHlwHArl27cPvtt2PlypVQqWKLLbxtW/sOL+uusrIyDBkypN2YU1JSjmj/zY/T2XvT3joOhwNutxt6vR5WqxWjRo1qtf/bbrsNTz/9NBoaGnDsscfi448/jjp2Z+doMBgwatSoSPITr8+7rfchMzMzap5KpUJqamrUfjuLt71jN99H8+3aW6cvxdJVkUIQRw0joj6I+RPzp/C+mD8dec6yc/9hDB42ElUV5cyfiCiu+EujH7nuuuuwefNmvPnmm3HdbzAYxMUXX4z77rsPI0eObHOd119/HSaTKfJYuXJl3I4/duzYyH5PPfXUuO23N5199tnYvn17q/m33HILioqK8Pnnn0OpVOLyyy/v0hXNadOmYfv27cjLy4tnuJRATZ1Fc1QQIqLewPwpeQ30/EmWBS8MEVGPYIugdujVSmz907yEHburrr/+enz88cf43//+h/z8/Mj87Oxs+Hw+1NXVRV3lKC8vR3Z2dmSddevWRe0vPEpCdnY2nE4n1q9fj6KiIlx//fUAQlfPhBBQqVT4/PPPsWDBAkyfPj2yfV5eHkpLSyP7ysnJidp3LCNmhC1btgx+vx8AoNfrI3G1HMmheczx0tl701EsFoslEm970tPTkZ6ejpEjR+Koo45CQUEB1qxZgxkzZnTrHOPxebe334qKiqh5gUAANTU1nb4Pzffb3jrNl4fntfdvpq/F0lUcPp6I+jLmT8yfwvti/tT9nCXcKiY9IwvpJi3zJyKKO/7SaIckSTBoVAl5dHQvdEtCCFx//fV477338PXXX7dqzjl16lSo1Wp89dVXkXk7duzAwYMHMWPGDADAjBkzsGnTpqg/yF988QUsFgvGjBkDi8WCTZs2YcOGDZHHtddei1GjRmHDhg2YPn06zGYzhg8fHnno9XoMGTIE2dnZUcd2OBxYu3Zt5NixGDRoUGS/4Ss3M2bMwP/+979IghOOedSoUXFr1hw+TkfvTXid5ucYXqcr5wiEkkMA8Hq9kf129Rzj8Xm3ZcaMGairq8MPP/wQmff1119DluVIAhtLvJ29V7H8m+lrsXSVL8Bbw4io72L+xPwpfBzmT93PWZZ+8hkGDxuBlNQUpBg0zJ+IKP7i3k11EuuPo178+te/FlarVaxYsSJq6M6GhobIOtdee60oLCwUX3/9tVi/fn2rYTbDw2HOnTtXbNiwQXz66aciIyOjw+EwYxn1QojQ8JE2m0188MEH4qeffhI///nPWw0feeDAAVFUVCTuu+8+YTKZRFFRkSgqKhJOp7Pd/dbV1YmsrCxx2WWXic2bN4s333xTGAyGqOEtvV5vZF85OTni5ptvFkVFRWLXrl2t9tfeqBexvDfh4U9vueUWsW3bNvH3v/+91fCn7777btSIC2vWrBFPPfWUKCoqEvv37xdfffWVmDlzphg2bJjweDwxn+PatWvFqFGjxOHDhyPz4vF5t7Xf+fPni8mTJ4u1a9eKb7/9VowYMSJqmM9Y4l21apVQqVTi0UcfFdu2bRP33HNPm0OOdvZvpi/F0lJnf2vu/3iLGHTbx+LBpVvb3QdRMuCoYQMH8yfmT8yfejd/0hsM4q6HnxAldaF/j8yf+u7fGqK2JMOoYSwENeqrf1wAtPl46aWXIuu43W7xf//3fyIlJUUYDAZx9tlni9LS0qj97N+/X5x66qlCr9eL9PR0cdNNNwm/39/ucWNNZGRZFnfddZfIysoSWq1WnHzyyWLHjh1R61xxxRVtnsPy5cs73PfGjRvF8ccfL7RarcjLyxMPP/xw1PJ9+/a1ud8TTzyx1b46Gno1lvdm+fLlYtKkSUKj0YihQ4dGvf/h/Tevu/70009i9uzZIjU1VWi1WjF48GBx7bXXRiUOsZzj8uXLBQCxb9++yLx4fN5t7be6ulpcdNFFwmQyCYvFIhYuXNgq2ewsXiGEePvtt8XIkSOFRqMRY8eOFUuXLo1aHsu/mb4WS3Od/a25+/1NYtBtH4tHP9ve7j6IkgELQQMH8yfmT8yfYjuneORPuXl54rd33CN+OlQnvP5gZB3mT33zbw1RW5KhECQJcQRjbfYxDocDVqsVdrsdFoslapnH48G+ffswZMgQ6HS6BEVIRP1dZ39r7nh3E5asO4gbTxmJ35w8IgEREsXm1d/9BhWle6FSpOG3S16J+/47+s6m3sX8iaj3HKppQG2DDza9BoVphkSHkzT4t4b6k79dtBB+uRKpKQVY+I9n47rvWPMndkJBRJREOHw8ERHRwOQPyqhrCPXPk27WJDgaIurP+EuDiCiJ+AIcNYyIiGggqnZ5ISBgbOwAnYiop/CXBhFREom0CFLGPvoNERER9W1BWaC63gcASDdrExwNEfV3LAQRESURtggiIiIaeOoafAjKAhqVAhYdWwMRUc/iLw0ioiTiYx9BREREA4oQAlWuxtZAJi0kia2Ciahn8ZcGEVESCbcIYiGIiIhoYHB6AvAGglAqJKQY2Ek0EfU8/tIgIkoi4T6CeGsYERHRwFDp8gIAUo0aKBVsDUREPY+/NIiIkghvDSMiIho43L4A6r0BSJCQZmQn0UTUO/hLg4goifgDAgCgYYsgIiKifi/cN5BVr+ZFICLqNfxrQ0SURHy8NYyIiGhA8Adk1DX4AQDpZvYNRES9h780+riHHnoIxxxzDMxmMzIzM3HWWWdhx44dUet4PB5cd911SEtLg8lkwjnnnIPy8vKodQ4ePIjTTz8dBoMBmZmZuOWWWxAIBNo85qpVq6BSqTBp0qRO4xNC4O6770ZOTg70ej3mzJmDXbt2Ra3zwAMPYObMmTAYDLDZbDGf+08//YRZs2ZBp9OhoKAAjzzySNTyLVu24JxzzsHgwYMhSRKefPLJqOWSJHX4uPfeewF0/t6Ulpbi4osvxsiRI6FQKPC73/0upvjj/bmExfKe19TU4JJLLoHFYoHNZsOiRYvgcrl6Jd4VK1ZgypQp0Gq1GD58OF5++eVWx/r73/+OwYMHQ6fTYfr06Vi3bl2fjqUr2Fk0EVHPY/7E/KmlRORP1fVeCAjYK0px3tk/T4qcpa/mT0TURWIAsdvtAoCw2+2tlrndbrF161bhdrsTEFn3zZs3T7z00kti8+bNYsOGDeK0004ThYWFwuVyRda59tprRUFBgfjqq6/E+vXrxbHHHitmzpwZWR4IBMS4cePEnDlzRFFRkVi2bJlIT08Xd9xxR6vj1dbWiqFDh4q5c+eKiRMndhrfww8/LKxWq3j//ffFxo0bxYIFC8SQIUOi3ue7775bPP744+LGG28UVqs1pvO22+0iKytLXHLJJWLz5s1iyZIlQq/Xi+eeey6yzrp168TNN98slixZIrKzs8UTTzwRtY/S0tLI48knnxQWiyVqntPpjOm92bdvn/jNb34jXnnlFTFp0iTx29/+NqZziOfn0lws7/n8+fPFxIkTxZo1a8TKlSvF8OHDxUUXXdTj8e7du1cYDAZx4403iq1bt4qnnnpKKJVK8emnn0bWefPNN4VGoxEvvvii2LJli7jqqquEzWYT5eXlfTKWljr7W3P0/V+IQbd9LDYX13X4eRAl2r9/e4N49PzTxZMXXt4j++/oO5t6F/Mn5k/NMX+KT/4UCMpic3Gd+HF/lRgzdmxS5Cx9OX8i6kv+euGV4tHzTxcvXnNt3Pcda/7EQlCj/vLHpaKiQgAQ33zzjRBCiLq6OqFWq8U777wTWWfbtm0CgFi9erUQQohly5YJhUIhysrKIus8++yzwmKxCK/XG7X/Cy64QNx5553innvu6TSRkWVZZGdni8WLF0fm1dXVCa1WK5YsWdJq/ZdeeinmROaZZ54RKSkpUfHddtttYtSoUW2uP2jQoFaJTCzH7sp7I4QQJ554YkyJTLw/l7BY3vOtW7cKAOL777+PrPPJJ58ISZJEcXFxj8Z76623irFjx0bt+4ILLhDz5s2LvJ42bZq47rrrIq+DwaDIzc0VDz30UJ+MpaXO/tZMvO8zMei2j8Wuckeby4mSBQtBAwfzpxDmT60xf+p+/vTpV9+IjYdqxXOv/Sdpcpa+nD8R9SXJUAjivQftEQLw1SfmIUS3w7bb7QCA1NRUAMAPP/wAv9+POXPmRNYZPXo0CgsLsXr1agDA6tWrMX78eGRlZUXWmTdvHhwOB7Zs2RKZ99JLL2Hv3r245557Yopl3759KCsrizq21WrF9OnTI8furtWrV+OEE06ARtN0P/W8efOwY8cO1NbWHtG+Wx4nlvemMytWrIAkSdi/fz+A+H0u+/fvhyRJWLFiBYDY3vPVq1fDZrPh6KOPjqwzZ84cKBQKrF27ts344xXv6tWro/YRXie8D5/Phx9++CFqHYVCgTlz5kTW6WuxdFX41jD2EUREfRLzJ+ZPYP4U1lG8K1auAgDs3PRD0uQsfTl/IqKuUSU6gKTlbwAezE3Msf9QAmiMXd5MlmX87ne/w3HHHYdx48YBAMrKyqDRaFrdO56VlYWysrLIOs3/4IeXh5cBwK5du3D77bdj5cqVUKli+2cT3ratfYeXdVdZWRmGDBnSbswpKSlHtP/mx+nsvYmFwWDAqFGjoFarI9vG43NRq9UYNWoUDAZD1PyO3vOysjJkZmZGLVepVEhNTW33nOIVb3vrOBwOuN1u1NbWIhgMtrnO9u3b+2QsXeXn8PFE1Jcxf4osA5g/tXecWPXX/Ck9IxNl5WVQKiTYqyuTJmfpy/kTEXUNf2n0I9dddx02b96MN998M677DQaDuPjii3Hfffdh5MiRba7z+uuvw2QyRR4rV66M2/HHjh0b2e+pp54at/32pmnTpmH79u3Iy8uL637z8vKwfft2TJs2La77pcSQZQF/MHRFmy2CiIh6B/On5NVf86eAHPquTzVqIElSQmIgooGNLYLaozaEriwl6thddP311+Pjjz/G//73P+Tn50fmZ2dnw+fzoa6uLqrqXl5ejuzs7Mg6LXvyD/fan52dDafTifXr16OoqAjXX389gNDVMyEEVCoVPv/8cyxYsADTp0+PbJ+Xl4fS0tLIvnJycqL2HcuIGWHLli2D3x8aWlOv10fiajmyQPOY46Wz9+ZI9nukn0t7+w2v1957np2djYqKiqjtAoEAampqOtxvPOJt73OzWCzQ6/VQKpVQKpVtrvP/7d15XJTl/j/+18AwwyCrIovI5oZrLpiIS2aRYH3djudk6jHr4ykxaXPJPMclbdGTnsxKO50WrFM/6bSoHUOPhuAWohgoCJILahZoLmyyM+/fHzR3DAw4KMgMvJ6PxzzK+77u63pf9z3c93uuuee+atZhTbE0RoVer/w/B4KIyCoxf1LWMX9i/mQq3pLySvx6+RI6dvREh3Zai8pZLCkWImpe/KRRH5Wq+vbilng14psBEUFUVBS2bNmCPXv21LndNzg4GHZ2doiLi1OWZWVl4cKFCwgNDQUAhIaGIi0tzejitnv3bjg7O6N3795wdnZGWloaUlNTlVdkZCSCgoKQmpqKkJAQODk5oVu3bspLp9MhMDAQXl5eRm0XFBQgKSlJadsc/v7+Sr2Gb4RCQ0Oxb98+JcExxBwUFNRktzUb2mlo39yqpjguppizz0NDQ5GXl4ejR48qZfbs2QO9Xm+UjDZHvKGhoUZ1GMoY6tBoNAgODjYqo9frERcXp5Sxtlgaw/B8IADQcCCIiKwR8yfmT2D+1FC8SSnpyPn5IoYNGwaN2saichZLioWImlmTP6bagrXGWS/mzJkjLi4ukpCQYDR1Z3FxsVImMjJS/Pz8ZM+ePZKcnCyhoaESGhqqrDdMFTlmzBhJTU2VnTt3SseOHRucZtOcWS9EqqfidHV1lW3btsnx48dlwoQJdabiPH/+vKSkpMiKFSvE0dFRUlJSJCUlRQoLC+utNy8vTzw9PWXGjBmSnp4uMTEx4uDgYDT9aVlZmVKXt7e3LFiwQFJSUuTUqVN16qtv1gtz942hneDgYJk2bZqkpKTIiRMnlPVJSUkSFBQkFy9eVJY1xXG5ePGiBAUFSVJSUqP2eUREhAwcOFCSkpLkwIED0r17d6PpT03V2xTxGqYcXbhwoWRmZsqGDRtMTjmq1Wpl06ZNkpGRIU8++aS4uroazWBhTbHU1tC55mpRmfgv2i7+i7ZLZZW+3jqILAFnDWs7mD8xf2L+VO1286dDhw5L/+Ah0j/4brlRVmF2vMyfrPdcQ2SKJcwaxoGg31jryQWAyVd0dLRSpqSkRJ566ilxc3MTBwcHmTRpkuTk5BjVc+7cORk7dqzodDpxd3eX+fPnS0VFRb3tmpvI6PV6Wbp0qXh6eopWq5X7779fsrKyjMrMnDnTZB/i4+MbrPvYsWMyYsQI0Wq14uPjI6tXrzZan52dbbLeUaNG1amroalXzdk3ptrx9/dX1sfHxwsAyc7OVpY1xXEx9LHmvjJnn1+9elWmTp0qjo6O4uzsLI8//rhR4miq3qZ6H8XHx8uAAQNEo9FIly5djN6rBm+//bb4+fmJRqORIUOGyKFDh4zWW1sstcvXd67JzS8R/0Xbpcvib+vdnshScCCo7WD+xPyJ+VO1282fdA4Ocl/E/5PEtNON3lfMn6zzXENkiiUMBKlEbmOuTStTUFAAFxcX5Ofnw9nZ2WhdaWkpsrOzERgYCHt7+xaKkIhau4bONT9dK8bI1+Nhb2eDky9b54M9qe3493PP4HLOWahtOuDZzR83ef0NXbPpzmL+RHT7qvSCk7kFqNIL/Du0g4vOrqVDsio811Br8tbUx1Gh/xXt3Xzx+D/fbdK6zc2f+BAKIiILUW6YOp7PByIiImpVrheXo0ov0Kht4GzP+XqIqGXx0wYRkYWoMAwEqXlqJiIiai1EBFeLygAA7o5aThlPRC2OnzaIiCyEYdYwTh1PRETUehSWVqKsUg9bGxXcHDQtHQ4REQeCiIgsBe8IIiIian1+/e1uoPbtNLC14d1ARNTy+GmDiMhClFdWP7ufdwQRERG1DsXllbhRVgkVVOjQTtvS4RARAeBAEBGRxeDDoomIiFqXK0XlAAAXBzve8UtEFsPqzkZlZWUYMGAAVCoVUlNTWzocIqImU2F4RhATRSIiIqtXXqlHfnEFAMDdkc8GIiLLYXWfNl544QV06tSppcMgImpyhjuCtLwjiIiIyOpdvVEGgaCdVg0HDaeMJyLLYVWfNnbs2IFdu3Zh7dq1LR0KEVGTMzws2k7NB0kSERFZsyq94NqN6p+FuTvy2UBEZFmsZmj60qVLeOKJJ7B161Y4ODiYtU1ZWRnKysqUfxcUFDRXeEREt43TxxORJWD+RHT7rheXo0ov0Kpt4GxvNR+5iKiNsIpPGyKCxx57DJGRkRg8eLDZ261atQouLi7Ky9fXtxmjbBmrVq3C3XffDScnJ3h4eGDixInIysoyKlNaWoq5c+eiQ4cOcHR0xOTJk3Hp0iWjMhcuXMBDDz0EBwcHeHh4YOHChaisrDTZ5sGDB6FWqzFgwICbxiciWLZsGby9vaHT6RAWFoZTp04ZlXn11VcxbNgwODg4wNXV1ey+Hz9+HCNHjoS9vT18fX3x+uuvG60/ceIEJk+ejICAAKhUKrz55ptG61UqVYOvl156CQDwzDPPIDg4GFqttt4+3ywWU2bPno2uXbtCp9OhY8eOmDBhAk6ePGlUpjHHxcCcfX7t2jVMnz4dzs7OcHV1xaxZs1BUVNRgvU31PkpISMCgQYOg1WrRrVs3bNq0qU5bGzZsQEBAAOzt7RESEoLDhw9bdSzmMvw0jANBRNSSmD9VY/7E/OlW8ycRwdXfpoxvpxZERUVZTc5iSbEQUTOSFrRo0SIB0OArMzNT1q9fL8OHD5fKykoREcnOzhYAkpKS0mD9paWlkp+fr7x++uknASD5+fl1ypaUlEhGRoaUlJQ0R1ebTXh4uERHR0t6erqkpqbKgw8+KH5+flJUVKSUiYyMFF9fX4mLi5Pk5GQZOnSoDBs2TFlfWVkpffv2lbCwMElJSZHY2Fhxd3eXxYsX12nv+vXr0qVLFxkzZoz079//pvGtXr1aXFxcZOvWrXLs2DEZP368BAYGGu3nZcuWyRtvvCHz5s0TFxcXs/qdn58vnp6eMn36dElPT5fNmzeLTqeT9957Tylz+PBhWbBggWzevFm8vLxk3bp1RnXk5OQorzfffFOcnZ2NlhUWFoqIyNNPPy3vvPOOzJgxw2SfzYnFlPfee0/27t0r2dnZcvToURk3bpz4+voq7/PGHJeazNnnERER0r9/fzl06JDs379funXrJlOnTm2w3qZ4H509e1YcHBxk3rx5kpGRIW+//bbY2trKzp07lTIxMTGi0Wjko48+khMnTsgTTzwhrq6ucunSJauMpbaGzjXRB86K/6Lt8tRnRxs8FkSW4JNnn5a1Dz8kbz7yaLPUn5+fX+81m5oX86dqzJ+YP91q/pRXXC7Hfrou6T/nyezZs60mZ7GkWGqz1nMNkSnrH3lM1j78kHw0O7LJ6zY3f2rRgaDLly9LZmZmg6+ysjKZMGGC2NjYiK2trfICILa2tvLoo+YnoA3tlNZycrl8+bIAkL1794qISF5entjZ2ckXX3yhlMnMzBQAkpiYKCIisbGxYmNjI7m5uUqZd999V5ydnaWsrMyo/ilTpsiSJUtk+fLlN01k9Hq9eHl5yZo1a5RleXl5otVqZfPmzXXKR0dHm53IbNy4Udzc3IziW7RokQQFBZks7+/vXyeRaWzb9fW5sbHU59ixYwJATp8+LSKNOy4G5uzzjIwMASBHjhxRyuzYsUNUKpX8/PPPJuttqvfRCy+8IH369DGqe8qUKRIeHq78e8iQITJ37lzl31VVVdKpUydZtWqVVcZSW0Pnmvf2nhb/Rdvl+ZgUk9sSWRIOBLUdzJ+qMX+qi/mT6fzp9OVCOfbTdTl5PseqchZLiqW21nKuIRKxjIGgFv39QceOHdGzZ88GXxqNBm+99RaOHTuG1NRUpKamIjY2FgDw+eef49VXX22W2EQExRXFLfISkVuOOz8/HwDQvn17AMDRo0dRUVGBsLAwpUzPnj3h5+eHxMREAEBiYiL69esHT09PpUx4eDgKCgpw4sQJZVl0dDTOnj2L5cuXmxVLdnY2cnNzjdp2cXFBSEiI0vatSkxMxD333AON5vepOMPDw5GVlYXr16/fVt3NEUtCQgJUKhXOnTtnso4bN24gOjoagYGByi345hyXc+fOQaVSISEhAYB5+zwxMRGurq5GP7MMCwuDjY0NkpKSTMbXVO+jxMREozoMZQx1lJeX4+jRo0ZlbGxsEBYWppSxtlgao6Kq+m+fPw0jImvF/In5U1PGYo35U3F5JW6UVUIFFc5npVtVzmJJsRBR87KKJ5f5+fkZ/dvR0REA0LVrV3Tu3LlZ2iypLEHI/xfSLHXfTNK0JDjYmfdA7Jr0ej2ee+45DB8+HH379gUA5ObmQqPR1PntuKenJ3Jzc5UyNU/4hvWGdQBw6tQpvPjii9i/fz/UavPeNoZtTdVtWHercnNzERgYWG/Mbm5ut1V/U8fi4OCAoKAg2NnZGZXbuHEjXnjhBdy4cQNBQUHYvXu3khCZc1zs7OwQFBSkPEDdnH2em5sLDw8Po/VqtRrt27ev97g01fuovjIFBQUoKSnB9evXUVVVZbKM4ff/1hZLYxgeFq1RcyCIiKwT8yfmT00ZizXmT1eKqmcKc3GwQ9qvl60qZ7GkWIioefHTRisyd+5cpKenIyYmpknrraqqwrRp07BixQr06NHDZJnPPvsMjo6Oymv//v1N1n6fPn2UeseOHdtk9d5JQ4YMwcmTJ+Hj42O0fPr06UhJScHevXvRo0cPPPzwwygtLTW7Xh8fH5w8eRJDhgxp6pCpBfBh0UREdx7zJ8tlbflTeaUe+cUVAAB3R81NShMRtRyruCOotoCAgNu6/dccOrUOSdNM/0ymuenUukZvExUVhe3bt2Pfvn1Gd0l5eXmhvLwceXl5RqPuly5dgpeXl1Km9pP8DU/t9/LyQmFhIZKTk5GSkoKoqCgA1d+eiQjUajV27dqF8ePHIyTk928AfXx8kJOTo9Tl7e1tVLc5M2YYxMbGoqKi+qKq0+mUuGrPLFAz5jvpdmIxzMjSvXt3DB06FG5ubtiyZQumTp160+NSXyyGcvXtcy8vL1y+fNlou8rKSly7dq3Bem/3fWT4r6l95ezsDJ1OB1tbW9ja2posU7MOa4qlMSoM08erVY3elojIEjB/Yv5krtaYP129UQaBoJ1WDQeN2upyFkuKhYiaF792rodKpYKDnUOLvFQq8z8EilRPSbllyxbs2bOnzi22wcHBsLOzQ1xcnLIsKysLFy5cQGhoKAAgNDQUaWlpRhe33bt3w9nZGb1794azszPS0tKUZzSlpqYiMjISQUFBSE1NRUhICJycnNCtWzflpdPpEBgYCC8vL6O2CwoKkJSUpLRtDn9/f6VewzdCoaGh2Ldvn5LgGGIOCgq6o7c1N2UsUv3wdpSVlSn1NnRcTDFnn4eGhiIvLw9Hjx5VyuzZswd6vd4oGa2pKd5HhjI16zCUMdSh0WgQHBxsVEav1yMuLk4pY22xNIbhjiAt7wgiIivF/In5k7laW/5UpRdcu1H9s7COjloA1pezWFIsRNTMmvwx1RasNc56MWfOHHFxcZGEhASjqTuLi4uVMpGRkeLn5yd79uyR5ORkCQ0NldDQUGW9YarIMWPGSGpqquzcuVM6duzY4DSb5sx6IVI9Faerq6ts27ZNjh8/LhMmTKgzFef58+clJSVFVqxYIY6OjpKSkiIpKSnK9KOm5OXliaenp8yYMUPS09MlJiZGHBwcjKYcLSsrU+ry9vaWBQsWSEpKipw6dapOfQ3NenHq1ClJSUmR2bNnS48ePZQ6DbMnmBNLUlKSBAUFycWLF0VE5MyZM/Laa69JcnKynD9/Xg4ePCjjxo2T9u3bK1NrmnNcLl68KEFBQZKUlNSofR4RESEDBw6UpKQkOXDggHTv3t1o+lNT9TbF+8gw5ejChQslMzNTNmzYYHLKUa1WK5s2bZKMjAx58sknxdXV1WgGC2uKpbaGzjUvfnVM/Bdtl7e++7He7YksBWcNazuYPzF/Yv5UraH86dfCUtl1+IQEdu0uhw4dUraxppzFkmKpzVrPNUSmWMKsYRwI+o21nlwAmHxFR0crZUpKSuSpp54SNzc3cXBwkEmTJklOTo5RPefOnZOxY8eKTqcTd3d3mT9/vlRUVNTbrrmJjF6vl6VLl4qnp6dotVq5//77JSsry6jMzJkzTfYhPj6+wbqPHTsmI0aMEK1WKz4+PrJ69Wqj9dnZ2SbrHTVqVJ26GkpkRo0aZbKe7Oxss2OJj4832ubnn3+WsWPHioeHh9jZ2Unnzp1l2rRpcvLkSaPtbnZcDH2sua/M2edXr16VqVOniqOjozg7O8vjjz9ulDiaqrep3kfx8fEyYMAA0Wg00qVLF6P3qsHbb78tfn5+otFoZMiQIUYJlTXGUrt8feea5z9PEf9F2+WfCafr3Z7IUnAgqO1g/sT8iflTtfryJ71eL5k5+RL7/THmT00YS+3y1niuITLFEgaCVCLN/LAdC1JQUAAXFxfk5+fD2dnZaF1paSmys7MRGBgIe3v7FoqQiFq7hs41T29OwX+P/YJl/683/m9EYD01EFmGfz/3DC7nnIXapgOe3fxxk9ff0DWb7izmT0QNyy+pwPmrN2Bro0JPL2fY2vBZf02N5xpqTd6a+jgq9L+ivZsvHv/nu01at7n5Ex9EQURkISo4fTwREZHVuVJY/Xyi9u00HAQiIqvATxtERBbC8LBoDR8WTUREZBWKyytxo7wSKqjg3k7b0uEQEZmFnzaIiCxERRWnjyciIrImV4qqZwpzdbCDHe/oJSIrwbMVEZGFKPvtp2F2vCOIiIjI4pVX6pFfXAEAcHfUtHA0RETm46cNIiILUcGfhhEREVmNqzfKIBC006qh06hbOhwiIrPx0wYRkYVQBoJ4azkREZFFq9ILrt2o/llYR0c+G4iIrAs/bRARWYjySt4RREREZA2uF5ejSi/Qqm3hZM+7gYjIuvDTBhGRhaioEgDgwyaJiIgsmIjgSlH1lPHujhqoVJzkgYisCz9tEBFZCN4RREREZPkKSitRXqmHrY0Krg58SDQRWR9+2iAishDlVZw1jIiIyNJdKay+G6hDOw1sbXg3EBFZH37asHKrVq3C3XffDScnJ3h4eGDixInIysoyKlNaWoq5c+eiQ4cOcHR0xOTJk3Hp0iWjMhcuXMBDDz0EBwcHeHh4YOHChaisrDTZ5sGDB6FWqzFgwICbxiciWLZsGby9vaHT6RAWFoZTp04ZlXn11VcxbNgwODg4wNXV1ey+Hz9+HCNHjoS9vT18fX3x+uuvG63ftGkTVCqV0cve3h4AcO7cuTrrar82bdpkVjs1xcTEQKVSYeLEiQ3GfvXqVURERKBTp07QarXw9fVFVFQUCgoKjMolJCRg0KBB0Gq16NatmxJTQ65du4bp06fD2dkZrq6umDVrFoqKihq170wx5z1iTrwbNmxAQEAA7O3tERISgsOHDxutb6r3qyXFYq7fHxbNpJKIqDkxf2L+VJu5+dPwESPQ288dY4b0RfS7b920XmvLWSwpFiJqRtKG5OfnCwDJz8+vs66kpEQyMjKkpKSkBSK7deHh4RIdHS3p6emSmpoqDz74oPj5+UlRUZFSJjIyUnx9fSUuLk6Sk5Nl6NChMmzYMGV9ZWWl9O3bV8LCwiQlJUViY2PF3d1dFi9eXKe969evS5cuXWTMmDHSv3//m8a3evVqcXFxka1bt8qxY8dk/PjxEhgYaLSfly1bJm+88YbMmzdPXFxczOp3fn6+eHp6yvTp0yU9PV02b94sOp1O3nvvPaVMdHS0ODs7S05OjvLKzc1V+lxz+fz586VPnz5Gy4qLi81qxyA7O1t8fHxk5MiRMmHChAbjv3btmmzcuFGOHDki586dk++++06CgoJk6tSpSpmzZ8+Kg4ODzJs3TzIyMuTtt98WW1tb2blzZ4N1R0RESP/+/eXQoUOyf/9+6datm1G9jemTgTnvEXPijYmJEY1GIx999JGcOHFCnnjiCXF1dZVLly4pZZri/WpJsdTW0Lmm99Id4r9ou5y/cqPe7YksxSfPPi1rH35I3nzk0Wapv6FrNt1ZzJ+YPzF/+n3fTfzjFPnqu+/lnfc3MX+ykPyJyNqsf+QxWfvwQ/LR7Mgmr9vc/IkDQb+pfXLR6/VSdeNGi7z0ev0t9/Hy5csCQPbu3SsiInl5eWJnZydffPGFUiYzM1MASGJiooiIxMbGio2NjXKRFxF59913xdnZWcrKyozqnzJliixZskSWL19+00RGr9eLl5eXrFmzRlmWl5cnWq1WNm/eXKd8dHS02YnMxo0bxc3NzSi+RYsWSVBQ0C3VV19/zGlHpPqCNmzYMPnggw9k5syZN01kTFm/fr107txZ+fcLL7wgffr0MSozZcoUCQ8Pr7eOjIwMASBHjhxRlu3YsUNUKpX8/PPPjepTTea8R8yJd8iQITJ37lzl31VVVdKpUydZtWqViDTd+9WSYqmtoUSm21+/Ff9F2+WXvGKT2xJZEg4EtR3Mn6oxf6qrLeZPR89clmM/XZfisgrmT80YS20cCKLWxBIGgvjTsHpISQmyBgW3yEtKSm457vz8fABA+/btAQBHjx5FRUUFwsLClDI9e/aEn58fEhMTAQCJiYno168fPD09lTLh4eEoKCjAiRMnlGXR0dE4e/Ysli9fblYs2dnZyM3NNWrbxcUFISEhStu3KjExEffccw80mt8f0BceHo6srCxcv35dWVZUVAR/f3/4+vpiwoQJRv1pynZWrlwJDw8PzJo1y2Q9L730EgICAupt55dffsHXX3+NUaNGGbVdc98Z2q657wy3b9fcxtXVFYMHD1aWhYWFwcbGBklJSY3qU+39cLP3yM3iLS8vx9GjR43K2NjYICwsTCnTVO9XS4rFXCLy+6xhfEYQEVkp5k/MnxrTjrXlT0NCh0OtsYOjVg2dRs38qRljIaLmxU8brYher8dzzz2H4cOHo2/fvgCA3NxcaDSaOr8d9/T0RG5urlKm5onYsN6wDgBOnTqFF198EZ9++inUarVZ8Ri2NVW3Yd2tMifmoKAgfPTRR9i2bRs+/fRT6PV6DBs2DBcvXmzSdg4cOIAPP/wQ77//fr31uLu7o2vXrnWWT506FQ4ODvDx8YGzszM++OCDm7ZdUFCAkt+SXRcXFwQFBRlt4+HhYbSNWq1G+/btG3W8azNnm5vFe+XKFVRVVTX4fmiq96slxWIuw4OiAUDD6eOJiO4Y5k/Mn8zJn3JycuHs5l4dl6PWZJ9uZT9YUs5iSbEQUfMy74rUBql0OgT9cLTF2r4Vc+fORXp6Og4cONCk8VRVVWHatGlYsWIFevToYbLMZ599htmzZyv/3rFjB2xtbZuk/T59+uD8+fMAgJEjR2LHjh1mbRcaGorQ0FDl38OGDUOvXr3w3nvv4eWXX26S2AoLCzFjxgy8//77cHd3r7dcVFQUoqKi6ixft24dli9fjh9//BGLFy/GvHnzsHHjRrPbnzRpEiZNmnRLsZNlMdwNBHD6eCKyXsyffsf8qX7WmD9V6vXQQ6BV28LJnh+hiMi68SxWD5VKBZWDQ0uHYbaoqChs374d+/btQ+fOnZXlXl5eKC8vR15entHI/KVLl+Dl5aWUqf20f8OT/b28vFBYWIjk5GSkpKQoF2O9Xg8RgVqtxq5duzB+/HiEhIQo2/v4+CAnJ0epy9vb26huc2bMMIiNjUVFRQUAQPdbkufl5VVn9oGaMZtiZ2eHgQMH4vTp02a3fbN2zpw5g3PnzmHcuHHKer2++s4OtVqNrKwsk99k1azfy8sLPXv2RPv27TFy5EgsXboU3t7e9bbt7Oys7AdT9V2+fNloWWVlJa5du2Z0vBu77272HmmoXkO8tra2sLW1NVmmZh23+361tFjMVVH5+x1B/GkYEVkr5k/Mn8xpx9ryJxGBc/uOuPbrr3B31Cg/K2P+1HyxEFHz4qcNKyciiIqKwpYtW7Bnzx4EBgYarQ8ODoadnR3i4uKUZVlZWbhw4YLybU9oaCjS0tKMLoC7d++Gs7MzevfuDWdnZ6SlpSE1NVV5RUZGIigoCKmpqQgJCYGTkxO6deumvHQ6HQIDA+Hl5WXUdkFBAZKSkoy+aboZf39/pV4fHx8l5n379ikJjiHmoKAguLm5maynqqoKaWlpRknVzdysnZ49e9bZN+PHj8fo0aORmpoKX19fs9syJEBlZWVK2zX3naHthvZdaGgo8vLycPTo79/G7tmzB3q9Xkk0b2Xf3ew9Yk68Go0GwcHBRmX0ej3i4uKUMk3xfrW0WMxl+GmYjQqwteH08UREzYn5E/On2vE2lD8VlFai38DBOHr4e7Sz+/0azfyp5fMnIrpFTf6YagvWGqc/nTNnjri4uEhCQkKdqTsNIiMjxc/PT/bs2SPJyckSGhoqoaGhynrDFI5jxoyR1NRU2blzp3Ts2LHBKRzNmfVCpHr6U1dXV9m2bZscP35cJkyYUGf60/Pnz0tKSoqsWLFCHB0dJSUlRVJSUqSwsLDeevPy8sTT01NmzJgh6enpEhMTIw4ODkZTeK5YsUL+97//yZkzZ+To0aPyyCOPiL29vZw4ccLs/pjTTm2mZr14++235b777lP+/e2338pHH30kaWlpkp2dLdu3b5devXrJ8OHDlTKGKTwXLlwomZmZsmHDhjpTeH799dd1ZquIiIiQgQMHSlJSkhw4cEC6d+9uNP2pOX2qXa857xFz4o2JiRGtViubNm2SjIwMefLJJ8XV1dVo1oimeL9aUiy11XeuuXD1hvgv2i5BS2Lr3ZbIknDWsLaD+RPzp7aeP52+VCgHTpyTjh4ezJ8sLH8iskaWMGsYB4J+Y60nFwAmX9HR0UqZkpISeeqpp8TNzU0cHBxk0qRJkpOTY1TPuXPnZOzYsaLT6cTd3V3mz58vFRUV9bZrbiKj1+tl6dKl4unpKVqtVu6//37JysoyKjNz5kyTfYiPj2+w7mPHjsmIESNEq9WKj4+PrF692mj9c889J35+fqLRaMTT01MefPBB+eGHHxrdn5u1U5upRGb58uXi7++v/HvPnj0SGhoqLi4uYm9vL927d5dFixbJ9evXjbaLj4+XAQMGiEajkS5duhgdV5HqKV5rj+devXpVpk6dKo6OjuLs7CyPP/54naTwZn0yVa8575GbxStSndQZjsuQIUPk0KFDRuub6v1qSbHUrtPUuebM5ULxX7Rd+i3fWc+WRJaFA0FtB/Mn5k9tOX+6UVYhx366Lscv5knyDynMn+5gLLXrtMZzDZEpljAQpBKR359Q2soVFBTAxcUF+fn5cHZ2NlpXWlqK7OxsBAYGwt7evoUiJKLWrr5zzcncAkS8uR/ujhokL3mgBSMkMs+/n3sGl3POQm3TAc9u/rjJ62/omk13FvMnassuXC1GXkk53Bw08G1vPc+/am14rqHW5K2pj6NC/yvau/ni8X++26R1m5s/8RlBREQWoKKyekyeD4omIiKyDOWVeuSXVD/nyN1R08LREBE1HX7iICKyAIaHRWvUPC0TERFZgqs3yiAQOGrV0Gk42TIRtR78xEFEZAHKf5s+nncEERERtbwqveDajXIAgLujtoWjISJqWvzEQURkASqqOBBERERkKa4Xl6NKL9CqbeFkz7uBiKh14ScOIiILUMGfhhEREVkEEcGVojIA1c8GUqlULRwREVHT4icOIiILYPhpmMaWySYREVFLKiitRHmlHrY2Krg58CHRRNT6cCCIiMgClPOnYURERBbhSmH13UAd2mlhY8MvaIio9eEnDiIiC6DcEcSfhhEREbWY4vJK3CivhEqlQgdOGU9ErRQ/cRARWYCKKgHAO4KIiIha0pXC6pnCXHV2vCYTUavFsxsRkQXgw6KJiIhaVnmlHvklFQCqHxJNRNRa8ROHlVu1ahXuvvtuODk5wcPDAxMnTkRWVpZRmdLSUsydOxcdOnSAo6MjJk+ejEuXLhmVuXDhAh566CE4ODjAw8MDCxcuRGVlpck2Dx48CLVajQEDBtw0PhHBsmXL4O3tDZ1Oh7CwMJw6dcqozKuvvophw4bBwcEBrq6uZvf9+PHjGDlyJOzt7eHr64vXX3/daP29994LlUpV5/XQQw/h3LlzJtfVfG3atMmsdgAgLy8Pc+fOhbe3N7RaLXr06IHY2NgG4x8/fjz8/Pxgb28Pb29vzJgxA7/88kuj+mhKUx9vg2vXrmH69OlwdnaGq6srZs2ahaKiokbH+8UXX6Bnz56wt7dHv3796uwnc94z1haLOQw/DbPjswiIiJod8yfmT7WVlpbiyTlzMLJfIEKDOuPPU6cwf7KC/ImIbpG0Ifn5+QJA8vPz66wrKSmRjIwMKSkpaYHIbl14eLhER0dLenq6pKamyoMPPih+fn5SVFSklImMjBRfX1+Ji4uT5ORkGTp0qAwbNkxZX1lZKX379pWwsDBJSUmR2NhYcXd3l8WLF9dp7/r169KlSxcZM2aM9O/f/6bxrV69WlxcXGTr1q1y7NgxGT9+vAQGBhrt52XLlskbb7wh8+bNExcXF7P6nZ+fL56enjJ9+nRJT0+XzZs3i06nk/fee08pc/XqVcnJyVFe6enpYmtrK9HR0VJZWWm0bv78+dKnTx+jZcXFxWa1U1ZWJoMHD5YHH3xQDhw4INnZ2ZKQkCCpqakN9uGNN96QxMREOXfunBw8eFBCQ0MlNDS0UX00pSmPd00RERHSv39/OXTokOzfv1+6desmU6dObVS8Bw8eFFtbW3n99dclIyNDlixZInZ2dpKWlqaUMec9Y02x1FbfueadPafEf9F2WfhFw+8bIkvxybNPy9qHH5I3H3m0Wepv6JpNdxbzJ+ZPbSF/mj17tnh16iz/itkmCQcOMX+ykvyJyBqtf+QxWfvwQ/LR7Mgmr9vc/IkDQb+pfXLR6/VSXlrZIi+9Xn/Lfbx8+bIAkL1794qISF5entjZ2ckXX3yhlMnMzBQAkpiYKCIisbGxYmNjI7m5uUqZd999V5ydnaWsrMyo/ilTpsiSJUtk+fLlN01k9Hq9eHl5yZo1a5RleXl5otVqZfPmzXXKR0dHm53IbNy4Udzc3IziW7RokQQFBdW7zbp168TJyckoyTOorz/mtPPuu+9Kly5dpLy83KzY67Nt2zZRqVRKPbfSx6Y+3gYZGRkCQI4cOaIs27Fjh6hUKvn555/Njvfhhx+Whx56yKjukJAQmT17toiY956xtlhqqy+RWbc7S/wXbZe/bTlucjsiS8OBoLaD+VM15k+tP39a+89NcjKnQPR6PfOnFo6lNg4EUWtiCQNB6jt7/5H1qCzX41/P7m2Rtp9cPwp2Wttb2jY/Px8A0L59ewDA0aNHUVFRgbCwMKVMz5494efnh8TERAwdOhSJiYno168fPD09lTLh4eGYM2cOTpw4gYEDBwIAoqOjcfbsWXz66ad45ZVXbhpLdnY2cnNzjdp2cXFBSEgIEhMT8cgjj9xSHwEgMTER99xzDzSa33+/HR4ejr///e+4fv063Nzc6mzz4Ycf4pFHHkG7du2atJ1vvvkGoaGhmDt3LrZt24aOHTti2rRpWLRoEWxtq4/jpk2b8Pjjj0NETLZz7do1fPbZZxg2bBjs7OzMbjshIQGjR49GdnY2AgICmvR4194Prq6uGDx4sLIsLCwMNjY2SEpKwqRJk8yKNzExEfPmzTOqOzw8HFu3bgVg3nvG2mIxl/LTMD6YkoisGPMn5k/mtmNJ+VNycjIqKioQMuJeuDtqoFKpmD+1cCxE1Lz4iaMV0ev1eO655zB8+HD07dsXAJCbmwuNRlPnt+Oenp7Izc1VytS8qBnWG9YBwKlTp/Diiy/i008/hVpt3vihYVtTdRvW3SpzYq7p8OHDSE9Px1/+8pcmb+fs2bP48ssvUVVVhdjYWCxduhT/+Mc/jJI9FxcXBAUF1al/0aJFaNeuHTp06IALFy5g27ZtjWrbwcEBQUFBSvLTVMfb1H7w8PAwWqZWq9G+fftG1VtfmZrra25XXxlrisVcysOiORBERHRHMX9i/pT908+w02jg5uYKNweN0XbMnyw7fyKiW8M7guqh1tjgyfWjWqztWzF37lykp6fjwIEDTRpPVVUVpk2bhhUrVqBHjx4my3z22WeYPXu28u8dO3Yo3+bcrj59+uD8+fMAgJEjR2LHjh2NruPDDz9Ev379MGTIkCaJqSa9Xg8PDw/861//gq2tLYKDg/Hzzz9jzZo1WL58OQBg0qRJJr/dWLhwIWbNmoXz589jxYoVePTRR7F9+3aoVOY9MHjIkCE4efJkk/aHWoZh+njOGkZE1oz50++YPzXMkvKnwpLqBz53aKeFDSdtIKI2gANB9VCpVLd8e3FLiIqKwvbt27Fv3z507txZWe7l5YXy8nLk5eUZfat16dIleHl5KWUOHz5sVJ9hlgQvLy8UFhYiOTkZKSkpiIqKAlB98RYRqNVq7Nq1C+PHj0dISIiyvY+PD3JycpS6vL29jeo2Z8YMg9jYWFRUVE/lqdPplLhqz+RQM+aabty4gZiYGKxcudLsNg3Macfb2xt2dnZGiVuvXr2Qm5uL8vJyo9tra3N3d4e7uzt69OiBXr16wdfXF4cOHUJoaGij+lgz3ts93vXVe/nyZaNllZWVuHbtmlG9N4u3vjI11xuW1feesbZYzFXGn4YRUSvA/In5k7ntWEr+VFxeCcf27qgoL4dtZTEAe6PtmD9Zdv5ERLeGnzisnIggKioKW7ZswZ49exAYGGi0Pjg4GHZ2doiLi1OWZWVl4cKFCwgNDQUAhIaGIi0tzeiEvHv3bjg7O6N3795wdnZGWloaUlNTlVdkZCSCgoKQmpqKkJAQODk5oVu3bspLp9MhMDAQXl5eRm0XFBQgKSlJadsc/v7+Sr0+Pj5KzPv27VMSHEPMQUFBdX7f/sUXX6CsrAx//vOfzW7TwJx2hg8fjtOnT0Ov1ytlfvzxR3h7ezeYxNRm2L6srKzRfTRoiuNd337Iy8vD0aNHlWV79uyBXq9XElhz4g0NDTWKzVDGEJs57xlri8Vchp+GcSCIiKj5MX9i/mRwpbAcvfv1h52dHfYlxCvLmT+1bCxE1Mya/DHVFqw1Tn86Z84ccXFxkYSEhDpTdxpERkaKn5+f7NmzR5KTk+tMs2mYDnPMmDGSmpoqO3fulI4dOzY4HaY5s16IVE8f6erqKtu2bZPjx4/LhAkT6kwfef78eUlJSZEVK1aIo6OjpKSkSEpKihQWFtZbb15ennh6esqMGTMkPT1dYmJixMHBweTUoCNGjJApU6Y0GGd9/TGnnQsXLoiTk5NERUVJVlaWbN++XTw8POSVV15Rynz99ddGMy4cOnRI3n77bUlJSZFz585JXFycDBs2TLp27SqlpaVmt52UlCRBQUFy8eJFZVlTHG9T9UZERMjAgQMlKSlJDhw4IN27dzea5tOceA8ePChqtVrWrl0rmZmZsnz5cpNTjt7sPWNNsdRW37nmmc0/iP+i7fLB/rP1bktkSThrWNvB/In5U2P7Yy3509lzF+T4T3ly7Kfr8pcnZjN/sqBYarPWcw2RKZYwaxgHgn5jrScXACZf0dHRSpmSkhJ56qmnxM3NTRwcHGTSpEmSk5NjVM+5c+dk7NixotPpxN3dXebPny8VFRX1tmtuIqPX62Xp0qXi6ekpWq1W7r//fsnKyjIqM3PmTJN9iI+Pb7DuY8eOyYgRI0Sr1YqPj4+sXr26TpmTJ08KANm1a1eDdTXUH3Pa+f777yUkJES0Wq106dJFXn31VamsrFTWR0dHS81x1+PHj8vo0aOlffv2otVqJSAgQCIjI40SB3Pajo+PFwCSnZ2tLGuK422q3qtXr8rUqVPF0dFRnJ2d5fHHH6+TbJqzr/7zn/9Ijx49RKPRSJ8+feTbb781Wm/Oe8baYqmpvnNN5L+TxX/Rdvnk++x6tyWyJBwIajuYPzF/upX+WEP+lHQsU479dF3OXC5k/mSBsdRkrecaIlMsYSBIJVLPfIytUEFBAVxcXJCfnw9nZ2ejdaWlpcjOzkZgYCDs7e3rqYGI6PbUd675y8dH8F3mZfx9cj9MuduvBSMkMs+/n3sGl3POQm3TAc9u/rjJ62/omk13FvMnao2q9IKTOQWoEkFAh3Zw1tm1dEjUAJ5rqDV5a+rjqND/ivZuvnj8n+82ad3m5k98GAURkQXgw6KJiIjunOs3ylElAq3aFk72nD+HiNoWfuIgIrIAfFg0ERHRnSEiuHKj+uHS7o4as6edJyJqLfiJg4jIAlRUVf9KV6PmaZmIiKg5FZRWoLxSD7WNCm4O5s9QRkTUWvATBxGRBShXfhrGbyWJiIia05XCcgBA+3Za2NjwuktEbQ8HgoiILIDhp2EaW9sWjoSIiKj1Ki6rxI3ySqhUKnRw5N1ARNQ2cSCIiMgClBsGgvjTMCIiomZzpaj62UCuOjs+l4+I2iye/YiILAB/GkZERNS8yiurkF9SCQBwd9S2cDRERC2HA0FERBaAs4YRERE1r6tF5RAIHLVq6DT8KTYRtV38xEFEZAEMs4Zp+dMwIiKiJlel1+PajeqHRPNuICJq6/iJg4jIAlRU8o4gIiKi5nLtRgWqRKBV28LJXt3S4RARtSh+4rByq1atwt133w0nJyd4eHhg4sSJyMrKMipTWlqKuXPnokOHDnB0dMTkyZNx6dIlozIXLlzAQw89BAcHB3h4eGDhwoWorKw02ebBgwehVqsxYMCAm8YnIli2bBm8vb2h0+kQFhaGU6dOGZV59dVXMWzYMDg4OMDV1dXsvh8/fhwjR46Evb09fH198frrrxutr6iowMqVK9G1a1fY29ujf//+2Llzp7JepVI1+HrppZfM3jefffYZ+vfvDwcHB3h7e+P//u//cPXq1Qbjnz17Nrp27QqdToeOHTtiwoQJOHnypFGZxhwXA3P2+bVr1zB9+nQ4OzvD1dUVs2bNQlFRUYP1NtX7KCEhAYMGDYJWq0W3bt2wadOmOm1t2LABAQEBsLe3R0hICA4fPmzVsZijzPDTMN4RRETU7Jg/ta38acGCBbiUdwMA4O6ogUpV93l8zJ8sLxYiakbShuTn5wsAyc/Pr7OupKREMjIypKSkpAUiu3Xh4eESHR0t6enpkpqaKg8++KD4+flJUVGRUiYyMlJ8fX0lLi5OkpOTZejQoTJs2DBlfWVlpfTt21fCwsIkJSVFYmNjxd3dXRYvXlynvevXr0uXLl1kzJgx0r9//5vGt3r1anFxcZGtW7fKsWPHZPz48RIYGGi0n5ctWyZvvPGGzJs3T1xcXMzqd35+vnh6esr06dMlPT1dNm/eLDqdTt577z2lzAsvvCCdOnWSb7/9Vs6cOSMbN24Ue3t7+eGHH0REJCcnR3m9+eab4uzsbLSssLDQrH1z4MABsbGxkfXr18vZs2dl//790qdPH5k0aVKDfXjvvfdk7969kp2dLUePHpVx48aJr6+vVFZWikjjjktj93lERIT0799fDh06JPv375du3brJ1KlTG6y3Kd5HZ8+eFQcHB5k3b55kZGTI22+/Lba2trJz506lTExMjGg0Gvnoo4/kxIkT8sQTT4irq6tcunTJKmOpzdS5Rq/XS8CL28V/0Xa5VGBd5yBquz559mlZ+/BD8uYjjzZL/Q1ds+nOYv7E/Mna86cO7u4ya+7zcuLnPKmq0t/yPmf+ZFn5E5G1Wv/IY7L24Yfko9mRTV63ufkTB4J+U/vkotfrpbykpEVeer3pC5Q5Ll++LABk7969IiKSl5cndnZ28sUXXyhlMjMzBYAkJiaKiEhsbKzY2NhIbm6uUubdd98VZ2dnKSsrM6p/ypQpsmTJElm+fPlNExm9Xi9eXl6yZs0aZVleXp5otVrZvHlznfLR0dFmJzIbN24UNzc3o/gWLVokQUFByr+9vb3lnXfeMdruD3/4g0yfPt3sts3ZN2vWrJEuXboYbffWW2+Jj4+PWX0xOHbsmACQ06dPm912bebs84yMDAEgR44cUcrs2LFDVCqV/Pzzzybrbar30QsvvCB9+vQxqnvKlCkSHh6u/HvIkCEyd+5c5d9VVVXSqVMnWbVqlVXGUpupRKaiskr8F1UPBOXdKDe5HZGl4UBQ28H8qRrzJ+vNn1a8/qY4OjnJ+cumzyfMnywvlto4EEStiSUMBFnND2QDAgJw/vx5o2WrVq3Ciy++2CztVZaV4a2Zf2yWum/mmY+/hJ29/S1tm5+fDwBo3749AODo0aOoqKhAWFiYUqZnz57w8/NDYmIihg4disTERPTr1w+enp5KmfDwcMyZMwcnTpzAwIEDAQDR0dE4e/YsPv30U7zyyis3jSU7Oxu5ublGbbu4uCAkJASJiYl45JFHbqmPAJCYmIh77rkHGo3GKOa///3vuH79Otzc3FBWVgb7WvtRp9PhwIEDjWrnZvsmNDQUf/3rXxEbG4uxY8fi8uXL+PLLL/Hggw8q2yQkJGD06NHIzs5GQEBAnXZu3LiB6OhoBAYGwtfX1+y2z507h8DAQMTHx+Pee+81a58nJibC1dUVgwcPVsqEhYXBxsYGSUlJmDRpUp34mup9lJiYaFSHocxzzz0HACgvL8fRo0exePFiZb2NjQ3CwsKQmJholbGYo/y3n4UBgJ2a08cTkfVi/sT8ydCOpeRPN8oqMXj4vSgqLETu+VPw6xjM/MkKYiGi5mVVD6NYuXIlcnJylNfTTz/d0iFZFL1ej+eeew7Dhw9H3759AQC5ubnQaDR1fjvu6emJ3NxcpUzNE75hvWEdAJw6dQovvvgiPv30U6jV5o0fGrY1Vbdh3a0yJ+bw8HC88cYbOHXqFPR6PXbv3o2vv/4aOTk5TdrO8OHD8dlnn2HKlCnQaDTw8vKCi4sLNmzYoGzj4OCAoKAg2NnZGdW1ceNGODo6wtHRETt27MDu3buV5Myctu3s7BAUFAQHBwej5Q3t89zcXHh4eBitV6vVaN++fb3HpaneR/WVKSgoQElJCa5cuYKqqqqbxm9NsZijolKU/+fDoomI7izmT607f7pSVIYOHTsCAK7+ehkA8ydriIWImpfV3BEEAE5OTvDy8rojbam1Wjzz8Zd3pC1Tbd+KuXPnIj09vVHf2JijqqoK06ZNw4oVK9CjRw+TZT777DPMnj1b+feOHTtga2vbJO336dNHuRts5MiR2LFjh1nbrV+/Hk888QR69uwJlUqFrl274vHHH8dHH33UJHEZZGRk4Nlnn8WyZcsQHh6OnJwcLFy4EJGRkfjwww8BAEOGDKnzIEMAmD59Oh544AHk5ORg7dq1ePjhh3Hw4ME638TVx8fHx2S9ZF0MdwSpVIDahncEEZH1Yv70O+ZPDbsT+VN5ZRUKSirqbM/8iYjaOqsaCFq9ejVefvll+Pn5Ydq0aXj++ecb/HalrKwMZWVlyr8LCgrMbkulUt3y7cUtISoqCtu3b8e+ffvQuXNnZbmXlxfKy8uRl5dnNOp+6dIlZVDNy8urzpP8DU/t9/LyQmFhIZKTk5GSkoKoqCgA1d+eiQjUajV27dqF8ePHIyQkRNnex8dH+ebo0qVL8Pb2NqrbnBkzDGJjY1FRUX0R1+l0Sly1ZxaoGTMAdOzYEVu3bkVpaSmuXr2KTp064cUXX0SXLl3Mbvtm+wao/oni8OHDsXDhQgDAXXfdhXbt2mHkyJF45ZVXjPpem4uLC1xcXNC9e3cMHToUbm5u2LJlC6ZOnWpW26biNZSrb597eXnh8uXLRttVVlbi2rVrDdZ7u+8jw39NHTdnZ2fodDrY2trC1tbWZJmadVhTLOYwDATZ2dqYnMmEiOhOYv7E/Km15E9XisohAErzrxm1bSpeQ4zMnywjFiJqXlbzG4RnnnkGMTExiI+Px+zZs/Haa6/hhRdeaHCbVatWKRcKFxcX5bfDrYmIICoqClu2bMGePXsQGBhotD44OBh2dnaIi4tTlmVlZeHChQsIDQ0FAISGhiItLc3o4rZ79244Ozujd+/ecHZ2RlpaGlJTU5VXZGQkgoKCkJqaipCQEDg5OaFbt27KS6fTITAwEF5eXkZtFxQUICkpSWnbHP7+/kq9Pj4+Ssz79u1TEhxDzEFBQXBzczPa3t7eHj4+PqisrMRXX32FCRMmmN32zfYNABQXF8PGxvhPyfBtnojAXFL98HYl+Tan7drM2eehoaHIy8vD0aNHlTJ79uyBXq83SkZraor3kaFMzToMZQx1aDQaBAcHG5XR6/WIi4tTylhbLOaoqKweCNLwZ2FEZAGYPzF/Aqw/f7p06RLyf7sbKDVpP/MnK4uFiJpZkz+muhEWLVokABp8ZWZmmtz2ww8/FLVaLaWlpfXWX1paKvn5+crrp59+anXTn86ZM0dcXFwkISHBaOrO4uJipUxkZKT4+fnJnj17JDk5WUJDQyU0NFRZb5gqcsyYMZKamio7d+6Ujh07NjhNuTmzXohUT8Xp6uoq27Ztk+PHj8uECRPqTMV5/vx5SUlJkRUrVoijo6OkpKRISkqKFBYW1ltvXl6eeHp6yowZMyQ9PV1iYmLEwcHBaPrTQ4cOyVdffSVnzpyRffv2yX333SeBgYFy/fr1OvXVN+uFOfsmOjpa1Gq1bNy4Uc6cOSMHDhyQwYMHy5AhQ5QySUlJEhQUJBcvXhQRkTNnzshrr70mycnJcv78eTl48KCMGzdO2rdvr0ytaU7bFy9elKCgIElKSmrUPo+IiJCBAwdKUlKSHDhwQLp37240/ampepvifWSYcnThwoWSmZkpGzZsMDnlqFarlU2bNklGRoY8+eST4urqajSDhTXFUpupc01xWaUcPP2rHDz1a73bEVmarISd8vVLi+W7d9Y2S/2cNazlMH+qxvzJ+vOn5KM/yH+2/Jf5kxXGUpu1nmuITNnz3jr5+qXFkrZzS5PXbRXTx1++fFkyMzMbfNU3TXZ6eroAkJMnT5rdXmOmP7UW9Q2gRUdHK2VKSkrkqaeeEjc3N3FwcJBJkyZJTk6OUT3nzp2TsWPHik6nE3d3d5k/f75UVFTU2665iYxer5elS5eKp6enaLVauf/++yUrK8uozMyZM032IT4+vsG6jx07JiNGjBCtVis+Pj6yevVqo/UJCQnSq1cv0Wq10qFDB5kxY0a903s2NPWqOfvmrbfekt69e4tOpxNvb2+ZPn26krSIiMTHxwsAyc7OFhGRn3/+WcaOHSseHh5iZ2cnnTt3lmnTptV5P9+s7ezs7Dr7ypx9fvXqVZk6dao4OjqKs7OzPP7440aJo6l6m+p9FB8fLwMGDBCNRiNdunQxeq8avP322+Ln5ycajUaGDBkihw4dMlpvbbHULm+N5xqiO40DQZaD+RPzJ+ZP1Zg/3dlYape3xnMN0Z1mbv6kEmnEvZcW5LPPPsOjjz6KK1eu1LmVtT4FBQVwcXFBfn4+nJ2djdaVlpYiOzsbgYGBZj+ol4iosXiuITJPQ9dsurOYPxFRS+O5hsg85uZPVvGw6MTERCQlJWH06NFwcnJCYmIinn/+efz5z382exCIiIiIiIiIiKits4qBIK1Wi5iYGLz00ksoKytDYGAgnn/+ecybN6+lQyMiIiIiIiIishpWMRA0aNAgHDp0qKXDICIiIiIiIiKyapyrmIiIiIiIiIiojeBAUC1W+uxsIrISPMcQUWvEcxsRNSeeY4iaFgeCfmNrawsAKC8vb+FIiKg1Ky4uBgDY2dm1cCRERLeP+RMR3QnMn4iallU8I+hOUKvVcHBwwK+//go7OzvY2HCMjIiajoiguLgYly9fhqurq/LhiYjImjF/IqLmxPyJqHlwIOg3KpUK3t7eyM7Oxvnz51s6HCJqpVxdXeHl5dXSYRARNQnmT0R0JzB/ImpaHAiqQaPRoHv37ry9mYiahZ2dHb/JIqJWh/kTETUn5k9ETY8DQbXY2NjA3t6+pcMgIiIishrMn4iIiKwHf8hNRERERERERNRGcCCIiIiIiIiIiKiN4EAQEREREREREVEb0aaeESQiAICCgoIWjoSIiIgaYrhWG67d1HKYPxEREVkHc/OnNjUQVFhYCADw9fVt4UiIiIjIHIWFhXBxcWnpMNo05k9ERETW5Wb5k0ra0Fdter0ev/zyC5ycnKBSqZqs3oKCAvj6+uKnn36Cs7Nzk9VradpCP9tCH4G20c+20EegbfSzLfQRaBv9bEwfRQSFhYXo1KkTbGz4S/aWVDN/KiwsbPXvU2vUFs4f1obHxDLxuFgeHpOmZW7+1KbuCLKxsUHnzp2brX5nZ+c28eZtC/1sC30E2kY/20IfgbbRz7bQR6Bt9NPcPvJOIMtQM38yfJHWFt6n1ojHxfLwmFgmHhfLw2PSdMzJn/gVGxERERERERFRG8GBICIiIiIiIiKiNoIDQU1Aq9Vi+fLl0Gq1LR1Ks2oL/WwLfQTaRj/bQh+BttHPttBHoG30sy30sbXjMbRMPC6Wh8fEMvG4WB4ek5bRph4WTURERERERETUlvGOICIiIiIiIiKiNoIDQUREREREREREbQQHgoiIiIiIiIiI2ggOBBERERERERERtREcCKrHhg0bEBAQAHt7e4SEhODw4cMNlv/iiy/Qs2dP2Nvbo1+/foiNjTVaLyJYtmwZvL29odPpEBYWhlOnTjVnF26qqfv42GOPQaVSGb0iIiKaswtmaUw/T5w4gcmTJyMgIAAqlQpvvvnmbdd5JzR1H1966aU6x7Jnz57N2APzNKaf77//PkaOHAk3Nze4ubkhLCysTnlr/7s0p4+t4e/y66+/xuDBg+Hq6op27dphwIAB+Pe//21UxtqPpTl9bA3HsqaYmBioVCpMnDjRaLklHkv6naVd/9oyS71WtzX79u3DuHHj0KlTJ6hUKmzdutVoPc9pLeNmx8VSr6mt2apVq3D33XfDyckJHh4emDhxIrKysozKlJaWYu7cuejQoQMcHR0xefJkXLp0qYUibuWE6oiJiRGNRiMfffSRnDhxQp544glxdXWVS5cumSx/8OBBsbW1lddff10yMjJkyZIlYmdnJ2lpaUqZ1atXi4uLi2zdulWOHTsm48ePl8DAQCkpKblT3TLSHH2cOXOmRERESE5OjvK6du3aneqSSY3t5+HDh2XBggWyefNm8fLyknXr1t12nc2tOfq4fPly6dOnj9Gx/PXXX5u5Jw1rbD+nTZsmGzZskJSUFMnMzJTHHntMXFxc5OLFi0oZa/+7NKePreHvMj4+Xr7++mvJyMiQ06dPy5tvvim2trayc+dOpYy1H0tz+tgajqVBdna2+Pj4yMiRI2XChAlG6yztWNLvLO3619ZZ4rW6LYqNjZW//e1v8vXXXwsA2bJli9F6ntNaxs2OiyVeU1u78PBwiY6OlvT0dElNTZUHH3xQ/Pz8pKioSCkTGRkpvr6+EhcXJ8nJyTJ06FAZNmxYC0bdenEgyIQhQ4bI3LlzlX9XVVVJp06dZNWqVSbLP/zww/LQQw8ZLQsJCZHZs2eLiIherxcvLy9Zs2aNsj4vL0+0Wq1s3ry5GXpwc03dR5HqE2rthL6lNbafNfn7+5scJLmdOptDc/Rx+fLl0r9//yaM8vbd7n6vrKwUJycn+fjjj0Wkdfxd1la7jyKt7+/SYODAgbJkyRIRaZ3HUsS4jyKt51hWVlbKsGHD5IMPPqjTJ0s8lvQ7S7v+tXWWeK1u62oPOPCcZhnqGwiytGtqW3P58mUBIHv37hWR6r8NOzs7+eKLL5QymZmZAkASExNbKsxWiz8Nq6W8vBxHjx5FWFiYsszGxgZhYWFITEw0uU1iYqJReQAIDw9XymdnZyM3N9eojIuLC0JCQuqtszk1Rx8NEhIS4OHhgaCgIMyZMwdXr15t+g6Y6Vb62RJ13o7mjOfUqVPo1KkTunTpgunTp+PChQu3G+4ta4p+FhcXo6KiAu3btwfQOv4ua6vdR4PW9HcpIoiLi0NWVhbuueceAK3vWJrqo0FrOJYrV66Eh4cHZs2aVWedpR1L+p2lXf+omiVdq6kuntMsmyVdU9ui/Px8AFDy1qNHj6KiosLo76Vnz57w8/Pj30szULd0AJbmypUrqKqqgqenp9FyT09PnDx50uQ2ubm5Jsvn5uYq6w3L6itzJzVHHwEgIiICf/jDHxAYGIgzZ87gr3/9K8aOHYvExETY2to2fUdu4lb62RJ13o7miickJASbNm1CUFAQcnJysGLFCowcORLp6elwcnK63bAbrSn6uWjRInTq1Em5uLSGv8vaavcRaD1/l/n5+fDx8UFZWRlsbW2xceNGPPDAAwBaz7FsqI9A6ziWBw4cwIcffojU1FST6y3tWNLvLO36R5Z3raa6eE6zXJZ2TW1r9Ho9nnvuOQwfPhx9+/YFUP33otFo4OrqalSWfy/NgwNB1GQeeeQR5f/79euHu+66C127dkVCQgLuv//+FoyMGmvs2LHK/991110ICQmBv78//vOf/5j8Ft/SrV69GjExMUhISIC9vX1Lh9Ms6utja/m7dHJyQmpqKoqKihAXF4d58+ahS5cuuPfee1s6tCZzsz5a+7EsLCzEjBkz8P7778Pd3b2lwyGyeq3tWk10J1n7NdXazZ07F+np6Thw4EBLh9Jm8adhtbi7u8PW1rbO08kvXboELy8vk9t4eXk1WN7w38bU2Zyao4+mdOnSBe7u7jh9+vTtB30LbqWfLVHn7bhT8bi6uqJHjx5WeSzXrl2L1atXY9euXbjrrruU5a3h79Kgvj6aYq1/lzY2NujWrRsGDBiA+fPn449//CNWrVoFoPUcy4b6aIq1HcszZ87g3LlzGDduHNRqNdRqNT755BN88803UKvVOHPmjMUdS/qdpV3/qK6WvlZTXTynWY+Wvqa2JVFRUdi+fTvi4+PRuXNnZbmXlxfKy8uRl5dnVJ5/L82DA0G1aDQaBAcHIy4uTlmm1+sRFxeH0NBQk9uEhoYalQeA3bt3K+UDAwPh5eVlVKagoABJSUn11tmcmqOPply8eBFXr16Ft7d30wTeSLfSz5ao83bcqXiKiopw5swZqzuWr7/+Ol5++WXs3LkTgwcPNlrXGv4ugYb7aEpr+bvU6/UoKysD0HqOZW01+2iKtR3Lnj17Ii0tDampqcpr/PjxGD16NFJTU+Hr62txx5J+Z2nXP6qrpa/VVBfPadajpa+pbYGIICoqClu2bMGePXsQGBhotD44OBh2dnZGfy9ZWVm4cOEC/16aQws/rNoixcTEiFarlU2bNklGRoY8+eST4urqKrm5uSIiMmPGDHnxxReV8gcPHhS1Wi1r166VzMxMWb58ucnp411dXWXbtm1y/PhxmTBhQotPbdyUfSwsLJQFCxZIYmKiZGdny3fffSeDBg2S7t27S2lpaYv0UaTx/SwrK5OUlBRJSUkRb29vWbBggaSkpMipU6fMrvNOa44+zp8/XxISEiQ7O1sOHjwoYWFh4u7uLpcvX77j/TNobD9Xr14tGo1GvvzyS6OpQQsLC43KWPPf5c362Fr+Ll977TXZtWuXnDlzRjIyMmTt2rWiVqvl/fffV8pY+7G8WR9by7GszdSsLZZ2LOl3lnb9a+ss8VrdFhUWFip5FQB54403JCUlRc6fPy8iPKe1lIaOi6VeU1u7OXPmiIuLiyQkJBjlrcXFxUqZyMhI8fPzkz179khycrKEhoZKaGhoC0bdenEgqB5vv/22+Pn5iUajkSFDhsihQ4eUdaNGjZKZM2calf/Pf/4jPXr0EI1GI3369JFvv/3WaL1er5elS5eKp6enaLVauf/++yUrK+tOdKVeTdnH4uJiGTNmjHTs2FHs7OzE399fnnjiCYtIDhvTz+zsbAFQ5zVq1Ciz62wJTd3HKVOmiLe3t2g0GvHx8ZEpU6bI6dOn72CPTGtMP/39/U32c/ny5UoZa/+7vFkfW8vf5d/+9jfp1q2b2Nvbi5ubm4SGhkpMTIxRfdZ+LG/Wx9ZyLGszNRBkiceSfmdp17+2zFKv1W1NfHy8yWux4dzHc1rLaOi4WPI1tTUzdTwASHR0tFKmpKREnnrqKXFzcxMHBweZNGmS5OTktFzQrZhKRKQ57zgiIiIiIiIiIiLLwGcEERERERERERG1ERwIIiIiIiIiIiJqIzgQRERERERERETURnAgiIiIiIiIiIiojeBAEBERERERERFRG8GBICIiIiIiIiKiNoIDQUREREREREREbQQHgoiIiIiIiIiI2ggOBBG1Mi+99BIGDBig/Puxxx7DxIkT72gMAQEBePPNN+9om7dr6dKlePLJJ1s6jGZVXl6OgIAAJCcnt3QoREREd5wl5Eh0c1lZWfDy8kJhYWG9ZTZt2gRXV9c7F1QDmF+RNeJAEJEF+fXXXzFnzhz4+flBq9XCy8sL4eHhOHjwoNl1LFiwAHFxcWaXT0hIgEqlgpubG0pLS43WHTlyBCqVCiqVyuz6DNuZO6hiCYNGubm5WL9+Pf72t7/dVj1Xr15FREQEOnXqBK1WC19fX0RFRaGgoKCJIm3Yu+++i7vuugvOzs5wdnZGaGgoduzYoazXaDRYsGABFi1adEfiISIiaip3Okd67LHHlBzI1CsgIOAWe2K5ag+UtZTFixfj6aefhpOTU0uHAqA6T3z66afRpUsXJb8bN26c8l5ifkXWiANBRBZk8uTJSElJwccff4wff/wR33zzDe69915cvXrV7DocHR3RoUOHRrft5OSELVu2GC378MMP4efn1+i6OnbsCAcHh0ZvdzvKy8tvedsPPvgAw4YNg7+//23FYGNjgwkTJuCbb77Bjz/+iE2bNuG7775DZGTkbdVrrs6dO2P16tU4evQokpOTcd9992HChAk4ceKEUmb69Ok4cOCA0TIiIiJLd6dzpPXr1yMnJ0d5AUB0dLTy7yNHjtxSP1rC7eRIt0JEUFlZeUvbXrhwAdu3b8djjz3WtEHdonPnziE4OBh79uzBmjVrkJaWhp07d2L06NGYO3euUo75FVkdISKLcP36dQEgCQkJDZY7f/68jB8/Xtq1aydOTk7ypz/9SXJzc5X1y5cvl/79+yv/njlzpkyYMKHe+uLj4wWALFmyRMLCwpTlxcXF4uLiIkuXLpXap4ovv/xSevfuLRqNRvz9/WXt2rVG6/39/WXdunUiIqLX62X58uXi6+srGo1GvL295emnnxYRkVGjRgkAo5epPoiIrFu3Tvz9/ev065VXXhFvb28JCAgQEZELFy7In/70J3FxcRE3NzcZP368ZGdnN7RLpU+fPvLOO+8YLRs1apRERUXJs88+K66uruLh4SH/+te/pKioSB577DFxdHSUrl27SmxsbIN1r1+/Xjp37lzv+uzsbAEgn3/+uYwYMULs7e1l8ODBkpWVJYcPH5bg4GBp166dREREyOXLlxtsyxQ3Nzf54IMPjJaNHj1alixZ0ui6iIiIWkJL5Ug1AZAtW7Yo/05LS5OIiAhp166deHh4yJ///Gf59ddflfW3kkcYcrLt27dLv379RKvVSkhIiKSlpRnFsn//fiVn6Ny5szz99NNSVFSkrPf395eVK1fKjBkzxMnJSWbOnCkiIi+88IJ0795ddDqdBAYGypIlS6S8vFxERKKjo+vkZNHR0UqekpKSotRvOB7x8fFGccfGxsqgQYPEzs5O4uPjpaqqSl577TUJCAgQe3t7ueuuu+SLL75ocD+vWbNGBg8eXGd5dHS0+Pr6ik6nk4kTJ8ratWvFxcXFqMzWrVtl4MCBotVqJTAwUF566SWpqKhQ1mdmZsrw4cNFq9VKr169ZPfu3XWOa21jx44VHx8fo/1bcz/UxPyKrAnvCCKyEI6OjnB0dMTWrVtRVlZmsoxer8eECRNw7do17N27F7t378bZs2cxZcqU225/xowZ2L9/Py5cuAAA+OqrrxAQEIBBgwYZlTt69CgefvhhPPLII0hLS8NLL72EpUuXYtOmTSbr/eqrr7Bu3Tq89957OHXqFLZu3Yp+/foBAL7++mt07twZK1euNPrGzVxxcXHIysrC7t27sX37dlRUVCA8PBxOTk7Yv38/Dh48CEdHR0RERNT7bdi1a9eQkZGBwYMH11n38ccfw93dHYcPH8bTTz+NOXPm4E9/+hOGDRuGH374AWPGjMGMGTNQXFxssu5ffvkFX3/9NUaNGnXTvixfvhxLlizBDz/8ALVajWnTpuGFF17A+vXrsX//fpw+fRrLli0ze99UVVUhJiYGN27cQGhoqNG6IUOGYP/+/WbXRURE1JJaOkeqLS8vD/fddx8GDhyI5ORk7Ny5E5cuXcLDDz9sVO5W84iFCxfiH//4B44cOYKOHTti3LhxqKioAACcOXMGERERmDx5Mo4fP47PP/8cBw4cQFRUlFEda9euRf/+/ZGSkoKlS5cCqL77e9OmTcjIyMD69evx/vvvY926dQCAKVOmYP78+ejTp4+SkzV237344otYvXo1MjMzcdddd2HVqlX45JNP8M9//hMnTpzA888/jz//+c/Yu3dvvXXs37+/Tk6WlJSEWbNmISoqCqmpqRg9ejReeeWVOts9+uijePbZZ5GRkYH33nsPmzZtwquvvgqgOi+aOHEiHBwckJSUhH/96183fSTAtWvXsHPnTsydOxft2rWrs772M4qYX5FVaemRKCL63Zdffilubm5ib28vw4YNk8WLF8uxY8eU9bt27RJbW1u5cOGCsuzEiRMCQA4fPiwit35H0PXr12XixImyYsUKEan+VmP9+vWyZcsWozuCpk2bJg888IBRHQsXLpTevXsr/655R9A//vEP6dGjh/KNU201yxqYe0eQp6enlJWVKcv+/e9/S1BQkOj1emVZWVmZ6HQ6+d///mey/ZSUFAFgtE9Fqr/JGzFihPLvyspKadeuncyYMUNZlpOTIwAkMTHRaNtHHnlEdDqdAJBx48ZJSUmJybZFfr8jqOZdO5s3bxYAEhcXpyxbtWqVBAUF1VuPwfHjx6Vdu3Zia2srLi4u8u2339Yps379euUOKiIiImvQEjlSTahx58jLL78sY8aMMVr/008/CQDJysoSkVvLIww5WUxMjFLm6tWrotPp5PPPPxcRkVmzZsmTTz5p1Pb+/fvFxsZGyTf8/f1l4sSJN+3TmjVrJDg4WPm3qfyrMXcEbd26VSlTWloqDg4O8v333xvVN2vWLJk6dWq9MfXv319WrlxptGzq1Kny4IMPGi2bMmWK0R1B999/v7z22mtGZf7973+Lt7e3iIjs2LFD1Gq15OTkKOtvdkdQUlKSAJCvv/663nhrYn5F1oR3BBFZkMmTJ+OXX37BN998g4iICCQkJGDQoEHK3TaZmZnw9fWFr6+vsk3v3r3h6uqKzMzM227///7v/7Bp0yacPXsWiYmJmD59ep0ymZmZGD58uNGy4cOH49SpU6iqqqpT/k9/+hNKSkrQpUsXPPHEE9iyZcst/268tn79+kGj0Sj/PnbsGE6fPg0nJyfl28P27dujtLQUZ86cMVlHSUkJAMDe3r7Ourvuukv5f1tbW3To0EG5mwkAPD09AQCXL1822m7dunX44YcfsG3bNpw5cwbz5s27aV9qtmWot3Zbhnb279+v9M/R0RGfffaZUi4oKAipqalISkrCnDlzMHPmTGRkZBi1pdPp6r2LiYiIyBK1dI5U07FjxxAfH290Le7ZsycAGOUbt5pH1LyTt3379ggKClL6cOzYMWzatMmo7fDwcOj1emRnZyvbmbrT+fPPP8fw4cPh5eUFR0dHLFmyRLkTvCnUbPP06dMoLi7GAw88YBTrJ598Um9OBlTnZbVzsszMTISEhBgtq32387Fjx7By5Uqjtp544gnk5OSguLgYWVlZ8PX1hZeXl7LNkCFDGuyPiNy0zzUxvyJrom7pAIjImL29PR544AE88MADWLp0Kf7yl79g+fLld+SheWPHjsWTTz6JWbNmYdy4cbf00OnafH19kZWVhe+++w67d+/GU089hTVr1mDv3r2ws7MzuY2NjU2di6/hluiaat+mW1RUhODgYKOBEYOOHTuabMvd3R0AcP369TplasenUqmMlhlmU9Pr9UblvLy84OXlhZ49e6J9+/YYOXIkli5dCm9vb5Mx1G7LUG/tZYZ2Bg8ejNTUVGWdIZEEqmeu6NatGwAgODgYR44cwfr16/Hee+8pZa5du1bv/iAiIrJULZkj1VRUVIRx48bh73//e511Na/1t5pH3Kzt2bNn45lnnqmzruYEH7VzJMMXfCtWrEB4eDhcXFwQExODf/zjHw22Z2NTfd9AzbzMVE5Wu82ioiIAwLfffgsfHx+jclqttt723N3dcf369QZjMqWoqAgrVqzAH/7whzrrTH3ZZ47u3btDpVLh5MmTZpVnfkXWhANBRBaud+/e2Lp1KwCgV69e+Omnn/DTTz8p33hlZGQgLy8PvXv3vu221Go1Hn30Ubz++utG047X1KtXrzpTtR48eBA9evSAra2tyW10Oh3GjRuHcePGYe7cuejZsyfS0tIwaNAgaDSaOncSdezYEbm5uRARJUmqOfBRn0GDBuHzzz+Hh4cHnJ2dzegx0LVrVzg7OyMjIwM9evQwa5vGMCR39T3T4FbodDplsMec9mu3nZ6ejoEDBzZZPERERC3hTuZINQ0aNEh5lqJa3fQfpw4dOqQM6ly/fh0//vgjevXqpbSdkZFhdh5g8P3338Pf39/ouTjnz583KlNfTgYAOTk5Su5gTk7Wu3dvaLVaXLhwwaxnJRoMHDiwzp3MvXr1QlJSktGyQ4cOGf170KBByMrKqne/BAUF4aeffsKlS5eUL9BuNvNb+/btER4ejg0bNuCZZ56pM7iWl5dn9Jwg5ldkTfjTMCILcfXqVdx333349NNPcfz4cWRnZ+OLL77A66+/jgkTJgAAwsLC0K9fP0yfPh0//PADDh8+jEcffRSjRo0yeQvwrXj55Zfx66+/Ijw83OT6+fPnIy4uDi+//DJ+/PFHfPzxx3jnnXewYMECk+U3bdqEDz/8EOnp6Th79iw+/fRT6HQ6Zar2gIAA7Nu3Dz///DOuXLkCALj33nvx66+/4vXXX8eZM2ewYcOGegemapo+fTrc3d0xYcIE7N+/H9nZ2UhISMAzzzyDixcvmtzGxsYGYWFhOHDggDm7p0GxsbGIjo5Geno6zp07h2+//RaRkZEYPnw4AgICbrv+m1m8eDH27duHc+fOIS0tDYsXL0ZCQkKdn/jt378fY8aMafZ4iIiImoKl5EgGc+fOxbVr1zB16lQcOXIEZ86cwf/+9z88/vjjJn8m31grV65EXFwc0tPT8dhjj8Hd3R0TJ04EACxatAjff/+98uDkU6dOYdu2bXUeFl1b9+7dceHCBcTExODMmTN46623sGXLFqMyAQEByM7ORmpqKq5cuYKysjLodDoMHTpUeQj03r17sWTJkpv2wcnJCQsWLMDzzz+Pjz/+GGfOnMEPP/yAt99+Gx9//HG924WHhyMxMdFoPz7zzDPYuXMn1q5di1OnTuGdd97Bzp07jbZbtmwZPvnkE6xYsQInTpxAZmYmYmJilFgfeOABdO3aFTNnzsTx48dx8OBBZZ3hS0dTNmzYgKqqKgwZMgRfffUVTp06hczMTLz11lt1fp7G/IqsCQeCiCyEo6MjQkJCsG7dOtxzzz3o27cvli5diieeeALvvPMOgOoL1bZt2+Dm5oZ77rkHYWFh6NKlCz7//PMmi0Oj0cDd3b3ei+KgQYPwn//8BzExMejbty+WLVuGlStX1ntbtqurK95//30MHz4cd911F7777jv897//VX52tnLlSpw7dw5du3ZVvnXq1asXNm7ciA0bNqB///44fPhwvQNNNTk4OGDfvn3w8/PDH/7wB/Tq1QuzZs1CaWlpg3cI/eUvf0FMTEyjbs02RafT4f3338eIESPQq1cvPP/88xg/fjy2b99+W/Wa6/Lly3j00UcRFBSE+++/H0eOHMH//vc/PPDAA0qZxMRE5Ofn449//OMdiYmIiOh2WUqOZNCpUyccPHgQVVVVGDNmDPr164fnnnsOrq6uyk+pbsfq1avx7LPPIjg4GLm5ufjvf/+rPBPxrrvuwt69e/Hjjz9i5MiRGDhwIJYtW4ZOnTo1WOf48ePx/PPPIyoqCgMGDMD333+vzCZmMHnyZERERGD06NHo2LEjNm/eDAD46KOPUFlZieDgYDz33HN1Zuyqz8svv4ylS5di1apV6NWrFyIiIvDtt98iMDCw3m3Gjh0LtVqN7777Tlk2dOhQvP/++1i/fj369++PXbt21RmMCg8Px/bt27Fr1y7cfffdGDp0KNatW6d88Whra4utW7eiqKgId999N/7yl78od0c19NOxLl264IcffsDo0aMxf/589O3bFw888ADi4uLw7rvvKuWYX5G1UUljn4JFRNTKiAhCQkLw/PPPY+rUqS0dTrOaMmUK+vfvj7/+9a8tHQoRERHVkJCQgNGjR+P69et1piZvSzZs2IBvvvkG//vf/5q1nYMHD2LEiBE4ffo0unbtelt1Mb8ia8NnBBFRm6dSqfCvf/0LaWlpLR1KsyovL0e/fv3w/PPPt3QoRERERCbNnj0beXl5KCwshJOTU5PVu2XLFjg6OqJ79+44ffo0nn32WQwfPvy2B4GYX5E14h1BRERERERELYx3BDWvTz75BK+88gouXLgAd3d3hIWF4R//+EeTzJJLZG04EERERERERERE1EbwYdFERERERERERG0EB4KIiIiIiIiIiNoIDgQREREREREREbURHAgiIiIiIiIiImojOBBERERERERERNRGcCCIiIiIiIiIiKiN4EAQEREREREREVEbwYEgIiIiIiIiIqI24v8HPnyOheRB16gAAAAASUVORK5CYII=", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "fig, (ax1, ax2) = plt.subplots(ncols=2, sharey=True, figsize=(14,5))\n", - "\n", - "for i in [0, 1, 20, 200, 300, 400]:\n", - " label = da_t.isel(time=i).time.values\n", - " da_sm.isel(time=i).plot(y=\"depth\", ax=ax1, label=label)\n", - "\n", - "ax1.set_xlabel(\"Soil Moisture (m3 m-3)\")\n", - "ax1.set_ylabel(\"depth (m)\")\n", - "ax1.legend()\n", - "\n", - "for i in [0, 1, 20, 200, 300, 400]:\n", - " label = da_t.isel(time=i).time.values\n", - " da_t.isel(time=i).plot(y=\"depth\", ax=ax2, label=label)\n", - "\n", - "ax2.set_ylabel(\"depth (m)\")\n", - "ax2.set_xlabel(\"Soil Temperature (deg C)\")\n", - "ax2.legend()" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "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.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/notebooks/BMI_groundwater_coupling_csv_plots.ipynb b/docs/notebooks/BMI_groundwater_coupling_csv_plots.ipynb deleted file mode 100644 index ee8bd7c..0000000 --- a/docs/notebooks/BMI_groundwater_coupling_csv_plots.ipynb +++ /dev/null @@ -1,1128 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# STEMMUS_SCOPE BMI groundwater coupling\n", - "We have to choose how we want to run the BMI. We can do this either using a local executable file, or with a Docker container.\n", - "\n", - "How to run the model is define in the configuration file.\n", - "If it has an entry \"ExeFilePath\" it will use the local executable. If this is missing, it wil try to use Docker (if docker-py is available). " - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "cfg_file = \"/home/bart/tmp/stemmus_scope/config_docker.txt\"\n", - "#cfg_file = \"/home/bart/tmp/stemmus_scope/config_exe.txt\"\n", - "# cfg_file = \"/home/sarah/temp/ecoextreml/test/input/ZA-Kru_2024-07-31-1555/ZA-Kru_2024-07-31-1555_config.txt\"\n", - "cfg_file = \"/home/sarah/temp/ecoextreml/test/input/DE-Geb_2024-08-01-1043/DE-Geb_2024-08-01-1043_config.txt\"\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "If we are using the local executable file we first have to add the matlab runtime compiler locations to PATH:" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "/usr/local/MATLAB/MATLAB_Runtime/R2023a/runtime/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/sys/os/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/extern/bin/glnxa64:/usr/local/MATLAB/MATLAB_Runtime/R2023a/sys/opengl/lib/glnxa64\n" - ] - } - ], - "source": [ - "# if \"exe.txt\" in cfg_file:\n", - "# from PyStemmusScope.config_io import read_config\n", - "# import os\n", - "# os.environ['LD_LIBRARY_PATH'] = (\n", - "# \"/home/bart/matlab_runtime/R2023a/runtime/glnxa64:\"\n", - "# \"/home/bart/matlab_runtime/R2023a/bin/glnxa64:\"\n", - "# \"/home/bart/matlab_runtime/R2023a/sys/os/glnxa64:\"\n", - "# \"/home/bart/matlab_runtime/R2023a/extern/bin/glnxa64:\"\n", - "# \"/home/bart/matlab_runtime/R2023a/sys/opengl/lib/glnxa64\"\n", - "# )\n", - "# os.environ[\"STEMMUS_SCOPE\"] = read_config(cfg_file)[\"ExeFilePath\"]\n", - "\n", - "\n", - "from PyStemmusScope.config_io import read_config\n", - "import os\n", - "matlab_path = !whereis MATLAB\n", - "matlab_path = matlab_path.s.split(\": \")[1]\n", - "os.environ['LD_LIBRARY_PATH'] = (\n", - " f\"{matlab_path}/MATLAB_Runtime/R2023a/runtime/glnxa64:\"\n", - " f\"{matlab_path}/MATLAB_Runtime/R2023a/bin/glnxa64:\"\n", - " f\"{matlab_path}/MATLAB_Runtime/R2023a/sys/os/glnxa64:\"\n", - " f\"{matlab_path}/MATLAB_Runtime/R2023a/extern/bin/glnxa64:\"\n", - " f\"{matlab_path}/MATLAB_Runtime/R2023a/sys/opengl/lib/glnxa64\")\n", - "print(os.environ['LD_LIBRARY_PATH'])\n", - "os.environ[\"STEMMUS_SCOPE\"] = read_config(cfg_file)[\"ExeFilePath\"]" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can initialize the model with a prepared configuration file:" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "from PyStemmusScope.bmi.implementation import StemmusScopeBmi\n", - "from cftime import num2pydate\n", - "from rich import print\n", - "import numpy as np\n", - "import xarray as xr\n", - "\n", - "model = StemmusScopeBmi()\n", - "\n", - "model.initialize(cfg_file)\n", - "\n", - "model.update() # STEMMUS_SCOPE needs to be updated by one timestep before the BMI is accessible" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "After initialization we can enable the groundwater coupling. You enable this using the following command:" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [], - "source": [ - "model.set_value(\"groundwater_coupling_enabled\", np.array([True]))" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "To make use of the groundwater coupling routines, a few variables will need to be set:\n", - "- the elevation (above reference, e.g. Mean Sea Level) of the top of the aquifer (in cm)\n", - "- the groundwater head (above reference) in the lowest STEMMUS_SCOPE soil layer (in cm)\n", - "\n", - "The groundwater height (where the hydrostatic pressure is equal to 0.0, will be at a depth of `groundwater_elevation_top_aquifer` - `groundwater_head_bottom_layer` in the STEMMUS_SCOPE model).\n", - "\n", - "Lastly, a groundwater temperature can be defined. However, this is optional." - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "model.set_value(\"groundwater_elevation_top_aquifer\", np.array([2000.]))\n", - "# model.set_value(\"groundwater_head_bottom_layer\", np.array([2000-250.])) # 250 cm under ground surface\n", - "model.set_value(\"groundwater_head_bottom_layer\", np.array([1950.])) # 50 cm under ground surface\n", - "\n", - "model.set_value(\"groundwater_temperature\", np.array([23.])) # optional. 50 deg C here to get a high contrast" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can run the model. We define arrays to store the results that we want to inspect, and then step through all model timesteps:" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "433" - ] - }, - "execution_count": 6, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "n_timesteps = int((model.get_end_time() - model.get_current_time())/model.get_time_step())\n", - "n_soil_layers = model.get_grid_size(model.get_var_grid(\"soil_moisture\"))\n", - "\n", - "soil_moisture = np.zeros((n_timesteps, n_soil_layers))\n", - "soil_temperature = np.zeros((n_timesteps, n_soil_layers))\n", - "time = []\n", - "i=0" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
model is done\n",
-       "
\n" - ], - "text/plain": [ - "model is done\n" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "while model.get_current_time() < model.get_end_time():\n", - " model.get_value(\"soil_moisture\", soil_moisture[i])\n", - " model.get_value(\"soil_temperature\", soil_temperature[i])\n", - " # model.set_value(\"groundwater_head_bottom_layer\", np.array([1950.-i*5])) # 250 cm under ground surface\n", - "\n", - " # Store the current time as a datetime\n", - " time.append(num2pydate(model.get_current_time(), model.get_time_units()))\n", - "\n", - " i+=1\n", - " model.update()\n", - "\n", - "print(\"model is done\")" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "For easier anaylsis we can put the data into xarray DataArray objects:" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "gs = model.get_grid_size(1)\n", - "depths = np.ones(gs)\n", - "model.get_grid_z(1, depths)\n", - "\n", - "da_sm = xr.DataArray(\n", - " data=soil_moisture,\n", - " dims=(\"time\", \"depth\"),\n", - " coords={\"time\": np.array(time), \"depth\": depths},\n", - ")\n", - "\n", - "da_t = xr.DataArray(\n", - " data=soil_temperature,\n", - " dims=(\"time\", \"depth\"),\n", - " coords={\"time\": np.array(time), \"depth\": depths},\n", - ")" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": { - "collapsed": true, - "jupyter": { - "outputs_hidden": true - } - }, - "outputs": [ - { - "ename": "ValueError", - "evalue": "Model terminated with return code None", - "output_type": "error", - "traceback": [ - "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[0;31mValueError\u001b[0m Traceback (most recent call last)", - "Cell \u001b[0;32mIn[9], line 1\u001b[0m\n\u001b[0;32m----> 1\u001b[0m \u001b[43mmodel\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfinalize\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n", - "File \u001b[0;32m~/GitHub/STEMMUS_SCOPE_Processing/PyStemmusScope/bmi/implementation.py:267\u001b[0m, in \u001b[0;36mStemmusScopeBmi.finalize\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 265\u001b[0m \u001b[38;5;250m\u001b[39m\u001b[38;5;124;03m\"\"\"Finalize the STEMMUS_SCOPE model.\"\"\"\u001b[39;00m\n\u001b[1;32m 266\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_process \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m:\n\u001b[0;32m--> 267\u001b[0m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_process\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mfinalize\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 268\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 269\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mThe STEMMUS_SCOPE process is not running/connected. Can\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mt finalize!\u001b[39m\u001b[38;5;124m\"\u001b[39m\n", - "File \u001b[0;32m~/GitHub/STEMMUS_SCOPE_Processing/PyStemmusScope/bmi/local_process.py:162\u001b[0m, in \u001b[0;36mLocalStemmusScope.finalize\u001b[0;34m(self)\u001b[0m\n\u001b[1;32m 160\u001b[0m \u001b[38;5;28;01mfinally\u001b[39;00m:\n\u001b[1;32m 161\u001b[0m msg \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mModel terminated with return code \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mprocess\u001b[38;5;241m.\u001b[39mpoll()\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m--> 162\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(msg)\n", - "\u001b[0;31mValueError\u001b[0m: Model terminated with return code None" - ] - } - ], - "source": [ - "model.finalize()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "Now we can show the results. Note that up to ~2.5 m depth the soil is completely saturated, and that the temperature here equals the groundwater temperature we defined before." - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### with coupling\n", - "model.set_value(\"groundwater_elevation_top_aquifer\", np.array([2000.]))\n", - "\n", - "model.set_value(\"groundwater_head_bottom_layer\", np.array([1950.])) # 50 cm under ground surface\n", - "\n", - "model.set_value(\"groundwater_temperature\", np.array([17.])) # optional. 50 deg C here to get a high contrast" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "fig, (ax1, ax2) = plt.subplots(ncols=2, sharex=True, sharey=True, figsize=(14,5))\n", - "ax1.set_title(\"Soil Moisture\")\n", - "ax2.set_title(\"Soil Temperature\")\n", - "ax1.set_ylabel(\"depth (m)\")\n", - "ax2.set_ylabel(\"depth (m)\")\n", - "da_sm.plot(y=\"depth\", ax=ax1, cbar_kwargs={'label': \"volumetric moisture content (m3 m-3)\"})\n", - "da_t.plot(y=\"depth\", ax=ax2, cbar_kwargs={'label': \"temperature (deg C)\"})" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "import matplotlib.pyplot as plt\n", - "# with coupling, \n", - "fig, (ax1, ax2) = plt.subplots(ncols=2, sharey=True, figsize=(14,5))\n", - "\n", - "for i in [0, 1, 20, 200, 300, 400]:\n", - " label = da_t.isel(time=i).time.values\n", - " da_sm.isel(time=i).plot(y=\"depth\", ax=ax1, label=label)\n", - "\n", - "ax1.set_xlabel(\"Soil Moisture (m3 m-3)\")\n", - "ax1.set_ylabel(\"depth (m)\")\n", - "ax1.legend()\n", - "\n", - "for i in [0, 1, 20, 200, 300, 400]:\n", - " label = da_t.isel(time=i).time.values\n", - " da_t.isel(time=i).plot(y=\"depth\", ax=ax2, label=label)\n", - "\n", - "ax2.set_ylabel(\"depth (m)\")\n", - "ax2.set_xlabel(\"Soil Temperature (deg C)\")\n", - "ax2.legend()" - ] - }, - { - "cell_type": "code", - "execution_count": 68, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 68, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAGzCAYAAAAlqLNlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABQx0lEQVR4nO3deXwV9b3/8decNfsC2QgJBFxAFhFwA8W9YGtrqXVvi1Kq2OsOdatexS7SiuutvUXvr1bbalWqonWhIiBVwYVNBFlUQJYQAmQ5Wc828/sjyeGEBAjhJJOTvJ+PxzzOmZnvzPkMQ3Le+c5mWJZlISIiIiIAOOwuQERERKQrUTgSERERiaJwJCIiIhJF4UhEREQkisKRiIiISBSFIxEREZEoCkciIiIiURSORERERKIoHImIiIhEUTgSkS6tqKiIq6++2u4yRKQHUTgSEdstWbKEGTNmUFFRYXcpnWrt2rVccsklDBw4kKSkJLKysjjjjDP417/+ZXdpIj2ay+4CRESWLFnC/fffz9VXX01GRkazeRs2bMDh6J5/x33zzTdUVVVx1VVXkZ+fT21tLS+//DIXXnghTz75JNdee63dJYr0SIYePCsidnvooYe47bbb2Lx5M0VFRXaXY6twOMzo0aOpr69n/fr1dpcj0iN1zz/HRCRuzJgxg9tuuw2AAQMGYBgGhmGwZcsWoOU5R8888wyGYfDBBx9w0003kZ2dTUZGBlOnTiUQCFBRUcGkSZPIzMwkMzOT22+/nf3/BjRNk8cee4yhQ4eSkJBAbm4uU6dOpby8vLM2+4CcTieFhYU97hCjSFeiw2oiYquLLrqIjRs38o9//INHH32UrKwsALKzsw+63I033kheXh73338/H330EU899RQZGRksWbKEfv368cADD/DWW28xa9Yshg0bxqRJkyLLTp06lWeeeYbJkydz0003sXnzZp544glWrlzJhx9+iNvtPuDn+v1+qqqq2rRtTdtyKDU1NdTV1VFZWcnrr7/O22+/zWWXXdamZUWkA1giIjabNWuWBVibN29uMa9///7WVVddFRn/y1/+YgHWhAkTLNM0I9PHjBljGYZhXXfddZFpoVDIKigosM4888zItPfff98CrOeee67Z58ybN6/V6ftr+vy2DG01derUyDIOh8O6+OKLrbKysjYvLyKxpZ4jEYlLU6ZMwTCMyPgpp5zC0qVLmTJlSmSa0+nkxBNPZPny5ZFpc+bMIT09nW9961vs2bMnMn306NGkpKSwaNEirrzyygN+7oQJE5g/f35Mt+WWW27h4osvpri4mJdeeolwOEwgEIjpZ4hI2ykciUhc6tevX7Px9PR0AAoLC1tMjz6X6Msvv6SyspKcnJxW11taWnrQz+3Tpw99+vRpT8kHNHjwYAYPHgzApEmTGD9+PN/73vf4+OOPmwVAEekcCkciEpecTmebp1tRJ2SbpklOTg7PPfdcq8sf6lynpnOD2iIvL69N7fZ38cUXM3XqVDZu3MigQYPatQ4RaT+FIxGxXWf2jhx11FG8++67nHbaaSQmJh728i+++CKTJ09uU1urnXdKqaurA2hzCBOR2FI4EhHbJScnA3TK5euXXnop//u//8uvf/1rHnjggWbzQqEQ1dXVLW5EGS2W5xyVlpa2OLwXDAb561//SmJiIkOGDInJ54jI4VE4EhHbjR49GoC7776byy+/HLfbzfe+971IaIqlM888k6lTpzJz5kxWrVrF+PHjcbvdfPnll8yZM4fHH3+ciy+++IDLx/Kco6lTp+Lz+TjjjDPo27cvJSUlPPfcc6xfv56HH36YlJSUmHyOiBwehSMRsd1JJ53Er3/9a2bPns28efMwTZPNmzd3SDgCmD17NqNHj+bJJ5/kl7/8JS6Xi6KiIn784x9z2mmndchntuayyy7jz3/+M3/605/Yu3cvqampjB49mt///vdceOGFnVaHiDSnx4eIiIiIRNHjQ0RERESiKByJiIiIRFE4EhEREYmicCQiIiISReFIREREJIrCkYiIiEgU3efoMJmmSXFxMampqXogpIiISJywLIuqqiry8/NxOA7eN6RwdJiKi4tbPPVbRERE4sO2bdsoKCg4aBuFo8OUmpoKNPzjpqWl2VyNiIiItIXP56OwsDDyPX4wCkeHqelQWlpamsKRiIhInGnLKTE6IVtEREQkisKRiIiISBSFIxEREZEoCkciIiIiURSORERERKIoHImIiIhEUTgSERERiaJwJCIiIhJF4UhEREQkSo8NR3/84x8pKioiISGBU045hU8++cTukkRERKQL6JHh6MUXX2TatGncd999rFixghEjRjBhwgRKS0vtLk1ERERs1iPD0SOPPMI111zD5MmTGTJkCLNnzyYpKYmnn37a7tJE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443Iek499VROOOEEZs+e3ern+P1+/H5/ZNzn81FYWEhlZSVpaWkdtXkSh+6d/1+8Wvw+PykLMGDcu1xyYqHdJYmISCOfz0d6enqbvr/joueoNZWVlfTqte+8jqVLl3LGGWdEghHAhAkT2LBhA+Xl5ZE25513XrP1TJgwgaVLlx7wc2bOnEl6enpkKCzUF5605A/7+WjXCgBSgokkeXQpv4hIvIrLcPTVV1/xhz/8galTp0amlZSUkJub26xd03hJSclB2zTNb81dd91FZWVlZNi2bVusNkO6kb8te5yd4RpyQiF2m9/lnME5dpckIiLtZGs4uvPOOzEM46BD0yGxJjt27OD888/nkksu4ZprrunwGr1eL2lpac0GkWh7anfz1Lq/A/CdvSl8/8rpJHqcNlclIiLtZWvf//Tp07n66qsP2mbgwIGR98XFxZx99tmMHTu22YnWAHl5eezatavZtKbxvLy8g7Zpmi/SHg+9cyt1hsXQ+gC9Bj/KCf0y7S5JRESOgK3hKDs7m+zstt1JeMeOHZx99tmMHj2av/zlLzgczTu9xowZw913300wGMTtbniu1fz58xk0aBCZmZmRNgsWLOCWW26JLDd//nzGjBkTmw2SHmft9o95q2IVGAYja0/mJxecY3dJIiJyhOLinKMdO3Zw1lln0a9fPx566CF2795NSUlJs3OFrrzySjweD1OmTGHt2rW8+OKLPP7440ybNi3S5uabb2bevHk8/PDDrF+/nhkzZrBs2TJuuOEGOzZL4pxlWdw//1Ysw2BctcmlVz6OyxkXP1IiInIQcXFJzfz58/nqq6/46quvKCgoaDav6U4E6enpvPPOO1x//fWMHj2arKws7r33Xq699tpI27Fjx/L8889zzz338Mtf/pJjjjmGuXPnMmzYsE7dHukenn/vEdY5qkgwTc7qP50BubortohIdxC39zmyy+HcJ0G6r13l27jk1W9T7jT4dk0Wv//5QgzDsLssERE5gB5xnyMRO93zyo8pdxr0D5jcfNFfFYxERLoRhSORw/TMvN/ykasMp2UxqeA6+ubpxqAiIt2JwpHIYdi66yv+XPwPAL7l78Ol377R5opERCTWFI5EDsP9r02iwmnQP2Bx1+X/sLscERHpAApHIm305Kt38Ym3Cqdl8fNB0+mVnmV3SSIi0gEUjkTa4MtvPufv5a8DMMEc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oPOYREREpOexNRxlZ2eTnZ3drmVXrVqFw+EgJycHgDFjxnD33XcTDAZxu90AzJ8/n0GDBpGZmRlps2DBAm655ZbIeubPn8+YMWOObENERESk24iLc46WLl3KY489xmeffcamTZt47rnnuPXWW/nxj38cCT5XXnklHo+HKVOmsHbtWl588UUef/zxZofjbr75ZubNm8fDDz/M+vXrmTFjBsuWLeOGG26wa9NERESkizEsy7LsLuJQVqxYwX/913+xfv16/H4/AwYM4Cc/+QnTpk1rdj7Q6tWruf766/n000/Jysrixhtv5I477mi2rjlz5nDPPfewZcsWjjnmGB588EG+853vtLkWn89Heno6lZWVpKWlxWwbRUREpOMczvd3XISjrkThSEREJP4czvd3XBxWExEREeksCkciIiIiURSORERERKIoHImIiIhEUTgSERERiaJwJCIiIhJF4UhEREQkisKRiIiISBRbn60Wj5rumenz+WyuRERERNqq6Xu7Lfe+Vjg6TFVVVQAUFhbaXImIiIgcrqqqKtLT0w/aRo8POUymaVJcXExqaiqGYdhdTtzy+XwUFhaybds2PYali9O+ih/aV/FD+6rzWZZFVVUV+fn5OBwHP6tIPUeHyeFwUFBQYHcZ3UZaWpp+McQJ7av4oX0VP7SvOteheoya6IRsERERkSgKRyIiIiJRFI7EFl6vl/vuuw+v12t3KXII2lfxQ/sqfmhfdW06IVtEREQkinqORERERKIoHImIiIhEUTgSERERiaJwJCIiIhJF4UhEREQkisKRdJiZM2dy0kknkZqaSk5ODhMnTmTDhg2R+WVlZdx4440MGjSIxMRE+vXrx0033URlZaWNVfdMh9pX0SzL4tvf/jaGYTB37tzOLVTavK+WLl3KOeecQ3JyMmlpaZxxxhnU1dXZUHHP1pb9VVJSwk9+8hPy8vJITk5m1KhRvPzyyzZVLKBwJB1o8eLFXH/99Xz00UfMnz+fYDDI+PHjqampAaC4uJji4mIeeugh1qxZwzPPPMO8efOYMmWKzZX3PIfaV9Eee+wxPVfQRm3ZV0uXLuX8889n/PjxfPLJJ3z66afccMMNh3yelMReW/bXpEmT2LBhA6+//jqff/45F110EZdeeikrV660sfIezhLpJKWlpRZgLV68+IBtXnrpJcvj8VjBYLATK5P9HWhfrVy50urbt6+1c+dOC7BeffVVewqUiNb21SmnnGLdc889NlYlB9La/kpOTrb++te/NmvXq1cv6//+7/86uzxppD8jpNM0HS7r1avXQdukpaXhcumZyHZqbV/V1tZy5ZVX8sc//pG8vDy7SpP97L+vSktL+fjjj8nJyWHs2LHk5uZy5pln8sEHH9hZpjRq7Wdr7NixvPjii5SVlWGaJi+88AL19fWcddZZNlUpCkfSKUzT5JZbbuG0005j2LBhrbbZs2cPv/71r7n22ms7uTqJdqB9deuttzJ27Fi+//3v21idRGttX23atAmAGTNmcM011zBv3jxGjRrFueeey5dffmlnuT3egX62XnrpJYLBIL1798br9TJ16lReffVVjj76aBur7dn057l0iuuvv541a9Yc8K9Xn8/HBRdcwJAhQ5gxY0bnFifNtLavXn/9dRYuXKhzILqY1vaVaZoATJ06lcmTJwMwcuRIFixYwNNPP83MmTNtqVUO/Hvwv//7v6moqODdd98lKyuLuXPncumll/L+++8zfPhwm6rt2RSOpMPdcMMNvPHGG/znP/+hoKCgxfyqqirOP/98UlNTefXVV3G73TZUKXDgfbVw4UK+/vprMjIymrX/4Q9/yLhx43jvvfc6t1A54L7q06cPAEOGDGnW/rjjjmPr1q2dWqPsc6D99fXXX/PEE0+wZs0ahg4dCsCIESN4//33+eMf/8js2bPtKrlHUziSDmNZFjfeeCOvvvoq7733HgMGDGjRxufzMWHCBLxeL6+//joJCQk2VCqH2ld33nknP/vZz5pNGz58OI8++ijf+973OrPUHu9Q+6qoqIj8/PwWl4tv3LiRb3/7251ZqnDo/VVbWwvQ4kpCp9MZ6QWUzqdwJB3m+uuv5/nnn+e1114jNTWVkpISANLT00lMTMTn8zF+/Hhqa2v5+9//js/nw+fzAZCdnY3T6bSz/B7lUPsqLy+v1ZOw+/Xr12rolY5zqH1lGAa33XYb9913HyNGjOCEE07g2WefZf369fzzn/+0ufqe51D7a/DgwRx99NFMnTqVhx56iN69ezN37lzmz5/PG2+8YXP1PZi9F8tJdwa0OvzlL3+xLMuyFi1adMA2mzdvtrX2nuZQ++pAy+hS/s7X1n01c+ZMq6CgwEpKSrLGjBljvf/++/YU3MO1ZX9t3LjRuuiii6ycnBwrKSnJOv7441tc2i+dy7Asy+qEDCYiIiISF3Qpv4iIiEgUhSMRERGRKApHIiIiIlEUjkRERESiKByJiIiIRFE4EhEREYmicCQiIiISReFIREREJIrCkYiIiEgUhSMRERGRKApHIiIiIlH+P8tSxM5mVTx4AAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "import numpy as np\n", - "import xarray as xr\n", - "\n", - "# Read the CSV file\n", - "csv_path = \"/home/sarah/temp/ecoextreml/test/output/ZA-Kru_2023-09-06-1228_before/Sim_Temp.csv\"\n", - "\n", - "# Read the CSV file\n", - "df = pd.read_csv(csv_path, header=None)\n", - "\n", - "# Get the first row as depths\n", - "depths = df.iloc[0].values\n", - "\n", - "# Get the rest of the data as soil_temperature\n", - "soil_temperature = df.iloc[3:].values\n", - "soil_temperature = soil_temperature.astype(float)\n", - "\n", - "# Create a time index\n", - "time = np.arange(1, len(df)-2)\n", - "\n", - "# Create the xarray DataArray\n", - "da_t = xr.DataArray(\n", - " data=soil_temperature,\n", - " dims=(\"time\", \"depth\"),\n", - " coords={\"time\": time, \"depth\": depths},\n", - ")\n", - "da_t['depth'] = da_t['depth'].astype(float) * -1\n", - "\n", - "da_t.isel(time=0).plot(y=\"depth\")\n", - "da_t.isel(time=1).plot(y=\"depth\")\n", - "da_t.isel(time=2).plot(y=\"depth\")\n", - "# da_t.isel(time=5).plot(y=\"depth\")\n", - "# da_t.isel(time=6).plot(y=\"depth\")" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([23.8289, 24.5803, 25.3318, 26.0832, 26.7287, 27.3742, 28.0197,\n", - " 28.6652, 29.3107, 29.1801, 29.0495, 28.919 , 28.7884, 28.6578,\n", - " 28.5272, 28.3966, 28.2661, 28.1355, 28.0049, 27.8743, 27.7437,\n", - " 27.6131, 27.4826, 26.3672, 25.2519, 24.1365, 23.0211, 23.0211,\n", - " 23.0211, 23.0211, 23.0211, 23.0211, 23.0211, 23.0211, 23.0211,\n", - " 23.0211, 23.0211, 22.9336, 22.846 , 22.7584, 22.6708, 22.5832,\n", - " 22.4957, 22.4081, 22.3205, 22.2329, 22.1453, 22.0578, 21.9702,\n", - " 21.8826, 21.795 , 21.7074, 21.6199, 21.5323])" - ] - }, - "execution_count": 17, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "da_t.isel(time=0).values" - ] - }, - { - "cell_type": "code", - "execution_count": 27, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 27, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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F4tFJHFaDYA/EI4AeC5mc1oNgH+wLwLguWii5cii5QiADxCOAHjOdmKSuJQfgD8QjgB4jkv5AfhJoKZf3Lt3r95//33t2LFDjuNUmTZy5MiTLgxA4+GkWo4MjysBgBqGo3/84x+65pprtH//frVo0UKGUbFDMwyDcATghETpkA3AR2q0L5o4caKuv/567d+/X3v37tWePXtSr927d9d2jQAauJidvJSfliMA3qtROPriiy90yy23KCsrq7brAdAIOW78tBotRwD8oEb7ovz8fC1btqy2awHQSNm2LYlwBMAfqt3n6KWXXkoNX3rppZo0aZI++ugj9erVS8FgsMq8l112We1VCKDBc9x4ODLokA3AB6odjoYPH37EuF//+tdHjDMMI/WvQACoDseNX/HKpfwA/KDa4ejwy/UBoLYkbwJJyxEAP6jRKf6//OUvCofDR4yPRCL6y1/+ctJFAWhcki1HRCMAflCjcDRmzBiVlpYeMX7fvn0aM2bMSRcFoHFxaTkC4CM1Ckeu61a58WPS559/ruzs7JMuCkDjkupzRDgC4AMndIfsvn37yjAMGYahiy++WIFAxddt29bGjRt1ySWX1HqRABo2R5xWA+AfJxSOklesFRUVKT8/X82aNUtNC4VC6ty5s370ox/VaoEAGj7H5rQaAP84oXB09913S5I6d+6sK6+8UpmZmWkpCkDjQssRAD+p0YNnR40aJUlatmyZPv74Y0lSz5491a9fv9qrDECj4abuc0Q8AuC9GoWjL774QldddZXeeecdtWzZUpK0d+9eDRo0SM8884w6dOhQmzUCaOC4QzYAP6nR1Wpjx45VNBrVxx9/rN27d2v37t36+OOP5TiOfvKTn9R2jQAauIr7HBGOAHivRi1Hb775ppYsWaLu3bunxnXv3l2PPfaYBg8eXGvFAWgcHCf54FnCEQDv1ajlKC8vT9Fo9Ijxtm2rffv2J10UgMalokM24QiA92oUjmbOnKmbb75Zy5YtS41btmyZxo8fr4ceeqjWigPQOLicVgPgIzU6rTZ69GgdPHhQAwYMSN0IMhaLKRAI6Prrr9f111+fmnf37t21UymABivV5+god94HgLpWo3D06KOP1nIZABozLuUH4CcndZ8jAKgNqT5HtBwB8IEa9TmSpE8//VR33nmnRowYoR07dkiSXnvtNa1Zs6bWigPQOLjc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FSv0q1/9SitWrNALL7ygtWvX6rLLLqvL1fJcOv5ek/7f//t/evfdd9W+fft0r0bdc1Ft5513nnvTTTelPtu27bZv396dPn36V363U6dO7iOPPHLUafv27XNPP/10t6CgwB0yZIg7fvz4Wqq4fkjHdp08ebJ7wQUX1GaZ9U46tuull17qXn/99VXG/fCHP3Svueaak663vjiZ7eq6rhuLxdzmzZu7Tz/9tOu6rus4jpubm+vOnDkzNc/evXvdjIwM929/+1vtFu9jtb1dj+b99993JbmfffbZSddbX6Rru37++efuaaed5q5evfq4x7f6ipajaopEIlq+fLmGDh2aGmeapoYOHarCwsKTWvZNN92kSy+9tMqyG4t0bdeXXnpJ/fv31xVXXKE2bdqob9+++sMf/lAbJdcL6dqugwYN0qJFi7Ru3TpJ0gcffKC3335b3/72t0+65vqgNrbrwYMHFY1Gdcopp0iSNm7cqJKSkirLzM7O1oABA05631JfpGO7Hk1paakMw1DLli1PtuR6IV3b1XEcXXfddZo0aZLOOuusWq/bDwJeF1Bf7Nq1S7Ztq23btlXGt23bVsXFxTVe7jPPPKMVK1Zo6dKlJ1tivZSu7bphwwY98cQTmjBhgn75y19q6dKluuWWWxQKhTRq1KiTLdv30rVdp0yZorKyMvXo0UOWZcm2bd1333265pprTrbkeqE2tuvkyZPVvn371AGrpKQktYzDl5mc1tClY7serry8XJMnT9aIESMa3JPmjyVd2/XBBx9UIBDQLbfcUqv1+gnhyENbtmzR+PHjVVBQoMzMTK/LaVAcx1H//v11//33S5L69u2r1atXa86cOY0iHKXLs88+q3nz5umvf/2rzjrrLBUVFenWW29V+/bt2a7V8MADD+iZZ57RG2+8wf/na9FXbddoNKof//jHcl1XTzzxhAcV1k9H267Lly/X7NmztWLFChmG4XGF6cNptWpq1aqVLMvS9u3bq4zfvn37V3a2Ppbly5drx44dOvfccxUIBBQIBPTmm2/qt7/9rQKBgGzbro3SfS0d21WS2rVrp549e1YZd+aZZ2rz5s01XmZ9kq7tOmnSJE2ZMkVXXXWVevXqpeuuu0633Xabpk+ffrIl1wsns10feughPfDAA3r99derXHiR/F5t/7eqT9KxXZOSweizzz5TQUFBo2k1ktKzXd966y3t2LFDHTt2TB23PvvsM02cOFGdO3dOx2p4gnBUTaFQSP369dOiRYtS4xzH0aJFizRw4MAaLfPiiy/Whx9+qKKiotSrf//+uuaaa1RUVCTLsmqrfN9Kx3aVpPPPP19r166tMm7dunXq1KlTjZdZn6Rrux48eFCmWXW3YVmWHMep8TLrk5pu1xkzZujee+/VwoUL1b9//yrTunTpotzc3CrLLCsr03vvvXdS/63qk3RsV6kiGK1fv17/+te/dOqpp6alfr9Kx3a97rrrtGrVqirHrfbt22vSpEn65z//mbZ1qXNe9wivT5555hk3IyPDfeqpp9yPPvrIveGGG9yWLVu6JSUlruu67nXXXedOmTIlNX84HHZXrlzprly50m3Xrp37i1/8wl25cqW7fv36Y/5GY7xaLR3b9f3333cDgYB73333uevXr3fnzZvnZmVluf/3f/9X5+vnlXRs11GjRrmnnXaa+/LLL7sbN250X3jhBbdVq1bu7bffXufr55UT3a4PPPCAGwqF3Oeee87dtm1b6rVv374q87Rs2dL9+9//7q5atcr9/ve/73bp0sU9dOhQna+fV2p7u0YiEfeyyy5zO3To4BYVFVWZJxwOe7KOXkjH3+vhGuLVaoSjE/TYY4+5HTt2dEOhkHveeee57777bmrakCFD3FGjRqU+b9y40ZV0xGvIkCHHXH5jDEeum57t+o9//MM9++yz3YyMDLdHjx7u3Llz62ht/KO2t2tZWZk7fvx4t2PHjm5mZqbbtWtX94477mhUBxvXPbHt2qlTp6Nu17vvvjs1j+M47q9+9Su3bdu2bkZGhnvxxRe7a9eurcM18ofa3K7H+nuW5C5evLhuV8xjtf33eriGGI4M121kt7YFAAA4DvocAQAAVEI4AgAAqIRwBAAAUAnhCAAAoBLCEQAAQCWEIwAAgEoIRwAAAJUQjgAAACohHAEAAFRCOAIAAKiEcAQAAFDJ/wf/jGk532F+dAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "import numpy as np\n", - "import xarray as xr\n", - "\n", - "# Read the CSV file\n", - "csv_path = \"/home/sarah/temp/ecoextreml/test/output/ZA-Kru_2023-09-06-1228_before/Sim_Theta.csv\"\n", - "\n", - "# Read the CSV file\n", - "df = pd.read_csv(csv_path, header=None)\n", - "\n", - "# Get the first row as depths\n", - "depths = df.iloc[0].values\n", - "\n", - "# Get the rest of the data as soil_temperature\n", - "soil_sm = df.iloc[3:].values\n", - "soil_sm = soil_sm.astype(float)\n", - "\n", - "# Create a time index\n", - "time = np.arange(1, len(df)-2)\n", - "\n", - "# Create the xarray DataArray\n", - "da_s = xr.DataArray(\n", - " data=soil_sm,\n", - " dims=(\"time\", \"depth\"),\n", - " coords={\"time\": time, \"depth\": depths},\n", - ")\n", - "da_s['depth'] = da_s['depth'].astype(float) * -1\n", - "\n", - "da_s.isel(time=0).plot(y=\"depth\")\n", - "da_s.isel(time=1).plot(y=\"depth\")\n", - "da_s.isel(time=2).plot(y=\"depth\")" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 1, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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NpsNNputUzVQ/yVJYDAiIhogTA1HGRkZyMjIiMqxCgsL8ctf/hIVFRXIzMwEABQXFyMpKQnjxo3T27z77rsRrysuLkZhYWFUaiAiIqLYZzG7gM46dOgQtm7dikOHDiEQCGDr1q3YunUrGhoaAAAzZszAuHHjcPPNN+Orr77C+++/jyVLluCuu+7Se37uuOMO7N+/Hz/96U9RVlaG3/3ud3jttdfwwAMPmPnRiIiIqA+JmQnZjzzyCP785z/r6xMnTgQAfPTRR7j00kshyzL++c9/4s4770RhYSHi4+Nxyy234Oc//7n+muHDh+Odd97BAw88gJUrVyInJwd//OMfeRo/ERER6SQhRPvnJ1MEp9OJ5ORk1NXVISkpyexyqAcdPLgB39lwNxICGuoOrsCOn19pdklERNRNXfn9jplhNSIiIqLewHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGTAcERERERkwHBEREREZMBwRERERGQQE+Ho4MGDmDdvHoYPH464uDiMHDkSjz76KLxeb0S7bdu2YcqUKbDb7cjNzcWTTz7Z4lhr1qzBmDFjYLfbMX78eLz77ru99TGIiIgoBsREOCorK4Omafj973+P0tJSPPPMM1i1ahV+9rOf6W2cTidmzJiBYcOGYfPmzVi+fDmWLl2KF154QW+zceNG3HTTTZg3bx62bNmCmTNnYubMmdi+fbsZH4uIiIj6IEkIIcwuojuWL1+O559/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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "import numpy as np\n", - "import xarray as xr\n", - "\n", - "# Read the CSV file\n", - "csv_path = \"/path_to/output/ZA-Kru_2023-09-06-1228/Sim_Temp.csv\"\n", - "\n", - "# Read the CSV file\n", - "df = pd.read_csv(csv_path, header=None)\n", - "\n", - "# Get the first row as depths\n", - "depths = df.iloc[0].values.astype(float) * -1\n", - "\n", - "# Get the rest of the data as soil_temperature\n", - "soil_temperature = df.iloc[3:].values.astype(float)\n", - "\n", - "# Create a time index\n", - "time = np.arange(1, len(df)-2)\n", - "\n", - "# Create the xarray DataArray\n", - "da_t = xr.DataArray(\n", - " data=soil_temperature,\n", - " dims=(\"time\", \"depth\"),\n", - " coords={\"time\": time, \"depth\": depths},\n", - ")\n", - "\n", - "da_t.isel(time=0).plot(y=\"depth\")\n", - "da_t.isel(time=1).plot(y=\"depth\")\n", - "da_t.isel(time=2).plot(y=\"depth\")" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([23.8289, 24.5803, 25.3318, 26.0832, 26.7287, 27.3742, 28.0197,\n", - " 28.6652, 29.3107, 29.1801, 29.0495, 28.919 , 28.7884, 28.6578,\n", - " 28.5272, 28.3966, 28.2661, 28.1355, 28.0049, 27.8743, 27.7437,\n", - " 27.6131, 27.4826, 26.3672, 25.2519, 24.1365, 23.0211, 23.0211,\n", - " 23.0211, 23.0211, 23.0211, 23.0211, 23.0211, 23.0211, 23.0211,\n", - " 23.0211, 23.0211, 22.9336, 22.846 , 22.7584, 22.6708, 22.5832,\n", - " 22.4957, 22.4081, 22.3205, 22.2329, 22.1453, 22.0578, 21.9702,\n", - " 21.8826, 21.795 , 21.7074, 21.6199, 21.5323])" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "da_t.isel(time=0).values" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 16, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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6t+//0E3CgAAIFPaFY7mzZuna6+9VqtWrUqVrVq1Stdff73uu+++DmscAABAZ2vXbbVJkyapvr5eo0aNSr0IMhqNyu1264orrtAVV1yRqrtr166OaSkAAEAnaFc4evDBBzu4GQAAAF3DQb3nCAAA4HDTrmeOJGnjxo269dZbdfHFF2vbtm2SpL/85S9at25dhzUOAACgs7UrHP3973/X8OHD9eabb+r5559XbW2tJOntt99O/cQIAABAd9SucDRjxgzdddddWr58ubxeb6r861//ut54440OaxwAAEBna1c4evfdd3Xeeec1K+/Tp4927Nhx0I0CAADIlHaFo/z8fG3ZsqVZ+Zo1a3TUUUcddKMAAAAypV3h6KKLLtLNN9+sqqoqWZaleDyu119/XTfddJMuu+yyjm4jAABAp2lXOLr77rs1bNgwFRcXq7a2Vscff7zGjBmj0aNH69Zbb+3oNgIAAHSadr3nyOv16vHHH9fs2bP17rvvqra2VqeccoqOPfbYjm4fAABAp2p1OJo6deoB1zu/pXb//fe3v0UAAAAZ1OpwtGbNmrTlf//734pGoxo6dKgk6T//+Y9cLpdGjhzZsS0EAADoRK0OR6+88krq8/3336/c3Fw99dRTKigokCTt3r1bkydP1pgxYzq+lQAAAJ2kXQ9kz58/X3Pnzk0FI0kqKCjQXXfdpfnz53dY4wAAADpbu8JRMBjU9u3bm5Vv375dNTU1B90oAACATGlXODrvvPM0efJkPf/88/rss8/02Wef6bnnnlNZWZnOP//8jm4jAABAp2nXV/kXLlyom266SZdccokikUhiR263ysrKNG/evA5tIAAAQGdqVzjKzs7WI488onnz5mnjxo2SpGOOOUY5OTkd2jgAAIDO1q5wlJSTk6OTTjqpo9oCAACQce165ggAAOBwRTgCAABwIBwBAAA4EI4AAAAcCEcAAAAOhCMAAAAHwhEAAIBDtwlH5557ro4++mj5/X7169dPl156qTZv3pxW55133tGYMWPk9/tVXFyse++9t9l+lixZomHDhsnv92v48OF66aWXOusUAABAN9BtwtGZZ56pZ599VuvXr9dzzz2njRs36oILLkitDwaDGj9+vAYOHKjVq1dr3rx5mjNnjhYtWpSqs3LlSl188cUqKyvTmjVrNGHCBE2YMEHvvfdeJk4JAAB0QZYx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YDCoN998s0P/eWTaoei7lnz22WfauXPnYXPdddS/r/F4XKFQSBLX3MH0XUsOt2tOanvfDRs2TO+++67Wrl2bms4991ydeeaZWrt2rYqLi3vMddcumX4iHAlPP/208fl85sknnzTvv/++ueqqq0x+fr6pqqoyxhhz6aWXmhkzZqTqh0Ihs2bNGrNmzRrTr18/c9NNN5k1a9aYDz/8MFVn2rRp5tVXXzWVlZXm9ddfN+PGjTO9e/c227Zt6/TzO5Ta2nf33HOP8Xq95ve//33aV39ramrS6uTn55s//OEP5p133jHf+c53Dsuvt3Z039XU1JibbrrJlJeXm8rKSvPyyy+bU0891Rx77LGmsbExI+d4KLS13+6++26zbNkys3HjRvP++++b++67z7jdbvP444+n6nDNta/veso1Z0zb+25fLX2rr6dcd21FOOpCHnroIXP00Ucbr9drvvKVr5g33ngjte700083l19+eWq5srLSSGo2nX766ak6EydONP369TNer9ccddRRZuLEiWbDhg2deEadpy19N3DgwBb77rbbbkvVicfj5n//939N3759jc/nM2eddZZZv359J55R5+nIvquvrzfjx483hYWFxuPxmIEDB5orr7wy9R/vw0lb+m3WrFnmS1/6kvH7/aagoMCUlJSYp59+Om1/XHMJbe27nnTNGdO2vttXS+GoJ113bWEZY0wGBqwAAAC6JJ45AgAAcCAcAQAAOBCOAAAAHAhHAAAADoQjAAAAB8IRAACAA+EIAADAgXAEAADgQDgCAABwIBwBAAA4EI4AAAAc/j8km3aDJ29MnAAAAABJRU5ErkJggg==", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "import numpy as np\n", - "import xarray as xr\n", - "\n", - "# Read the CSV file\n", - "csv_path = \"/path_to/output/ZA-Kru_2023-09-06-1228_main/Sim_Theta.csv\"\n", - "\n", - "# Read the CSV file\n", - "df = pd.read_csv(csv_path, header=None)\n", - "\n", - "# Get the first row as depths\n", - "depths = df.iloc[0].values\n", - "\n", - "# Get the rest of the data as soil_temperature\n", - "soil_sm = df.iloc[3:].values\n", - "soil_sm = soil_sm.astype(float)\n", - "\n", - "# Create a time index\n", - "time = np.arange(1, len(df)-2)\n", - "\n", - "# Create the xarray DataArray\n", - "da_s = xr.DataArray(\n", - " data=soil_sm,\n", - " dims=(\"time\", \"depth\"),\n", - " coords={\"time\": time, \"depth\": depths},\n", - ")\n", - "da_s['depth'] = da_s['depth'].astype(float) * -1\n", - "\n", - "da_s.isel(time=0).plot(y=\"depth\")\n", - "da_s.isel(time=1).plot(y=\"depth\")\n", - "da_s.isel(time=2).plot(y=\"depth\")" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 4, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAGzCAYAAAAlqLNlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAABXNklEQVR4nO3deXyU1aE//s+zzmQm+0IiEAiLgii4oGKwuFQFWu9tUa+t2qpQrmLrDteKy1exttKKG7e29dpeq+1PW6Uu17bWa4qWixK1IKgg+74FCFkmyWSe9fz+mCUz2UjCJJNJPu/X63k982yTM48x8+Gc85wjCSEEiIiIiAgAIKe6AERERET9CcMRERERURyGIyIiIqI4DEdEREREcRiOiIiIiOIwHBERERHFYTgiIiIiisNwRERERBSH4YiIiIgoDsMREfUbZWVlmD17dqqLQUSDHMMREfWpVatWYdGiRairq0t1UfpUY2MjHnroIcycORP5+fmQJAkvvPBCh+dv3LgRM2fORGZmJvLz83HdddfhyJEjfVdgokFMTXUBiGhwWbVqFR5++GHMnj0bubm5Ccc2b94MWR6Y/2arrq7Gj370I4wYMQKnnXYa/vGPf3R47r59+3D++ecjJycHjz76KBobG/H444/jiy++wCeffAJd1/uu4ESDEMMREfUbHo8n1UXoNSeccAIOHjyIkpISrF69GmeffXaH5z766KNoamrCmjVrMGLECADAOeecg0svvRQvvPACbrrppr4qNtGgNDD/iUZE/dKiRYtw9913AwBGjRoFSZIgSRJ27doFoG2foxdeeAGSJOGDDz7A7bffjqKiIuTm5mLevHkwTRN1dXW4/vrrkZeXh7y8PPzwhz+EECLhZ7qui6effhqnnHIKvF4viouLMW/ePNTW1vbVxwYQDn4lJSVdOve1117Dv/zLv8SCEQBccsklOOmkk/Dqq6/2VhGJKII1R0TUZ6644gps2bIFf/jDH/DUU0+hsLAQAFBUVNTpdbfddhtKSkrw8MMP46OPPsJzzz2H3NxcrFq1CiNGjMCjjz6Kt99+G0uWLMGpp56K66+/PnbtvHnz8MILL2DOnDm4/fbbsXPnTjzzzDNYu3YtPvzwQ2ia1uHPNQwDDQ0NXfps0c9yvPbv34/Dhw/jrLPOanPsnHPOwdtvv52Un0NEHWM4IqI+M2nSJJx55pn4wx/+gFmzZqGsrKxL1xUXF+Ptt9+GJEn4wQ9+gG3btmHJkiWYN28efvWrXwEAbrrpJpSVleH555+PhaMPPvgAv/nNb/DSSy/h2muvjb3fRRddhJkzZ2LZsmUJ+1v7wx/+gDlz5nSpjK1rrHrq4MGDAMLNcK2dcMIJqKmpgWEYA7oJkijVGI6IqN+bO3cuJEmKbU+ZMgWVlZWYO3dubJ+iKDjrrLOwZs2a2L5ly5YhJycHl156Kaqrq2P7J0+ejMzMTLz//vudhqMZM2agoqIiyZ+mc83NzQDa73/l9Xpj5zAcEfUehiMi6vfi+94AQE5ODgCgtLS0zf74vkRbt25FfX09hgwZ0u77Hj58uNOfe8IJJ7Rbg9ObMjIyAISb9FoLhUIJ5xBR72A4IqJ+T1GULu+Pb95yXRdDhgzBSy+91O71x+rr1NzcjPr6+i6VsaudrY8lGsaizWvxDh48iPz8fNYaEfUyhiMi6lPxzWO9bcyYMfj73/+O8847r0e1La+88kqf9zkaNmwYioqKsHr16jbHPvnkE5x++ulJ+TlE1DGGIyLqU36/HwD6ZITsb33rW/jlL3+JRx55BI8++mjCMdu20djY2GYgynip6HMEAFdeeSVefPFF7N27N9Z0uHz5cmzZsgV33XVXn5eHaLBhOCKiPjV58mQAwP3334+rr74amqbhX//1X2OhKZkuuOACzJs3D4sXL8a6deswffp0aJqGrVu3YtmyZVi6dCn+7d/+rcPrk93n6JlnnkFdXR0OHDgAAPjzn/+Mffv2AQgPVxDtS3Xfffdh2bJluOiii3DHHXegsbERS5YswcSJE7tck0VEPcdwRER96uyzz8YjjzyCZ599Fu+88w5c18XOnTt7JRwBwLPPPovJkyfjv/7rv3DfffdBVVWUlZXhu9/9Ls4777xe+Zkdefzxx7F79+7Y9uuvv47XX38dAPDd7343oaP5ihUrMH/+fCxcuBC6ruOyyy7DE088wf5GRH1AEslqKCciIiIaADh9CBEREVEchiMiIiKiOAxHRERERHEYjoiIiIjiMBwRERERxWE4IiIiIorDcY66yXVdHDhwAFlZWX06DQIRERH1nBACDQ0NGDp0KGS587ohhqNuOnDgQJuZwImIiCg97N27F8OHD+/0HIajbsrKygIQvrnZ2dkpLg0RERF1RSAQQGlpaex7vDMMR90UbUrLzs5mOCIiIkozXekSww7ZRERERHEYjoiIiIjiMBwRERERxWE4IiIiIorDcEREREQUh+GIiIiIKA7DEREREVEchiMiIiKiOAxHRERERHEGbTj6xS9+gbKyMni9XkyZMgWffPJJqotERERE/cCgDEevvPIK5s+fj4ceegiffvopTjvtNMyYMQOHDx9OddGIiIgoxQZlOHryySdx4403Ys6cOZgwYQKeffZZ+Hw+PP/886kuGhEREaXYoJt41jRNrFmzBvfee29snyzLuOSSS1BZWdnmfMMwYBhGbDsQCPRKuRpqQlj7v7uh6ApUTYaiyVAji6K12qfLUFQlvNZk1L/8/0FqrIfqUaHqCmSPDknTIWkaJF3HysOVCLjNkPTwPlnXIXs8kLWWteL1QtE9UHUvZI8XqicDmscLVfNAkzWostrxevmPoSrRbR2SogGyCihqeC1HtmUFiB6TtfC2rMbtU1rOVeKOy63fL+762LWR6wepRsPGY+9sgqbIUBUJuiJDlWVoavS1BE2VoUX2qbIMTZGhKVLiNXH7tMh1utrqekWCIktdmryRiCgdDbpwVF1dDcdxUFxcnLC/uLgYmzZtanP+4sWL8fDDD/d6uZrqDHyxYn8Prx6bsCW5NmTXguJakF0LsnNOeB3Zh/jFaYbkBgDXgnAtOJH9tmPBdS2YwoKACQEbLiy4UnQxYcs2XMmEI9uwZBuOAtgqYCuAKws4CuAqgJAja0XAVQQgA0IBIAsgsi3JkbUiICkCsiQgyYCsCMiygCIDiuxCVgRUGVAhoEFAA6AKAU0IaALQJBmarEKVZGiSDF1SoUkKNFmFJqlQFQ26pEGLhDlF0SDJWiRkaZEAFr/d0TE18ZyE7dbvEd3WI++nhxdVb3mtaIDiCa97EDoaQzZ+V7m7h78/PaNHQlXrkKUpiSEs8bz2AlniMVWWWwJZwvnh1+2FOE2RkKEr8GlqeK0ryNAUyDIDHBF136ALR9117733Yv78+bHtQCCA0tLSpP8cX46Os75eBtty4VgubMuBbbpwbDeyTty2LSdyngvHsOGKli8BIatwZBUOMpJezs6Eg1hLCNNj4cyCbCUek1stitNqO/54O9fBtSAkC7Zsw46EMksBmpTw2lYASwUsRYq8dmDLDmzVgBU9RwWsSFATCuAqAiIuuAlVtIQ2WUBSIuFNDi+KLCBHApwqCyhSOKxpIhzc9GhgEwKqiGxHjwsBXbScGw13uhBQpXBw0xQVuuKBokRq4xS91aIBqgdQdORDwdulJiyosKDBggILGkyhwIQGE2r4tVAREioMocAUCkKuAsNV0SwUGEJF0JFhuAqCropmV0azI6PZCW+H31uFBQUCMkzHhekAgNOnv2fd4dVk+HQVGVo4MPl0JRKeIiFKi+5TWx1XkKG13qe2vNYUqMqg7JVANCgMunBUWFgIRVFw6NChhP2HDh1CSUlJm/M9Hg88Hk+vlyu7IANTvjG6x9e7rkgMVdHgFN0X99qxogGr1T7LhW06cEwHtmHDNh3Ypp34frYL2xZwbAHHAYSIK4OswZW1JNyN7pEds1WwsiG7JmTXhuyY0Fwbnmi4CnUUzFquUaLXtgpoiaHOhgTRpixWXDhrCWjh14YCNKqArUjh89S4kKa0fi3FXtuKCyEbcBUDUEQkvCFc8xYJcJICyJHQJke2VVlAk6JBrCWoaRDIEALZAtAhoEsCKgR0CGgqIueGr9FFuGZOR6tAJynhmjdZB2QNQtHgynrkdyC8diQNTmRtR5boawsaLEmFHQlulqTCFCpMocGEAkNoMBDeZ0TCXMhVEYqsm10FIaGg2VHQ7KgIujICpow6S0aT1fLfJWS5CFlmr/ze6YocC1I+XUGmR4U/uugK/B41YV+mR4kci+5ruSbTo8KjymyqJOonBl040nUdkydPxvLlyzFr1iwAgOu6WL58OW699dbUFu44yLIE2aNA8/RtvxvHcWNhK1yrFR/E2oavlmDmdH5ONKhFa8psNxzaIscTQpmiw1X0Pv3cACDFarPsSECLC2Xt1JApjgXdteF1TciWDdmIhjGrzfXhgBZ+b6XVsZZQJkWWjjlSOITZkfCV8DoWxiQE44OZ2rr2DbBUCZYKmNF9KmBGm1AjTaZCMQHFBJSmcI1bXHBTpbgaMiASvBKDmy4EPLFQJpAZ99oTWyNhn6fVOaoCQJUBxQOhaBBxgS0+qMUHMxNaOJhBRchVwjVrroKgqyDoamhyVDQ6KhocFQFbRUhoCEFHSOgwQhqMkI4QNByFjv0i/NqADgvKMf/7xFNkqU3IyvSEa6wyI2HK71GRqbcEKp8nLoS1Oo9hi6jnBl04AoD58+fjhhtuwFlnnYVzzjkHTz/9NJqamjBnzpxUFy3tKIoMRZGhe/vuZwohwjVlkdqvYwUrx44PcE5c2Gobuux2AlvsfSwXrtuSyoSswU5BTZkkbCjChhQNVtFw5ZiRGq5orVnc67i14lhQXRu6a0I2WtWUOa3DWTjUScLuxtc80Dq4uWgJVdEAZsZtm6oUC2OmCgSjASwS2sz4gNbqfcLXA5YmwVZErHZNUgQkFYAioMkGdBFqE8BioQuR0CUJeCCgywIeScAvC+QpLUFMiwS06HVe4SJDCHhcAW8k+LV8Zhm27IEl6TAlHSbCwSkkdISEhqDQ0ORqCLpqeB90GLaGkK0j1KjDQDiEGdBgCB2HI6ErFAlgIegIwoNm4Q2voUPEPYCsthu21HYDWGc1Wv7INQxbNJgMynD07W9/G0eOHMGDDz6IqqoqnH766XjnnXfadNKm/kmSJCiKBCVDht633argOm47NWNtA1qb5spYrVlkX1zgCh9z2g1mthUOcQmhTFJhSyogA1affXIBBS5kOFBgQxZ2XNNjOJTJjgHFNiHbRmxp6Utmtqpls+CLNnN2OZC1bcbsGgmOJMHUwiHKiKxjiyZF1uHtJhWojZ3Tcl38OeH3iBzTACNyzFUEZCUctjxCIEO48AoBryvgFSa8wohsh/dnREKX1w2/zo07FlvcuPOEiwxXQEX7dVJB4UEQnsjai2bXg2DQg2DQm7A/HKo8aIIXR+NeN0fOaYIXzZH3aoYHBjSoshwXmOIDVWITYjSAJe5rG8A86uB9upT6P0kI0dO/OINSIBBATk4O6uvrkZ2dneri0CDRaShLqAlr3ecsLnR1WlMWty/uvNT+dQh3clckFwqcuGDmhIOWiPQFc0xIcYFMtpohm+FFiXXoN2PNl0pCU6fZEvDc7taOdSxamxUNVEYkUBm6BEMDQhoQ0iP7NCCkSwjFXiN2jqFJLdt6S7BTIMEbCUwZrguvcOFzBXxCwO+6LWtXwB85Ft3vc134I/v9bvh6fySIdfT5bSHHglKT8KIJXjQKHxqQEV6ED42t1uH9GWiEDw0ifF4jfHAjtVuaIsUCU7SJMDMuQMUCVYd9uBJrwXSVHeSpc935/h6UNUdE6UZWwo/Eo6+bLx3R0kzZqgYsGqwSmjDjHgpo8+RlB8fi+6HZlhtXQSTBERIcIaPNn6poq50MIGktm5EwJrvhWjLJgSJsKMKBIhKbLxXbCAcyMwTZCkE2g+FA5kaaMp2WMOazLWSaZiyIRdeJHfq7nkJdAEZcgAqHJjkxSEWCVpMOVOsSmj1Asw4EPUCzR2p5rQPNHsBRJMgC8APIiAQrv+PC5zrhMBUXtnwiiGy3Edmui2zHRZHrhl9HFs8xPkqj8LYEKTsDDVYGGpoSg1UdMlErsrAdWagVWagRWahBFgx03LdQV+Rj1mj5E/pwtQSw+H5d0WMan0Yc1BiOiKhdkiRBUSUoqgxPRt/8qWg3kLXq7B89Fg5ckX1m4nGnnXPbBLFISBNuSwd3R0hwnA6+FCWE/2KqAJLwAKssuVAkF6rkhGvDhB0OYbEAFoJshWvCJLMZstUcaaY0W9auhUzbRI4Z19/MMaG44TCmOAYkuMcsi6kCwVh4igYoGUGPHAtQQY+EutjraNiS0JwBNGSE90GS4IGEbMjIdhEJUDaybRPZth0XokxkOyFkuy6Gui7yHQe5rnvMKRtCkgf1UjbqIoGp2s1EtZuJGpGFWmShNpSFmlA4UG0TBQjA3+P/Proqt1tjlbgvsbkwvrZLV2SMKcpEhs7mw3TEcERE/UYqApnjuC2d++OCVKwp0nLaBCon+jru3Fg4M+OOmU7c/nDIi3KFDFfIsFr/GVYiS5IewIw2RyrCjgUm2Q5BsZohWyEojhHZb0J2DaiOiVzLQIFhQakzwmHLMSKBK/Hc+KZIRwIaI0EpvJbQENv24GCGB1t8Lfsbs4BGb7jWCgBUyBiieFEkaRjiShjiOCiyDAwJBTGkuT782jZR7B5BMY5EP1ynk2A1e4tRkzkWhzPG4KBnFPaoZdgtDUfAVtFo2Ggy7PDatNFkOGgybBiR/0am7cK0XdQGe96z74QcL1bcfRGb/NIQwxERDWqKIvdZ5/7YeGRtglR4bUVqyyyzVSBr7/wOtq3IdrSlLtxIqMCSPIDqT1rNFwBAuLFaKjkWnMJByuOY8FkGhoYMKNXhMBUNVuGQFT7Pkk2ENAPNmokmr4lAhoF6n4maDBs7MoF6v4x6fz7qsoEmL+BTMzBEy0KJmomRSgZGQMNIR2CEaWB4qAlasAZoqgaC1cgIHcKw0CEMw4c4I1pmSQYKxgInzQDOvhHIG5nwkSzHRdBw0GjGhSejJTw1meF9B+tC+MeWw9hb09zh7RlZ4IOm8Am/dMQO2d3EDtlE1N8JIWIhyzIc2EY0cEW2TTeyDm9bpgPbaAlWdmRfR+e6dh98bQg3HKTcxODlSgYcyYQtm7AUE4ZqIKSZCOommjIsSNkeeArzkJ+bi2JVQhksjDZqkF2/FVrNemhGFRRYkVl6JGDc14GL7gNKTu20OHVBEx/vrMHHO2rw8c6j+PJgoM0DC2UFPkwZVYBzx+RjyqgCDM3t48dpqVPd+f5mOOomhiMiGuxcx43VdLUEJ7dVqIqEqbjjVnzwCtmwghaskBULYbYt4Lh9UdMioMomdBGEKoegKRa0YSdD8+pQ9fBguq4i4UiziQONBnbXN+NgYwgGAEsSsCTAkoAhuV6cMjIXp4/Kw9ljCjCsyA+FTWj9FsNRL2I4IiLqPa4r2glZLszGEMyjdQjVBGDWNsAMBGE2NMNsCsEKmrBCFkzDgW0JuJIKR/bAUTxwFB2OosNVPH0yvZEsS1AjsxVEF1WXW7Z1pZ3jSsJxzRvdJ0PzqOHrdQUSJ1I+LnyUn4iI0pIsS9AzVOhtOuTnADj2QL1CCLhNTbAPH4Z9+AjsI4fRcGAPjuzdgoaD+2BW10GuN+BtkqEKDxxZjwSocJhyFT0SrPS4cOWBo2dAeLPgenxwVG94n6TCEQpsV4Yb6WvvugJmsw2z2U76vYkPWQmByhMOVLpHbXntbXmteRToXgWaJ3EfA1fHGI6IiGjAkCQJSmYmlMxMeEaHJ/POAZATsrBiyxGs2n4UH+84iu3VtRimrMdt8nPYb+nYbuQjJxREXqNAXiPC6zogrxHI6MLcxa4kxwKWyMwF8odA5BUC2fkQWblw/TkQGVlwNB9czQtb0cOTM0OFbaNNU6QV7QNmOLGfEX0KsrkhSWPjSwjXVHUUqDyRQBUXsDx+DV6fBm+mBo9fhdevQfMoA25qGYYjIiIakA4FQqj48hDe/fIQKrdXw3JaepFIko6v56i4uimAYH4pQj/4EJLShA1HN2BTzSZ8VLMJm2s2Y3dgNzyGi7xGILcpHJpymoDcJoGCZhXFIQ/ymmVkNTrw1IegGc2AUQcc3dXlckpeL5Tc3FZLDpRhuZBzcoGsXLiZORC+7HDtldcPW/XANkVLkAo5MA079jq8tmGG4sJWyIYZeQ0BQCB2DIGe32dZleD1aeHgFAlMsSVTg8enwpupJe73a1C0/ts/i32Ouol9joiI+ichBLYebowFos/21iUcH13ox4XjhuDc0fk4Z1Q+co0DwM8nA64NzHgUOP07QEZuwjVBK4itdVuxuWYzNtVsws76ndjbsBeHg4chWo9sLgR8BpDTBOQHZZTZuSi1s1DYrCK3SUJmkwNvkw290YDSEIQUaAQcBz0iy1Cys6Hk5MQClZydDSUrE3JWNpTsLMhZWVCystpsS1lZcKHCMhyYITsWpsyQnRC2rEjYigYss9mGEbQRarJiy/E8uajqcixAZWRqGHtWMcafWwK5l0YnZ4fsXsRwRETUfziuwJrdtaj4sgrvfnkIu48GY8ckCTijNBeXTijBpROKMXZIZts3+PMdwJoXwq9VLzD+X4DTrwVGXwjIHY9ubTgG9jfux76GfdjbsDe2jr423S60xQmBDAM4wcnEMCcbxbYPRaYX+aaGHENBZrOAL+jA22hBbWiG1NAEUVcPt6mpezepHZLHAzk7C0pWNuSsTCixANU6YLWznZ0FyRuey8g23XBQarQQCobXRpOFUFNLiDJiYcqObXeUPPJKfDh31hiMOq0w6U11DEe9iOGIiCi1mk0HK7cewbtfHsJ7mw6jpqkliOiqjK+MLcSlE4px8clDMCTrGBMS2ibwyXPAupeAw1+27Nd84cEiC0+KLCcCReOA/DGA1vl7usLFkeAR7G3Yi/2N+1ETqsHR5qM4Gjoae10TqkFNqAaO6F7NkSqpyFOyUOz4McTKQIGlI9/QkBtSkGkq8BuALyTgDTnQgha0oAG5KQSpqRmioRFuQ0O3fl5HJI8HSl4elLw8qHnRpsC82D4lsk/Na9nnSBqa6g0E6w3UHAyi5kATag42ouZAU5t+VGd9vQxTvjE6KWWNYjjqRQxHRER972ijgeUbD+PdLw/hg21HELJapmLJydBw8fghuHRCMc4/qQh+Tw+60woBHFgLrHsZ+GIZEKrr4EQpPKp2fGjKHg5kFQOZxYCvEJC71izkChcBI4CjoaOxwJTwutW+kBPq/ueKo0gKstVMFIlMFDl+5Dse5Nse5Joask0FmaYcC1e+kIAn5EBtMiAaGuE0NMANBOA0NkI4Tqzzua14Y0/v2YoXtpoBU8+GqWfD0HNgerJh6jkw9Gw4atcHxTznX0fh7MtGHdfnbY3hqBcxHBER9Y2d1U2o+LIKFV8ewurdtQlNMcNyMzD9lGJcOqEYZ5flQ0tmPxXHBmp3AdVbEpcjWwCjvvNrJQXwF0XCUgmQOQTIKgkHp+gSDVJa90bQDlpBBMwA6o16BMwAGswGBMwAAkYgvI4uRtvXtuNAczzQHS80xxP32gu91Xb8cd3xwiv88Lo+6K4Hiq1DthQAPWvykh0DHjMA3aiHx6yHbtbDYwTCazOAUU/8GPmnnQSvP/ljUnGcIyIiSkuW4+LFVbvwyj/3YuvhxoRjpwzNxvRI/6GTT8jqvcfHFRUoHBte8PWW/UIATUeAI5sjgWkrcHQr0FAVXoJHAeEAjVXhBZ91/nM8ObGgJHJGwh5xIezh02CpOZE5+FqmfUmca88HxfTCbxbAY7rINx1Y0bn1ok+uRZ9Ui3S4tuNq2pLFhQtLCcGWDdiyASgWFMWFqlkozS3AyJx8eBUbXikEvbkW6tH9EIf2wzl6ENbBg3BqaxPeTxs+HCVnjoHs7f3BOo+F4YiIiPqFNbtrcP8b67GpKtwvRpUlTBmdj+kTSnDJhGIMS8FcZa4rWk3w64ctnwY7dyJsnwO7pCW0WCETdlMD7MYG2MEm2M1B2M0GbMOEbdiwTBeOLWDZEmxXhy102MIDW+hwYrMBf9lpeY6XLAOq6kJRXMiSBQkWJGFAEiHAbQbsICSnGbCaIFlNEKEGSGYDdMuAxwzBa4bgNQx4jRAyDBNqF9qeXADHahDUR47EiN//DrL3GH3E+gjDERERpVRd0MTP3tmMP3yyBwCQ59OwYPo4/OukocjxtV+L0Ca0xGpW4ibQbXMscb/Vwf5wCArX3Dh2T2tcFABZkaWbVwoTCszwWlhQZAFFlqDIMmThQnYNSHYovFghyFYIshWEYoagmM3QQkGoTgiKHQqvHQOqHYLihCB3swN4V7kS4HpUuLoG4dHhzcyBJyMTUkYGZK8XUoYXsiey9mZAzvBC8nghZ3ghZ2Yha/qlUPPyeqVsPcFwRERESdM6tFidhBTLcPD57lqs3HQElungUqFhbL4fJxdmQl5dh/crjyYGGdOBY4Wbmo5nfJ2eCocUF6rkQpZcqMKGDBuKsCA7FmTHhOwYkJ0QZMuIhJZmyEYQitEM2WqG4liQXROKa0FxzPBrx4Qc27YgtR4/6TjYMmBoQKMnvDY1wFABR1fhelQIjw54PJC9HkgZGVAzfFAz/NB8mdB9mfD6c+DNzIHPnwtfVh4yM/Oh+7PCgcebEbtO0rQBNUo2wxER0SAgXAHbblujktCnpfU+w470WbFhG3ZLrUrsfDdcw2IL2JaAbYvYHGPdcTpkAJEO1VUG9lYZ3bpeds3IYkFxTchOJGg4BhTHhJoQPsyEgCI7ZuQas+XauO3oubJrJzW0mGo4pIQ0wPBEQosGmKoEU5Mir8PnxB+LBhxLFVC9Pij+LGgZmfD4s+DxZ8Pjz4YvMxf+zDz4M/OR5ctFtp6NHE82srVsZHuykallQulkDCdiOCIiSiohBGBZELbdslg2YIf32aYBxzJhmyHYlgHHMGCGTFiGCbPZgmVYsZGJLcuJdcx1IuHDscMDOjuOBMeR4LoyXEeGK2Q4rgIhFDhQIIQKF5FFUiGkPu7kKtwuhA+rZR2pQYkei4aZhGva1LZEQ0v3uVK4VsVRAEdueW3KgK0Bjrdlv60CRuvQEquFkWK1MS0hJnyNrQo4KuCoAo4Wfn+hAq4qoABQIaCI8FoTQLbrIksA2QLIFhKyIaMEMrKhIltSkC2pyJY1ZEsafNnDIV3+LODlU9O9geGIiFLOdV04thkOC6YBKxIcbDO87VgGbMuAa5pwbBOOacKxDTimCdc04domHMuCsCy4tglh2XBtE65lQVg2RCSYCMsGnGhYiS5O3NqB5ETWtg04gHBkCKECbjhwQKgQQkP4z6cGAQ1C0iAkPbZ2FB2OrMNVNLhy4nZ4rcetNUDSAejJuZlSq3U75LgalMTgEh9UrIQQokSOwTUBmIAILwImBCwImHBhQkgmXMmEI9lwZcBRpHDwiAsfriwgZMDVANcLCBkQEuAqApAAEVuH90MW4YqlVmtJAiRZQFJkQAFkWYakyJBlCZIqQ5JlqIoS3qcqkBUFihpZFBWKrEKVVahSeB3dzpA1KIoW2adDlTWoigZF1qCoOjTZEz6u6FAUD1RFh6p6wq9VDxRZh6TqgKyFn3yTNUDR2tlW4/ZrnY7ITX2L4YiI+tyLa36NwruXYugRB6oDqN1siok2wvRGXUh1/inYOP67sFU/RF9/WQkbkmtCEiYkYUGKBBAJVjiMoGWRYAKSCcAAJAuQTEgwwvskE7Icfi1JBiTZhCQbkGUTkE0oCiApEmQ5GiQUyIoEJRIklIQgoUJWNaiKAkXVoCkaFFmFImtQlcxwgJDUcFCQNWiqBkXWoSg6VFmHquoI2Qr+vqkGn+5rhAMVGV4vZk0uwxllhZCU9kJE69CgdhAutC4PuEjUHQxHRNTn9h3djlOrHXitY5/b10LefFh63zRVSLDhkRqQIQeQIdfDIwehSQZUxYamCqi6DE2XoOoKNI8K1atD8/qg+vKhZfig+n3Q/H6o/qzw2qtBVvVj11b0UcdZ1xX4wz/34GfLNyEQsiFJwPXnjsSCGeOQ3Q/GsiHqCEfI7iaOkE10/IQQ2H1wI0IHD8A2mmGFgrBDQdhGCI4RCq9DzXBNI7YII9ysJkwLME3AtADLAiwbkmVDNm1IlgPZdiBbDhTbhWK54bUjoFoCqiOg2YByjL96IU8eLM0PJ9Ik5iqeWNOYo+hwFE9Lc5miw5E94Say2DmeWNNZ9HxIfVTDISzIkZolWbJii6LYUGQHiuJCUV1oOqBpEjSPDM2rwpOhw5PhgTczA96sLPiysuDJzITqy4CW6Yfq80PNyOjyjOkbDwZw3xtfYO2eOgDAqcOy8ejlEzFpeG7vfXaiTnCEbCLq1yRJQtnQCcDQCX3+s4UQsMwQQs2NMI0mmM1NsEJBmM2NsCJBzTVDEM1BuEYzXDMExzDgGCG4hgFhGoDRCMkyoRgmFNOCMM1wSDMtSJYNGDZky4ZshYOaZDuQHAmyo0FyNUjQIAkdstAB2QNH1uIClQeOorUbwMJBrSWAOYoeOycWviQNLjQAfjgAICJLt58ia4wsiaTIk2Hhpr/wIgsTkmRFmvosCGFis68Ra7OmIdOjYsH0k3DduSOhJnOKD6JexHBERIOKJEnQPRnQPRkAilJdHNi2BSMW0ppghBphNgfDtWmxWrVmOGYIdigIx6iBbYTCNWqGAWE0w2kOwTUsuIYLYQkIC3Dt8KNWriMDbqQTuasCQgOgQ0AHEO1I7oGQNQjJ01JTFgls0e0oIYfD2bGMbarC18pL8NC/noKSnP4x6jFRVzEcERGlkKpqUNVc+P25qS4KXNeFbYQQCjXADDXBDDXBag7CbGpAKFALo6ERZmMTrGAzzKAJK2TDCdkIhWwcrbdgGkCGkwkz43wI2YNffXdyqj8SUY8wHBEREYDwo/B6hg96hq9L59uOixdW7cKTFVsQzHGgyhIWZH8J7OrdchL1NoYjIiLqtk/31OL+N9Zj48EAAODssjz85PKJqP37QazeldqyER0vhiMiIuqy+mYLj72zCS9/sgdCALk+Dfd+bTyumlwKWZbwcaoLSJQEDEdERHRMQgi89dkBPPKXjahuDM99duWZw3Hf18ejINNzjKuJ0gvDERERJWgIWdhVHcTOo03YVd2EndVN2FTVEGtCG1Pkx49nTUT5mIIUl5SodzAcERENQkHTDgeg6ibsOhoOQLsir6sbzXav0VUZt100FjddMBoelfOA0cDFcERENECFLAe7j7YEoGgt0K6jTTgUMDq9tjDTg1GFPpQV+DGqyI9RBX6cMSKPYxbRoMBwRESUxkzbxZ6aYKzWpyUIBXGgvhmdTRCV59NQVhgOPqMK/eHXhX6MLPAhi3Of0SDGcERE1M/Zjot9tc2xPkC7qpuw82gQO6sbsb+2GW4nASjLq4aDTyQAxUJQgR85PgYgovYwHBER9QOOK3Cgrjmu+SscfnYdDWJvTRB2JwnIpyttw0+kSSzfr0OSpD78JETpj+GIiKiPuK7AoYZQpPNzOPzsrA5i19Em7DkahOl0PDusR5VRVuBHWaEPowozW/oDFfpRlOVhACJKIoYjIqIkEkLgSKOBXdXhfkA74p4C23W0CSGr4wCkKzJK8zPaNH+VFfpRku2FLDMAEfUFhiMiom4SQqA2aMUef99Z3RTrD7T7aBCNht3htYosoTQvI9b5Ob4/0NDcDCgMQEQpx3BERNSB+mYrVuuz40ji4/CBUMcBSJKAYbkZbcJPWaEfw/MyoClyH34KIuouhiMiGtQaDbvlMfgjLTVAu44GUdPU/mCIUSfkeBPGAYp2hC7N93GQRKI0xnBERANeyHLaPgUWmR7jSEPngyEWZXkiwSeuI3ShHyPz/cjQGYCIBiKGIyIaEAzbwd6aYPjpr1YdoQ/Whzq9Nt+vo6wgMfyURWqCMj38M0k02PD/eiJKG1ZkMMRYJ+i4UaEP1HU+GGJ2ZDDE+JGgowEoJ4ODIRJRC4YjIupXooMh7mynI/Te2mY4nSQgv66Ea30K/RgdF35GFfqR59M4FhARdQnDERH1OdcVqAqEItNghDtCR2uA9tY0dzoYoleLDIZYEBeCCsN9gooyORgiER0/hiMi6hVCCBxpMFpqgKJ9gKqD2F1z7MEQRxSER4AeXeSPGxnaj+IsDoZIRL2L4YiIekwIgZomM1LrE/cUWHUTdh9tQpPpdHitKksozfe12xGagyESUSoxHBHRMdUHrdj4P607Qjd0MhiiLAHD8jLanRF+GAdDJKJ+iuGIiAC0DIYYCz9xU2LUBq1Orx2a4223I3RpfgYHQySitMNwRDSINJtxgyEmdIQOorqx88EQh2R5EjtAR2qDRhb44NUYgIho4GA4IhpgQlZ0MMTE5q9d1UFUBTofDLHAr7eZELWsMNwx2s/BEIlokOBfO6I0ZDku9tYEW40DFA5EB+qbIToZDDEnQ4v0+/ElBqFCP7K9HAyRiIjhiKifclyB/bXN7XaE3neMwRAzPWpc52dfrD/QqAI/8vx6H34KIqL0kzbh6Cc/+Qn++te/Yt26ddB1HXV1dW3O2bNnD77//e/j/fffR2ZmJm644QYsXrwYqtryMf/xj39g/vz52LBhA0pLS/HAAw9g9uzZffdBiOK4rsDB6GCIrTpC760JwnI6DkAZmhKbBT5+JOiyAj8KM3UOhkhE1ENpE45M08RVV12F8vJy/Pd//3eb447j4LLLLkNJSQlWrVqFgwcP4vrrr4emaXj00UcBADt37sRll12Gm2++GS+99BKWL1+Of//3f8cJJ5yAGTNm9PVHokFCCIHD0cEQW9UA7T4ahGF3MhiiKqMsMhjiqFYdoYuzORo0EVFvSJtw9PDDDwMAXnjhhXaPv/vuu/jyyy/x97//HcXFxTj99NPxyCOP4J577sGiRYug6zqeffZZjBo1Ck888QQA4OSTT8YHH3yAp556iuGIjosQAkebzDazwe+sDmL30SYEOxkMUVPCgyGOKvAnNH+NKvLjhGyOBk1E1NfSJhwdS2VlJSZOnIji4uLYvhkzZuD73/8+NmzYgDPOOAOVlZW45JJLEq6bMWMG7rzzzg7f1zAMGEbLI86BQCDpZaf09tqafXj4zxsQ6GQwREWWMDxuMMSyAh9GFWViVIEfQ3O9UDkYIhFRvzFgwlFVVVVCMAIQ266qqur0nEAggObmZmRkZLR538WLF8dqrYja89ZnBxAI2ZAkYGhORqT5K25KjAI/huf5oKsMQERE6SCl4WjhwoX42c9+1uk5GzduxPjx4/uoRG3de++9mD9/fmw7EAigtLQ0ZeWh/uuxKyfhqrP4u0FElO5SGo4WLFhwzCfFRo8e3aX3KikpwSeffJKw79ChQ7Fj0XV0X/w52dnZ7dYaAYDH44HH4+lSGWhwk9k5mohoQEhpOCoqKkJRUVFS3qu8vBw/+clPcPjwYQwZMgQAUFFRgezsbEyYMCF2zttvv51wXUVFBcrLy5NSBiIiIkp/adMJYs+ePVi3bh327NkDx3Gwbt06rFu3Do2NjQCA6dOnY8KECbjuuuvw2Wef4X//93/xwAMP4JZbbonV/Nx8883YsWMHfvjDH2LTpk345S9/iVdffRV33XVXKj8aERER9SNp0yH7wQcfxIsvvhjbPuOMMwAA77//Pi688EIoioK//OUv+P73v4/y8nL4/X7ccMMN+NGPfhS7ZtSoUfjrX/+Ku+66C0uXLsXw4cPxm9/8ho/xExERUUzahKMXXnihwzGOokaOHNmm2ay1Cy+8EGvXrk1iyYiIiGggSZtmNSIiIqK+wHBEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKw3BEREREFIfhiIiIiCgOwxERERFRHIYjIiIiojgMR0RERERxGI6IiIiI4jAcEREREcVhOCIiIiKKkxbhaNeuXZg7dy5GjRqFjIwMjBkzBg899BBM00w47/PPP8e0adPg9XpRWlqKxx57rM17LVu2DOPHj4fX68XEiRPx9ttv99XHICIiojSQFuFo06ZNcF0X//Vf/4UNGzbgqaeewrPPPov77rsvdk4gEMD06dMxcuRIrFmzBkuWLMGiRYvw3HPPxc5ZtWoVrrnmGsydOxdr167FrFmzMGvWLKxfvz4VH4uIiIj6ITXVBeiKmTNnYubMmbHt0aNHY/PmzfjVr36Fxx9/HADw0ksvwTRNPP/889B1HaeccgrWrVuHJ598EjfddBMAYOnSpZg5cybuvvtuAMAjjzyCiooKPPPMM3j22Wfb/dmGYcAwjNh2IBDorY9JRERE/UBa1By1p76+Hvn5+bHtyspKnH/+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xD3CL0lSiktDREQDEcMRpZUPolOGsEmNiIh6CcMRpY3DgRA2VTVAkoDzxjIcERFR72A4orQRrTU6ZWg28v16iktDREQDFcMRpY1of6OvjOWUIURE1HsYjigtCCFiNUfns78RERH1IoYjSgtbDjXicIMBryZjclleqotDREQDGMMRpYWVW8NThpwzqgAeVUlxaYiIaCBjOKK0sDI6vhGfUiMiol7GcET9nmE7+HjnUQAc34iIiHofwxH1e2t21yJkuSjM9GB8SVaqi0NERAMcwxH1ey1ThhRyyhAiIup1DEfU762MjW/EJjUiIup9DEfUr9U2mVh/oB4A+xsREVHfYDiifu3D7dUQAhhXnIXibG+qi0NERIMAwxH1a7EpQ1hrREREfYThiPotIURLfyOGIyIi6iMMR9Rv7axuwv66ZuiKjCmj8lNdHCIiGiQYjqjfik40O3lkHny6muLSEBHRYMFwRP3W/21hkxoREfU9hiPqlyzHxUc7wlOGTGM4IiKiPsRwRP3SZ3vr0GjYyPNpOGVoTqqLQ0REg0jahSPDMHD66adDkiSsW7cu4djnn3+OadOmwev1orS0FI899lib65ctW4bx48fD6/Vi4sSJePvtt/uo5NQd0afUpo4thCJzyhAiIuo7aReOfvjDH2Lo0KFt9gcCAUyfPh0jR47EmjVrsGTJEixatAjPPfdc7JxVq1bhmmuuwdy5c7F27VrMmjULs2bNwvr16/vyI1AXrNx6BAAwjVOGEBFRH0urcPS3v/0N7777Lh5//PE2x1566SWYponnn38ep5xyCq6++mrcfvvtePLJJ2PnLF26FDNnzsTdd9+Nk08+GY888gjOPPNMPPPMM335MegYAiELn+3jlCFERJQaaROODh06hBtvvBG///3v4fP52hyvrKzE+eefD13XY/tmzJiBzZs3o7a2NnbOJZdcknDdjBkzUFlZ2eHPNQwDgUAgYaHeVbn9KBxXYHShH8Pz2v63JiIi6k1pEY6EEJg9ezZuvvlmnHXWWe2eU1VVheLi4oR90e2qqqpOz4keb8/ixYuRk5MTW0pLS4/no1AXRJvUWGtERESpkNJwtHDhQkiS1OmyadMm/PznP0dDQwPuvffePi/jvffei/r6+tiyd+/ePi/DYBObT439jYiIKAVSOuzwggULMHv27E7PGT16NN577z1UVlbC4/Ek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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "import numpy as np\n", - "import xarray as xr\n", - "\n", - "# Read the CSV file\n", - "csv_path = \"/home/sarah/temp/ecoextreml/test/output/ZA-Kru_2023-09-06-1228/Sim_Temp.csv\"\n", - "\n", - "# Read the CSV file\n", - "df = pd.read_csv(csv_path, header=None)\n", - "\n", - "# Get the first row as depths\n", - "depths = df.iloc[0].values\n", - "\n", - "# Get the rest of the data as soil_temperature\n", - "soil_temperature = df.iloc[3:].values\n", - "soil_temperature = soil_temperature.astype(float)\n", - "\n", - "# Create a time index\n", - "time = np.arange(1, len(df)-2)\n", - "\n", - "# Create the xarray DataArray\n", - "da_t = xr.DataArray(\n", - " data=soil_temperature,\n", - " dims=(\"time\", \"depth\"),\n", - " coords={\"time\": time, \"depth\": depths},\n", - ")\n", - "da_t['depth'] = da_t['depth'].astype(float) * -1\n", - "\n", - "da_t.isel(time=0).plot(y=\"depth\")\n", - "da_t.isel(time=1).plot(y=\"depth\")\n", - "da_t.isel(time=2).plot(y=\"depth\")\n", - "da_t.isel(time=3).plot(y=\"depth\")\n", - "da_t.isel(time=9).plot(y=\"depth\")\n", - "# da_t.isel(time=19).plot(y=\"depth\")" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 5, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkcAAAGzCAYAAAAlqLNlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/TGe4hAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9oUlEQVR4nO3de3gV1aH//8/MviYhNyQQLuGqhaogiqc09AfqkRJan1pq9aC0Kpgq9XgHrSAeRG3FiqhUq4it1fah9dL6tdZjqUi1p5V4QUEFBQVjQSHcAtm57svs9fsjyWY2CZiEkJ2Q9+t55pmZNWtm1ixH83HN7L0tY4wRAAAAJEl2qhsAAADQmRCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AdGqDBw/W9OnTU90MAN0I4QhAyq1evVoLFizQ/v37U92UDrVhwwZdcMEFGjp0qNLT09WrVy9NmDBBf/nLX1LdNKBb86a6AQCwevVq3X777Zo+fbpycnKStm3atEm2fWz+f9y///1vVVZW6tJLL1W/fv1UU1OjP/3pTzr33HP16KOP6oorrkh1E4FuyeKHZwGk2r333qubbrpJpaWlGjx4cKqbk1KO42jMmDGqq6vTxo0bU90coFs6Nv93DECXsWDBAt10002SpCFDhsiyLFmWpc8++0xS03eOnnjiCVmWpX/961+69tprlZeXp5ycHM2cOVORSET79+/XJZdcotzcXOXm5uonP/mJDv5/wHg8rgceeEAnnXSSgsGg+vTpo5kzZ2rfvn0dddmH5PF4VFBQ0O0eMQKdCY/VAKTUeeedp48//lh/+MMfdP/996tXr16SpLy8vMPud8011yg/P1+333673njjDS1btkw5OTlavXq1Bg4cqLvuuksvvfSSFi1apJNPPlmXXHJJYt+ZM2fqiSee0IwZM3TttdeqtLRUDz30kNauXavXX39dPp/vkOcNh8OqrKxs0bU1XsuXqa6uVm1trSoqKvTCCy/or3/9q6ZOndqifQEcBQYAUmzRokVGkiktLW2ybdCgQebSSy9NrP/mN78xkkxRUZGJx+OJ8sLCQmNZlvnxj3+cKIvFYmbAgAHmjDPOSJT985//NJLM8uXLk86zYsWKZssP1nj+lkwtNXPmzMQ+tm2b888/35SXl7d4fwDti5EjAF1ScXGxLMtKrI8dO1YlJSUqLi5OlHk8Hp1++ul65513EmXPPvussrOz9c1vflN79uxJlI8ZM0Y9evTQq6++qmnTph3yvEVFRVq5cmW7Xsv111+v888/X9u3b9czzzwjx3EUiUTa9RwAWo5wBKBLGjhwYNJ6dna2JKmgoKBJuftdok8++UQVFRXq3bt3s8fdtWvXYc/bt29f9e3bty1NPqQRI0ZoxIgRkqRLLrlEkyZN0ne+8x29+eabSQEQQMcgHAHokjweT4vLjeuF7Hg8rt69e2v58uXN7v9l7zo1vhvUEvn5+S2qd7Dzzz9fM2fO1Mcff6zhw4e36RgA2o5wBCDlOnJ0ZNiwYXrllVf0jW98Q2lpaa3e/+mnn9aMGTNaVNe08ZtSamtrJanFIQxA+yIcAUi5jIwMSeqQj6//13/9lx5++GHdeeeduuuuu5K2xWIxVVVVNfkiSrf2fOdo165dTR7vRaNR/fa3v1VaWppOPPHEdjkPgNYhHAFIuTFjxkiS5s2bpwsvvFA+n0/f+c53EqGpPZ1xxhmaOXOmFi5cqHXr1mnSpEny+Xz65JNP9Oyzz2rJkiU6//zzD7l/e75zNHPmTIVCIU2YMEH9+/dXWVmZli9fro0bN2rx4sXq0aNHu5wHQOsQjgCk3H/8x3/ozjvv1NKlS7VixQrF43GVlpYelXAkSUuXLtWYMWP06KOP6pZbbpHX69XgwYP1wx/+UN/4xjeOyjmbM3XqVP3617/WI488or179yozM1NjxozRz3/+c5177rkd1g4Ayfj5EAAAABd+PgQAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC58z1ErxeNxbd++XZmZmfwgJAAAXYQxRpWVlerXr59s+/BjQ4SjVtq+fXuTX/0GAABdw7Zt2zRgwIDD1iEctVJmZqak+s7NyspKcWsAAEBLhEIhFRQUJP6OHw7hqJUaH6VlZWURjgAA6GJa8koML2QDAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALh023D0y1/+UoMHD1YwGNTYsWP11ltvpbpJAACgE+iW4ejpp5/WrFmzdNttt+ndd9/VKaecoqKiIu3atSvVTQMAACnWLcPRfffdp8svv1wzZszQiSeeqKVLlyo9PV2PP/54qpsGAABSrNuFo0gkonfeeUcTJ05MlNm2rYkTJ6qkpKRJ/XA4rFAolDQBXYUxRh/s/kC3l9yulf9e2bRCaIe0Yq709q+bbHrj0726/S8b9Ny7n3dASwGg8/CmugEdbc+ePXIcR3369Ekq79OnjzZu3Nik/sKFC3X77bd3VPOANok6UZXXlWtv3V5tDW3V5v2btWX/Fm0s36jPq+rDzdbyj/VNO0fa/ZG0c4NUtl76/G3JCUs98qVTf6iY5dPe6oi276/VZU+8rZqIo3NG9tV5pw1I7QUCQAfqduGotebOnatZs2Yl1kOhkAoKClLYInQHxhhVRitVXlsfeMrrylVeW54IQOXVZdpbs7u+PFyhkFN7yGMF4kYTa2r0/R0rpbdfbLJ9k/8kPWGm6uW7/qHy2qiMSd6ek+5r78sDgE6t24WjXr16yePxaOfOnUnlO3fuVH5+fpP6gUBAgUCgo5qHLiAajyocC6suVqdwOKS6SEjVdSHV1FWqJlypmnCVaiPVqo1WqzZSo7pYrcLRWtU5dQo7YYWdOoXjEUXiEUXiUUVMTGETU0QxRYyjOsVVYcUUs1rXLo8xynXi6heL6fhoVMMiUR0fjerkcFhZcaOw8Wm7eurTeF99ZAZpY3yg1pvB2lRXIMmSFJUk2ZZ0XI+ATi3I0ZRT++ubJ/Y57HkB4FjT7cKR3+/XmDFjtGrVKk2ZMkWSFI/HtWrVKl199dWpbRxaLOrEVRd1VBetn4djjsJ1dQrXVKm6dp+qaspVU1eumnCF6iIVqotUqi5WpXCsWhGnWtF4naKmTlETUdREFVVMMRNTzIopKkdRxRWx4opaRlHLKGIZRSwpbEmO1crU0hLWQfMGPeJx9XQc9XTiOs5xEss9HUfpjlfeWECWkyEnlqk6J0vlyla5yVS5svSqydKfTKb2Kkv7TKZ8aZnKywyqV4+A8jLrp+9lBpTnWs/LDCg33S+PfRSuEQC6iG4XjiRp1qxZuvTSS3X66afra1/7mh544AFVV1drxowZqW5alxaJxVUdjqkqHFN1JKbaSEN4iTkKRx2Fw3VyaisVrwvJCVcrHq5SJBxSJFqhcCykSKxSMadKUadGMVOnmKlRTGHFTEQxK1IfYOyYopajqOUoYhuFbaOwZVRrW6q1LdVYlsyXhRdbbfgoQvPHDMbjChjTMEn+uOQ3ks9Y8hlLXmPLZ2x5jEdeY8srrzzGK698suWVR355LZ88ll8eKyiPHZDXSlO63UPp3mx5PRkyvoDkC0regORLUyxwnCLBnnL8Qfk8dv3ktZVpW+rZsOzzWPJ7bPm9tnr1COi4Hn4FvJ7WXjQAdEvdMhxNnTpVu3fv1vz581VWVqbRo0drxYoVTV7S7g4isXh9mAnHVFlXH2qq6uoDTk1trSI1FYrWhBStCSkerlSsrlLR8H7FovsVc0KKxasUN1WKm1oZu06ywjJ2VI4nKseKKeZxFLbjCltx1dqWqm1L1batastWjW0dGIXxNEwtZulQgaVRWtwoaKSgsRQ0tgLGVlAeBeRTwPLJb/kUsPzy2n75rYD8Hr98nqACnqD8njT5vWkKeNMV8KUr6OuhoL9+SgtkKT2YqbRgtryBdHn9Afn9Qfm8Hvk8try2JZuRFwDosixjDn79EocTCoWUnZ2tiooKZWVlpbo5SWojjvZUhVVeHdHe6rD2VEVUXlmrmoo9Cof2KFq9V6Z6rzyRffI4e2WZffJaIXm81bLsGhlPnSKeqOo8cdXacVV6LFXYtkK2nQg1LRqZaYM0Y9VP8igor4KWV2m2X2l2QEFPQOmeNKX70pXhT1eGr4cyg9nqEcxUVlq2MoK5Sg/kKD2Yo/S045QeyFbQlybb6nbfVAEAOITW/P3uliNHXY0TN9q+v1af7a1W6Z5q7dhfq3BFmbwVWxWs2qYeddtlRfco5tmnmLdKEV+taj1hRT0x1XochWxbFR5bFT5bFT1tVdr2IQKOJcnfojbZRkqXrXTLqwzbp3Q7oB7eoDJ9acrwZTRMmcoIZCkjkKOMYLbS03qqR9pxyghkK92Xrh6+HsrwZSjNS5ABAHQehKNOZG9VWP/3yW7tCoW1s6JOgbK35C3frHj1XmVYu1WdvkNpngpleapV7pN2eDzakenV9lyvKj0Hhwuvvuwfb7o8yvYEle1NV7a/h7L92coO5ig7kKvstJ7KTstTVkZvZQVzEkGmMdQEPAFZR+PFZAAAUoxw1EnsrQprzE9fSazf4P2jrvM+J0kK+Sx9Y1DjdyvZkjJbdEyPLPXxZqlPsLf6ZfTVgMz+GpgzSANyBqtf9lBlB3MU9AQJOQAAuBCOOomgz6PBx6Xrs701kqTPTa/ENr+Rhkai+tTfui/jc2S0PVah7VUVWlv1ibSzaR3bGGXEjRzboxrL6PyvnK/5X59PYAIAdFu8kN1KHfFCdiQWV00kppqIo5q6sGqrKxWuqVCkOqTqmn2qrt2tmrp9qgvvV210v8LRSoWdakWcGkVNrcImrKjCilgxRayY6qz6T4zV2VKNLdXYtqoP8WJ1mjdNr/3Xa0r3pR+VawMAIBV4IbuL83tt+b1+5aRLUpqkHElH9pMlxhiFY3HVhKOqqapUbfU+lZZ9IfOPK3Rj/2Ci3qPffJRgBADo1ghH3YRlWQr6PAr6POrZIygpT/0GDNUjJemS4hqZMVBPfu95+Tz8jhYAoHvj89PdWEbAq5hd/9F9T8wQjAAAEOGo28u3j5ckrQtv02PvP6aKcEWKWwQAQGoRjrq59AHf1X/v2y9J+sXaX2jC0xM07X+n6Rfv/kJvl72tiBNJbQMBAOhgfFqtlTrzz4e0xepPdqvitxdqZ+4mPZeVqVJf8mtoad40jew1Uj2DPZXhy1APXw/18PdImmf4MpTpz0ya8/1JAIDOhE+rocVOG9xTX7dnadG+xXoh9I7KPB69kRZMTHtVq7fK3mr1cb2WVxn+hjB1UID60oDly1SGP0Pp3nT5PX5+WgQA0KEIR91c0OfRgimjdeXT12my87bOytymUWabJld8qsDuL/SJz6ePAn5V2ZYqbVvVlq0q21KV16cqj1dVtkdVDT9MWyWjKsvISIqZmCrCFe3yDpPH8shn++onj6/5Zde63/bL5/HJa3ubbG/cllTuPtbhttk++T3+Zrd5bS8hDgCOEYQjaMqp/VW6p1pLVnn1YkVhQ6lRb+3XGPO5zkzbqTH+z9U/vEU9qkplmfghjxWXVGtZqrIbQpRtq9q2VWlZ9fOG9cZtjfXqQ9eB8hr7QNBwjCPHcVTn1EnRo9sXR6K5MOZedwcrr8fbJIQlBa9DBL/GZa/tldfy1s8bpy9bb6bMY3l4/AkAB+Gdo1Y61t45ctsVqtPabfu1btt+rd26T+9/XqGaiJNUx6eYeqhG6QorzQorTZGG5Tr1sKLK8UWU7Ykq0xNVpieiHnZEPayw0q2I0q2I0lSngAkrYOoUMHXyxcPyObXyOrXyOLWJ8ziqD1kxy1LEshS1pKgsRRuXrfrliCzFXOvJ9SxFGrcpeb8m65alqA5at+yGc9dPscTx6yfnGMkUzQWmxuXGUbGDyxPbLZ88tueIA9rB5zpkueVNnC9R7iprXCfwAThYa/5+E45a6VgORweLOXF9vLNKa7ft09qt+7WtvEa1UUfV4ZhqI46qI45qI44izqFHklrDUlwBRZWusNKtsIIKJ5ZzvDHl+KLK9kSU6YkpyxNRDzusHlZEaVZEQVOnYEPw8puIPIrJK0deE5XHOPKYqDwmJtvE6ufxqKyGuR1v23CUIzUTqtxh7OBAlhy+Is0Fvmb3OygQWlJMlpyGeWNoa1x2GoJcLFHWMJdkuklmaAxgidDkCmQ+29ds0Ds4tB08muf3+Osn16PZxnW/x5/0WNdd12t7k9YTx/T4CHJAByIcHUXdKRy1VNSJ1/8OXOPvwYUblqOu5YiTXKdhXh12VBuN1c8jjqojscS8Lto+oevLGXnlyKeYfA1zrxz5rAPrPjkK2I6CtqN0T1xBO64021HQE1fQdhSw4wpa9fOAFVPAjstvxeS3GueO/A3H9VuxxPnqA1ysPsw1BDePicqjmOx4/boVj8puDHSJKSY5kcM+4myOI7lCU31gahKk3OWussYweGCf+mUnKZw11j1wzKjrmM5Bx4xKitm2HMtWzLIbjmsfOH5SwNOBuaSYjGKqf8etq7JktTpwtTisud6zO1y95ury/hyORXxaDR3K57GVnWYrO619v2HbiRvVRhuCVLj5cFUTcRSOxRV14oq45pFm140iTlzRhvWD6zbWr4vFFXVM0xExp2HqRO892YrLp/rwleGNK+gxyvDUB7i0RIiLK+hxEoEu0DhZ8Ya5Ux/eGsOcYvI3BEO/YspoCG5exeRVVF7XSFz9PCo7HksEODseORDinGh9iGsIc4qFpXaOM42Bz1HyCFpjWaxhhO5A8GsYdWsIbO7A57iWo5YUaXysqwOPdyO2p2GyFbU8itp2op77MWxEUsQyikiKyigqo4iM3HeVkVHYCSvshDvVfeW1vC0Ka4kPObjCmnvE7eCwdnC5z+MqO8wxG0fgGGVDRyEcodPy2JZ6BLzqEfBKmR1/fmNMIiRF3SHqkEHMNKw7isaMwu4g1ljvoCDWuF+TgHeIcx04R/2f2LhsheVX2EiVjS9DdTKWJfk9dv0PKntsBT1GaZ54fZiz4/VBznaU5qkfmUtrHIlrGKkLWAcCXMB2EuHNnxjdc434mZg8isoTj8lrogqahlE3U19mm2hiBC5pJM6JyopHJKcx0NWHOjnhdu+PmOQKUQ0BTAeCVeN7csmBS4mA5i5L7KNmyhL17IYglxzg6sNbwzt0B2WOmIkpFoupVrXNXEHqNAlWrvmXBTB34DrcPgFPQEFvUGnetMSU7k1XmjdNQW+QUbVugnAEHIJlWfJ7Lfm9thRIdWuSNQa3JqNfTnLICrsD1WFG1qJOXOHDBLHm9k0+V3Ld5LZK4Vh9W5qyJHkaps7Ba1vyeiz5bFteWwp4VB/YPE79KJztKGg5B43CNUx2TAE58tuOAo2jb5bTMLrXGOTcj28bR+Wi8iqmdOMo00QbHrEeGJ2zXe/HNQY822kMdTFZjaN1bfxGe6P6kJQUnpoLaWo+uLlH15ICXQv3r//wQ+MI3IF3+Q7+0EM0HlU0HlW1qo/sH/IRcIcmd3BKTL62bSd4dS6EI6ALcge3jE4Y3GLx5EAWdo2IRWNGEcdJPOb8stAWicUbRuFMYlTOPQqX2LdhORY3ijlG0XhcMcco5sQVjdfPY05922Lx+kDXnPrtRnU6OMzZDVNn/s9m0/fn/FZM6YlHq/WPV4OWk1gPWPVhz58IefWPaQOJ0TnnwGNWKyafosqUI5+JyWu5Hrma+tE6r2LyxOuDnTcerl+OR+SJR2THww3zlg1xOlJSYEoOYa6yxrAl96jcgXruOvX7H1SWqGcrYntUa1mqte36uSXVuUJabaxWtbGjM6KW5gm6AlT6EQUv9zaCV+t15n/LAXRBlmXJ57Hk83S+4OZmjJHTEISiBwWnWMOoXJNtTcrqQ5YTN65gVl/m3uYOaI3b3Md0h7eo6zwHzpd8bqex7KC2OnE1jkcdeCBmdOB9uU7CUsO7bYopoKj8iipgNcyT1pO31y/HFLSiCloxpdsxBRqWA1b9cpai8lv1+zXu62ucm/pln4nIZ6LymojsFrwDF5dUZ1mqsS3VWrZqLEu1tpUcomxLNZZ9oNy9bB+0j2tbnes73WqdOtU6dVJ4X7v3eZrlU5rHpzQ7oDSPX+netIYwFlSaN11pvsYpQ+n+TKX5eigtkFm/rRsGL8IRgG7Jsuofn3k99d8UfyxoHLU71MjZ4YLcocPaocNh4zanmbImwdFV1uR8jlFNPK6QK+g1bosf1Y8j1o+0JQJYQ7BqXA4khbTIgbBmHQhefsWSgl2mouplRRVwBbv6OpFmw6BPUcUtR1FP/OgGLxNVbSwqqabdezHNm6b8jHwdn3O8js85XsNyhun4nOM1MGugfHb7flCno/BR/lbio/wA0HHicXfQq19uNnB9ybZY/OCypqNyB0bimtZrLkweHOSaC6XNtac5tuINQaoxlB0UyBIjYs2HtAP7RBPHCdpR+bwx2Z6obE9UsmMydkyOFZVjO4pajqJWTGHFFbYchRVXnUyrg9eheC2PBmf01/E9v6Lje45IBKeCzAJ57I7/HxI+yg8AOCbYtqWA7VHgGPlr5X6c21zgCsfiqonEVBWOqaoupupITFXh+i/frQ7HVFlXP6+OxFR+cHmkfjkpgLX6HX2THMgUU7pVp/72Pp3i36dB9l4NsPeoj3Yr2+xR0OxVxIprm8+rzT6fNvt92uLzaYvfpxpb2ly1VZurtkpbX0mcwS9bQwO5GpYxQMfnnqDje4/WsPzT1D+zf6d5RMfIUSsxcgQA6MzCsfov2K2qqw9Z1Q1hq7ohcNUvO4nyqobA1Vi3OuwkQlht9PAvq1mKK08VGmDtVj9rr/pbe9TP2qO+1m4FfOWq9VdoeyCuLT6fPvH7VerzHnLUKRg36uf41Ndk6ryRV2rS1y9q135h5AgAgG4q4PUo4PWoZ4b/iI/lxE1iRModrBJhK3wgeFWHY9oTdvTvg8pVW6Gsip3KjZZpkvYoy79dln+XagMVKvfX6Qu/UanPpzrb0qd2TJ9qnyreX9Tu4ag1CEcAAKBZHttSVtCnrKBPyj6yYxljVBeNNwlWNTU1iuzfqvLy9Vpb9v+0IvCFIin+eCXhCAAAHHWWZSnN71Ga36O8TPf3fBwnqUDSN1Tzwnat2Pdcilp4QOd48wkAAKCTIBwBAAC4EI4AAABcCEcAAKBTcNr448ntjXAEAABS7t/bP9b/2/sXSVKO0lPaFsIRAABIqf2VezT7xQv0hc9SXiyuGyc+lNL2EI4AAEDKxGJRzfrDOdoUiKuHE9dto+/SV4eOSWmbCEcAACBlbnriHL0dqJHPGN1QMFNnjPluqptEOAIAAKnx099dold8OyRJl2VO1n9989oUt6ge4QgAAHS4R5+/Rc8470qSztOJuvr796a4RQcQjgAAQIfavHW9Htv3goxl6cxIL932w9+nuklJCEcAAKBDbfh0tcK2peNicS265H9lezypblISwhEAAEiJgLEUDKT2O42aQzgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgEuXCUc/+9nPNG7cOKWnpysnJ6fZOlu3btU555yj9PR09e7dWzfddJNisVhSnddee02nnXaaAoGAjj/+eD3xxBNHv/EAAKDL6DLhKBKJ6IILLtCVV17Z7HbHcXTOOecoEolo9erVevLJJ/XEE09o/vz5iTqlpaU655xzdNZZZ2ndunW6/vrr9aMf/Uh/+9vfOuoyAABAJ+dNdQNa6vbbb5ekQ470vPzyy/rwww/1yiuvqE+fPho9erTuvPNO3XzzzVqwYIH8fr+WLl2qIUOGaPHixZKkr371q/rXv/6l+++/X0VFRR11KQAAoBPrMiNHX6akpEQjR45Unz59EmVFRUUKhULasGFDos7EiROT9isqKlJJSckhjxsOhxUKhZImAABw7DpmwlFZWVlSMJKUWC8rKztsnVAopNra2maPu3DhQmVnZyemgoKCo9B6AADQWaQ0HM2ZM0eWZR122rhxYyqbqLlz56qioiIxbdu2LaXtAQAAR1dK3zmaPXu2pk+fftg6Q4cObdGx8vPz9dZbbyWV7dy5M7Gtcd5Y5q6TlZWltLS0Zo8bCAQUCARa1AYAAND1pTQc5eXlKS8vr12OVVhYqJ/97GfatWuXevfuLUlauXKlsrKydOKJJybqvPTSS0n7rVy5UoWFhe3SBgAA0PV1mXeOtm7dqnXr1mnr1q1yHEfr1q3TunXrVFVVJUmaNGmSTjzxRF188cV677339Le//U233nqrrrrqqsTIz49//GN9+umn+slPfqKNGzfq4Ycf1jPPPKMbbrghlZcGAAA6kS7zUf758+frySefTKyfeuqpkqRXX31VZ555pjwej1588UVdeeWVKiwsVEZGhi699FLdcccdiX2GDBmi//3f/9UNN9ygJUuWaMCAAfrVr37Fx/gBAECCZYwxqW5EVxIKhZSdna2KigplZWWlujkAAHQ5f35tmW7994PqFzX624/Wd8g5W/P3u8s8VgMAAOgIhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC5dIhx99tlnKi4u1pAhQ5SWlqZhw4bptttuUyQSSar3/vvva/z48QoGgyooKNA999zT5FjPPvusRowYoWAwqJEjR+qll17qqMsAAABdQJcIRxs3blQ8Htejjz6qDRs26P7779fSpUt1yy23JOqEQiFNmjRJgwYN0jvvvKNFixZpwYIFWrZsWaLO6tWrddFFF6m4uFhr167VlClTNGXKFK1fvz4VlwUAADohyxhjUt2Itli0aJEeeeQRffrpp5KkRx55RPPmzVNZWZn8fr8kac6cOXr++ee1ceNGSdLUqVNVXV2tF198MXGcr3/96xo9erSWLl3a7HnC4bDC4XBiPRQKqaCgQBUVFcrKyjpalwcAwDHrz68t063/flD9okZ/+1HHDFCEQiFlZ2e36O93lxg5ak5FRYV69uyZWC8pKdGECRMSwUiSioqKtGnTJu3bty9RZ+LEiUnHKSoqUklJySHPs3DhQmVnZyemgoKCdr4SAAC6j0gkrBc/fkKSFDRWahtzCF0yHG3evFkPPvigZs6cmSgrKytTnz59kuo1rpeVlR22TuP25sydO1cVFRWJadu2be11GQAAdCtxx9ENT07SG4FKeY3R9/tflOomNSul4WjOnDmyLOuwU+MjsUZffPGFJk+erAsuuECXX375UW9jIBBQVlZW0gQAAFon7jia/Ztv6f/85bKN0RVZ5+iSb9/y5TumgDeVJ589e7amT59+2DpDhw5NLG/fvl1nnXWWxo0bl/SitSTl5+dr586dSWWN6/n5+Yet07gdAAAcHfN+e55e8e2QJF2adqauPO/nKW7RoaU0HOXl5SkvL69Fdb/44gudddZZGjNmjH7zm9/ItpMHvQoLCzVv3jxFo1H5fD5J0sqVKzV8+HDl5uYm6qxatUrXX399Yr+VK1eqsLCwfS4IAAA0seDJC/WiXf8Bqmne0zVr6kMpbtHhdYl3jr744gudeeaZGjhwoO69917t3r1bZWVlSe8KTZs2TX6/X8XFxdqwYYOefvppLVmyRLNmzUrUue6667RixQotXrxYGzdu1IIFC7RmzRpdffXVqbgsAACOeXcvv0x/0gZJ0nk6UXN/8JsUt+jLpXTkqKVWrlypzZs3a/PmzRowYEDStsZvIsjOztbLL7+sq666SmPGjFGvXr00f/58XXHFFYm648aN0+9//3vdeuutuuWWW3TCCSfo+eef18knn9yh1wMAQHfwmxfv1PLY25KkbzuDdftlT6e4RS3TZb/nKFVa8z0JAAB0ZzOX/X9aHahQYThLS4v/T7bHk7K2dIvvOQIAAJ2bUf34y4C0wSkNRq1FOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4NLmnw/Zv3+/3nrrLe3atUvxeDxp2yWXXHLEDQMAAEiFNoWjv/zlL/rBD36gqqoqZWVlybKsxDbLsghHAACgy2rTY7XZs2frsssuU1VVlfbv3699+/YlpvLy8vZuIwAAQIdpUzj64osvdO211yo9Pb292wMAAJBSbQpHRUVFWrNmTXu3BQAAIOVa/M7RCy+8kFg+55xzdNNNN+nDDz/UyJEj5fP5kuqee+657ddCAACADtTicDRlypQmZXfccUeTMsuy5DjOETUKAAAgVVocjg7+uD4AAMCxqE3vHP32t79VOBxuUh6JRPTb3/72iBsFAACQKm0KRzNmzFBFRUWT8srKSs2YMeOIGwUAAJAqbQpHxpikL35s9Pnnnys7O/uIGwUAAJAqrfqG7FNPPVWWZcmyLJ199tnyeg/s7jiOSktLNXny5HZvJAAAQEdpVThq/MTaunXrVFRUpB49eiS2+f1+DR48WN///vfbtYEAAAAdqVXh6LbbbpMkDR48WFOnTlUwGDwqjQIAAEiVNv3w7KWXXipJWrNmjT766CNJ0oknnqgxY8a0X8sAAABSoE3h6IsvvtCFF16o119/XTk5OZKk/fv3a9y4cXrqqac0YMCA9mwjAABAh2nTp9WKi4sVjUb10Ucfqby8XOXl5froo48Uj8f1ox/9qL3bCAAA0GHaNHL0j3/8Q6tXr9bw4cMTZcOHD9eDDz6o8ePHt1vjAAAAOlqbRo4KCgoUjUablDuOo379+h1xowAAAFKlTeFo0aJFuuaaa7RmzZpE2Zo1a3Tdddfp3nvvbbfGAQAAdLQ2PVabPn26ampqNHbs2MQXQcZiMXm9Xl122WW67LLLEnXLy8vbp6UAAAAdoE3h6IEHHmjnZgAAAHQOR/Q9RwAAAMeaNr1zJElbtmzRrbfeqosuuki7du2SJP31r3/Vhg0b2q1xAAAAHa1N4egf//iHRo4cqTfffFPPPfecqqqqJEnvvfde4idGAAAAuqI2haM5c+bopz/9qVauXCm/358o/8///E+98cYb7dY4AACAjtamcPTBBx/oe9/7XpPy3r17a8+ePUfcKAAAgFRpUzjKycnRjh07mpSvXbtW/fv3P+JGAQAApEqbwtGFF16om2++WWVlZbIsS/F4XK+//rpuvPFGXXLJJe3dRgAAgA7TpnB01113acSIESooKFBVVZVOPPFEjR8/XuPGjdOtt97a3m0EAADoMG36niO/36/HHntM8+fP1wcffKCqqiqdeuqpOuGEE9q7fQAAAB2qxeFo1qxZh93u/pTafffd1/YWAQAApFCLw9HatWuT1t99913FYjENHz5ckvTxxx/L4/FozJgx7dtCAACADtTicPTqq68mlu+77z5lZmbqySefVG5uriRp3759mjFjhsaPH9/+rQQAAOggbXohe/HixVq4cGEiGElSbm6ufvrTn2rx4sXt1jgAAICO1qZwFAqFtHv37iblu3fvVmVl5RE3CgAAIFXaFI6+973vacaMGXruuef0+eef6/PPP9ef/vQnFRcX67zzzmvvNgIAAHSYNn2Uf+nSpbrxxhs1bdo0RaPR+gN5vSouLtaiRYvatYEAAAAdqU3hKD09XQ8//LAWLVqkLVu2SJKGDRumjIyMdm0cAABAR2tTOGqUkZGhUaNGtVdbAAAAUq5N7xwBAAAcqwhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABw6TLh6Nxzz9XAgQMVDAbVt29fXXzxxdq+fXtSnffff1/jx49XMBhUQUGB7rnnnibHefbZZzVixAgFg0GNHDlSL730UkddAgAA6AK6TDg666yz9Mwzz2jTpk3605/+pC1btuj8889PbA+FQpo0aZIGDRqkd955R4sWLdKCBQu0bNmyRJ3Vq1froosuUnFxsdauXaspU6ZoypQpWr9+fSouCQAAdEKWMcakuhFt8cILL2jKlCkKh8Py+Xx65JFHNG/ePJWVlcnv90uS5syZo+eff14bN26UJE2dOlXV1dV68cUXE8f5+te/rtGjR2vp0qUtOm8oFFJ2drYqKiqUlZXV/hcGAMAx4opl31BJIKQL7FGaf/HylLalNX+/u8zIkVt5ebmWL1+ucePGyefzSZJKSko0YcKERDCSpKKiIm3atEn79u1L1Jk4cWLSsYqKilRSUnLIc4XDYYVCoaQJAAAcu7pUOLr55puVkZGh4447Tlu3btWf//znxLaysjL16dMnqX7jellZ2WHrNG5vzsKFC5WdnZ2YCgoK2utyAABAJ5TScDRnzhxZlnXYqfGRmCTddNNNWrt2rV5++WV5PB5dcsklOtpPBefOnauKiorEtG3btqN6PgAAkFreVJ589uzZmj59+mHrDB06NLHcq1cv9erVS1/5ylf01a9+VQUFBXrjjTdUWFio/Px87dy5M2nfxvX8/PzEvLk6jdubEwgEFAgEWnNZAACgC0tpOMrLy1NeXl6b9o3H45Lq3wmSpMLCQs2bN0/RaDTxHtLKlSs1fPhw5ebmJuqsWrVK119/feI4K1euVGFh4RFcBQAAOJZ0iXeO3nzzTT300ENat26d/v3vf+vvf/+7LrroIg0bNiwRbKZNmya/36/i4mJt2LBBTz/9tJYsWaJZs2YljnPddddpxYoVWrx4sTZu3KgFCxZozZo1uvrqq1N1aQAAoJPpEuEoPT1dzz33nM4++2wNHz5cxcXFGjVqlP7xj38kHnllZ2fr5ZdfVmlpqcaMGaPZs2dr/vz5uuKKKxLHGTdunH7/+99r2bJlOuWUU/THP/5Rzz//vE4++eRUXRoAAOhkuuz3HKUK33MEAEDL8D1HAAAAxwDCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALl0uHIXDYY0ePVqWZWndunVJ295//32NHz9ewWBQBQUFuueee5rs/+yzz2rEiBEKBoMaOXKkXnrppQ5qOQAA6Aq6XDj6yU9+on79+jUpD4VCmjRpkgYNGqR33nlHixYt0oIFC7Rs2bJEndWrV+uiiy5ScXGx1q5dqylTpmjKlClav359R14CAADoxLpUOPrrX/+ql19+Wffee2+TbcuXL1ckEtHjjz+uk046SRdeeKGuvfZa3XfffYk6S5Ys0eTJk3XTTTfpq1/9qu68806ddtppeuihhzryMgAAQCfWZcLRzp07dfnll+t3v/ud0tPTm2wvKSnRhAkT5Pf7E2VFRUXatGmT9u3bl6gzceLEpP2KiopUUlJyyPOGw2GFQqGkCQAAHLu6RDgyxmj69On68Y9/rNNPP73ZOmVlZerTp09SWeN6WVnZYes0bm/OwoULlZ2dnZgKCgqO5FIAAEAnl9JwNGfOHFmWddhp48aNevDBB1VZWam5c+d2eBvnzp2rioqKxLRt27YObwMAAOg43lSefPbs2Zo+ffph6wwdOlR///vfVVJSokAgkLTt9NNP1w9+8AM9+eSTys/P186dO5O2N67n5+cn5s3VadzenEAg0OS8AADg2JXScJSXl6e8vLwvrfeLX/xCP/3pTxPr27dvV1FRkZ5++mmNHTtWklRYWKh58+YpGo3K5/NJklauXKnhw4crNzc3UWfVqlW6/vrrE8dauXKlCgsL2/GqAABAV5bScNRSAwcOTFrv0aOHJGnYsGEaMGCAJGnatGm6/fbbVVxcrJtvvlnr16/XkiVLdP/99yf2u+6663TGGWdo8eLFOuecc/TUU09pzZo1SR/3BwAA3VuXeCG7JbKzs/Xyyy+rtLRUY8aM0ezZszV//nxdccUViTrjxo3T73//ey1btkynnHKK/vjHP+r555/XySefnMKWAwCAzqRLjBwdbPDgwTLGNCkfNWqU/vnPfx523wsuuEAXXHDB0WoaAADo4o6ZkSMAAID2QDgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI4AgAAcCEcAQAAuBCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwIRwBAAC4EI4AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAODSZcLR4MGDZVlW0nT33Xcn1Xn//fc1fvx4BYNBFRQU6J577mlynGeffVYjRoxQMBjUyJEj9dJLL3XUJQAAgC6gy4QjSbrjjju0Y8eOxHTNNdcktoVCIU2aNEmDBg3SO++8o0WLFmnBggVatmxZos7q1at10UUXqbi4WGvXrtWUKVM0ZcoUrV+/PhWXAwAAOiFvqhvQGpmZmcrPz2922/LlyxWJRPT444/L7/frpJNO0rp163TffffpiiuukCQtWbJEkydP1k033SRJuvPOO7Vy5Uo99NBDWrp0abPHDYfDCofDifVQKNTOVwUAADqTLjVydPfdd+u4447TqaeeqkWLFikWiyW2lZSUaMKECfL7/YmyoqIibdq0Sfv27UvUmThxYtIxi4qKVFJScshzLly4UNnZ2YmpoKCgna8KAAB0Jl1m5Ojaa6/Vaaedpp49e2r16tWaO3euduzYofvuu0+SVFZWpiFDhiTt06dPn8S23NxclZWVJcrcdcrKyg553rlz52rWrFmJ9VAoREACAKAFTs2boJx9H2jkwPGpbkqrpDQczZkzRz//+c8PW+ejjz7SiBEjkgLKqFGj5Pf7NXPmTC1cuFCBQOCotTEQCBzV4wMAcKy68nsLU92ENklpOJo9e7amT59+2DpDhw5ttnzs2LGKxWL67LPPNHz4cOXn52vnzp1JdRrXG99TOlSdQ73HBAAAup+UhqO8vDzl5eW1ad9169bJtm317t1bklRYWKh58+YpGo3K5/NJklauXKnhw4crNzc3UWfVqlW6/vrrE8dZuXKlCgsLj+xCAADAMaNLvJBdUlKiBx54QO+9954+/fRTLV++XDfccIN++MMfJoLPtGnT5Pf7VVxcrA0bNujpp5/WkiVLkh7HXXfddVqxYoUWL16sjRs3asGCBVqzZo2uvvrqVF0aAADoZCxjjEl1I77Mu+++q//+7//Wxo0bFQ6HNWTIEF188cWaNWtW0vtA77//vq666iq9/fbb6tWrl6655hrdfPPNScd69tlndeutt+qzzz7TCSecoHvuuUff/va3W9yWUCik7OxsVVRUKCsrq92uEQAAHD2t+fvdJcJRZ0I4AgCg62nN3+8u8VgNAACgoxCOAAAAXAhHAAAALoQjAAAAF8IRAACAC+EIAADAhXAEAADgQjgCAABwSelvq3VFjd+ZGQqFUtwSAADQUo1/t1vy3deEo1aqrKyUJBUUFKS4JQAAoLUqKyuVnZ192Dr8fEgrxeNxbd++XZmZmbIsK2XtCIVCKigo0LZt2/gZk1ai79qOvms7+q7t6Lu2o+8OMMaosrJS/fr1k20f/q0iRo5aybZtDRgwINXNSMjKyur2N3xb0XdtR9+1HX3XdvRd29F39b5sxKgRL2QDAAC4EI4AAABcCEddVCAQ0G233aZAIJDqpnQ59F3b0XdtR9+1HX3XdvRd2/BCNgAAgAsjRwAAAC6EIwAAABfCEQAAgAvhCAAAwIVwBAAA4EI46kR++ctfavDgwQoGgxo7dqzeeuutQ9bdsGGDvv/972vw4MGyLEsPPPBAkzoLFiyQZVlJ04gRI47iFaROa/ruscce0/jx45Wbm6vc3FxNnDixSX1jjObPn6++ffsqLS1NEydO1CeffHK0LyMl2rvvpk+f3uS+mzx58tG+jA7Xmn577rnndPrppysnJ0cZGRkaPXq0fve73yXV4Z5rXkv6rrvcc1Lr+s7tqaeekmVZmjJlSlJ5d7rvWsWgU3jqqaeM3+83jz/+uNmwYYO5/PLLTU5Ojtm5c2ez9d966y1z4403mj/84Q8mPz/f3H///U3q3Hbbbeakk04yO3bsSEy7d+8+ylfS8Vrbd9OmTTO//OUvzdq1a81HH31kpk+fbrKzs83nn3+eqHP33Xeb7Oxs8/zzz5v33nvPnHvuuWbIkCGmtra2oy6rQxyNvrv00kvN5MmTk+678vLyjrqkDtHafnv11VfNc889Zz788EOzefNm88ADDxiPx2NWrFiRqMM91/a+6w73nDGt77tGpaWlpn///mb8+PHmu9/9btK27nLftRbhqJP42te+Zq666qrEuuM4pl+/fmbhwoVfuu+gQYMOGY5OOeWUdmxl53QkfWeMMbFYzGRmZponn3zSGGNMPB43+fn5ZtGiRYk6+/fvN4FAwPzhD39o38anWHv3nTH1f6gO/g/wseZI+80YY0499VRz6623GmO4546k74zpHvecMW3ru1gsZsaNG2d+9atfNemn7nTftRaP1TqBSCSid955RxMnTkyU2batiRMnqqSk5IiO/cknn6hfv34aOnSofvCDH2jr1q1H2txOpT36rqamRtFoVD179pQklZaWqqysLOmY2dnZGjt27BH/8+hMjkbfNXrttdfUu3dvDR8+XFdeeaX27t3brm1PpSPtN2OMVq1apU2bNmnChAmSuOeOpO8aHcv3nNT2vrvjjjvUu3dvFRcXN9nWXe67tvCmugGQ9uzZI8dx1KdPn6TyPn36aOPGjW0+7tixY/XEE09o+PDh2rFjh26//XaNHz9e69evV2Zm5pE2u1Noj767+eab1a9fv8R/IMrKyhLHOPiYjduOBUej7yRp8uTJOu+88zRkyBBt2bJFt9xyi771rW+ppKREHo+nXa8hFdrabxUVFerfv7/C4bA8Ho8efvhhffOb35TEPXckfScd+/ec1La++9e//qVf//rXWrduXbPbu8t91xaEo2PYt771rcTyqFGjNHbsWA0aNEjPPPNMs/8X0R3dfffdeuqpp/Taa68pGAymujldyqH67sILL0wsjxw5UqNGjdKwYcP02muv6eyzz05FUzuFzMxMrVu3TlVVVVq1apVmzZqloUOH6swzz0x10zq9L+s77rmmKisrdfHFF+uxxx5Tr169Ut2cLodw1An06tVLHo9HO3fuTCrfuXOn8vPz2+08OTk5+spXvqLNmze32zFT7Uj67t5779Xdd9+tV155RaNGjUqUN+63c+dO9e3bN+mYo0ePbr/Gp9jR6LvmDB06VL169dLmzZuPiT9Ube0327Z1/PHHS5JGjx6tjz76SAsXLtSZZ57JPXcEfdecY+2ek1rfd1u2bNFnn32m73znO4myeDwuSfJ6vdq0aVO3ue/agneOOgG/368xY8Zo1apVibJ4PK5Vq1apsLCw3c5TVVWlLVu2JP1L0NW1te/uuece3XnnnVqxYoVOP/30pG1DhgxRfn5+0jFDoZDefPPNdv3nkWpHo++a8/nnn2vv3r3HzH3XXv++xuNxhcNhSdxzR9J3zTnW7jmp9X03YsQIffDBB1q3bl1iOvfcc3XWWWdp3bp1Kigo6Db3XZuk+o1w1HvqqadMIBAwTzzxhPnwww/NFVdcYXJyckxZWZkxxpiLL77YzJkzJ1E/HA6btWvXmrVr15q+ffuaG2+80axdu9Z88skniTqzZ882r732miktLTWvv/66mThxounVq5fZtWtXh1/f0dTavrv77ruN3+83f/zjH5M++ltZWZlUJycnx/z5z38277//vvnud797TH68tb37rrKy0tx4442mpKTElJaWmldeecWcdtpp5oQTTjB1dXUpucajobX9dtddd5mXX37ZbNmyxXz44Yfm3nvvNV6v1zz22GOJOtxzbeu77nLPGdP6vjtYc5/q6y73XWsRjjqRBx980AwcOND4/X7zta99zbzxxhuJbWeccYa59NJLE+ulpaVGUpPpjDPOSNSZOnWq6du3r/H7/aZ///5m6tSpZvPmzR14RR2nNX03aNCgZvvutttuS9SJx+Pmf/7nf0yfPn1MIBAwZ599ttm0aVMHXlHHac++q6mpMZMmTTJ5eXnG5/OZQYMGmcsvvzzxH+9jSWv6bd68eeb44483wWDQ5ObmmsLCQvPUU08lHY97rl5r+6473XPGtK7vDtZcOOpO911rWMYYk4IBKwAAgE6Jd44AAABcCEcAAAAuhCMAAAAXwhEAAIAL4QgAAMCFcAQAAOBCOAIAAHAhHAEAALgQjgAAAFwIRwAAAC6EIwAAAJf/H0PSdkpRm6mtAAAAAElFTkSuQmCC", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "import numpy as np\n", - "import xarray as xr\n", - "\n", - "# Read the CSV file\n", - "csv_path = \"/home/sarah/temp/ecoextreml/test/output/ZA-Kru_2023-09-06-1228/Sim_Theta.csv\"\n", - "\n", - "# Read the CSV file\n", - "df = pd.read_csv(csv_path, header=None)\n", - "\n", - "# Get the first row as depths\n", - "depths = df.iloc[0].values\n", - "\n", - "# Get the rest of the data as soil_temperature\n", - "soil_sm = df.iloc[3:].values\n", - "soil_sm = soil_sm.astype(float)\n", - "\n", - "# Create a time index\n", - "time = np.arange(1, len(df)-2)\n", - "\n", - "# Create the xarray DataArray\n", - "da_s = xr.DataArray(\n", - " data=soil_sm,\n", - " dims=(\"time\", \"depth\"),\n", - " coords={\"time\": time, \"depth\": depths},\n", - ")\n", - "da_s['depth'] = da_s['depth'].astype(float) * -1\n", - "\n", - "da_s.isel(time=0).plot(y=\"depth\")\n", - "da_s.isel(time=1).plot(y=\"depth\")\n", - "da_s.isel(time=2).plot(y=\"depth\")\n", - "# da_s.isel(time=5).plot(y=\"depth\")\n", - "# da_s.isel(time=9).plot(y=\"depth\")\n", - "# da_s.isel(time=19).plot(y=\"depth\")" - ] - }, - { - "cell_type": "code", - "execution_count": 76, - "metadata": { - "collapsed": true, - "jupyter": { - "outputs_hidden": true - } - }, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - " T0 T1\n", - "0 23.8289 21.4762\n", - "1 24.5803 22.4195\n", - "2 25.3318 23.2396\n", - "3 26.0832 24.5699\n", - "4 26.7287 25.8374\n", - "5 27.3742 26.7958\n", - "6 28.0197 27.5279\n", - "7 28.6652 28.0974\n", - "8 29.3107 28.5115\n", - "9 29.1801 28.6945\n", - "10 29.0495 28.7665\n", - "11 28.9190 28.7765\n", - "12 28.7884 28.7558\n", - "13 28.6578 28.7284\n", - "14 28.5272 28.7156\n", - "15 28.3966 28.7644\n", - "16 28.2661 28.9214\n", - "17 28.1355 29.1866\n", - "18 28.0049 29.0455\n", - "19 27.8743 24.1795\n", - "20 23.0000 23.0000\n", - "21 23.0000 23.0000\n", - "22 23.0000 23.0000\n", - "23 23.0000 23.0000\n", - "24 23.0000 23.0000\n", - "25 23.0000 23.0000\n", - "26 23.0000 23.0000\n", - "27 23.0000 23.0000\n", - "28 23.0000 23.0000\n", - "29 23.0000 23.0000\n", - "30 23.0000 23.0000\n", - "31 23.0000 23.0000\n", - "32 23.0000 23.0000\n", - "33 23.0000 23.0000\n", - "34 23.0000 23.0000\n", - "35 23.0000 23.0000\n", - "36 23.0000 23.0000\n", - "37 23.0000 23.0000\n", - "38 23.0000 23.0000\n", - "39 23.0000 23.0000\n", - "40 23.0000 23.0000\n", - "41 23.0000 23.0000\n", - "42 23.0000 23.0000\n", - "43 23.0000 23.0000\n", - "44 23.0000 23.0000\n", - "45 23.0000 23.0000\n", - "46 23.0000 23.0000\n", - "47 23.0000 23.0000\n", - "48 23.0000 23.0000\n", - "49 23.0000 23.0000\n", - "50 23.0000 23.0000\n", - "51 23.0000 23.0000\n", - "52 23.0000 23.0000\n", - "53 23.0000 23.0000\n" - ] - } - ], - "source": [ - "\n", - "df = pd.DataFrame({'T0': da_t.isel(time=0).values, 'T1': da_t.isel(time=1).values})\n", - "\n", - "print(df)" - ] - }, - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "DE-Seh_2008-2010_FLUXNET2015_Met.nc b'Croplands '\n", - "AU-Gin_2012-2017_OzFlux_Met.nc b'Woody Savannas '\n", - "IT-Col_2007-2014_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", - "US-GLE_2009-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "IT-LMa_2003-2004_LaThuile_Met.nc b'Deciduous Broadleaf Forests '\n", - "AU-Cum_2013-2018_OzFlux_Met.nc b'Evergreen Broadleaf Forests '\n", - "US-Ne2_2002-2012_FLUXNET2015_Met.nc b'Croplands: Lands covered with temporary crops followed by harvest and a bare soil period '\n", - "ZA-Kru_2000-2002_FLUXNET2015_Met.nc b'Savannas '\n", - "FR-Lq1_2004-2006_LaThuile_Met.nc b'Grasslands '\n", - "CA-NS4_2003-2004_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "AU-GWW_2013-2017_OzFlux_Met.nc b'Savannas '\n", - "AU-Stp_2010-2017_OzFlux_Met.nc b'Grasslands '\n", - "US-Twt_2010-2014_FLUXNET2015_Met.nc b'Croplands: Lands covered with temporary crops followed by harvest and a bare soil period '\n", - "US-SRG_2009-2014_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "UK-Ham_2004-2004_LaThuile_Met.nc b'Deciduous Broadleaf Forest '\n", - "IT-Ren_2010-2013_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "CN-Qia_2003-2005_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", - "US-Syv_2002-2008_FLUXNET2015_Met.nc b'Mixed Forests '\n", - "ES-LMa_2004-2006_LaThuile_Met.nc b'Savannas '\n", - "DE-Meh_2004-2006_LaThuile_Met.nc b'Mixed Forests '\n", - "HU-Bug_2003-2006_LaThuile_Met.nc b'Grasslands '\n", - "AU-Lit_2016-2017_OzFlux_Met.nc b'Woody Savannas '\n", - "ZM-Mon_2008-2008_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", - "FR-Gri_2005-2013_FLUXNET2015_Met.nc b'Croplands: Lands covered with temporary crops followed by harvest and a bare soil period '\n", - "PL-wet_2004-2005_LaThuile_Met.nc b'Permanent Wetlands '\n", - "AU-How_2003-2017_OzFlux_Met.nc b'Woody Savannas '\n", - "CA-Qcu_2002-2006_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", - "PT-Mi2_2005-2006_LaThuile_Met.nc b'Grasslands '\n", - "RU-Che_2003-2004_FLUXNET2015_Met.nc b'Permanent Wetlands: Lands with a permanent mixture of water and herbaceous or woody vegetation that cover extensive areas. The vegetation can be present in either salt, brackish, or fresh water '\n", - "IT-Isp_2013-2014_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Consists of broadleaf tree communities with an annual cycle of leaf-on and le'\n", - "DK-Fou_2005-2005_FLUXNET2015_Met.nc b'Croplands '\n", - "US-Cop_2002-2003_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "CA-NS7_2003-2004_FLUXNET2015_Met.nc b'Open Shrublands '\n", - "US-Aud_2003-2005_LaThuile_Met.nc b'Grasslands '\n", - "IT-BCi_2005-2010_FLUXNET2015_Met.nc b'Croplands '\n", - "US-AR1_2010-2012_FLUXNET2015_Met.nc b'Grasslands '\n", - "DE-Geb_2001-2014_FLUXNET2015_Met.nc b'Croplands '\n", - "IT-Cpz_2001-2008_FLUXNET2015_Met.nc b'Evergreen Broadleaf Forests '\n", - "CH-Fru_2007-2014_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "AU-Rig_2011-2016_OzFlux_Met.nc b'Grasslands '\n", - "US-SP3_1999-2004_LaThuile_Met.nc b'Evergreen Broadleaf Forest '\n", - "US-MMS_1999-2014_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Consists of broadleaf tree communities with an annual cycle of leaf-on and le'\n", - "FI-Sod_2008-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "NL-Ca1_2003-2006_LaThuile_Met.nc b'Grasslands '\n", - "DK-ZaH_2000-2013_FLUXNET2015_Met.nc b'Grasslands '\n", - "US-WCr_1999-2006_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", - "AU-Cow_2010-2015_OzFlux_Met.nc b'Evergreen Broadleaf Forest '\n", - "AU-Wrr_2016-2017_OzFlux_Met.nc b'Evergreen Broadleaf Forests '\n", - "US-Ne3_2002-2012_FLUXNET2015_Met.nc b'Croplands '\n", - "AU-Sam_2011-2017_OzFlux_Met.nc b'Grasslands '\n", - "CA-SF2_2003-2005_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "US-UMB_2000-2014_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", - "CA-SF1_2004-2006_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "US-FPe_2000-2006_LaThuile_Met.nc b'Grasslands '\n", - "CA-Qfo_2004-2010_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "DE-Tha_1998-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "US-NR1_1999-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "US-Me4_1996-2000_LaThuile_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", - "CA-NS6_2002-2004_FLUXNET2015_Met.nc b'Open Shrublands '\n", - "US-Bkg_2005-2006_LaThuile_Met.nc b'Grasslands '\n", - "AU-DaP_2009-2012_OzFlux_Met.nc b'Grasslands '\n", - "IT-CA3_2012-2013_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Consists of broadleaf tree communities with an annual cycle of leaf-on and le'\n", - "FR-Pue_2000-2014_FLUXNET2015_Met.nc b'Evergreen Broadleaf Forests '\n", - "US-Wkg_2005-2014_FLUXNET2015_Met.nc b'Grasslands '\n", - "NL-Loo_1997-2013_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "US-SP1_2005-2005_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", - "US-Ne1_2002-2012_FLUXNET2015_Met.nc b'Croplands '\n", - "IT-Noe_2004-2014_FLUXNET2015_Met.nc b'Closed Shrublands: Lands with woody vegetation less than 2 meters tall and with shrub canopy cover >60%. The shrub foliage can be either evergreen or deciduous. '\n", - "US-AR2_2010-2011_FLUXNET2015_Met.nc b'Grasslands '\n", - "AU-DaS_2010-2017_OzFlux_Met.nc b'Savannas '\n", - "AU-Dry_2011-2015_OzFlux_Met.nc b'Savannas '\n", - "US-Ha1_1992-2012_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", - "FR-Hes_1997-2006_LaThuile_Met.nc b'Deciduous Broadleaf Forest '\n", - "IE-Dri_2003-2005_LaThuile_Met.nc b'Grasslands '\n", - "CH-Cha_2006-2014_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "SE-Deg_2002-2005_LaThuile_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "BE-Bra_2004-2014_FLUXNET2015_Met.nc b'Mixed Forests '\n", - "CN-HaM_2002-2003_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "US-SP2_2000-2004_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", - "PT-Esp_2002-2004_LaThuile_Met.nc b'Evergreen Broadleaf Forest '\n", - "DE-Gri_2004-2014_FLUXNET2015_Met.nc b'Grasslands '\n", - "JP-SMF_2003-2006_FLUXNET2015_Met.nc b'Mixed Forests '\n", - "IT-Lav_2005-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "FR-Fon_2005-2013_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", - "US-Me6_2011-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", - "IT-PT1_2003-2004_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", - "CH-Oe1_2002-2008_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "DK-Lva_2005-2006_LaThuile_Met.nc b'Grasslands '\n", - "IT-Non_2002-2002_LaThuile_Met.nc b'Deciduous Broadleaf Forest '\n", - "CN-Du2_2007-2008_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "PT-Mi1_2005-2005_LaThuile_Met.nc b'Evergreen Broadleaf Forest '\n", - "SD-Dem_2005-2009_FLUXNET2015_Met.nc b'Savannas: Lands with herbaceous and other understory systems, and with forest canopy cover between 10-30%. The forest cover height exceeds 2 meters. '\n", - "IT-CA2_2012-2013_FLUXNET2015_Met.nc b'Croplands: Lands covered with temporary crops followed by harvest and a bare soil period '\n", - "CZ-wet_2007-2014_FLUXNET2015_Met.nc b'Permanent Wetlands: Lands with a permanent mixture of water and herbaceous or woody vegetation that cover extensive areas. The vegetation can be present in either salt, brackish, or fresh water '\n", - "UK-PL3_2005-2006_LaThuile_Met.nc b'Mixed Forests '\n", - "NL-Hor_2008-2011_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "CN-Dan_2004-2005_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "ES-ES2_2005-2006_LaThuile_Met.nc b'Croplands '\n", - "IE-Ca1_2004-2006_LaThuile_Met.nc b'Croplands '\n", - "RU-Fyo_2003-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", - "US-Goo_2004-2006_LaThuile_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "IT-SRo_2003-2012_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", - "CA-NS2_2002-2004_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "RU-Zot_2003-2003_LaThuile_Met.nc b'Woody Savannas '\n", - "DE-Obe_2008-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", - "FI-Hyy_1996-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "BE-Vie_1997-2014_FLUXNET2015_Met.nc b'Mixed Forests '\n", - "CA-NS1_2003-2003_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "AT-Neu_2002-2012_FLUXNET2015_Met.nc b'Grasslands '\n", - "US-Me2_2002-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "AU-ASM_2011-2017_OzFlux_Met.nc b'Evergreen Needleleaf Forests '\n", - "AU-Otw_2009-2010_OzFlux_Met.nc b'Grasslands '\n", - "DE-Kli_2005-2014_FLUXNET2015_Met.nc b'Croplands: Lands covered with temporary crops followed by harvest and a bare soil period '\n", - "AU-Ync_2011-2017_OzFlux_Met.nc b'Grasslands '\n", - "US-Los_2000-2008_FLUXNET2015_Met.nc b'Permanent Wetlands '\n", - "DE-Wet_2002-2006_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", - "AU-Ctr_2010-2017_OzFlux_Met.nc b'Evergreen Broadleaf Forest '\n", - "US-MOz_2005-2006_LaThuile_Met.nc b'Deciduous Broadleaf Forest '\n", - "US-Blo_2000-2006_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "ID-Pag_2002-2003_LaThuile_Met.nc b'Evergreen Broadleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees and shrubs remain green year round. Canopy is never without g'\n", - "AU-TTE_2013-2017_OzFlux_Met.nc b'Open Shrublands '\n", - "CN-Cha_2003-2005_FLUXNET2015_Met.nc b'Mixed Forests '\n", - "US-KS2_2003-2006_FLUXNET2015_Met.nc b'Closed Shrublands '\n", - "US-Whs_2008-2014_FLUXNET2015_Met.nc b'Open Shrublands: Lands with woody vegetation less than 2 meters tall and with shrub canopy cover between 10-60%. The shrub foliage can be either evergreen or deciduous. '\n", - "ES-ES1_1999-2006_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", - "DE-Hai_2000-2012_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", - "BR-Sa3_2001-2003_FLUXNET2015_Met.nc b'Evergreen Broadleaf Forests '\n", - "US-Bo1_1997-2006_LaThuile_Met.nc b'Croplands '\n", - "DK-Ris_2004-2005_LaThuile_Met.nc b'Croplands '\n", - "ES-VDA_2004-2004_LaThuile_Met.nc b'Grasslands '\n", - "US-Prr_2011-2013_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", - "CN-Cng_2008-2009_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "IT-Amp_2003-2006_LaThuile_Met.nc b'Grasslands '\n", - "US-ARM_2003-2012_FLUXNET2015_Met.nc b'Croplands '\n", - "CH-Dav_1997-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "US-Tw4_2014-2014_FLUXNET2015_Met.nc b'Permanent Wetlands: Lands with a permanent mixture of water and herbaceous or woody vegetation that cover extensive areas. The vegetation can be present in either salt, brackish, or fresh water '\n", - "CA-NS5_2003-2004_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "US-Myb_2011-2014_FLUXNET2015_Met.nc b'Permanent Wetlands '\n", - "IT-CA1_2012-2013_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", - "US-PFa_1995-2014_FLUXNET2015_Met.nc b'Mixed Forests '\n", - "IT-Mal_2003-2003_LaThuile_Met.nc b'Grasslands '\n", - "AR-SLu_2010-2010_FLUXNET2015_Met.nc b'Mixed Forests '\n", - "AU-Cpr_2011-2017_OzFlux_Met.nc b'Savannas '\n", - "GF-Guy_2004-2014_FLUXNET2015_Met.nc b'Evergreen Broadleaf Forests '\n", - "BW-Ma1_2000-2000_LaThuile_Met.nc b'Savannas '\n", - "US-Var_2001-2014_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "US-Bar_2005-2005_LaThuile_Met.nc b'Mixed Forests '\n", - "FR-LBr_2003-2008_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests '\n", - "BE-Lon_2005-2014_FLUXNET2015_Met.nc b'Croplands '\n", - "AU-Rob_2014-2017_OzFlux_Met.nc b'Evergreen Broadleaf Forests '\n", - "IT-SR2_2013-2014_FLUXNET2015_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", - "ES-LgS_2007-2007_FLUXNET2015_Met.nc b'Open Shrublands '\n", - "FI-Lom_2007-2009_FLUXNET2015_Met.nc b'Permanent Wetlands: Lands with a permanent mixture of water and herbaceous or woody vegetation that cover extensive areas. The vegetation can be present in either salt, brackish, or fresh water '\n", - "IT-Ro1_2002-2006_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", - "AU-Emr_2012-2013_OzFlux_Met.nc b'Grasslands '\n", - "IT-MBo_2003-2012_FLUXNET2015_Met.nc b'Grasslands: Lands with herbaceous types of cover. Tree and shrub cover is less than 10%. Permanent wetlands lands with a permanent mixture of water and herbaceous or woody vegetation. The vegetation c'\n", - "CN-Din_2003-2005_FLUXNET2015_Met.nc b'Evergreen Broadleaf Forests '\n", - "DE-Bay_1997-1999_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", - "UK-Gri_2000-2001_LaThuile_Met.nc b'Evergreen Needleleaf Forest '\n", - "DE-SfN_2013-2014_FLUXNET2015_Met.nc b'Permanent Wetlands '\n", - "US-Ho1_1996-2004_LaThuile_Met.nc b'Evergreen Needleleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Almost all trees remain green all year. Canopy is never without green foliage'\n", - "DK-Sor_1997-2014_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests '\n", - "FI-Kaa_2000-2002_LaThuile_Met.nc b'Permanent Wetlands '\n", - "US-SRM_2004-2014_FLUXNET2015_Met.nc b'Woody Savannas '\n", - "US-Ton_2001-2014_FLUXNET2015_Met.nc b'Woody Savannas '\n", - "FR-Lq2_2004-2006_LaThuile_Met.nc b'Grasslands '\n", - "IT-Ro2_2002-2008_FLUXNET2015_Met.nc b'Deciduous Broadleaf Forests: Lands dominated by woody vegetation with a percent cover >60% and height exceeding 2 meters. Consists of broadleaf tree communities with an annual cycle of leaf-on and le'\n", - "AU-Whr_2015-2016_OzFlux_Met.nc b'Evergreen Broadleaf Forests '\n", - "CA-SF3_2003-2005_FLUXNET2015_Met.nc b'Open Shrublands '\n", - "AU-Tum_2002-2017_OzFlux_Met.nc b'Evergreen Broadleaf Forests '\n" - ] - } - ], - "source": [ - "import xarray as xr\n", - "from pathlib import Path\n", - "\n", - "# Specify the directory\n", - "dir_path = Path('/home/sarah/temp/ecoextreml/data/forcing/plumber2_data')\n", - "\n", - "# Loop over the files in the directory\n", - "for file_path in dir_path.iterdir():\n", - " \n", - " ds_forcing = xr.open_dataset(file_path)\n", - " print(file_path.name, ds_forcing[\"IGBP_veg_long\"].values)" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "[]" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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SpJyc3OVmpqqjh07BsesX79e06dPD26Xm5ur9PT0pjkgAADQ6rWKa4727t2rYcOGqXv37nr00Ud14MABeb3ekGuFxo8fL4/Ho6ysLG3dulWrVq3S0qVLlZ2dHRxz5513au3atVq8eLEKCgq0cOFCbdy4UbfffrsThwUAAMKQo2eO6is3N1c7duzQjh071K1bt5C+6jsRJCQkaN26dbrtttuUlpamTp06af78+br55puDYwcPHqwXX3xR8+bN0z333KMLLrhAr7/+ui655JIWPR4AABC+Wu19jpzSkPskAACA+uM+RwAAAGGIcAQAAGAgHAEAABgIRwAAAAbCEQAAgIFwBAAAYCAcAQAAGAhHAAAABsIRAACAodG3njx8+LA+/vhj7d+/X4FAIKRvwoQJZ1wYAACAExoVjt58801df/31OnLkiOLj42VZVrDPsizCEQAAaLUa9bbajBkzdNNNN+nIkSM6fPiwDh06FFyKioqaukYAAIAW06hwtHfvXk2bNk2xsbFNXQ8AAICjGhWOMjIytHHjxqauBQAAwHH1vubojTfeCD6/+uqrNXPmTH3++efq37+/IiMjQ8Zec801TVchAABAC6p3OMrMzKzRdt9999VosyxLfr//jIoCAABwSr3D0akf1wcAADgbNeqaoxdeeEGlpaU12svKyvTCCy+ccVEAAABOaVQ4mjx5soqLi2u0l5SUaPLkyWdcFAAAgFMaFY5s2w658WO1b7/9VgkJCWdcFAAAgFMadIfsyy+/XJZlybIs/fSnP1VExMnN/X6/du7cqVGjRjV5kQAAAC2lQeGo+hNr+fn5ysjIULt27YJ9Ho9HPXv21L/92781aYEAAAAtqUHhaMGCBZKknj17auzYsYqOjm6WogAAAJzSqC+enThxoiRp48aN2rZtmySpX79+SktLa7rKAAAAHNCocLR3715dd911+uCDD9ShQwdJ0uHDhzV48GC99NJL6tatW1PWCAAA0GIa9Wm1rKwslZeXa9u2bSoqKlJRUZG2bdumQCCgX//6101dIwAAQItp1Jmj9957Txs2bFBqamqwLTU1VU888YSGDBnSZMUBAAC0tEadOUpJSVF5eXmNdr/fr65du55xUQAAAE5pVDjKycnRHXfcoY0bNwbbNm7cqDvvvFOPPvpokxUHAADQ0hr1ttqkSZN07NgxDRo0KHgjyIqK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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "import pandas as pd\n", - "import matplotlib.pyplot as plt\n", - "import pandas as pd\n", - "import numpy as np\n", - "import xarray as xr\n", - "\n", - "# Read the CSV file\n", - "csv_path = \"/home/sarah/temp/ecoextreml/test/output/DE-Geb_2024-08-01-1043/Sim_Temp.csv\"\n", - "\n", - "# Read the CSV file\n", - "df = pd.read_csv(csv_path, header=None)\n", - "\n", - "# Get the first row as depths\n", - "depths = df.iloc[0].values\n", - "\n", - "# Get the rest of the data as soil_temperature\n", - "soil_temperature = df.iloc[3:].values\n", - "soil_temperature = soil_temperature.astype(float)\n", - "\n", - "# Create a time index\n", - "time = np.arange(1, len(df)-2)\n", - "\n", - "# Create the xarray DataArray\n", - "da_t = xr.DataArray(\n", - " data=soil_temperature,\n", - " dims=(\"time\", \"depth\"),\n", - " coords={\"time\": time, \"depth\": depths},\n", - ")\n", - "da_t['depth'] = da_t['depth'].astype(float) * -1\n", - "\n", - "da_t.isel(time=0).plot(y=\"depth\")\n", - "da_t.isel(time=1).plot(y=\"depth\")\n", - "da_t.isel(time=2).plot(y=\"depth\")\n", - "# da_t.isel(time=3).plot(y=\"depth\")\n", - "# da_t.isel(time=9).plot(y=\"depth\")" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "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.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/notebooks/ex8.ipynb b/docs/notebooks/ex8.ipynb deleted file mode 100644 index 4374833..0000000 --- a/docs/notebooks/ex8.ipynb +++ /dev/null @@ -1,1256 +0,0 @@ -{ - "cells": [ - { - "cell_type": "code", - "execution_count": 1, - "metadata": {}, - "outputs": [], - "source": [ - "import os\n", - "import sys\n", - "import numpy as np\n", - "import pandas as pd\n", - "import matplotlib as mpl\n", - "from matplotlib import gridspec\n", - "import matplotlib.pyplot as plt\n", - "import flopy\n", - "from modflowapi import ModflowApi" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Model name and workspace" - ] - }, - { - "cell_type": "code", - "execution_count": 2, - "metadata": {}, - "outputs": [], - "source": [ - "folder_name = \"mf6_model\"\n", - "gwf_name = 'gwf'\n", - "gwe_name = 'gwe'\n", - "ws = os.path.join(\".\", folder_name)" - ] - }, - { - "cell_type": "code", - "execution_count": 3, - "metadata": {}, - "outputs": [], - "source": [ - "if sys.platform == \"win32\":\n", - " mf6_dll = \"libmf6.dll\"\n", - "else:\n", - " mf6_dll = \"libmf6.so\"\n", - "\n", - "if sys.platform == \"win32\":\n", - " exe_name = \"mf6.exe\"\n", - "else:\n", - " exe_name = \"mf6\"" - ] - }, - { - "cell_type": "code", - "execution_count": 4, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - ".\\libmf6.dll True D:\\ITC\\PhD\\SSM\\MODFLOWAPI\\ex8_extend_ex7_add_gwe\n" - ] - } - ], - "source": [ - "mf6_dll = os.path.join(\".\", \"libmf6.dll\")\n", - "init_ws = os.path.abspath(os.getcwd())\n", - "print(mf6_dll, os.path.isfile(mf6_dll), init_ws)" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Model parameters\n", - "\n", - "_Spatial and Temporal Discretization_" - ] - }, - { - "cell_type": "code", - "execution_count": 5, - "metadata": {}, - "outputs": [], - "source": [ - "nlay, nrow, ncol = 2, 1, 1\n", - "shape3d = (nlay, nrow, ncol)\n", - "shape2d = (nrow, ncol)\n", - "delr, delc = 1., 1\n", - "area = delr * delc\n", - "aquifer_thickness = 10.\n", - "dz = aquifer_thickness / nlay\n", - "#elevations = [2595] + np.arange(-dz, -(aquifer_thickness + dz), -dz).tolist()\n", - "elevations = [26.0, 26.0 - dz, 26.0 - 2*dz]\n", - "nper, pertime, nstp, tsmult = 10, 1, 48, 1" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "_Hydraulic Properties_" - ] - }, - { - "cell_type": "code", - "execution_count": 6, - "metadata": {}, - "outputs": [], - "source": [ - "k, ss, sy = 0.1, 1.5e-5, 0.05" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "_Initial Conditions_" - ] - }, - { - "cell_type": "code", - "execution_count": 7, - "metadata": {}, - "outputs": [], - "source": [ - "h0 = elevations[0] - 2.5" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "_Evapotranspiration Data_" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "### Build a one-dimensional model\n", - "\n", - "_Simulation Object_" - ] - }, - { - "cell_type": "code", - "execution_count": 8, - "metadata": {}, - "outputs": [], - "source": [ - "sim = flopy.mf6.MFSimulation(sim_name=folder_name, sim_ws=ws, verbosity_level=1, memory_print_option=\"all\", exe_name = exe_name)\n", - "tdis = flopy.mf6.ModflowTdis(sim, filename=f\"{gwf_name}.tdis\", time_units=\"days\", nper=nper, perioddata=((pertime, nstp, tsmult),)*nper,)\n" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "_Groundwater Flow Model_" - ] - }, - { - "cell_type": "code", - "execution_count": 9, - "metadata": {}, - "outputs": [], - "source": [ - "gwf = flopy.mf6.ModflowGwf(sim, modelname=gwf_name, newtonoptions=\"NEWTON UNDER_RELAXATION\", save_flows=True)\n", - "ims_gwf = flopy.mf6.ModflowIms(sim, print_option=\"summary\", complexity=\"MODERATE\", filename=f\"{gwf_name}.ims\",\n", - " outer_maximum= 500, under_relaxation=\"dbd\",\n", - " linear_acceleration=\"bicgstab\", rcloserecord=[1e-6, \"strict\"],inner_dvclose=1e-8,outer_dvclose=1e-9,);\n", - "sim.register_ims_package(ims_gwf, [gwf.name]) " - ] - }, - { - "cell_type": "code", - "execution_count": 10, - "metadata": {}, - "outputs": [], - "source": [ - "dis_gwf = flopy.mf6.ModflowGwfdis(gwf, length_units=\"meters\", nlay=nlay, nrow=nrow, ncol=ncol, \n", - " delr=delr, delc=delc, top=elevations[0], botm=elevations[1:])\n", - "npf = flopy.mf6.ModflowGwfnpf(gwf, icelltype=1, k=k)\n", - "sto = flopy.mf6.ModflowGwfsto(gwf, iconvert=1, ss=ss, sy=sy)\n", - "ic = flopy.mf6.ModflowGwfic(gwf, strt=h0)\n", - "#api = flopy.mf6.ModflowGwfapi(gwf, pname=\"bmi-et\", maxbound=1,)\n", - "rch = flopy.mf6.ModflowGwfrch(gwf, pname=\"rch_0\", maxbound=10, save_flows=True, stress_period_data = [((0, 0, 0), 0.0001, 0)], auxiliary=[\"TEMPERATURE\"])\n", - "#oc = flopy.mf6.ModflowGwfoc(gwf, printrecord={0: [(\"BUDGET\", \"ALL\")]})\n", - "oc_gwf = flopy.mf6.ModflowGwfoc(gwf, budget_filerecord = '{}.cbc'.format(gwf_name), \n", - " budgetcsv_filerecord = '{}.cbc.csv'.format(gwf_name),\n", - " head_filerecord = '{}.hds'.format(gwf_name),\n", - " saverecord = [('HEAD', 'ALL'),('BUDGET', 'LAST')],\n", - " printrecord = [('HEAD', 'ALL'),('BUDGET', 'LAST')])\n", - "obs_lst = []\n", - "for k in range(nlay):\n", - " obs_lst.append([\"H{:02d}\".format(k+1), \"HEAD\", (k, 0, 0)])\n", - "obs_gwf = flopy.mf6.ModflowUtlobs(gwf, print_input=False, continuous={\"gwhead.csv\": obs_lst});" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "_Groundwater Heat Model_" - ] - }, - { - "cell_type": "code", - "execution_count": 11, - "metadata": {}, - "outputs": [], - "source": [ - "gwe = flopy.mf6.ModflowGwe(sim, modelname=gwe_name, save_flows=True)\n", - "ims_gwe = flopy.mf6.ModflowIms(sim, print_option=\"summary\", filename=f\"{gwe_name}.ims\", complexity=\"SIMPLE\",\n", - " linear_acceleration=\"bicgstab\", rcloserecord=[1e-6, \"strict\"],inner_dvclose=1e-8,outer_dvclose=1e-9,);\n", - "sim.register_ims_package(ims_gwe, [gwe.name])" - ] - }, - { - "cell_type": "code", - "execution_count": 12, - "metadata": {}, - "outputs": [], - "source": [ - "strt_temp = 10.0 # Initial temperature ($^{\\circ}C$)\n", - "scheme = \"Upstream\" # Advection scheme ($-$)\n", - "alh = 0.0 # No mechanical dispersion ($m^2/day$)\n", - "ath1 = 0.0 # No transverse dispersivity ($m^2/day$)\n", - "dispersivity = 0.0 # Longitudinal mechanical dispersion term ($m$)\n", - "porosity = 0.2 # Porosity ($-$)\n", - "rhos = 1500.0 # Density of dry solid aquifer material ($\\frac{kg}{m^3}$)\n", - "cps = 760.0 # Heat capacity of dry solid aquifer material ($\\frac{J}{kg \\cdot ^{\\circ} C}$)\n", - "rhow = 1000.0 # Density of water ($\\frac{kg}{m^3}$)\n", - "cpw = 4183.0 # Heat capacity of water ($\\frac{J}{kg \\cdot ^{\\circ} C}$)\n", - "lhv = 2500.0 # Latent heat of vaporization\n", - "ktw = 0.5918 # Thermal conductivity of water ($\\frac{W}{m \\cdot ^{\\circ} C}$)\n", - "kts = 0.27 # Thermal conductivity of solid aquifer material ($\\frac{W}{m \\cdot ^{\\circ} C}$)" - ] - }, - { - "cell_type": "code", - "execution_count": 13, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "'\\nobsgwe_lst = []\\nfor k in range(nlay):\\n obsgwe_lst.append([\"T{:02d}\".format(k+1), \"TEMPERATURE\", (k, 0, 0)])\\nobs_gwe = flopy.mf6.ModflowUtlobs(gwe, print_input=False, continuous={\"gwtemp.csv\": obsgwe_lst});\\n'" - ] - }, - "execution_count": 13, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "# Instantiating MODFLOW 6 transport discretization package\n", - "dis_gwe = flopy.mf6.ModflowGwedis(gwe, length_units=\"meters\", nlay=nlay, nrow=nrow, ncol=ncol, \n", - " delr=delr, delc=delc, top=elevations[0], botm=elevations[1:])\n", - "# Instantiating MODFLOW 6 transport initial concentrations\n", - "ic_gwe = flopy.mf6.ModflowGweic(gwe, strt=strt_temp, pname=\"IC\", filename=f\"{gwe_name}.ic\",)\n", - "# Instantiating MODFLOW 6 transport advection package\n", - "adv = flopy.mf6.ModflowGweadv(gwe, scheme=scheme, pname=\"ADV\", filename=\"{}.adv\".format(gwe_name))\n", - "# Instantiating MODFLOW 6 transport dispersion package\n", - "cnd = flopy.mf6.ModflowGwecnd(gwe, xt3d_off=False, alh=alh, ath1=ath1, ktw=ktw * 86400, \n", - " kts=kts * 86400, pname=\"CND\",filename=f\"{gwe_name}.cnd\",)\n", - "# Instantiating MODFLOW 6 transport mass storage package\n", - "est = flopy.mf6.ModflowGweest(gwe, save_flows=True, porosity=porosity, cps=cps, rhos=rhos,\n", - " packagedata=[cpw, rhow, lhv], pname=\"EST\", filename=f\"{gwe_name}.est\",)\n", - "# Instantiating MODFLOW 6 source/sink mixing package\n", - "sourcerecarray = [ (\"rch_0\", \"AUX\", \"TEMPERATURE\") ]\n", - "ssm = flopy.mf6.ModflowGwessm(gwe, sources = sourcerecarray, filename = \"{}.ssm\".format(gwe_name))\n", - "\n", - "oc_gwe = flopy.mf6.ModflowGweoc(gwe, budget_filerecord = '{}.cbc'.format(gwe_name), \n", - " budgetcsv_filerecord = '{}.cbc.csv'.format(gwe_name),\n", - " temperature_filerecord=\"{}.ucn\".format(gwe_name),\n", - " saverecord = [('TEMPERATURE', 'LAST'),('BUDGET', 'LAST')],\n", - " printrecord = [('TEMPERATURE', 'LAST'),('BUDGET', 'LAST')])\n", - "# The following lines are commented on for now because of an (bug) error (Observation type not found: TEMPERATURE)\n", - "'''\n", - "obsgwe_lst = []\n", - "for k in range(nlay):\n", - " obsgwe_lst.append([\"T{:02d}\".format(k+1), \"TEMPERATURE\", (k, 0, 0)])\n", - "obs_gwe = flopy.mf6.ModflowUtlobs(gwe, print_input=False, continuous={\"gwtemp.csv\": obsgwe_lst});\n", - "'''" - ] - }, - { - "cell_type": "code", - "execution_count": 14, - "metadata": {}, - "outputs": [], - "source": [ - "gwfgwe = flopy.mf6.ModflowGwfgwe(sim, exgtype='GWF6-GWE6', exgmnamea = gwf_name, exgmnameb = gwe_name, filename = 'gwf_gwe.gwfgwe')" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "_Write the Model Files_" - ] - }, - { - "cell_type": "code", - "execution_count": 15, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "writing simulation...\n", - " writing simulation name file...\n", - " writing simulation tdis package...\n", - " writing solution package ims_-1...\n", - " writing solution package ims_0...\n", - " writing package gwf_gwe.gwfgwe...\n", - " writing model gwf...\n", - " writing model name file...\n", - " writing package dis...\n", - " writing package npf...\n", - " writing package sto...\n", - " writing package ic...\n", - " writing package rch_0...\n", - " writing package oc...\n", - " writing package obs_0...\n", - " writing model gwe...\n", - " writing model name file...\n", - " writing package dis...\n", - " writing package ic...\n", - " writing package adv...\n", - " writing package cnd...\n", - " writing package est...\n", - " writing package ssm...\n", - " writing package oc...\n" - ] - } - ], - "source": [ - "sim.write_simulation()" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "_Retrieve a few processed items from the GWF model_" - ] - }, - { - "cell_type": "code", - "execution_count": 16, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "(1, 1) (2, 1, 1)\n", - "[[26.]] [[16.]]\n" - ] - } - ], - "source": [ - "gwf_top = gwf.dis.top.array\n", - "gwf_botm = gwf.dis.botm.array\n", - "print(gwf_top.shape, gwf_botm.shape)\n", - "print(gwf_top, gwf_botm[-1])" - ] - }, - { - "cell_type": "code", - "execution_count": 17, - "metadata": {}, - "outputs": [], - "source": [ - "# forward model run\n", - "#success, buff = sim.run_simulation()" - ] - }, - { - "cell_type": "code", - "execution_count": 18, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "array([500])" - ] - }, - "execution_count": 18, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "\n", - "verbose, success = False, False\n", - "\n", - "mf6_config_file = os.path.join(ws, 'mfsim.nam')\n", - "mf6 = ModflowApi(mf6_dll, working_directory=ws)\n", - "\n", - "# initialize the model\n", - "mf6.initialize(mf6_config_file)\n", - "\n", - "# time loop\n", - "current_time = mf6.get_current_time()\n", - "end_time = mf6.get_end_time()\n", - "\n", - "# get pointer to simulated heads\n", - "head_tag = mf6.get_var_address(\"X\", gwf_name.upper())\n", - "temp_tag = mf6.get_var_address(\"X\", gwe_name.upper())\n", - "\n", - "head = mf6.get_value_ptr(head_tag)\n", - "temp = mf6.get_value_ptr(temp_tag)\n", - "\n", - "# maximum outer iterations\n", - "max_iter = mf6.get_value(mf6.get_var_address(\"MXITER\", \"SLN_1\"))\n", - "max_iter\n" - ] - }, - { - "cell_type": "code", - "execution_count": 19, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "(array([23.5, 23.5]), array([10., 10.]))" - ] - }, - "execution_count": 19, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "head, temp" - ] - }, - { - "cell_type": "code", - "execution_count": 20, - "metadata": {}, - "outputs": [], - "source": [ - "# get pointers to API data\n", - "rch_address = mf6.get_var_address(\"RECHARGE\", gwf_name.upper(), \"RCH_0\")\n", - "rch = mf6.get_value(rch_address)" - ] - }, - { - "cell_type": "code", - "execution_count": 21, - "metadata": {}, - "outputs": [ - { - "name": "stdout", - "output_type": "stream", - "text": [ - "Updating Time step: 1 Head = 23.5 Temp = 10.0\n", - "Updating Time step: 2 Head = 23.5 Temp = 10.0\n", - "Updating Time step: 3 Head = 23.5 Temp = 10.0\n", - "Updating Time step: 4 Head = 23.5 Temp = 10.0\n", - "Updating Time step: 5 Head = 23.5 Temp = 10.0\n", - "Updating Time step: 6 Head = 23.5 Temp = 10.0\n", - "Updating Time step: 7 Head = 23.5 Temp = 10.0\n", - "Updating Time step: 8 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 9 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 10 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 11 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 12 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 13 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 14 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 15 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 16 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 17 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 18 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 19 Head = 23.51 Temp = 10.0\n", - "Updating Time step: 20 Head = 23.52 Temp = 10.0\n", - "Updating Time step: 21 Head = 23.52 Temp = 10.0\n", - "Updating Time step: 22 Head = 23.52 Temp = 9.99\n", - "Updating Time step: 23 Head = 23.52 Temp = 9.99\n", - "Updating Time step: 24 Head = 23.52 Temp = 9.99\n", - "Updating Time step: 25 Head = 23.52 Temp = 9.99\n", - "Updating Time step: 26 Head = 23.52 Temp = 9.99\n", - "Updating Time step: 27 Head = 23.52 Temp = 9.99\n", - "Updating Time step: 28 Head = 23.52 Temp = 9.99\n", - "Updating Time step: 29 Head = 23.52 Temp = 9.99\n", - "Updating Time step: 30 Head = 23.52 Temp = 9.99\n", - "Updating Time step: 31 Head = 23.52 Temp = 9.99\n", - "Updating Time step: 32 Head = 23.52 Temp = 9.99\n", - "Updating Time step: 33 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 34 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 35 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 36 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 37 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 38 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 39 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 40 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 41 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 42 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 43 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 44 Head = 23.53 Temp = 9.99\n", - "Updating Time step: 45 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 46 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 47 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 48 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 49 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 50 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 51 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 52 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 53 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 54 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 55 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 56 Head = 23.54 Temp = 9.99\n", - "Updating Time step: 57 Head = 23.55 Temp = 9.99\n", - "Updating Time step: 58 Head = 23.55 Temp = 9.99\n", - "Updating Time step: 59 Head = 23.55 Temp = 9.99\n", - "Updating Time step: 60 Head = 23.55 Temp = 9.98\n", - "Updating Time step: 61 Head = 23.55 Temp = 9.98\n", - "Updating Time step: 62 Head = 23.55 Temp = 9.98\n", - "Updating Time step: 63 Head = 23.55 Temp = 9.98\n", - "Updating Time step: 64 Head = 23.55 Temp = 9.98\n", - "Updating Time step: 65 Head = 23.55 Temp = 9.98\n", - "Updating Time step: 66 Head = 23.55 Temp = 9.98\n", - "Updating Time step: 67 Head = 23.55 Temp = 9.98\n", - "Updating Time step: 68 Head = 23.55 Temp = 9.98\n", - "Updating Time step: 69 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 70 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 71 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 72 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 73 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 74 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 75 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 76 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 77 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 78 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 79 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 80 Head = 23.56 Temp = 9.98\n", - "Updating Time step: 81 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 82 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 83 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 84 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 85 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 86 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 87 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 88 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 89 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 90 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 91 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 92 Head = 23.57 Temp = 9.98\n", - "Updating Time step: 93 Head = 23.58 Temp = 9.98\n", - "Updating Time step: 94 Head = 23.58 Temp = 9.98\n", - "Updating Time step: 95 Head = 23.58 Temp = 9.98\n", - "Updating Time step: 96 Head = 23.58 Temp = 9.98\n", - "Updating Time step: 97 Head = 23.58 Temp = 9.98\n", - "Updating Time step: 98 Head = 23.58 Temp = 9.98\n", - "Updating Time step: 99 Head = 23.58 Temp = 9.97\n", - "Updating Time step: 100 Head = 23.58 Temp = 9.97\n", - "Updating Time step: 101 Head = 23.58 Temp = 9.97\n", - "Updating Time step: 102 Head = 23.58 Temp = 9.97\n", - "Updating Time step: 103 Head = 23.58 Temp = 9.97\n", - "Updating Time step: 104 Head = 23.58 Temp = 9.97\n", - "Updating Time step: 105 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 106 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 107 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 108 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 109 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 110 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 111 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 112 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 113 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 114 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 115 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 116 Head = 23.59 Temp = 9.97\n", - "Updating Time step: 117 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 118 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 119 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 120 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 121 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 122 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 123 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 124 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 125 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 126 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 127 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 128 Head = 23.6 Temp = 9.97\n", - "Updating Time step: 129 Head = 23.61 Temp = 9.97\n", - "Updating Time step: 130 Head = 23.61 Temp = 9.97\n", - "Updating Time step: 131 Head = 23.61 Temp = 9.97\n", - "Updating Time step: 132 Head = 23.61 Temp = 9.97\n", - "Updating Time step: 133 Head = 23.61 Temp = 9.97\n", - "Updating Time step: 134 Head = 23.61 Temp = 9.97\n", - "Updating Time step: 135 Head = 23.61 Temp = 9.97\n", - "Updating Time step: 136 Head = 23.61 Temp = 9.97\n", - "Updating Time step: 137 Head = 23.61 Temp = 9.96\n", - "Updating Time step: 138 Head = 23.61 Temp = 9.96\n", - "Updating Time step: 139 Head = 23.61 Temp = 9.96\n", - "Updating Time step: 140 Head = 23.61 Temp = 9.96\n", - "Updating Time step: 141 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 142 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 143 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 144 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 145 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 146 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 147 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 148 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 149 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 150 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 151 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 152 Head = 23.62 Temp = 9.96\n", - "Updating Time step: 153 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 154 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 155 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 156 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 157 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 158 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 159 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 160 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 161 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 162 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 163 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 164 Head = 23.63 Temp = 9.96\n", - "Updating Time step: 165 Head = 23.64 Temp = 9.96\n", - "Updating Time step: 166 Head = 23.64 Temp = 9.96\n", - "Updating Time step: 167 Head = 23.64 Temp = 9.96\n", - "Updating Time step: 168 Head = 23.64 Temp = 9.96\n", - "Updating Time step: 169 Head = 23.64 Temp = 9.96\n", - "Updating Time step: 170 Head = 23.64 Temp = 9.96\n", - "Updating Time step: 171 Head = 23.64 Temp = 9.96\n", - "Updating Time step: 172 Head = 23.64 Temp = 9.96\n", - "Updating Time step: 173 Head = 23.64 Temp = 9.96\n", - "Updating Time step: 174 Head = 23.64 Temp = 9.96\n", - "Updating Time step: 175 Head = 23.64 Temp = 9.96\n", - "Updating Time step: 176 Head = 23.64 Temp = 9.95\n", - "Updating Time step: 177 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 178 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 179 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 180 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 181 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 182 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 183 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 184 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 185 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 186 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 187 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 188 Head = 23.65 Temp = 9.95\n", - "Updating Time step: 189 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 190 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 191 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 192 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 193 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 194 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 195 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 196 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 197 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 198 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 199 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 200 Head = 23.66 Temp = 9.95\n", - "Updating Time step: 201 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 202 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 203 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 204 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 205 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 206 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 207 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 208 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 209 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 210 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 211 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 212 Head = 23.67 Temp = 9.95\n", - "Updating Time step: 213 Head = 23.68 Temp = 9.95\n", - "Updating Time step: 214 Head = 23.68 Temp = 9.95\n", - "Updating Time step: 215 Head = 23.68 Temp = 9.95\n", - "Updating Time step: 216 Head = 23.68 Temp = 9.94\n", - "Updating Time step: 217 Head = 23.68 Temp = 9.94\n", - "Updating Time step: 218 Head = 23.68 Temp = 9.94\n", - "Updating Time step: 219 Head = 23.68 Temp = 9.94\n", - "Updating Time step: 220 Head = 23.68 Temp = 9.94\n", - "Updating Time step: 221 Head = 23.68 Temp = 9.94\n", - "Updating Time step: 222 Head = 23.68 Temp = 9.94\n", - "Updating Time step: 223 Head = 23.68 Temp = 9.94\n", - "Updating Time step: 224 Head = 23.68 Temp = 9.94\n", - "Updating Time step: 225 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 226 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 227 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 228 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 229 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 230 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 231 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 232 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 233 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 234 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 235 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 236 Head = 23.69 Temp = 9.94\n", - "Updating Time step: 237 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 238 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 239 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 240 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 241 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 242 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 243 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 244 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 245 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 246 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 247 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 248 Head = 23.7 Temp = 9.94\n", - "Updating Time step: 249 Head = 23.71 Temp = 9.94\n", - "Updating Time step: 250 Head = 23.71 Temp = 9.94\n", - "Updating Time step: 251 Head = 23.71 Temp = 9.94\n", - "Updating Time step: 252 Head = 23.71 Temp = 9.94\n", - "Updating Time step: 253 Head = 23.71 Temp = 9.94\n", - "Updating Time step: 254 Head = 23.71 Temp = 9.94\n", - "Updating Time step: 255 Head = 23.71 Temp = 9.93\n", - "Updating Time step: 256 Head = 23.71 Temp = 9.93\n", - "Updating Time step: 257 Head = 23.71 Temp = 9.93\n", - "Updating Time step: 258 Head = 23.71 Temp = 9.93\n", - "Updating Time step: 259 Head = 23.71 Temp = 9.93\n", - "Updating Time step: 260 Head = 23.71 Temp = 9.93\n", - "Updating Time step: 261 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 262 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 263 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 264 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 265 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 266 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 267 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 268 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 269 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 270 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 271 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 272 Head = 23.72 Temp = 9.93\n", - "Updating Time step: 273 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 274 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 275 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 276 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 277 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 278 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 279 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 280 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 281 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 282 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 283 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 284 Head = 23.73 Temp = 9.93\n", - "Updating Time step: 285 Head = 23.74 Temp = 9.93\n", - "Updating Time step: 286 Head = 23.74 Temp = 9.93\n", - "Updating Time step: 287 Head = 23.74 Temp = 9.93\n", - "Updating Time step: 288 Head = 23.74 Temp = 9.93\n", - "Updating Time step: 289 Head = 23.74 Temp = 9.93\n", - "Updating Time step: 290 Head = 23.74 Temp = 9.93\n", - "Updating Time step: 291 Head = 23.74 Temp = 9.93\n", - "Updating Time step: 292 Head = 23.74 Temp = 9.93\n", - "Updating Time step: 293 Head = 23.74 Temp = 9.93\n", - "Updating Time step: 294 Head = 23.74 Temp = 9.93\n", - "Updating Time step: 295 Head = 23.74 Temp = 9.92\n", - "Updating Time step: 296 Head = 23.74 Temp = 9.92\n", - "Updating Time step: 297 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 298 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 299 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 300 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 301 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 302 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 303 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 304 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 305 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 306 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 307 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 308 Head = 23.75 Temp = 9.92\n", - "Updating Time step: 309 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 310 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 311 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 312 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 313 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 314 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 315 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 316 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 317 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 318 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 319 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 320 Head = 23.76 Temp = 9.92\n", - "Updating Time step: 321 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 322 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 323 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 324 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 325 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 326 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 327 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 328 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 329 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 330 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 331 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 332 Head = 23.77 Temp = 9.92\n", - "Updating Time step: 333 Head = 23.78 Temp = 9.92\n", - "Updating Time step: 334 Head = 23.78 Temp = 9.92\n", - "Updating Time step: 335 Head = 23.78 Temp = 9.91\n", - "Updating Time step: 336 Head = 23.78 Temp = 9.91\n", - "Updating Time step: 337 Head = 23.78 Temp = 9.91\n", - "Updating Time step: 338 Head = 23.78 Temp = 9.91\n", - "Updating Time step: 339 Head = 23.78 Temp = 9.91\n", - "Updating Time step: 340 Head = 23.78 Temp = 9.91\n", - "Updating Time step: 341 Head = 23.78 Temp = 9.91\n", - "Updating Time step: 342 Head = 23.78 Temp = 9.91\n", - "Updating Time step: 343 Head = 23.78 Temp = 9.91\n", - "Updating Time step: 344 Head = 23.78 Temp = 9.91\n", - "Updating Time step: 345 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 346 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 347 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 348 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 349 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 350 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 351 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 352 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 353 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 354 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 355 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 356 Head = 23.79 Temp = 9.91\n", - "Updating Time step: 357 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 358 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 359 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 360 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 361 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 362 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 363 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 364 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 365 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 366 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 367 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 368 Head = 23.8 Temp = 9.91\n", - "Updating Time step: 369 Head = 23.81 Temp = 9.91\n", - "Updating Time step: 370 Head = 23.81 Temp = 9.91\n", - "Updating Time step: 371 Head = 23.81 Temp = 9.91\n", - "Updating Time step: 372 Head = 23.81 Temp = 9.91\n", - "Updating Time step: 373 Head = 23.81 Temp = 9.91\n", - "Updating Time step: 374 Head = 23.81 Temp = 9.91\n", - "Updating Time step: 375 Head = 23.81 Temp = 9.9\n", - "Updating Time step: 376 Head = 23.81 Temp = 9.9\n", - "Updating Time step: 377 Head = 23.81 Temp = 9.9\n", - "Updating Time step: 378 Head = 23.81 Temp = 9.9\n", - "Updating Time step: 379 Head = 23.81 Temp = 9.9\n", - "Updating Time step: 380 Head = 23.81 Temp = 9.9\n", - "Updating Time step: 381 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 382 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 383 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 384 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 385 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 386 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 387 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 388 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 389 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 390 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 391 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 392 Head = 23.82 Temp = 9.9\n", - "Updating Time step: 393 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 394 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 395 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 396 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 397 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 398 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 399 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 400 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 401 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 402 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 403 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 404 Head = 23.83 Temp = 9.9\n", - "Updating Time step: 405 Head = 23.84 Temp = 9.9\n", - "Updating Time step: 406 Head = 23.84 Temp = 9.9\n", - "Updating Time step: 407 Head = 23.84 Temp = 9.9\n", - "Updating Time step: 408 Head = 23.84 Temp = 9.9\n", - "Updating Time step: 409 Head = 23.84 Temp = 9.9\n", - "Updating Time step: 410 Head = 23.84 Temp = 9.9\n", - "Updating Time step: 411 Head = 23.84 Temp = 9.9\n", - "Updating Time step: 412 Head = 23.84 Temp = 9.9\n", - "Updating Time step: 413 Head = 23.84 Temp = 9.9\n", - "Updating Time step: 414 Head = 23.84 Temp = 9.9\n", - "Updating Time step: 415 Head = 23.84 Temp = 9.89\n", - "Updating Time step: 416 Head = 23.84 Temp = 9.89\n", - "Updating Time step: 417 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 418 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 419 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 420 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 421 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 422 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 423 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 424 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 425 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 426 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 427 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 428 Head = 23.85 Temp = 9.89\n", - "Updating Time step: 429 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 430 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 431 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 432 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 433 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 434 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 435 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 436 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 437 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 438 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 439 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 440 Head = 23.86 Temp = 9.89\n", - "Updating Time step: 441 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 442 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 443 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 444 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 445 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 446 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 447 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 448 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 449 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 450 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 451 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 452 Head = 23.87 Temp = 9.89\n", - "Updating Time step: 453 Head = 23.88 Temp = 9.89\n", - "Updating Time step: 454 Head = 23.88 Temp = 9.89\n", - "Updating Time step: 455 Head = 23.88 Temp = 9.89\n", - "Updating Time step: 456 Head = 23.88 Temp = 9.88\n", - "Updating Time step: 457 Head = 23.88 Temp = 9.88\n", - "Updating Time step: 458 Head = 23.88 Temp = 9.88\n", - "Updating Time step: 459 Head = 23.88 Temp = 9.88\n", - "Updating Time step: 460 Head = 23.88 Temp = 9.88\n", - "Updating Time step: 461 Head = 23.88 Temp = 9.88\n", - "Updating Time step: 462 Head = 23.88 Temp = 9.88\n", - "Updating Time step: 463 Head = 23.88 Temp = 9.88\n", - "Updating Time step: 464 Head = 23.88 Temp = 9.88\n", - "Updating Time step: 465 Head = 23.88 Temp = 9.88\n", - "Updating Time step: 466 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 467 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 468 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 469 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 470 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 471 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 472 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 473 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 474 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 475 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 476 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 477 Head = 23.89 Temp = 9.88\n", - "Updating Time step: 478 Head = 23.9 Temp = 9.88\n", - "Updating Time step: 479 Head = 23.9 Temp = 9.88\n", - "Updating Time step: 480 Head = 23.9 Temp = 9.88\n" - ] - } - ], - "source": [ - "# model time loop\n", - "kstp = 0\n", - "while current_time < end_time:\n", - " # set values\n", - " rch_updated = np.array([0.002])\n", - " mf6.set_value(rch_address, rch_updated)\n", - " # get values\n", - " head = mf6.get_value_ptr(head_tag)[0]\n", - " temp = mf6.get_value_ptr(temp_tag)[0]\n", - "\n", - " #print('Updating Time step: ' + str(kstp + 1))\n", - " print('Updating Time step: ' + str(kstp + 1) + ' Head = ' + str(round(head, 2)) + ' Temp = ' + str(round(temp, 2)))\n", - " kstp = kstp + 1\n", - " # Update models\n", - " mf6.update() \n", - " current_time = mf6.get_current_time()" - ] - }, - { - "cell_type": "code", - "execution_count": 22, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "' \\n# model time loop\\nkstp = 0\\nwhile current_time < end_time:\\n # get dt and prepare for non-linear iterations\\n dt = mf6.get_time_step()\\n mf6.prepare_time_step(dt)\\n\\n # convergence loop\\n kiter = 0\\n mf6.prepare_solve()\\n\\n while kiter < max_iter:\\n if verbose:\\n print(kiter, nodelist)\\n # solve with updated well rate\\n has_converged = mf6.solve(1)\\n kiter += 1\\n if has_converged:\\n if verbose:\\n break\\n\\n # finalize time step\\n mf6.finalize_solve()\\n\\n # set values\\n rch_updated = np.array([0.002])\\n mf6.set_value(rch_address, rch_updated)\\n # get values\\n head = mf6.get_value_ptr(head_tag)[0]\\n temp = mf6.get_value_ptr(temp_tag)[0]\\n\\n # finalize time step and update time\\n mf6.finalize_time_step()\\n current_time = mf6.get_current_time()\\n \\n #print(\\'Updating Time step: \\' + str(kstp + 1))\\n #print(\\'Updating Time step: \\' + str(kstp + 1) + \\' Head = \\' + str(round(head, 2)) + \\', and Temp = \\' + str(round(temp, 2)))\\n #kstp = kstp + 1\\n \\n # terminate if model did not converge\\n if not has_converged:\\n print(\"model did not converge\")\\n break\\n '" - ] - }, - "execution_count": 22, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "''' \n", - "# model time loop\n", - "kstp = 0\n", - "while current_time < end_time:\n", - " # get dt and prepare for non-linear iterations\n", - " dt = mf6.get_time_step()\n", - " mf6.prepare_time_step(dt)\n", - "\n", - " # convergence loop\n", - " kiter = 0\n", - " mf6.prepare_solve()\n", - "\n", - " while kiter < max_iter:\n", - " if verbose:\n", - " print(kiter, nodelist)\n", - " # solve with updated well rate\n", - " has_converged = mf6.solve(1)\n", - " kiter += 1\n", - " if has_converged:\n", - " if verbose:\n", - " break\n", - "\n", - " # finalize time step\n", - " mf6.finalize_solve()\n", - "\n", - " # set values\n", - " rch_updated = np.array([0.002])\n", - " mf6.set_value(rch_address, rch_updated)\n", - " # get values\n", - " head = mf6.get_value_ptr(head_tag)[0]\n", - " temp = mf6.get_value_ptr(temp_tag)[0]\n", - "\n", - " # finalize time step and update time\n", - " mf6.finalize_time_step()\n", - " current_time = mf6.get_current_time()\n", - " \n", - " #print('Updating Time step: ' + str(kstp + 1))\n", - " #print('Updating Time step: ' + str(kstp + 1) + ' Head = ' + str(round(head, 2)) + ', and Temp = ' + str(round(temp, 2)))\n", - " #kstp = kstp + 1\n", - " \n", - " # terminate if model did not converge\n", - " if not has_converged:\n", - " print(\"model did not converge\")\n", - " break\n", - " ''' " - ] - }, - { - "cell_type": "code", - "execution_count": 23, - "metadata": {}, - "outputs": [], - "source": [ - "# cleanup\n", - "try:\n", - " mf6.finalize()\n", - " success = True\n", - "except:\n", - " raise RuntimeError" - ] - }, - { - "cell_type": "code", - "execution_count": 24, - "metadata": {}, - "outputs": [], - "source": [ - "# Export heads and flows\n", - "headfile = '{}.hds'.format(gwf_name)\n", - "hds = flopy.utils.binaryfile.HeadFile(os.path.join(ws, headfile))\n", - "gwheads = gwf.output.head().get_data()\n", - "\n", - "tempfile = '{}.ucn'.format(gwe_name)\n", - "#tmp = flopy.utils.binaryfile.UcnFile(os.path.join(ws, tempfile))\n", - "#gwtemps = gwe.output.temperature().get_data()" - ] - }, - { - "cell_type": "code", - "execution_count": 25, - "metadata": {}, - "outputs": [ - { - "data": { - "text/html": [ - "
\n", - "\n", - "\n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - " \n", - "
timeH01H02
00.02083323.50004223.500035
10.04166723.50087323.500745
20.06250023.50170523.501558
30.08333323.50253623.502387
40.10416723.50336823.503218
............
4759.91666723.89496323.894813
4769.93750023.89579423.895645
4779.95833323.89662623.896476
4789.97916723.89745723.897307
47910.00000023.89828823.898139
\n", - "

480 rows × 3 columns

\n", - "
" - ], - "text/plain": [ - " time H01 H02\n", - "0 0.020833 23.500042 23.500035\n", - "1 0.041667 23.500873 23.500745\n", - "2 0.062500 23.501705 23.501558\n", - "3 0.083333 23.502536 23.502387\n", - "4 0.104167 23.503368 23.503218\n", - ".. ... ... ...\n", - "475 9.916667 23.894963 23.894813\n", - "476 9.937500 23.895794 23.895645\n", - "477 9.958333 23.896626 23.896476\n", - "478 9.979167 23.897457 23.897307\n", - "479 10.000000 23.898288 23.898139\n", - "\n", - "[480 rows x 3 columns]" - ] - }, - "execution_count": 25, - "metadata": {}, - "output_type": "execute_result" - } - ], - "source": [ - "sim_heads = pd.read_csv(os.path.join(ws, \"gwhead.csv\"))\n", - "sim_heads\n" - ] - }, - { - "cell_type": "code", - "execution_count": 26, - "metadata": {}, - "outputs": [ - { - "data": { - "text/plain": [ - "" - ] - }, - "execution_count": 26, - "metadata": {}, - "output_type": "execute_result" - }, - { - "data": { - "image/png": "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1ClOnz5tdhyrUb58eapVq2Z2DBEREfmLnTt30qdPH86dO4e9vT0hISEMHjzYqk9f/0wl9k9sbW2pX7++RgryqUyZMjqBFRERKWKys7MJDg5m8uTJ5OTk0LBhQz799FMaN25sdrR7SiX2L0qVKqWL9ouIiIhVOn/+PP369ePbb78FYODAgcydOxdHR0eTk917KrEiIiIixcC3335Lv379OH/+PGXLliU0NJSBAweaHeu+0buXRERERKxYdnY2kydPpkuXLpw/f57GjRvz/fffF+sCCzqJFREREbFa586do1+/fmzfvh2AoUOHMnv2bMqWLWtusAdAJVZERETECn399dcMGDCAxMREypUrx/z58+nbt6/ZsR4YjROIiIiIWJGsrCzefvttunbtSmJiIk2aNOHAgQMlqsCCTmJFRERErMbZs2fp06cPu3fvBmDkyJHMnDmzRF5ZSSVWRERExAps2LCBgQMHkpycjLOzMwsWLKBXr15mxzKNxglEREREirDr16/zxhtv8Mwzz5CcnEzz5s05ePBgiS6woJNYERERkSLr9OnT9O7dm+joaABeffVV3n//fezs7ExOZj6VWBEREZEi6Msvv2TQoEFcunSJ8uXLExERga+vr9mxigyNE4iIiIgUIZmZmYwdO5bnn3+eS5cu0apVKw4dOqQC+xcqsSIiIiJFxMmTJ2nbti2zZ88G4LXXXmPnzp3UrVvX3GBFkMYJRERERIqAzz77jCFDhpCamkrFihVZvHgxzzzzjNmxiiydxIqIiIiY6Nq1awQGBtKzZ09SU1Np27YtMTExKrB3oBIrIiIiYpITJ07QunVrQkNDAXjrrbfYtm0btWrVMjlZ0adxAhERERETrFy5kmHDhnHlyhUqV67M0qVL6dq1q9mxrIZOYkVEREQeoKtXrzJs2DD69u3LlStXaN++PTExMSqwBaQSKyIiIvKAHD16lFatWrFgwQIsFgt///vf+fbbb6lRo4bZ0ayOxglEREREHoAlS5YwcuRI0tPTqVq1KsuWLaNz585mx7JaOokVERERuY/S0tIYNGgQAwcOJD09nSeffJKYmBgV2LukEisiIiJyn/z000+0bNmSRYsWUapUKaZOncqWLVuoVq2a2dGsnsYJRERERO4xwzBYuHAho0eP5urVq7i5ubFy5UqeeOIJs6MVGyqxIiIiIvfQ5cuXGTly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RO6aSqyI3HOGYTBz5kzatm3Lb7/9xkMPPcSePXt49dVXsVgsZscTEZFiQOMEInJPJScnExAQwPr16wF46aWX+OSTT3BxcTE5mYiIFCc6iRWRe2bPnj00a9aM9evXY2dnR2hoKGvWrFGBFRGRe04lVkTuWk5ODu+99x7t27fnzJkz1K9fn7179zJy5EiND4iIyH2hcQIRuSuJiYn4+/uzefNmAPr06cP8+fNxcnIyOZmIiBRnKrEiUmg7d+6kT58+nDt3Dnt7e+bMmcOQIUN0+ioiIvedxglEpMCys7N599136dixI+fOnaNhw4bs27ePoUOHqsCKiMgDoZNYESmQ8+fP079/f7755hsA/P39mTt3LuXKlTM5mYiIlCQqsSKSb1u3bqVv376cP3+esmXLMnfuXAICAsyOJSIiJZDGCUTkjrKzs5k8eTKdO3fm/PnzNGrUiP3796vAioiIaXQSKyK3de7cOfr168f27dsBGDp0KLNnz6Zs2bLmBhMRkRJNJVZEbmnLli3079+fxMREypUrx/z58+nbt6/ZsURERDROICI3ysrK4u233+app54iMTGRJk2acODAARVYEREpMnQSKyJ5nD17lj59+rB7924ARowYwaxZs7C3tzc5mYiIyP+nEisiuTZs2MDAgQNJTk7GycmJTz75hF69epkdS0RE5AYaJxARrl+/zhtvvMEzzzxDcnIyHh4eHDp0SAVWRESKLJ3EipRwp0+fxs/Pj7179wIwevRoZsyYgZ2dncnJREREbk0lVqQEW7duHQEBAVy6dAkXFxcWLlzICy+8YHYsERGRO9I4gUgJlJmZydixY/H19eXSpUu0bNmSQ4cOqcCKiIjVUIkVKWFOnjxJ27ZtmT17NgBBQUHs2rULd3d3k5OJiIjkn8YJREqQzz77jCFDhpCamkqFChVYvHgxzz77rNmxRERECkwnsSIlwLVr1wgMDKRnz56kpqbSpk0bYmJiVGBFRMRqqcSKFHMnTpygdevWhIaGAvDmm2+yfft2ateubXIyERGRwtM4gUgxtnLlSoYNG8aVK1eoXLkyS5cupWvXrmbHEhERuWs6iRUphq5evcqwYcPo27cvV65coX379sTExKjAiohIsaESK1LMHD16lFatWrFgwQIsFguTJk3i22+/pUaNGmZHExERuWc0TiBSjCxZsoSRI0eSnp6Oq6sr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", - "text/plain": [ - "
" - ] - }, - "metadata": {}, - "output_type": "display_data" - } - ], - "source": [ - "# Let's have a look at the time series of the simulated heads and observed heads at the observation location\n", - "fig, ax = plt.subplots(figsize = (8, 6))\n", - "sim_heads.plot(ax = ax, x = 'time', y = 'H01', kind = 'line', color = 'black', rot = 0, zorder = 1, fontsize = 10)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "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.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 4 -} diff --git a/docs/notebooks/modflow_example.ipynb b/docs/notebooks/modflow_example.ipynb deleted file mode 100644 index c66e7af..0000000 --- a/docs/notebooks/modflow_example.ipynb +++ /dev/null @@ -1,182 +0,0 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "id": "eb4bdb30-f9a3-4d7c-a1a4-0afdfbd59372", - "metadata": {}, - "source": [ - "This notebook creates a simple modflow model, following the tutorials https://flopy.readthedocs.io/en/stable/tutorials.html#modflow-6" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "9b605568-ba4f-4258-9a45-09a3ebaa487a", - "metadata": {}, - "outputs": [], - "source": [ - "import flopy" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "64efdc83-03ed-43a0-a0e3-31524109d9ad", - "metadata": {}, - "outputs": [], - "source": [ - "# set paths and names\n", - "folder_name = \"mf6_model\"\n", - "gwf_name = 'gwf'\n", - "gwe_name = 'gwe'\n", - "ws = f\"./{folder_name}\"\n", - "\n", - "### Model parameters\n", - "\n", - "# Spatial and Temporal Discretization\n", - "nlay, nrow, ncol = 2, 1, 1\n", - "shape3d = (nlay, nrow, ncol)\n", - "shape2d = (nrow, ncol)\n", - "delr, delc = 1., 1\n", - "area = delr * delc\n", - "aquifer_thickness = 10.\n", - "dz = aquifer_thickness / nlay\n", - "elevations = [26.0, 26.0 - dz, 26.0 - 2*dz]\n", - "nper, pertime, nstp, tsmult = 10, 1, 48, 1\n", - "\n", - "# Hydraulic Properties\n", - "k, ss, sy = 0.1, 1.5e-5, 0.05\n", - "\n", - "# Initial Conditions\n", - "h0 = elevations[0] - 2.5" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "66ac97ab-5579-4836-86af-bf413900b077", - "metadata": {}, - "outputs": [], - "source": [ - "### Build a one-dimensional model\n", - "\n", - "# Simulation Object\n", - "sim = flopy.mf6.MFSimulation(sim_name=folder_name, sim_ws=ws, verbosity_level=1, memory_print_option=\"all\", exe_name = exe_name)\n", - "tdis = flopy.mf6.ModflowTdis(sim, filename=f\"{gwf_name}.tdis\", time_units=\"days\", nper=nper, perioddata=((pertime, nstp, tsmult),)*nper,)\n", - "\n", - "# Groundwater Flow Model\n", - "gwf = flopy.mf6.ModflowGwf(sim, modelname=gwf_name, newtonoptions=\"NEWTON UNDER_RELAXATION\", save_flows=True)\n", - "ims_gwf = flopy.mf6.ModflowIms(sim, print_option=\"summary\", complexity=\"MODERATE\", filename=f\"{gwf_name}.ims\",\n", - " outer_maximum= 500, under_relaxation=\"dbd\",\n", - " linear_acceleration=\"bicgstab\", rcloserecord=[1e-6, \"strict\"],inner_dvclose=1e-8,outer_dvclose=1e-9,)\n", - "sim.register_ims_package(ims_gwf, [gwf.name]) \n", - "\n", - "is_gwf = flopy.mf6.ModflowGwfdis(gwf, length_units=\"meters\", nlay=nlay, nrow=nrow, ncol=ncol, \n", - " delr=delr, delc=delc, top=elevations[0], botm=elevations[1:])\n", - "npf = flopy.mf6.ModflowGwfnpf(gwf, icelltype=1, k=k)\n", - "sto = flopy.mf6.ModflowGwfsto(gwf, iconvert=1, ss=ss, sy=sy)\n", - "ic = flopy.mf6.ModflowGwfic(gwf, strt=h0)\n", - "rch = flopy.mf6.ModflowGwfrch(gwf, pname=\"rch_0\", maxbound=10, save_flows=True, stress_period_data = [((0, 0, 0), 0.0001, 0)], auxiliary=[\"TEMPERATURE\"])\n", - "oc_gwf = flopy.mf6.ModflowGwfoc(gwf, budget_filerecord = '{}.cbc'.format(gwf_name), \n", - " budgetcsv_filerecord = '{}.cbc.csv'.format(gwf_name),\n", - " head_filerecord = '{}.hds'.format(gwf_name),\n", - " saverecord = [('HEAD', 'ALL'),('BUDGET', 'LAST')],\n", - " printrecord = [('HEAD', 'ALL'),('BUDGET', 'LAST')])\n", - "obs_lst = []\n", - "for k in range(nlay):\n", - " obs_lst.append([\"H{:02d}\".format(k+1), \"HEAD\", (k, 0, 0)])\n", - "obs_gwf = flopy.mf6.ModflowUtlobs(gwf, print_input=False, continuous={\"gwhead.csv\": obs_lst})\n", - "\n", - "# Groundwater Heat Model\n", - "gwe = flopy.mf6.ModflowGwe(sim, modelname=gwe_name, save_flows=True)\n", - "ims_gwe = flopy.mf6.ModflowIms(sim, print_option=\"summary\", filename=f\"{gwe_name}.ims\", complexity=\"SIMPLE\",\n", - " linear_acceleration=\"bicgstab\", rcloserecord=[1e-6, \"strict\"],inner_dvclose=1e-8,outer_dvclose=1e-9,);\n", - "sim.register_ims_package(ims_gwe, [gwe.name])" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "b3d9fffa-dc56-4c78-bb19-c880b8eaff2d", - "metadata": {}, - "outputs": [], - "source": [ - "# Instantiating MODFLOW 6 transport discretization package\n", - "\n", - "strt_temp = 10.0 # Initial temperature ($^{\\circ}C$)\n", - "scheme = \"Upstream\" # Advection scheme ($-$)\n", - "alh = 0.0 # No mechanical dispersion ($m^2/day$)\n", - "ath1 = 0.0 # No transverse dispersivity ($m^2/day$)\n", - "dispersivity = 0.0 # Longitudinal mechanical dispersion term ($m$)\n", - "porosity = 0.2 # Porosity ($-$)\n", - "rhos = 1500.0 # Density of dry solid aquifer material ($\\frac{kg}{m^3}$)\n", - "cps = 760.0 # Heat capacity of dry solid aquifer material ($\\frac{J}{kg \\cdot ^{\\circ} C}$)\n", - "rhow = 1000.0 # Density of water ($\\frac{kg}{m^3}$)\n", - "cpw = 4183.0 # Heat capacity of water ($\\frac{J}{kg \\cdot ^{\\circ} C}$)\n", - "lhv = 2500.0 # Latent heat of vaporization\n", - "ktw = 0.5918 # Thermal conductivity of water ($\\frac{W}{m \\cdot ^{\\circ} C}$)\n", - "kts = 0.27 # Thermal conductivity of solid aquifer material ($\\frac{W}{m \\cdot ^{\\circ} C}$)\n", - "\n", - "is_gwe = flopy.mf6.ModflowGwedis(gwe, length_units=\"meters\", nlay=nlay, nrow=nrow, ncol=ncol, \n", - " delr=delr, delc=delc, top=elevations[0], botm=elevations[1:])\n", - "\n", - "# Instantiating MODFLOW 6 transport initial concentrations\n", - "ic_gwe = flopy.mf6.ModflowGweic(gwe, strt=strt_temp, pname=\"IC\", filename=f\"{gwe_name}.ic\",)\n", - "\n", - "# Instantiating MODFLOW 6 transport advection package\n", - "adv = flopy.mf6.ModflowGweadv(gwe, scheme=scheme, pname=\"ADV\", filename=\"{}.adv\".format(gwe_name))\n", - "\n", - "# Instantiating MODFLOW 6 transport dispersion package\n", - "cnd = flopy.mf6.ModflowGwecnd(gwe, xt3d_off=False, alh=alh, ath1=ath1, ktw=ktw * 86400, \n", - " kts=kts * 86400, pname=\"CND\",filename=f\"{gwe_name}.cnd\",)\n", - "\n", - "# Instantiating MODFLOW 6 transport mass storage package\n", - "est = flopy.mf6.ModflowGweest(gwe, save_flows=True, porosity=porosity, cps=cps, rhos=rhos,\n", - " packagedata=[cpw, rhow, lhv], pname=\"EST\", filename=f\"{gwe_name}.est\",)\n", - "\n", - "# Instantiating MODFLOW 6 source/sink mixing package\n", - "sourcerecarray = [ (\"rch_0\", \"AUX\", \"TEMPERATURE\") ]\n", - "ssm = flopy.mf6.ModflowGwessm(gwe, sources = sourcerecarray, filename = \"{}.ssm\".format(gwe_name))\n", - "\n", - "oc_gwe = flopy.mf6.ModflowGweoc(gwe, budget_filerecord = '{}.cbc'.format(gwe_name), \n", - " budgetcsv_filerecord = '{}.cbc.csv'.format(gwe_name),\n", - " temperature_filerecord=\"{}.ucn\".format(gwe_name),\n", - " saverecord = [('TEMPERATURE', 'LAST'),('BUDGET', 'LAST')],\n", - " printrecord = [('TEMPERATURE', 'LAST'),('BUDGET', 'LAST')])\n", - "gwfgwe = flopy.mf6.ModflowGwfgwe(sim, exgtype='GWF6-GWE6', exgmnamea = gwf_name, exgmnameb = gwe_name, filename = 'gwf_gwe.gwfgwe')" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "id": "8b040a8d-ddae-4efb-b910-fb3505ceee6d", - "metadata": {}, - "outputs": [], - "source": [ - "# Write the Model Files\n", - "sim.write_simulation()" - ] - } - ], - "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.10.13" - } - }, - "nbformat": 4, - "nbformat_minor": 5 -} From ad159d7aba7724e0075a970a4c889a8ab4b7fd85 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Wed, 11 Dec 2024 11:35:03 +0100 Subject: [PATCH 09/26] update readme --- README.md | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 62e4385..e1653da 100644 --- a/README.md +++ b/README.md @@ -18,18 +18,11 @@ [![cffconvert](https://github.com/EcoExtreML/stemmus_scope_processing/actions/workflows/cffconvert.yml/badge.svg)](https://github.com/EcoExtreML/stemmus_scope_processing/actions/workflows/cffconvert.yml) [![markdown-link-check](https://github.com/EcoExtreML/stemmus_scope_processing/actions/workflows/markdown-link-check.yml/badge.svg)](https://github.com/EcoExtreML/stemmus_scope_processing/actions/workflows/markdown-link-check.yml) --> -This repository includes the python package `PyStemmusScope` for running the -STEMMUS-SCOPE model. +This repository includes the python package `PyStemmusScope` for preparing data +nd running the STEMMUS-SCOPE model. The model source code, executable file and utility files are available in the [STEMMUS_SCOPE repository](https://github.com/EcoExtreML/STEMMUS_SCOPE). -The input datasets are available on Snellius and CRIB. First, make sure you have -right access to the repository and data. Then, see the notebook -[run_model_on_different_infra.ipynb](./docs/notebooks/run_model_on_different_infra.ipynb) -which provides different ways to run the model depending on your system and -[run_model_with_different_dataset.ipynb](./docs/notebooks/run_model_with_different_dataset.ipynb) -on how to use different datasets e.g. site or global data. - More information on the setup and installation, including for own machine, is available in the [documentation](https://pystemmusscope.readthedocs.io/). From 75f5ad082d7aeded29b7a210256aecf91683c643 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Wed, 11 Dec 2024 11:35:59 +0100 Subject: [PATCH 10/26] add intro page --- docs/ecoextreml_dt.png | Bin 0 -> 500489 bytes docs/{index.md => getting_started.md} | 0 docs/intro.md | 20 ++++++++++++++++++++ mkdocs.yml | 3 ++- 4 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 docs/ecoextreml_dt.png rename docs/{index.md => getting_started.md} (100%) create mode 100644 docs/intro.md diff --git a/docs/ecoextreml_dt.png b/docs/ecoextreml_dt.png new file mode 100644 index 0000000000000000000000000000000000000000..03546a5792cecdb2c7ffa0be6ce8678a05881eea GIT binary patch literal 500489 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

@qT#ctF6HHwzg(G` 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

0m6dPT{4%Q+GwQ-Ohm` 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

{9Ew8!RKS?5%(me@ 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�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ɁtfX%)aRaHqZ*6zYP6Fof@vs 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 Date: Wed, 8 Jan 2025 15:36:23 +0100 Subject: [PATCH 11/26] fix file name in mkdocs --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index f65c047..dee31e3 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -4,7 +4,7 @@ repo_name: PyStemmusScope nav: - Introduction: intro.md - - Getting started: getting_started.md.md + - Getting started: getting_started.md - Installation: installation_instructions.md - Run the model: - Different ways to run the model: notebooks/run_model_on_different_infra.ipynb From 782d73d3f4880596de49ffe9ce48b5d7a75db041 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Wed, 8 Jan 2025 15:36:48 +0100 Subject: [PATCH 12/26] fix text in introduction --- docs/intro.md | 26 +++++++++----------------- 1 file changed, 9 insertions(+), 17 deletions(-) diff --git a/docs/intro.md b/docs/intro.md index 5cbc9ce..22f2a11 100644 --- a/docs/intro.md +++ b/docs/intro.md @@ -1,20 +1,12 @@ -Climate extremes like droughts and heatwaves impact how water, energy, and -carbon move through ecosystems. To capture the exchange between the land surface -and the atmosphere, we aim to apply the “STEMMUS-SCOPE” model across ecosystems -at a global scale. The model STEMMUS simulates soil water and heat, and the -model SCOPE the vegetation photosynthesis and land surface energy balance. +# -Like other land surface models, STEMMUS-SCOPE relies on a large number of -numerical calculations using various meteorological data and surface parameters -as inputs. To overcome challenges such as computational costs and optimization -issues in calibration, we developed open-source tools for efficient computing -and data handling following FAIR guidelines within the context of EcoExtreML -project. In this project, we improved the representation of -soil-water-plant-energy interaction in the model, developed a machine learning -approach to emulate the model, and enhanced the re-usability of the model using -the Basic Model Interface (BMI). - -The technologies developed in EcoExtreML will -contribute to developing a digital twin of soil-plant systems. +The python package `PyStemmusScope` allows for preparing data and running the +STEMMUS-SCOPE model, where STEMMUS simulates soil water and heat, and the model +SCOPE the vegetation photosynthesis and land surface energy balance. In +addition, it supports the use of the Basic Model Interface (BMI) to couple the +model with other models. ![Towards a digital twin of soil-plant system](ecoextreml_dt.png) + +The python package `PyStemmusScope` is developed in [EcoExtreML +project](https://research-software-directory.org/projects/ecoextreml). From 122c2f9577a07a0e9fb74b496eeeafa209e92173 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Wed, 8 Jan 2025 15:37:27 +0100 Subject: [PATCH 13/26] add doc about SleepDuration key in BMI --- docs/getting_started.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/getting_started.md b/docs/getting_started.md index 9bce573..7804b27 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -1,6 +1,4 @@ -Logo - -# Getting started +# This is the documentation for the python package `PyStemmusScope`, which allows for preparing data and running the STEMMUS-SCOPE model. The model source code @@ -31,6 +29,8 @@ set in the configuration file: is used. - `DockerImage`: a path to the Docker image, if BMI interface and docker are used. +- `SleepDuration`: a time in seconds to wait before checking if the model has + finished running in BMI. Default is 10 seconds. ## Running the model From 05ae2e5bc9a4ae730f0d3384cb603b3d9966e5d9 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Wed, 8 Jan 2025 16:57:56 +0100 Subject: [PATCH 14/26] update text in global data --- docs/downloading_global_data.md | 52 ++++++++++++--------------------- 1 file changed, 19 insertions(+), 33 deletions(-) diff --git a/docs/downloading_global_data.md b/docs/downloading_global_data.md index 1ea13b2..ded45c0 100644 --- a/docs/downloading_global_data.md +++ b/docs/downloading_global_data.md @@ -3,6 +3,11 @@ This document outlines which, where and how we download the "global" input data for the model. +## Download and prepare data + +Tha python package [`zampy`](https://zampy.readthedocs.io/) can be used to +download and prepare the data. + ## Data of Climate Data store (CDS) Many of the forcing-related data is available in the era5 reanalysis data. @@ -27,49 +32,30 @@ For running STEMMUS-SCOPE, global data is also required for the soil initial con ## CO2 data from Atmosphere Data Store (ADS) -CO2 data is available in the CAMS dataset. An ADS script that can download the -data is available at `download_scripts/download_CAMS_CO2.py`. - -A simple check for the parsing of the data is in `data_analysis_notebooks/parse_CO2_data.ipynb`. +CO2 data is available in the CAMS dataset. A simple check for the parsing of the +data is in `global_data/data_analysis_notebooks/parse_CO2_data.ipynb`. ## Canopy height data from ETH -The canopy height data is described in: https://langnico.github.io/globalcanopyheight/ - -Get data from: -https://share.phys.ethz.ch/~pf/nlangdata/ETH_GlobalCanopyHeight_10m_2020_version1/3deg_cogs/ -This can be done with, e.g. a wget command. - -The valid filenames are all in `download_scripts/valid_eth_canopy_height_files.txt`. - -A simple example for the parsing of the data is in `data_analysis_notebooks/parse_canopy_height.ipynb`. +The canopy height data is described in: +[https://langnico.github.io/globalcanopyheight/](https://langnico.github.io/globalcanopyheight/) +and available +[here](https://share.phys.ethz.ch/~pf/nlangdata/ETH_GlobalCanopyHeight_10m_2020_version1/3deg_cogs/). +A simple example for the parsing of the data is in +`global_data/data_analysis_notebooks/parse_canopy_height.ipynb`. ## DEM data from Copernicus -To download the DEM data: -`wget https://prism-dem-open.copernicus.eu/pd-desk-open-access/prismDownload/COP-DEM_GLO-90-DGED__2021_1/Copernicus_DSM_30_N35_00_E012_00.tar` -unzip and extract tif file. - -All valid DEM urls are in `download_scripts/valid_dem_urls.csv`. - -A word doc for instructions is available [here](https://spacedata.copernicus.eu/documents/20123/121286/Copernicus+DEM+Open+HTTPS+Access.pdf/36c9adad-8488-f463-af43-573e68b7f481?t=1669283200177) - -A simple example for the parsing of the data is in `data_analysis_notebooks/parse_dem.ipynb`. +A word doc for instructions is available +[here](https://spacedata.copernicus.eu/documents/20123/121286/Copernicus+DEM+Open+HTTPS+Access.pdf/36c9adad-8488-f463-af43-573e68b7f481?t=1669283200177). A simple example for the parsing of the data is in +`global_data/data_analysis_notebooks/parse_dem.ipynb`. ## LAI from Climate Data Store (CDS) -LAI data was retrieved from the CDS. However, there are some downloading issues with -the `satellite-lai-fapar` dataset. A ticket has been opened at the ECMWF. - -The download script for downloading the LAI data is available under `download_scripts/download_FAPAR_LAI.py`. - -A simple example for parsing the LAI data is in `data_analysis_notebooks/parse_LAI.py`. +LAI data was retrieved from the CDS. However, there are some downloading issues +with the `satellite-lai-fapar` dataset. A simple example for parsing the LAI +data is in `global_data/data_analysis_notebooks/parse_LAI.py`. ## Land cover from Climate Data Store (CDS) Land cover data is available at [https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=overview](https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=overview). - -## Download and prepare data - -Tha python package [`zampy`](https://zampy.readthedocs.io/) can be used to -download and prepare the data. From 6a495a8ddd05bd8f2bf996a45e155e469ff6608b Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Wed, 8 Jan 2025 17:27:48 +0100 Subject: [PATCH 15/26] add a github action to publich the docker container --- .github/workflows/publish-container.yml | 58 +++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 .github/workflows/publish-container.yml diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml new file mode 100644 index 0000000..28eaae3 --- /dev/null +++ b/.github/workflows/publish-container.yml @@ -0,0 +1,58 @@ +# +name: Create and publish the PyStemmusScope container image 📦 + +on: + release: + types: [published] + +# Defines two custom environment variables for the workflow. These are used for the Container registry domain, and a name for the Docker image that this workflow builds. +env: + REGISTRY: ghcr.io + IMAGE_NAME: ${{ github.repository }} + +# There is a single job in this workflow. It's configured to run on the latest available version of Ubuntu. +jobs: + build-and-push-image: + runs-on: ubuntu-latest + # Sets the permissions granted to the `GITHUB_TOKEN` for the actions in this job. + permissions: + contents: read + packages: write + attestations: write + id-token: write + # + steps: + - name: Checkout repository + uses: actions/checkout@v4 + # Uses the `docker/login-action` action to log in to the Container registry registry using the account and password that will publish the packages. Once published, the packages are scoped to the account defined here. + - name: Log in to the Container registry + uses: docker/login-action@65b78e6e13532edd9afa3aa52ac7964289d1a9c1 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + # This step uses [docker/metadata-action](https://github.com/docker/metadata-action#about) to extract tags and labels that will be applied to the specified image. The `id` "meta" allows the output of this step to be referenced in a subsequent step. The `images` value provides the base name for the tags and labels. + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + # This step uses the `docker/build-push-action` action to build the image, based on your repository's `Dockerfile`. If the build succeeds, it pushes the image to GitHub Packages. + # It uses the `context` parameter to define the build's context as the set of files located in the specified path. For more information, see "[Usage](https://github.com/docker/build-push-action#usage)" in the README of the `docker/build-push-action` repository. + # It uses the `tags` and `labels` parameters to tag and label the image with the output from the "meta" step. + - name: Build and push Docker image + id: push + uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4 + with: + context: . + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + # This step generates an artifact attestation for the image, which is an unforgeable statement about where and how it was built. It increases supply chain security for people who consume the image. For more information, see "[AUTOTITLE](/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds)." + - name: Generate artifact attestation + uses: actions/attest-build-provenance@v1 + with: + subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}} + subject-digest: ${{ steps.push.outputs.digest }} + push-to-registry: true From 315de8c7d3d24ea18a95682a2559288b89406e8c Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Wed, 8 Jan 2025 17:28:16 +0100 Subject: [PATCH 16/26] update text in bmi doc --- docs/bmi.md | 87 +++++++++++++++++++++++++---------------- docs/getting_started.md | 6 +-- 2 files changed, 56 insertions(+), 37 deletions(-) diff --git a/docs/bmi.md b/docs/bmi.md index fb9c047..011470e 100644 --- a/docs/bmi.md +++ b/docs/bmi.md @@ -1,63 +1,84 @@ # Basic Model Interface -The [Basic Model Interface](https://csdms.colorado.edu/wiki/BMI) is a standard way of communicating with models. -PyStemmusScope implements the Basic Model Interface for STEMMUS_SCOPE. - -There are multiple ways to run the STEMMUS_SCOPE Basic Model Interface. -For the model, we generated Matlab Compiler Runtime executable file (only available for x86 Linux). -This requires installation of MCR. -The other option is to use the Dockerized version of the executable, available on ghcr.io/ecoextreml/stemmus_scope. - -For more information on each method, see the sections below. +The [Basic Model Interface](https://csdms.colorado.edu/wiki/BMI) is a standard +way of communicating with models. PyStemmusScope implements the Basic Model +Interface for STEMMUS_SCOPE. There are multiple ways to run the STEMMUS_SCOPE +Basic Model Interface. For the model, we generated Matlab Compiler Runtime +executable file (only available for x86 Linux). This requires installation of +MCR. The other option is to use the Dockerized version of the executable, +available on +[ghcr.io/ecoextreml/stemmus_scope](ghcr.io/ecoextreml/stemmus_scope). For more +information on each method, see the sections below. ## Installation and setup ### Dockerized executable -STEMMUS_SCOPE has a Docker image available. This allows you to run the executable file without having to install MCR. -The Docker image is available at https://ghcr.io/ecoextreml/stemmus_scope. The Docker image is created using the docker file [here](https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/Dockerfile). +STEMMUS_SCOPE has a Docker image available. This allows you to run the +executable file without having to install MCR. The Docker image is available at +[https://ghcr.io/ecoextreml/stemmus_scope](https://ghcr.io/ecoextreml/stemmus_scope). +The Docker image is created using the docker file +[here](https://github.com/EcoExtreML/STEMMUS_SCOPE/blob/main/Dockerfile). To use +the Docker image, use the `DockerImage` setting in the configuration file: -To use the Docker image, use the `DockerImage` setting in the configuration file: ```sh WorkDir=/home/username/tmp/stemmus_scope ... DockerImage=ghcr.io/ecoextreml/stemmus_scope:1.6.2 ``` -It is best to add the version tag here too (`:1.6.2`), this way the BMI will warn you if the version might be incompatible. - -Note that the `docker` package for python is required here. Install this with `pip install PyStemmusScope[docker]`. -Additionally, [Docker](https://docs.docker.com/get-docker/) itself has to be installed. +It is best to add the version tag here too (`:1.6.2`), this way the BMI will +warn you if the version might be incompatible. Note that the `docker` package +for python is required. Install this with `pip install PyStemmusScope[docker]`. +Additionally, [Docker](https://docs.docker.com/get-docker/) itself has to be +installed. ### Local executable file -The executable file can be downloaded from the STEMMUS_SCOPE repository. More specifically [here](https://github.com/EcoExtreML/STEMMUS_SCOPE/tree/main/run_model_on_snellius/exe). +You can run the model using the executable file. It can be downloaded from the +STEMMUS_SCOPE repository, +[here](https://github.com/EcoExtreML/STEMMUS_SCOPE/tree/main/run_model_on_snellius/exe). +To be able to run this executable, you need a Linux x86 system, along with +Matlab Compiler Runtime R2023a. MCR is available +[here](https://nl.mathworks.com/products/compiler/matlab-runtime.html). To use +the local executable file, add the path to the executable file to the config +file. E.g.: -To be able to run this executable, you need a Linux x86 system, along with Matlab Compiler Runtime R2023a. MCR is available [here](https://nl.mathworks.com/products/compiler/matlab-runtime.html). - -To use the local executable file, add the path to the executable file to the config file. E.g.: ``` WorkDir=/home/username/tmp/stemmus_scope ... ExeFilePath=/path/to/executable/STEMMUS_SCOPE ``` -Alternatively, if the environmental variable `STEMMUS_SCOPE` is configured, the BMI will use this if the ExeFilePath or DockerImage are not set in the configuration file. +Alternatively, if the environmental variable `STEMMUS_SCOPE` is configured, the +BMI will use this if the ExeFilePath or DockerImage are not set in the +configuration file. ## Using the BMI -A [notebook demonstration the use of the Basic Model Interface](notebooks/BMI_demo.ipynb) is available. -For more information on using BMI, see the [CSDMS website](https://csdms.colorado.edu/wiki/BMI). - -If you need access to other model variables that are not yet available in the BMI, please raise an issue on the [STEMMUS_SCOPE repository](https://github.com/EcoExtreML/STEMMUS_SCOPE/issues), or leave a comment if an issue is open already. - -## grpc4bmi - -A [Docker image is available](https://ghcr.io/ecoextreml/stemmus_scope-grpc4bmi) in which the model as well as the Python BMI have been wrapped in a container. The Docker image is created using the Docker file [here](https://github.com/EcoExtreML/STEMMUS_SCOPE_Processing/blob/main/Dockerfile) and allows communication with a STEMMUS_SCOPE BMI through [grpc4bmi](https://grpc4bmi.readthedocs.io/en/latest/). - -Doing so avoids the needs to install PyStemmusScope yourself, only Docker/apptainer and a python environment with grpc4bmi are required. Please note you should not specify `DockerImage` or `ExeFilePath` in the config file if you are using the grpc4bmi interface. - -A demonstration is available [here](notebooks/grpc4bmi_demo.ipynb) +A [notebook demonstration the use of the Basic Model +Interface](notebooks/BMI_demo.ipynb) is available. For more information on using +BMI, see the [CSDMS website](https://csdms.colorado.edu/wiki/BMI). + +If you need access to other model variables that are not yet available in the +BMI, please raise an issue on the [STEMMUS_SCOPE +repository](https://github.com/EcoExtreML/STEMMUS_SCOPE/issues), or leave a +comment if an issue is open already. + +## Using grpc4bmi + +A [Docker image is available](https://ghcr.io/ecoextreml/stemmus_scope-grpc4bmi) +in which the model as well as the Python BMI have been wrapped in a container. +The Docker image is created using the Docker file +[here](https://github.com/EcoExtreML/STEMMUS_SCOPE_Processing/blob/main/Dockerfile) +and allows communication with a STEMMUS_SCOPE BMI through +[grpc4bmi](https://grpc4bmi.readthedocs.io/en/latest/). Doing so avoids the +needs to install PyStemmusScope yourself, only Docker/apptainer and a python +environment with grpc4bmi are required. Please note you should not specify +`DockerImage` or `ExeFilePath` in the config file if you are using the grpc4bmi +interface. Only set the `STEMMUS_SCOPE` environmental variable with a path to +the executable file. A demonstration is available +[here](notebooks/grpc4bmi_demo.ipynb). ## Developer instructions diff --git a/docs/getting_started.md b/docs/getting_started.md index 7804b27..eda097e 100644 --- a/docs/getting_started.md +++ b/docs/getting_started.md @@ -35,7 +35,5 @@ set in the configuration file: ## Running the model If you want to run the model using `PyStemmusScope`, follow the instructions in -the `installation` and `Run the model` documentation. - -If you want to add changes to the package `PyStemmusScope`, follow `Contributing -guide` documnetation. +the `installation` and `Run the model` documentation. If you want to add changes +to the package `PyStemmusScope`, follow `Contributing guide` documnetation. From 4cdc928dd793b45096c9743d10ddd8010c62c57f Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Wed, 8 Jan 2025 17:30:49 +0100 Subject: [PATCH 17/26] add missing docstring --- PyStemmusScope/bmi/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/PyStemmusScope/bmi/__init__.py b/PyStemmusScope/bmi/__init__.py index 568ad6f..056e8a7 100644 --- a/PyStemmusScope/bmi/__init__.py +++ b/PyStemmusScope/bmi/__init__.py @@ -1,4 +1,4 @@ +"""Documentation about StemmusScopeBmi.""" from .implementation import StemmusScopeBmi - __all__ = ["StemmusScopeBmi"] From 87cf1e4ef6ce0ef8b97f106a8e15ae68720c2902 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Thu, 9 Jan 2025 10:01:05 +0100 Subject: [PATCH 18/26] fix linter error --- PyStemmusScope/bmi/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/PyStemmusScope/bmi/__init__.py b/PyStemmusScope/bmi/__init__.py index 056e8a7..80c00e2 100644 --- a/PyStemmusScope/bmi/__init__.py +++ b/PyStemmusScope/bmi/__init__.py @@ -1,4 +1,5 @@ """Documentation about StemmusScopeBmi.""" from .implementation import StemmusScopeBmi + __all__ = ["StemmusScopeBmi"] From e25f5fc0c7ab9bcbb7f59836555a3b9af349f682 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Thu, 9 Jan 2025 10:46:05 +0100 Subject: [PATCH 19/26] rename intro to index because rtd needs it --- docs/{intro.md => index.md} | 0 mkdocs.yml | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename docs/{intro.md => index.md} (100%) diff --git a/docs/intro.md b/docs/index.md similarity index 100% rename from docs/intro.md rename to docs/index.md diff --git a/mkdocs.yml b/mkdocs.yml index dee31e3..574c24a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -3,7 +3,7 @@ repo_url: https://github.com/EcoExtreML/STEMMUS_SCOPE_Processing repo_name: PyStemmusScope nav: - - Introduction: intro.md + - Introduction: index.md - Getting started: getting_started.md - Installation: installation_instructions.md - Run the model: From 0e2e4d38e3380d7193ee8fa95275f72780b23612 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Thu, 9 Jan 2025 10:54:26 +0100 Subject: [PATCH 20/26] use new link cheker action, issue 119 --- .github/workflows/markdown-link-check.yml | 4 +-- .linkspector.yml | 10 ++++++++ .mlc-config.json | 30 ----------------------- 3 files changed, 12 insertions(+), 32 deletions(-) create mode 100644 .linkspector.yml delete mode 100644 .mlc-config.json diff --git a/.github/workflows/markdown-link-check.yml b/.github/workflows/markdown-link-check.yml index 3cdbce0..fce277a 100644 --- a/.github/workflows/markdown-link-check.yml +++ b/.github/workflows/markdown-link-check.yml @@ -15,6 +15,6 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - - uses: gaurav-nelson/github-action-markdown-link-check@v1 + - uses: umbrelladocs/action-linkspector@v1 with: - config-file: '.mlc-config.json' + config-file: '.linkspector.yml' diff --git a/.linkspector.yml b/.linkspector.yml new file mode 100644 index 0000000..d17e98e --- /dev/null +++ b/.linkspector.yml @@ -0,0 +1,10 @@ +ignorePatterns: + - pattern: "^http://localhost" + - pattern: "^https://doi.org/" + - pattern: "^https://github.com/.*/settings/secrets/actions$" + - pattern: "^https://github.com/organizations/.*/repositories/new" + - pattern: "^https://test.pypi.org" + - pattern: "^https://bestpractices.coreinfrastructure.org/projects/" + - pattern: "^https://readthedocs.org/dashboard/import.*" + +useGitIgnore: true diff --git a/.mlc-config.json b/.mlc-config.json deleted file mode 100644 index 1d38867..0000000 --- a/.mlc-config.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "_comment": "Markdown Link Checker configuration, see https://github.com/gaurav-nelson/github-action-markdown-link-check and https://github.com/tcort/markdown-link-check", - "ignorePatterns": [ - { - "pattern": "^http://localhost" - }, - { - "pattern": "^https://doi.org/" - }, - { - "pattern": "^https://github.com/.*/settings/secrets/actions$" - }, - { - "pattern": "^https://github.com/organizations/.*/repositories/new" - }, - { - "pattern": "^https://test.pypi.org" - }, - { - "pattern": "^https://bestpractices.coreinfrastructure.org/projects/" - }, - { - "pattern": "^https://readthedocs.org/dashboard/import.*" - } - ], - "replacementPatterns": [ - ], - "retryOn429": true, - "timeout": "20s" -} From d712a52117d72ba3fb7c19242f7ef4b9b61be168 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Thu, 9 Jan 2025 11:04:34 +0100 Subject: [PATCH 21/26] fix a key in link checker action --- .github/workflows/markdown-link-check.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/markdown-link-check.yml b/.github/workflows/markdown-link-check.yml index fce277a..53b1c65 100644 --- a/.github/workflows/markdown-link-check.yml +++ b/.github/workflows/markdown-link-check.yml @@ -14,7 +14,7 @@ jobs: name: Check markdown links runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: umbrelladocs/action-linkspector@v1 with: - config-file: '.linkspector.yml' + config_file: '.linkspector.yml' From 971a0bb84aa9cf39b88b4c765b84f34148ec7825 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Thu, 9 Jan 2025 11:26:55 +0100 Subject: [PATCH 22/26] fix config file of linkchecker, fix some dead links in docs --- .linkspector.yml | 6 ++++- docs/bmi.md | 2 +- docs/downloading_global_data.md | 7 +++--- docs/project_setup.md | 43 ++++++--------------------------- 4 files changed, 17 insertions(+), 41 deletions(-) diff --git a/.linkspector.yml b/.linkspector.yml index d17e98e..ce48862 100644 --- a/.linkspector.yml +++ b/.linkspector.yml @@ -1,3 +1,8 @@ +dirs: + - ./docs +excludedDirs: + - ./docs/notebooks + - ./docs/overrides ignorePatterns: - pattern: "^http://localhost" - pattern: "^https://doi.org/" @@ -6,5 +11,4 @@ ignorePatterns: - pattern: "^https://test.pypi.org" - pattern: "^https://bestpractices.coreinfrastructure.org/projects/" - pattern: "^https://readthedocs.org/dashboard/import.*" - useGitIgnore: true diff --git a/docs/bmi.md b/docs/bmi.md index 011470e..aabbbf2 100644 --- a/docs/bmi.md +++ b/docs/bmi.md @@ -7,7 +7,7 @@ Basic Model Interface. For the model, we generated Matlab Compiler Runtime executable file (only available for x86 Linux). This requires installation of MCR. The other option is to use the Dockerized version of the executable, available on -[ghcr.io/ecoextreml/stemmus_scope](ghcr.io/ecoextreml/stemmus_scope). For more +[https://ghcr.io/ecoextreml/stemmus_scope](https://ghcr.io/ecoextreml/stemmus_scope). For more information on each method, see the sections below. ## Installation and setup diff --git a/docs/downloading_global_data.md b/docs/downloading_global_data.md index ded45c0..d211a3e 100644 --- a/docs/downloading_global_data.md +++ b/docs/downloading_global_data.md @@ -46,8 +46,9 @@ A simple example for the parsing of the data is in ## DEM data from Copernicus -A word doc for instructions is available -[here](https://spacedata.copernicus.eu/documents/20123/121286/Copernicus+DEM+Open+HTTPS+Access.pdf/36c9adad-8488-f463-af43-573e68b7f481?t=1669283200177). A simple example for the parsing of the data is in +DEM data is provided by Copernicus, see +[here](https://dataspace.copernicus.eu/explore-data/data-collections/copernicus-contributing-missions/collections-description/COP-DEM). +A simple example for the parsing of the data is in `global_data/data_analysis_notebooks/parse_dem.ipynb`. ## LAI from Climate Data Store (CDS) @@ -58,4 +59,4 @@ data is in `global_data/data_analysis_notebooks/parse_LAI.py`. ## Land cover from Climate Data Store (CDS) -Land cover data is available at [https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=overview](https://cds.climate.copernicus.eu/cdsapp#!/dataset/satellite-land-cover?tab=overview). +Land cover data is available at [https://cds.climate.copernicus.eu/datasets/satellite-land-cover](https://cds.climate.copernicus.eu/datasets/satellite-land-cover). diff --git a/docs/project_setup.md b/docs/project_setup.md index f05cc9e..eb59923 100644 --- a/docs/project_setup.md +++ b/docs/project_setup.md @@ -7,28 +7,14 @@ text when the development of the software package takes off. For a quick reference on software development, we refer to [the software guide checklist](https://guide.esciencecenter.nl/#/best_practices/checklist). -## Python versions - -This repository is set up with Python versions: - -- 3.9 -- 3.10 -- 3.11 - -Add or remove Python versions based on project requirements. See [the -guide](https://guide.esciencecenter.nl/#/best_practices/language_guides/python) for more information about Python -versions. - ## Package management and dependencies -You can use either pip or conda for installing dependencies and package management. This repository does not force you -to use one or the other, as project requirements differ. For advice on what to use, please check [the relevant section -of the +You can use either pip or conda for installing dependencies (see +`pyproject.toml`) and package management. This repository does not force you to +use one or the other, as project requirements differ. For advice on what to use, +please check [the relevant section of the guide](https://guide.esciencecenter.nl/#/best_practices/language_guides/python?id=dependencies-and-package-management). -- Runtime dependencies should be added to `setup.cfg` in the `install_requires` list under `[options]`. -- Development dependencies should be added to `setup.cfg` in one of the lists under `[options.extras_require]`. - ## Packaging/One command install You can distribute your code using PyPI. @@ -43,33 +29,18 @@ help you decide which tool to use for packaging. - The testing framework used is [PyTest](https://pytest.org) - [PyTest introduction](https://pythontest.com/pytest-book/) - PyTest is listed as a development dependency - - This is configured in `setup.cfg` + - This is configured in `pyproject.toml` - The project uses GitHub action workflows to automatically run tests on GitHub infrastructure against multiple Python versions - Workflows can be found in [`.github/workflows`](../.github/workflows/) - [Relevant section in the guide](https://guide.esciencecenter.nl/#/best_practices/language_guides/python?id=testing) ## Documentation -- Documentation should be put in the [`docs/`](../docs) directory. The contents have been generated using `sphinx-quickstart` (Sphinx version 1.6.5). -- We recommend writing the documentation using Restructured Text (reST) and Google style docstrings. - - [Restructured Text (reST) and Sphinx CheatSheet](https://thomas-cokelaer.info/tutorials/sphinx/rest_syntax.html) - - [Google style docstring examples](http://sphinxcontrib-napoleon.readthedocs.io/en/latest/example_google.html). -- The documentation is set up with the ReadTheDocs Sphinx theme. - - Check out its [configuration options](https://sphinx-rtd-theme.readthedocs.io/en/latest/). -- [AutoAPI](https://sphinx-autoapi.readthedocs.io/) is used to generate documentation for the package Python objects. -- `.readthedocs.yaml` is the ReadTheDocs configuration file. When ReadTheDocs is building the documentation this package and its development dependencies are installed so the API reference can be rendered. -- [Relevant section in the guide](https://guide.esciencecenter.nl/#/best_practices/language_guides/python?id=writingdocumentation) +- Documentation should be put in the `docs/` directory. ## Coding style conventions and code quality -- [Relevant section in the NLeSC guide](https://guide.esciencecenter.nl/#/best_practices/language_guides/python?id=coding-style-conventions) and [README.dev.md](README.dev.md). - -## Continuous code quality - -[Sonarcloud](https://sonarcloud.io/) is used to perform quality analysis and code coverage report - -- `sonar-project.properties` is the SonarCloud [configuration](https://docs.sonarqube.org/latest/analysis/analysis-parameters/) file -- `.github/workflows/sonarcloud.yml` is the GitHub action workflow which performs the SonarCloud analysis +- [Relevant section in the NLeSC guide](https://guide.esciencecenter.nl/#/best_practices/language_guides/python?id=coding-style-conventions). ## Package version number From 89d77ab555a2281a0938292303f10a4126103991 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Thu, 9 Jan 2025 13:40:45 +0100 Subject: [PATCH 23/26] avoid ubuntu latest runner in link checker action --- .github/workflows/markdown-link-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/markdown-link-check.yml b/.github/workflows/markdown-link-check.yml index 53b1c65..301cf73 100644 --- a/.github/workflows/markdown-link-check.yml +++ b/.github/workflows/markdown-link-check.yml @@ -12,7 +12,7 @@ jobs: markdown-link-check: name: Check markdown links - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 # there is an issue with ubuntu-latest and linkspector steps: - uses: actions/checkout@v4 - uses: umbrelladocs/action-linkspector@v1 From 10a394fd252a3b3bdb133484e3041d209508d867 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Thu, 9 Jan 2025 14:48:55 +0100 Subject: [PATCH 24/26] add workflow_dispatch type to publish container action --- .github/workflows/publish-container.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 28eaae3..4bc7df0 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -4,6 +4,7 @@ name: Create and publish the PyStemmusScope container image 📦 on: release: types: [published] + workflow_dispatch: # Defines two custom environment variables for the workflow. These are used for the Container registry domain, and a name for the Docker image that this workflow builds. env: From 95d833aa29bbdd4bdb091e2387a0a9e0cb1cd014 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Thu, 9 Jan 2025 14:49:23 +0100 Subject: [PATCH 25/26] add workflow_dispatch type to publish python action --- .github/workflows/python-publish.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/python-publish.yml b/.github/workflows/python-publish.yml index a0a0ed8..dc3cb65 100644 --- a/.github/workflows/python-publish.yml +++ b/.github/workflows/python-publish.yml @@ -11,6 +11,7 @@ name: Upload Python Package on: release: types: [published] + workflow_dispatch: permissions: contents: read From 79206f100cdf9cb7dc2b06d7549e21a8c0b1c970 Mon Sep 17 00:00:00 2001 From: SarahAlidoost Date: Thu, 9 Jan 2025 16:11:31 +0100 Subject: [PATCH 26/26] add a link to reference for modflow coupling --- docs/notebooks/bmi_MODFLOW_coupling.ipynb | 34 +++++++++++------------ 1 file changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/notebooks/bmi_MODFLOW_coupling.ipynb b/docs/notebooks/bmi_MODFLOW_coupling.ipynb index 17718a8..e17fa94 100644 --- a/docs/notebooks/bmi_MODFLOW_coupling.ipynb +++ b/docs/notebooks/bmi_MODFLOW_coupling.ipynb @@ -6,7 +6,7 @@ "source": [ "# STEMMUS_SCOPE & MODFLOW 6 BMI coupling\n", "\n", - "This Python notebook shows a simple example of BMI coupling between the STEMMUS_SCOPE model and the MODFLOW 6 model. The example is prepared for one of the PLUMBER2 dataset (https://researchdata.edu.au/plumber2-forcing-evaluation-surface-models/1656048): the LooBos site, the Netherlands (NL-Loo). To run this notebook, the following are required:\n", + "This Python notebook shows a simple example of BMI coupling between the STEMMUS_SCOPE model and the MODFLOW 6 model, based on research carried by \"M. Daoud\", as a part of [EcoExtreML](https://research-software-directory.org/projects/ecoextreml) project, for more info see [this reference](https://research.utwente.nl/en/publications/investigating-the-role-of-groundwater-in-mitigating-vegetation-wa). The example is prepared for one of the PLUMBER2 dataset (https://researchdata.edu.au/plumber2-forcing-evaluation-surface-models/1656048): the LooBos site, the Netherlands (NL-Loo). To run this notebook, the following are required:\n", "- Install the related packages:\n", " - pyStemmusScope package (https://pystemmusscope.readthedocs.io/en/latest/).\n", " - modflowapi Python package (https://github.com/MODFLOW-USGS/modflowapi?tab=readme-ov-file#installation).\n", @@ -124,11 +124,11 @@ } ], "source": [ - "# Add the matlab runtime compiler locations: \n", + "# Add the matlab runtime compiler locations:\n", "matlab_version = 'R2023a'\n", - "matlab_path = '/opt/matlab/MATLAB_Runtime/' + matlab_version \n", - " \n", - "os.environ['LD_LIBRARY_PATH'] = ( \n", + "matlab_path = '/opt/matlab/MATLAB_Runtime/' + matlab_version\n", + "\n", + "os.environ['LD_LIBRARY_PATH'] = (\n", " f\"{matlab_path}/runtime/glnxa64:\"\n", " f\"{matlab_path}/bin/glnxa64:\"\n", " f\"{matlab_path}/sys/os/glnxa64:\"\n", @@ -262,7 +262,7 @@ ], "source": [ "sim = ApiSimulation.load(modflow)\n", - "gwf_name = sim.model_names[0] # groundwater flow model \n", + "gwf_name = sim.model_names[0] # groundwater flow model\n", "gwe_name = sim.model_names[1] # groundwater energy (heat) model\n", "gwf_name, gwe_name" ] @@ -399,7 +399,7 @@ "source": [ "stemmus_scope.set_value(\"groundwater_elevation_top_aquifer\", top_elev)\n", "stemmus_scope.set_value(\"groundwater_head_bottom_layer\", gwhead_init)\n", - "stemmus_scope.set_value(\"groundwater_temperature\", gwtemp_init) " + "stemmus_scope.set_value(\"groundwater_temperature\", gwtemp_init)" ] }, { @@ -6650,9 +6650,9 @@ ], "source": [ "while modflow.get_current_time() < modflow.get_end_time():\n", - " while stemmus_scope.get_current_time() < stemmus_scope.get_end_time(): \n", - " \n", - " # Get STEMMUS_SCOPE variables (soil moisture, soil temperature, groundwater recharge) \n", + " while stemmus_scope.get_current_time() < stemmus_scope.get_end_time():\n", + "\n", + " # Get STEMMUS_SCOPE variables (soil moisture, soil temperature, groundwater recharge)\n", " stemmus_scope.get_value(\"soil_moisture\", soil_moisture[i])\n", " stemmus_scope.get_value(\"soil_temperature\", soil_temperature[i])\n", " stemmus_scope.get_value(\"groundwater_recharge\", gw_recharge)\n", @@ -6669,19 +6669,19 @@ " # Set STEMMUS_SCOPE variables (groundwater head, groundwater temperature)\n", " stemmus_scope.set_value(\"groundwater_head_bottom_layer\", gwhead)\n", " stemmus_scope.set_value(\"groundwater_temperature\", gwtemp)\n", - " \n", + "\n", " # Set MODFLOW 6 variables (groundwater recharge)\n", - " kstp, kper = sim.kstp, sim.kper \n", + " kstp, kper = sim.kstp, sim.kper\n", " if kstp == nstp - 1:\n", - " # groundwater recharge per stress period = sum of groundwater recharge per time step \n", + " # groundwater recharge per stress period = sum of groundwater recharge per time step\n", " gw_recharge_nper = np.array([-1 * np.sum(gw_recharge_nstp) / 100]) # multiply by -1 due to different signs of both models\n", " modflow.set_value(rch_tag, gw_recharge_nper)\n", - " gw_recharge_nstp = np.array([]) \n", - " \n", - " # Track the simulation time of MODFLOW 6 \n", + " gw_recharge_nstp = np.array([])\n", + "\n", + " # Track the simulation time of MODFLOW 6\n", " print('Updating MODFLOW Stress period ' + str(kper + 1) + ', time step ' + str(kstp + 1))\n", " # print(kper + 1, kstp + 1, gwhead, gwtemp)\n", - " \n", + "\n", " # Update models\n", " stemmus_scope.update()\n", " modflow.update()"