# Добавление плотины (водохранилища)

## 1. Разница между узлами хранилища и резервуара

Обратите внимание, что в WaterStrategy и Pywr есть два узла, которые представляют собой резервуары. Первый — это [**хранилище** ](https://water-strategy.gitbook.io/water-strategy/modelling-fundamentals/node-types/storage-node)узел, а второй — это [**водохранилище** ](https://water-strategy.gitbook.io/water-strategy/modelling-fundamentals/node-types/reservoir-node)узел.

В обоих узлах хранится вода. Резервуарный узел работает так же, как storage node, но имеет встроенные параметры, позволяющие ***испарение*** а также ***осадки*** для непосредственного представления на узле. Представлять ***испарение*** а также ***осадки*** с storage node водосборный узел, подключенный к storage node, используется для представления осадков, а выходной узел, забирающий воду из storage node, используется для представления испарения.

В этом учебном пособии узлы резервуара будут использованы для построения модели системы резервуаров.

## 2. Создайте пример модели системы резервуаров

### **2.1 Нажмите на сеть, созданную в последнем разделе, и откройте ее**

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-590f333576491cdcf62424e64e09f929fd04afba%2Fimage%20(237).png?alt=media" alt=""><figcaption><p>Откройте созданную сеть</p></figcaption></figure>

### **2.2 Найдите реку на карте**

В этом уроке указано рекомендуемое местоположение, но если вы не можете найти точное местоположение, просто найдите другое место с рекой.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-65218db6ad1b02ba1b97958a2a45f921283c2243%2Fimage%20(238).png?alt=media" alt=""><figcaption><p>Рекомендуемое местоположение для этого примера</p></figcaption></figure>

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-fbb69d476af2f62b61c941d2ecbf22e2e4d32ca3%2Fimage%20(240).png?alt=media" alt=""><figcaption><p>Река, использованная в этом примере</p></figcaption></figure>

### **2.3 Добавьте следующие узлы в сеть**

* Поместите **водохранилище** узел реки.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-26ebb6bcb55e4f9e3ff93256880c7c25b9431ab9%2Fimage%20(242).png?alt=media" alt="" width="329"><figcaption><p>Резервуарный узел</p></figcaption></figure>

**## #Notice**: убедитесь, что вы используете узел «Резервуар»: <img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-cf7194232a7669b4f9aed2ff96e7f6e5609f8e03%2Fimage%20(243).png?alt=media" alt="" data-size="line">а не узел «Хранилище»: <img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-d421e0aa49918b52681dc29266baa5e275209291%2Fimage%20(244).png?alt=media" alt="" data-size="line">.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-9dca7c81befee69561bb41c30452ca2e5138858f%2Fimage%20(255).png?alt=media" alt=""><figcaption><p>Добавление резервуарного узла</p></figcaption></figure>

* Поместите \[**водосборный бассейн**] (<https://water-strategy.gitbook.io/water-strategy/modelling-fundamentals/node-types/catchment-node)node> <img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-a34d3beb7c3f7bc31b5d87ba23b0085cc3a4dfdb%2Fimage%20(247).png?alt=media" alt="" data-size="line"> выше по течению от водохранилища. Водосборный узел представляет собой реку, впадающую в водохранилище.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-b03154074eb4368a784f6c6c5cfd0df382d8fd23%2Fimage%20(256).png?alt=media" alt=""><figcaption><p>Добавление водосборного узла</p></figcaption></figure>

* Поместите \[**выход**] (<https://water-strategy.gitbook.io/water-strategy/modelling-fundamentals/node-types/output-node)node> <img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-a17b35f72ea3dcafd340e09428474f2a4d981c51%2Fimage%20(249).png?alt=media" alt="" data-size="line">ниже по течению от водохранилища. Выходной узел в данном случае представляет собой выходное отверстие реки.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-959486d107ab5819201ac7c1a5c55f6a37812f22%2Fimage%20(258).png?alt=media" alt=""><figcaption><p>Добавление выходного узла</p></figcaption></figure>

* Второе место \[**ссылка**] (<https://water-strategy.gitbook.io/water-strategy/modelling-fundamentals/node-types/link-node)nodes> <img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-bb75a2481cefbc816b1716b20cf6ead67ec5bf8f%2Fimage%20(252).png?alt=media" alt="" data-size="line">между резервуаром и выходными узлами (как показано ниже). В данном случае эти узлы связи представляют собой (1) выбросы из резервуара и (2) утечки.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-a8f865774268a9cd3a2225c489db67e6d00f4998%2Fimage%20(259).png?alt=media" alt=""><figcaption><p>Добавление узлов ссылок</p></figcaption></figure>

The **верхний link node** представляющий собой выброс из резервуара, представляет собой поток, покидающий резервуар в результате действия каких-либо правил сброса или для удовлетворения распределения воды в низовьях по течению. Правила сброса воды обычно указываются на этом узле. Правила выпуска из резервуара, определенные на этом узле, обычно представлены параметром, заданным в атрибуте nodes max\ \_flow.

The **нижняя часть link node** представляет собой разлив из резервуара. Разлив используется, если определены правила сброса воды из резервуара, ограничивающие объем воды, который может быть сброшен через этот узел, и необходимо сбросить больше воды, чем разрешено правилами сброса (например, в случае превышения пропускной способности резервуара). Поскольку разлив обычно происходит только в случае превышения пропускной способности резервуара, штраф за распределение воды в этом узле, как правило, очень высок.

Соедините узлы ребрами, которые обычно называются *ссылки*. <img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-56babef3a95801f43855d762497f82c58808c6b8%2Fimage%20(254).png?alt=media" alt="" data-size="line">

**## #Notice**: не забудьте соединить узлы, щелкнув сначала на вышестоящем узле, а затем на нижестоящем узле.

Вы можете посмотреть, как добавить ребра в **видео** ниже.

{% embed url="<https://www.youtube.com/watch?t=204s&v=ub-fv-0u10A>" %}
Руководство по добавлению ребер
{% endembed %}

The **система резервуаров** должен выглядеть как **фигура** ниже.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-f332b29d9a2316506b5eb18304c864d5e35e5f12%2Fimage%20(261).png?alt=media" alt=""><figcaption><p>Пример системы резервуаров</p></figcaption></figure>

### **2.4 Настройте временной шаг и временной горизонт**

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-04ff52777184f291a693349d3a0742829b1475da%2Fimage%20(277).png?alt=media" alt=""><figcaption><p><strong>Настройте временной шаг и временной горизонт</strong></p></figcaption></figure>

### **2.5 Переименуйте узлы так, чтобы они соответствовали их контексту**

* \_ **Водосборный бассейн** узел к '*Пример catchment*',
* \_ **Резервуар** узел к '*Пример резервуара*'
* \_ **Вывод** узел к '*Пример outlet*'.
* \_ **Ссылка** узлы к '*Выпуск*'и другой'*Пролить*'.

На рисунке ниже показано, куда нужно нажать, чтобы переименовать водосборный узел. Этот же процесс можно повторить для всех остальных узлов.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-ed9af2ca3d368dff48d4fc58b16cf65605e9626e%2Fimage%20(262).png?alt=media" alt=""><figcaption><p>Переименуйте водосборный узел</p></figcaption></figure>

### **2.6 Ввод данных в водосборный узл**

Перейдите по следующей ссылке, чтобы найти данные временных рядов для этого шага.

<https://docs.google.com/spreadsheets/d/1MR1Xxk77gFzcY3J3r6c6g38UB8pd1HMY/edit?usp=sharing&ouid=103362449956532179397&rtpof=true&sd=true>

* Нажмите на **Водосборный узл** и следуйте щелчкам (красные стрелки, показанные в последовательности рисунков ниже).

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-6eaea8c5b144651afd015a31df35777718213a63%2Fimage%20(263).png?alt=media" alt=""><figcaption><p>Нажмите на водосборный узел, а затем кнопку редактирования атрибута Flow.</p></figcaption></figure>

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-8405cc2da7d1e14bb6d917af6c8609eec67c8fde%2Fimage%20(264).png?alt=media" alt="" width="375"><figcaption><p>Тип параметра, который будет использоваться для параметра потока, должен быть установлен на PYWR DataFrame, который представляет собой временной ряд.</p></figcaption></figure>

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-4d11b732df06c1703ebc1c22343b88e019837120%2Fimage%20(265).png?alt=media" alt=""><figcaption><p>Нажмите «ОК», чтобы принять изменение типа параметра.</p></figcaption></figure>

* В ссылке Excel вы увидите временной ряд. Скопируйте первый (или только временной ряд, если есть только один). Не забудьте также скопировать даты.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-fc3b70caeee323303aa4fcca6ef32d277ae37d5e%2Fimage%20(65).png?alt=media" alt=""><figcaption></figcaption></figure>

* Вставьте временной ряд в ячейку **A1** в **вкладка «Фрейм данных**»

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-1b178375c2dcb0a5c6a47e81ea4de85d476267a7%2Fimage%20(267).png?alt=media" alt=""><figcaption><p>Вставить данные о поступлении</p></figcaption></figure>

* У вас должен быть временной ряд, как показано ниже. Нажмите **Сохранить**.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-649c6d362c645acc2fabcf84f4144fb995271b27%2Fimage%20(269).png?alt=media" alt=""><figcaption><p>Сохранить данные о поступлении</p></figcaption></figure>

### **2.7 Ввод данных в примерный узел резервуара**

* Нажмите на **Пример узла резервуара**
* Установите **макс\_объем** до 25 Мм3. Это максимальная пропускная способность плотины в этом уроке.
* Установите **начальный\_объем** до 15 Мм3. Это уровень хранения, с которого моделирование начинается на первом этапе.
* Установите **штраф за распределение** до -200. Часто на водохранилищах налагается отрицательный штраф за распределение средств. Штрафы за распределение воды часто используются для балансировки использования водохранилищ или других источников воды в системах с несколькими резервуарами и несколькими источниками.

Атрибуты на резервуаре должны выглядеть следующим образом:

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-5502f36ed365bc2dd8000bf4dde253a3711075ba%2Fimage%20(270).png?alt=media" alt=""><figcaption><p>Данные резервуара</p></figcaption></figure>

### \*\*2.8 Ввод данных на узлах ссылки на разливы и выбросы. \*\*

* На \*\*В узле «Ссылка на разлив» \*\* для параметра «Штраф за распределение» установлен на 1000

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-da9b7302bd7e0343f3bfb6af743207e2563b2349%2Fimage%20(271).png?alt=media" alt="" width="291"><figcaption><p>Установление штрафов за распределение разливов</p></figcaption></figure>

* The **Узел Release link** не должен иметь никаких входных данных.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-97403645670a93602d3d86ddcb80d660d0933ceb%2Fimage%20(272).png?alt=media" alt="" width="294"><figcaption><p>Настройка ссылки на релиз</p></figcaption></figure>

### **2.9 Запустите модель**

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-fff7568edffeb85cf61f7bd0cd16323ca79d7247%2Fimage%20(273).png?alt=media" alt="" width="375"><figcaption><p>Запустите модель</p></figcaption></figure>

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-0f2448df0ad3cae7a1e5acf4cb45ec372c31d9fc%2Fimage%20(274).png?alt=media" alt="" width="375"><figcaption><p>Запустите модель</p></figcaption></figure>

### **2.10 См. результаты расчетов**

* Посмотрите '**смоделировано\_объем**'узла резервуара, чтобы увидеть объем резервуара с течением времени.

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-8a1ad6d77b69728d67054ad4ca033f11ad9939f5%2Fimage%20(278).png?alt=media" alt=""><figcaption><p>Получите расчетные результаты</p></figcaption></figure>

* Нажмите на вид «Сюжет».

<figure><img src="https://3817892601-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fn9Lkjv9vPu8czwmW2MeG%2Fuploads%2Fgit-blob-b9597eda0c965eefaf980a28c6c3e3ee0c097c41%2Fimage%20(280).png?alt=media" alt=""><figcaption><p>Посмотреть объем резервуара</p></figcaption></figure>

Видно, что резервуар заполняется и остается заполненным на протяжении большей части временного горизонта. Дело в том, что спрос на водохранилище отсутствует, а потери при испарении не определены.

**Чтобы посмотреть видео о том, как запустить модель и посмотреть результаты, нажмите здесь.**
