Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
description: Чтобы создать «цифрового двойника» (компьютерный симулятор) вашей системы водоснабжения, WaterStrategy использует Pywr («Водные ресурсы Python»).
Pywr — это бесплатная библиотека программного обеспечения на языке Python с открытым исходным кодом, позволяющая создавать высококачественные (подробные и точные) имитационные модели систем водных ресурсов.
Модели Pywr быстро запускаются на вашем компьютере или, в случае WaterStrategy, в облаке. Они могут представлять собой небольшие системы водных ресурсов, такие как городское водоснабжение, или очень крупные системы, такие как речные бассейны нескольких стран с сотнями водопользователей и инфраструктурных объектов. Pywr может моделировать короткие периоды (например, несколько месяцев) или более длительные периоды (например, 100 лет) с различными временными интервалами (от ежедневных до ежемесячных).
Ниже приводится краткое описание процесса моделирования Pywr:
1. Настройте модель
Сначала необходима пространственная карта водной системы и соответствующие гидрологические данные и данные о спросе на воду. WaterStrategy поможет вам создать эту сетевую карту всех мест («узлов»), где вода поступает в систему («притоки»), где используется вода («потребности в воде») и где осуществляется управление водой (объекты инфраструктуры). Эти узлы образуют сеть, соединенную реками, каналами или трубопроводами (Pywr называет их «звеньями» или «ребрами»). Составив карту сети, вы предоставляете данные о спросе и предложении воды (обычно в виде временных рядов).
2. Запустите симуляцию
После ввода всех данных, включая временной шаг и временной горизонт, модель готова к моделированию (т.е. к поэтапному учету воды и учету воды во всей системе). В начале каждого временного этапа компьютер начинает закачивать воду во все места притока воды, затем эта вода направляется по сети и распределяется по различным потребностям в воде и различным объектам инфраструктуры. Этот процесс распределения осуществляется с помощью вычислительной техники, называемой линейным программированием. После завершения одного временного этапа модель обновляет хранилища, записывает, в какие места попало сколько воды, а затем переходит к следующему временному шагу до конца смоделированного временного горизонта.
Каждому узлу спроса на воду присваивается приоритет, отражающий распределение воды в модели. У каждого узла есть свой штраф, а алгоритм распределения распределяет воду по всей сети, чтобы свести к минимуму общие штрафы. Этот простой подход позволяет проводить быстрое и удобное в обслуживании моделирование, позволяющее гибко отображать подробные и реалистичные правила управления водными ресурсами.
3. Результаты рецензирования
Выходные данные модели включают количество воды, поступающей в каждое место (узел), и сколько воды хранится, потребляется или проходит через него за каждый временной шаг. Это позволяет отслеживать, как используется инфраструктура и получают ли города, экосистемы, ирригационные районы, электростанции и т. д. достаточное количество воды. Результаты дают подробное представление о том, как работает система управления водными ресурсами и как распределяются водные блага.
Изначально модели плохо параметризованы и дают неточные прогнозы (стадия «мусор на входе — мусор на выходе»). Однако со временем модель будет усовершенствована («откалибрована») и она может стать ценным цифровым двойником, помогающим в эксплуатации или планировании системы водоснабжения. Этот инструмент поможет вашей организации быстро и недорого оценить последствия возможных будущих изменений и мер воздействия на водные ресурсы и принять правильные решения.
Удачи!
description: На этой странице показано, как войти в WaterStrategy
Для входа перейдите по ссылке https://hydra.org.uk/login (Hydra — это защищенный сервер, на котором мы сейчас размещаем WaterStrategy)
Введите имя пользователя и пароль WaterStrategy
Нажмите «Войти»
Если вы забыли свой пароль, нажмите на кнопку 'Забыли пароль'ссылка.
Обратите внимание: разрешите использование файлов cookie при появлении запроса.
description: Посмотрите обзор интерфейса WaterStrategy; ниже приводится текстовое описание.
Проект: папка, содержащая связанные сети, также может содержать папки других проектов (подпроекты).
\ -В каждой папке проекта отображается количество сетей и папок подпроектов в ней.
Сеть: модель.
На главной странице интерфейса выберите проект «Учебный материал».
Выберите сеть Demo 1.
\ -Внутри сети в верхней части страницы вы увидите панель, которая выглядит следующим образом ниже.
\ -Вкладки «Главная» и «Мои проекты» вернут вас на домашнюю страницу интерфейса.
\ - В разделе «Документация и обучение» вы перейдете на страницу обучающих видеороликов и письменных инструкций по интерфейсам.
\ -Вкладка «Избранное» позволяет добавлять проекты, сети и сценарии в закладки. Она также дает возможность перейти к недавно посещенным и недавно измененным проектам и сетям.
\ - «Назад к разделу «Учебные материалы»» вы вернетесь в папку проекта «Учебные материалы».
\ -Зеленая кнопка воспроизведения запускает модель.
\ -Кнопка гаечного ключа обеспечивает доступ к расширенным сетевым утилитам, таким как импорт или экспорт сетевых данных.
\ -Стрелка вниз в прямоугольной кнопке предназначена для загрузки модели. Она используется для запуска в автономном режиме или отправки кому-либо.
\ -Три строки — «Просмотр сетевых данных».
Нажмите «Просмотреть сетевые данные».
\ -В «Сведения» вы можете изменить имя сети.
\ -Иногда требуется выход из сети для обновления.
\ -В «Входных данных» вы можете изменить начало, конец и временной шаг модели.
\ -D = день, M = месяц, Y = год в качестве временного шага.
Нажмите на значок гаечного ключа, чтобы перейти в «Настройки».
__ Отображение меток - отображает имена узлов
Направление ссылки — показывает направление потока ссылок
__Показать всплывающие подсказки — отображает информацию об узле при наведении на него курсора
_Автоматическое скрытие боковой панели — скрывает боковую панель, когда она не используется
Всегда классифицируйте атрибуты по типам — в узле атрибуты будут группироваться в виде скаляров, дескрипторов и т. д.
Нажмите на кнопку «i», чтобы перейти к «Сведения».
\ -Вы можете увидеть свой «Сетевой идентификатор» и другую информацию.
Закройте боковую панель и перейдите в раздел сценариев в левой части страницы.
\ -Сценарии — это вариации входных данных, гидрологии и т. д. в модели.
\ -Распространено создание нескольких сценариев в модели.
Кнопка 1 (слева) — сценарий клонирования
Кнопка 2- Изменить сценарий
Кнопка 3- Удалить сценарий
Кнопка 4- Обновить список сценариев
Кнопка 5- Сценарий добавления закладок
Кнопка 6 (справа) — сравнение сценариев
\ -Чтобы создать новый сценарий, клонируйте уже существующий сценарий, присвоив ему новое имя, а после создания измените входные данные модели по своему усмотрению.
Нажмите кнопку «Запустить модель».
\ -Сохраняйте базовый сценарий.
\ -Сохраните все остальные значения по умолчанию.
Нажмите «Отправить».
\ -В разделе «Запуски» в левой части страницы вы увидите свой новый и прошлый забеги.
\ -Желтый=Выполнить в очереди
\ -Синий=Выполняется запуск
\ -Green=Успешный запуск
\ -Red=Сбой при запуске
Нажмите «Собрать» под разделом «Выполнить».
\ -Здесь представлены все узлы и ссылки, необходимые для построения модели.
\ -После вставки узла необходимо ввести данные.
Нажмите «Поиск» под разделом «Сборка».
\ -Это позволяет легко находить узлы и ссылки в больших моделях.
Кнопка с бомбой в верхнем левом углу карты позволяет расширить модель, чтобы при необходимости в ней было меньше людей.
__Карта-показывает модель
Ресурсы- Может просматривать ваши узлы, ссылки и группы
Metrics- Предоставляет функциональные возможности для агрегирования выходных данных модели
__Настраиваемые правила- Настраиваемые правила работы
_Параметры- Добавьте параметры, не включенные в pywr
__Записывающие устройства- Добавьте рекордеры, не включенные в pywr
Members- Показывает участников, которым необходим доступ к модели, и имеющиеся у них разрешения, а также возможность добавлять участников на этой вкладке и выбирать разрешения, которые у них есть
__Анализ- Сравнение узлов и ссылок в сценариях
description: Как поделиться проектом или сетью с другими пользователями WaterStrategy
Проекты: это как папки, в которых сгруппированы подпроекты и сети.
Сети: каждая модель с уникальной сетью называется «Сетью» в WaterStrategy.
Значок пользователя: означает, что у вас есть доступ только к проекту или сети.
Значок «Люди»: означает, что несколько пользователей имеют доступ к проекту или сети.
Creator: Создал проект или сеть.
__Передано напрямую: проект или сеть были специально предоставлены пользователю.
0______Унаследовано от: («Имя проекта»): пользователь получает доступ к этому подпроекту или сети, получив доступ к содержащему его проекту.
Чтобы поделиться проектом, войдите в проект и перейдите на вкладку «Участники».
Введите адрес электронной почты учетной записи получателя, которой вы хотите поделиться.
0______Есть два разрешения, которые вы можете предоставить получателю.
0____Разрешить пользователям повторно делиться информацией? : Позволяет им делиться проектом и входящими в него проектами/сетями с другими.
____Разрешить пользователям редактировать проект? : Позволяет им редактировать проекты/сети внутри проекта.
После выбора разрешений выберите «Пригласить».
0____Ниже вы можете посмотреть, кому был предоставлен доступ к проекту, узнать, кому предоставлен доступ к проекту, просмотреть их разрешения и узнать, как они получили доступ.
0______Есть разрешения, которые вы можете предоставить получателю.
0____Разрешить пользователям повторно делиться информацией? : Позволяет им делиться сетью с другими.
____Разрешить пользователям редактировать проект? : Позволяет им редактировать сеть.
_Сеть клонирования: создает дублирующую сеть. Предотвращает внесение изменений в ранее существовавшую сеть. Если выбрана «Клонированная сеть», имеет указанные ниже опции.
__ Включить результаты в новую сеть? : Включите результаты запуска в клонированной сети.
__ Включить все сценарии? : Включите созданные сценарии в клонированную сеть.
Имя сети: создайте имя клонированной сети.
Введите адрес электронной почты учетной записи получателя, которой вы хотите поделиться.
После выбора разрешений нажмите «Поделиться».
description: Как это работает? что оно выводит? и как оно используется?
Чтобы понять, как система водоснабжения работает сегодня, и оценить последствия будущих изменений, планировщики создают модели систем водных ресурсов.
Системы водных ресурсов могут быть небольшими, как город и его источники водоснабжения, или большими, как в стране с множеством различных рек, объектов водной инфраструктуры и водопользователей. Независимо от того, пытаетесь ли вы оценить надежность существующих источников или оценить новые меры в вероятных будущих условиях, такая компьютерная модель поможет отслеживать воду по всей системе (пространственно) и во времени.
На основе данных о гидрологических потоках и климате, потребностях и использовании воды, правилах управления и распределении водных ресурсов модель водной системы выводит потоки и объемы воды в каждом смоделированном месте и временном шаге. Агрегированные результаты дают точное представление о том, как могут быть эффективны различные меры по водоснабжению (изменения в политике или инфраструктуре водных ресурсов).
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
WaterStrategy сообщает об ошибках в случае технической неисправности или неправильной настройки модели. Научиться понимать и использовать отчет об ошибках модели для поиска проблем в модели — важный и необходимый навык моделирования.
В этой главе приведен пример того, как прочитать отчет об ошибке, чтобы найти часть модели, которая привела к ошибке.
Если запуск завершится неудачно, вы увидите, что в разделе «Запуски» он станет красным.
Нажмите на красную полосу запуска, и вы получите обзор запуска, включая отчет об ошибке.
Прокрутите отчет до конца. Здесь запуск сообщит об ошибке.
В этом случае выяснилось, что ежемесячный профиль был введен неправильно.
В некоторых случаях в отчете о запуске будет приведена более подробная информация об ошибке. Важно заглянуть в журналы запуска, чтобы узнать, есть ли какие-либо подсказки к проблеме.
При прокрутке вверх мы увидим «КРИТИЧЕСКИ». Это говорит о том, что ошибка обнаружена. В той же строке указано, где ошибка.
Ввод «испарение» узла «Пример резервуара» неверен.
Чтобы решить эту проблему, мы можем отредактировать параметр «испарение».
В ежемесячном профиле 13 значений, нам нужно удалить ненужное значение. В данном случае «3.14» не предназначалось для включения в ежемесячный профиль.
Сохраните параметр и снова запустите эту модель.
Теперь модель успешно запущена.
description: Есть разные способы запросить поддержку для WaterStrategy.
Канал WaterStrategy в Discord регулярно отслеживается и предлагает поддержку со стороны разработчиков и пользователей. Там вы можете сообщать об ошибках или запрашивать новые функции. Зарегистрируйтесь по этой ссылке:
Кроме того, вы можете отправить электронное письмо support@waterstrategy.org
В WaterStrategy пользователи могут более эффективно управлять большими и сложными наборами данных, загружая данные из внешних файлов в виде используя ключевое слово «url» вместо встраивания всех данных непосредственно в интерфейс. Форматы файлов включают в себя:
CSV
Excel
HDF5
Примечание: Среди предыдущих вариантов файлы Excel имеют самую низкую производительность, а файлы HDF5 имеют лучшую производительность и предпочтительны для больших наборов данных.
Чтобы загрузить файл в WaterStrategy, перейдите к вашему проекта и нажмите на вкладку «Файлы». Оттуда нажмите Выберите файлы и выберите файл, который хотите загрузить, и нажмите .
Это добавит файл в проект и сделает его доступным для использования во всех сетях проекта.
Как только файлы будут загружены, они отобразятся в файлы вкладка в вашем проекте. Оттуда вы можете легко просматривать их, управлять ими и делиться ими во всех сетях проекта.
WaterStrategy не требуется для запуска модели Pywr; оно призвано облегчить использование моделей Pywr. Если у вас есть входной файл модели Pywr (они называются файлами JSON) и на вашем компьютере установлены необходимые библиотеки Python и Pywr, вы можете запустить модель Pywr без WaterStrategy (Примечание: необходимы навыки работы с Python). Точно так же, если у вас есть существующая модель Pywr (файл JSON), вы можете импортировать ее в WaterStrategy.
На этой странице показано, как экспортировать модели из WaterStrategy в файлы Pywr JSON и как импортировать существующие модели Pywr (файлы JSON) в WaterStrategy
В этом разделе используется «демонстрационная версия одной сети», предоставляемая при создании учетной записи.
Сначала нажмите кнопку загрузки.
Затем мы выберем наш формат.
Сначала выберите формат Hydra JSON. Если вы хотите включить разрывы строк, облегчающие чтение кода или текста. Если это большой файл, его можно заархивировать.
Отправьте его.
Затем загрузите формат Pywr JSON.
Затем вы можете найти два файла в папке, в которой вы их сохранили.
Давайте посмотрим, как импортировать файлы Pywr.
Сначала нажмите «Создать проект», чтобы создать папку проекта в своей учетной записи Water Strategy.
Назовите проект и нажмите «Добавить».
Нажмите на созданный проект.
Нажмите «Создать сеть».
Выберите «Hydra JSON».
Нажмите «Выбрать файл».
Выберите файл Hydra JSON.
Выберите шаблон.
Нажмите «Отправить».
Затем вы можете обнаружить, что сеть импортирована.
Чтобы импортировать JSON-файл Pywr, выполните следующие действия.
Снова нажмите «Создать сеть».
Выберите «Pywr JSON».
Нажмите «Выбрать файл».
Выберите файл Pywr JSON.
Выберите шаблон.
Для проецирования вы можете выбрать «Нет», «Великобритания» или «Мир». В этом случае мы выберем «Мир».
Нажмите «Отправить».
Наконец, вы можете импортировать сеть здесь.
Чтобы поделиться сетью, нажмите на значок «Поделиться» в сети.
The узел задержки это узел, который задерживает поток на определенное количество временных шагов или дней. Этот узел будет использоваться в тех случаях, когда нельзя игнорировать время распространения воды по сравнению с выбранной шкалой времени. API Справка.
штраф за распределение
Стоимость единицы потока через узел
Опционально
временные шаги
Количество временных шагов для задержки потока
Опционально
дни
Количество дней, на которые можно задержать поток. Указание количества дней (вместо количества временных шагов) допустимо только в том случае, если количество дней точно делится на дельту временных шагов модели
Опционально
начальный_поток
Расход, обеспечиваемый узлом в течение первых временных шагов до появления любого отложенного потока. Этот показатель остается неизменным на всех отложенных временных этапах и в любых модельных сценариях. По умолчанию 0.0
Опционально
скоро...
В этой таблице представлены наиболее часто используемые типы узлов Pywr:
Узел ввода
Входные узлы представляют собой входы воды в систему.
Водосборный узел
Водосборные узлы часто используются для обозначения речного или другого типа притока в систему.
Узел пропорционального ввода
Узел пропорционального ввода предназначен для простого случая, когда необходимо распределять фиксированное соотношение потока по нескольким нижестоящим маршрутам.
Link Node
Link node представляет собой звено в системе водоснабжения или другую достопримечательность, где установлено максимальное или минимальное ограничение стока или приоритет распределения.
Речной узел
Речной узел — это узел речной сети, который может иметь несколько узлов выше по течению (например, слияние), но только один узел ниже по течению.
Узел задержки
Они задерживаются в течение определенного количества временных шагов или дней. Это используется в тех случаях, когда нельзя игнорировать время распространения потока, например, из-за относительно коротких временных интервалов.
Storage Node
Storage node — это общий узел, в котором может храниться вода (например, плотины или водоносные горизонты), объем которой ограничен минимальным и максимальным.
Резервуарный узел
Резервуарный узел представляет собой тип storage node с дополнительной функциональностью для отображения испарения и осаждения.
Выходной узел
Выходные узлы — это места, где вода покидает систему.
Убыток Link Node
Связь потерь позволяет определить фиксированную пропорциональную потерю потока, проходящего через этот узел.
Турбинный узел
Турбинный узел может представлять собой турбину гидроэлектростанции. Он рассчитывает расход, необходимый для выработки определенного целевого показателя производства гидроэлектроэнергии на каждом временном этапе.
Типы узлов Pywr также можно разделить на 6 категорий: Ввод воды, Водный транспорт, Хранение воды, Выход воды, Гидроэнергетика, и Другие. Более подробную информацию об этих группах узлов и типах узлов можно найти в подразделах раздела «Типы узлов».
Обзор узлов в Pywr можно найти здесь. Полный список встроенных узлов в Pywr можно найти здесь.
The link node представляет собой звено в системе водоснабжения или другую достопримечательность, где установлено максимальное или минимальное ограничение стока или установлен приоритет распределения. Обратите внимание, что в Pywr ограничениям стока нельзя назначать ребрам (звеньям), поэтому для этой цели часто используются соединительные узлы. .
минимальное значение)_течь
скоро...
The BreakLink node может использоваться для уменьшения количества маршрутов в модели.
Например, в модели с формой (3, 1, 3), то есть 3 входа (A, B, C), подключенных к 3 выходам (D, E, F) через узкое место (X), имеется 3\ *3 маршрута = 9 маршрутов.
Если X является хранилищем, существует только 6 маршрутов: A->X_Нет, B->X_нет, C->X_o и X_I->D_нет, X_I->e_нет, X_i->f\ _o.
BreakLink node представляет собой составной узел, состоящий из с нулевой громкостью и . Его можно использовать вместо обычной ссылки, но с тем преимуществом, что это уменьшает количество маршрутов в модели (в описанной выше ситуации). Полученный LP легче решить. .
_течь_течь
штраф за распределение
Стоимость единицы потока через узел
Опционально
макс_
расход
Максимальное ограничение потока на узле (
необязательное
Минимальное ограничение потока на узле
Опционально
штраф за распределение
Стоимость единицы потока через узел
Опционально
обращение_
коэффициент
Пересчет между притоком и оттоком для узла (опциональное максимальное значение
)
Максимальное ограничение потока на узле
Опционально
мин_
поток
Минимальное ограничение потока на узле (
опционально) предыдущая
Общий поток через этот узел на предыдущем временном шаге
Опционально
The PiecewiseLink node является расширением Node, представляющим собой нелинейное Ссылка с функцией поштучной стоимости. Этот объект предназначен для моделирования ситуаций, когда использование определенных скоростей потока выгодно, но при превышении фиксированного предела стоимость изменяется (или обнуляется). API Справка.
Этот узел реализован с использованием структуры составных узлов, например:
Это означает, что маршруты не проходят напрямую через этот узел из-за отдельного домена, расположенного посередине. Вместо этого для каждой подссылки и подключения к узлу Output/Input создается несколько новых маршрутов. Причина такого разрыва маршрута заключается в том, чтобы избежать геометрического увеличения количества маршрутов при наличии нескольких PieceWiseLink на одном маршруте.
минимальное значение)_течь
штраф за распределение
Стоимость единицы потока через узел
Опционально
макс_
расход
Максимальное ограничение потока на узле (
необязательное
Минимальное ограничение потока на узле
Опционально
скоро...
The MultiSplitLink node является расширением Ссылка по частям который включает дополнительные слоты для подключения.
Концептуально этот узел выглядит следующим образом:
Для каждого дополнительного слота добавляется дополнительная подссылка в PieceWiseLink (например, X2 выше) и узлы (например, Bo и Bi) этого класса.
Наконец, предусмотрен механизм, позволяющий (опционально) фиксировать соотношение между последней неразделенной подссылкой (например, X1) и каждой из дополнительных подссылок (например, X2). Этот механизм использует Агрегированный узел внутренне. API Справка.
Примечания: Пользователи должны соблюдать осторожность при использовании факторного механизма. Факторы используют последнюю неразделенную подссылку (например, X1, но не X0). Если этот канал ограничен максимальным или минимальным потоком или есть другой канал без ограничений (например, если X0 не ограничен), то соотношение по всему узлу может быть применено не так, как ожидалось.
_слотыимена.
штраф за распределение
Стоимость единицы потока через узел
Опционально
макс_
поток
Ограничение максимального потока на узле
Опциональное дополнительное
Количество дополнительных слотов (и подссылок), которые необходимо предоставить. Должно быть больше нуля.
Опционально
слот_
Имена, под которыми следует обращаться к слотам при подключении к другим узлам. Длина должна быть на единицу больше количества дополнительных_слоты. Первый пункт относится к соединению PieceWiseLink со следующими элементами для каждого дополнительного слота.
Опционально
факторов
Если задано, длина должна быть на единицу больше количества extra_slots. Каждый элемент — это доля общего потока, проходящего через дополнительные подссылки. Если для конкретной подссылки коэффициент не требуется, используйте Нет за свои товары. Факторы нормализуются перед использованием в решателе.
Опционально
скоро...
The резервуарный узел является подклассом storage node с дополнительной функциональностью для представления испарения и осаждения. API Справка.
объем . Опциональная единица измерения
штраф за распределение
Стоимость единицы потока через узел
Опционально
мин_
Минимальный объем хранилища.
По умолчанию 0.0 (необязательное максимальное значение)
_объем
Максимальный объем хранилища. По умолчанию 0.0
Обязательно, в противном случае по умолчанию 0
начальная_объем, начальный_объем_pc
Укажите начальный объем в абсолютном или пропорциональном выражении. При максимальном значении оба параметра являются обязательными_объем является параметром, поскольку параметр не будет оцениваться на первом временном шаге. Если заданы оба варианта и макс_объем не является параметром, тогда абсолютное значение игнорируется
Одно из них — обязательная
площадь, уровень
(опционально) с плавающей запятой или параметр, определяющий площадь и уровень storage node. Эти значения доступны через get_область а также получить_
методы измерения уровня соответственно
Опциональное
испарение, осаждение
Испарение и скорость выпадения осадков (длина/день)
_обращение
Коэффициент пересчета осадков и испарений в требуемые единицы измерения длительности в сутки
Необязательно, значение по умолчанию равно 0.001 для пересчета мм/день для использования с площадью водохранилища в км2
штраф за испарение (стоимость испарения)
Штраф за распределение, установленный на выходе испарения
Необязательно, по умолчанию -999
скоро...
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
Тип узла транспортировки воды позволяет пользователям определять, как вода течет через разные узлы в соответствии с реальными условиями. Ниже приведены наиболее часто используемые узлы водного транспорта:
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
Тип воды storage node позволяет пользователям строить разные резервуары с разными режимами работы. Ниже приведены наиболее часто используемые узлы хранения воды:
штраф за распределение
Стоимость единицы потока через узел
Опционально
мин_
Минимальный объем хранилища.
По умолчанию 0.0 (необязательное максимальное значение)
_объем
Максимальный объем хранилища. По умолчанию 0.0
Обязательно, по умолчанию 0, если не указано
начальная_объем, начальный_объем_pc
Укажите начальный объем в абсолютном или пропорциональном выражении. При максимальном значении оба параметра являются обязательными_объем является параметром, поскольку параметр не будет оцениваться на первом временном шаге. Если заданы оба варианта и макс_объем не является параметром, тогда абсолютное значение игнорируется
Одно из них — обязательная
площадь, уровень
(опционально) с плавающей запятой или параметр, определяющий площадь и уровень storage node. Эти значения доступны через get_область а также получить уровень методы соответственно
Опционально
штраф за распределение
Стоимость единицы потока через узел
Опционально
узлы
Список узлов притока/оттока, влияющих на объем хранилища
Требуется
мин_
Минимальный объем хранилища, которого разрешено достичь
Дополнительный
максимум_объем
Максимальный объем хранилища
Обязательно, по умолчанию 0, если не указано
начальный_объем
Начальный объем хранилища
Один из них обязателен
факторов
Список факторов, на которые следует умножить поток узлов. Положительные факторы удаляют воду из хранилища, отрицательные — удаляют ее.
Опционально
временные шаги
Количество временных шагов, применяемых к переносному хранению
Требуется
дни
Количество дней, в течение которых будет применяться метод непрерывного хранения. Указание количества дней (вместо нескольких временных шагов) допустимо только в моделях, использующих временной интервал с ежедневной периодичностью
Требуется
сброс_
день День
месяца (0-31) для сброса громкости до
_месяц
Месяц года (0-12) для восстановления громкости до исходного значения
Требуется
сброс_к_начальный_объем
Ежегодно возвращайте объем к исходному объему вместо максимального объема (по умолчанию установлено значение False)
Требуется
The VirtualStorage node это виртуальная единица хранения. API Справка.
Примечания:
ЗАДАЧА: Свойство стоимости в настоящее время не соблюдается. См. выпуск #242.
объем .
штраф за распределение
Стоимость единицы потока через узел
Опционально
узлы
Список узлов притока/оттока, влияющих на объем хранилища
Требуется
мин_
Минимальный объем хранилища, которого разрешено достичь
Дополнительный
максимум_объем
Максимальный объем хранилища
Обязательно, по умолчанию 0, если не указано
начальный_объем
Начальный объем хранилища
Один из них обязателен
факторов
Список факторов, на которые следует умножить поток узлов. Положительные факторы удаляют воду из хранилища, отрицательные — удаляют ее.
Опционально
скоро...
The Узел агрегированного хранилища представляет собой агрегированную сумму других Хранение узлы
Этот объект должен вести себя как Хранение путем возврата тока течь, объем а также текущий_шт.. Однако этот объект нельзя подключить к другим в сети. API Справка.
Примечания: Этот узел нельзя подключить к другим узлам сети.
модель
Экземпляр `Модель`
Требуется
имя
ул.
Требуется
узлы_хранилища
The Хранение объекты, общая сумма которых должна быть возвращена
Требуется
скоро...
The Сезонный виртуальный узел хранения это виртуальный storage node, который работает только в течение определенного периода в течение года.
Этот узел наиболее полезен для представления лицензий, срок действия которых истекает только в определенные периоды. перезагрузить_день а также перезагрузить_месяц параметры указывают, когда узел начинает работать, а конец_день а также конец_месяц когда он перестает работать. В течение периода, когда узел не работает, объем узла остается неизменным, и узел не применяет никаких ограничений к модели.
Конец_день и конец_месяц может представлять собой дату, предшествующую дате перезагрузки_день и снова_месяц. Эта ситуация представляет собой лицензию, действующую через год. Например, та, которая действует с октября по март и неактивна с апреля по сентябрь.API Справка.
. объем
сброс_день День
месяца (0-31), когда узел начинает работать и его объем обнуляется до исходного значения или максимального объема
Обязательный сброс
_месяц
Месяц года (0-12), когда узел начинает работать и его объем возвращается к исходному значению или максимальному объему.
Требуется
сброс_к_начальная_
Сбрасывайте объем на первоначальный объем вместо максимального объема каждый год (по умолчанию — False)
Обязательное
завершение_день
День месяца (0-31), когда нода перестает работать
Требуется
конец месяца
Месяц года (0-12), когда узел перестает работать
Требуется
скоро...
description: WaterStrategy помогает людям и организациям понять свою систему водоснабжения и оценить планы на будущее. Документация WaterStrategy поможет вам построить, усовершенствовать и использовать цифровой двойник вашей системы водоснабжения.. layout: description: visible: true outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
description: Как создать бесплатную учетную запись в WaterStrategy
Посмотрите видео или следуйте приведенному ниже тексту. WaterStrategy счета создаются на https://hydra.org.uk/register («Hydra» — название нашего веб-сервера).
Создание учетной записи
На WaterStrategy на веб-странице выберите «ВХОД» в правом верхнем углу.
Выберите «Создать учетную запись» в нижней части веб-страницы, на которую вы попадете в «Вход».
На странице регистрации введите адрес электронной почты, имя, фамилию, тип организации, организацию, страну или регион, создайте пароль, выберите «Я не робот» и поставьте галочки в трех флажках.
Затем выберите «Зарегистрироваться».
Для подтверждения учетной записи вам будет отправлено электронное письмо с подтверждением. Не забудьте также проверить папку со спамом.
Ваша учетная запись создана.
Логин
Чтобы войти в систему, посетите https://hydra.org.uk/login или используйте веб-страницу WaterStrategy «Логин»
Введите адрес электронной почты и пароль и снова поставьте галочки в трех нижних полях. Если хотите, выберите «Запомнить меня».
Затем выберите «Войти».
Вы окажетесь на домашней странице интерфейса Water Strategy.
A ссылка на потерю позволяет определить фиксированную пропорциональную потерю потока, проходящего через этот узел. Связи потерь часто используются для представления работы по очистке питьевой воды которые влекут за собой некоторые технологические потери.
Определенные атрибуты Max и Min flow применяются к чистому выходу после убыток.
Сам узел записывает конечный результат в свой атрибут потока (который будет использоваться любыми подключенными регистраторами).
В этом примере 10% от общего количества воды, поступающей в узел, теряется.
The выходной узел (API Справка) — общий выходной сигнал в любой точке сети. Выходные узлы удаляют воду из системы.
Выходные узлы должны находиться в конце реки, и в этом случае они обычно не подвергаются штрафам за распределение или максимальному\ _потоку.
Выходные узлы также используются для представления потребительских потребностей в воде. В этом случае на них, как правило, налагаются отрицательные штрафы, поэтому линейная программа распределяет воду между ними, а также максимальный\ _расход, который может быть константой или параметром, отражающим потребность в воде.
минимальное значение)_течь
штраф за распределение
Стоимость единицы потока через узел
Опционально
макс_
расход
Максимальное ограничение потока на узле (
необязательное
Минимальное ограничение потока на узле
Опционально
скоро...
Штраф за распределение
Стоимость единицы потока через узел
Опционально
Коэффициент потерь
потеря_коэффициент: число с плавающей запятой или параметр. Доля потока, теряемого через этот узел. Должно быть больше или равно нулю. Это значение представляет собой долю валового или чистого потока в зависимости от величины убытков_тип_фактора
.
Необязательно, по умолчанию 0
Тип коэффициента потерь
«валовой» или «чистый» (по умолчанию), указывающий, применяется ли коэффициент убытков к валовому или чистому потоку соответственно.
Необязательно, по умолчанию «net»
Максимальный расход
Максимальное ограничение потока на узле
Опционально
Минимальный расход
Минимальное ограничение потока на узле
Опционально
WaterStrategy Сценарии предоставляют инструмент для целенаправленной корректировки конкретных элементов модели управления водными ресурсами. Эти сценарии особенно полезны, если вы хотите гибко и контролируемо поэкспериментировать с локальными изменениями параметров, поведения или данных.
При создании сценария WaterStrategy он действует как вилка существующей сетевой модели. Исходная сеть соответствует базовому сценарию, который представляет собой стандартные или начальные условия системы. Исходя из этого базового уровня, сценарий WaterStrategy позволяет вносить точные изменения, будь то изменение входных данных или настройка параметров, определяющих поведение ключевых элементов системы.
Эта возможность изменять некоторые аспекты модели, оставляя остальные без изменений, делает сценарии WaterStrategy идеальными для тестирования влияния отдельных изменений. Например, можно изменять правила эксплуатации резервуаров или прогнозировать спрос без необходимости реконструировать всю модель. Такой целенаправленный подход помогает пользователям быстро оценить, как конкретные изменения влияют на результаты стратегий управления рафинированными водными ресурсами.
Начните с нажатия на значок «Клонировать сценарий».
Выберите сценарий, который вы хотите клонировать, и назовите свой сценарий
Подробное руководство см. в Учебное пособие по WaterStrategy о создании и запуске нового сценария
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
Узлы ввода воды — это механизм, с помощью которого вода может поступать в систему. Здесь мы представляем три наиболее часто используемых узла для ввода воды.
description: Обзор параметров Pywr, поддерживаемых WaterStrategy
Параметры — это функции, которые возвращают значение в модели на каждом временном шаге. Эти значения могут быть постоянными, основанными на времени (например, днях или месяцах), вычислениями, основанными на сроке хранения в резервуаре, и многими другими расчетами. Настраиваемый параметр также можно написать на языке Python.
На этой странице описаны (большинство) типов параметров, поддерживаемых Pywr. Обзор параметров в Pywr можно найти здесь. Найден полный список встроенных параметров Pywr здесь.
В сети перейдите на вкладку «Параметры»:
Рядом с разделом «Категории типов параметров» нажмите кнопку «+» и выберите «PYWR\ _PARAMETER».
Появится текстовый ввод. Введите имя параметра:\
При необходимости измените параметр в представленном редакторе JSON:
Чтобы упростить модификацию параметров, WaterStrategy предлагает редакторы для часто используемых параметров, таких как параметры ежемесячного профиля, с предварительно заполненными значениями по умолчанию, и графические редакторы для упрощения ввода данных.
Пример редактора параметров
На вкладке «Параметры» при добавлении нового параметра выберите «PYWR_ПАРАМЕТР_ЕЖЕМЕСЯЧНО\ _PROFILE', как показано на рисунке:\
Обратите внимание, что в появившемся редакторе появится вкладка JSON, а также вкладки «График» и «Таблица». Изменение данных в таблице автоматически обновит данные в JSON, как показано ниже:\
Эти изменения автоматически обновляют JSON:
Все Параметр подклассы в пивр являются производными от общего базового класса.
The водосборный узел это еще один вид входного узла с фиксированным притоком. Водосборные узлы часто используются для представления речного или другого типа притока в систему. Любой определенный в них поток должен втекать в систему.
Часто временные ряды притока (например, фреймы данных Pywr) определяются на течь атрибут, отражающий приток воды в водосборный бассейн, однако можно использовать и другие параметры (например, константа, месячный профиль и т. д.).
течь
Количество воды, подаваемой водосборным узлом на каждом временном шаге
Обязательно, по умолчанию 0, если не введено.
скоро...
Инициализируйте себя. См. справку (введите (self)) для получения точной подписи. API Справка
детей
комментарий
комментарий: юникод
двухместный_размер
двойной_размер: 'int'
целое число_размер
целое число_размер: 'int'
это_переменная
это_переменная: 'bool'
модель
имя
родители
размер
скоро...
Базовый параметр, обеспечивающий индекс метод. API Справка
детей
комментарий
комментарий: юникод
двухместный_размер
двойной_размер: 'int'
целое число_размер
целое число_размер: 'int'
это_переменная
это_переменная: 'bool'
модель
имя
родители
размер
скоро...
Простой параметр, определяющий постоянное значение. API Справка
типа
постоянный параметр
Да
значение
Постоянное значение
Да
description: Ключевые термины, используемые в Pywr.
Pywr, библиотека Pywr, используемая WaterStrategy, позволяет моделировать распределение ресурсов, представляя систему ресурсов в виде сети с использованием «Nodes» и «Edges». Распределение ресурсов определяется рабочими правилами, в которых используются «Штрафы за распределение», «Ограничения» и «Параметры», а выходные данные модели фиксируются и сохраняются с помощью «Рекордеров». Варианты входных данных модели можно задавать и запускать параллельно с помощью «Сценариев».
Хотя общие концепции, используемые для создания имитационной модели распределения ресурсов в Pywr, аналогичны концепциям других инструментов, использование терминов может отличаться. В этом разделе мы определяем ключевые термины Pywr и их роль в имитационных моделях.
Узлы представляют собой места в смоделированной системе водоснабжения, где вода добавляется, хранится, используется, потребляется или передается. В Pywr существуют различные типы узлов, которые помогут вам построить модель системы водоснабжения; подробнее о них можно узнать в Типы узлов раздел. Данные, определяющие физические характеристики и поведение узла, могут быть добавлены непосредственно к узлу или косвенно, обратившись к параметру (описано ниже).
Для формирования сети узлы соединяются с помощью звеньев, представляющих собой транспортировку воды. Pywr называет их «ребрами». У ребра есть начальный и конечный узлы, и вода течет из начального узла в конечный узел. Pywr не присваивает информацию этим соединениям (ребрам), а присваивает данные исходному и целевому узлам. Все данные, необходимые для моделирования управления водными ресурсами, хранятся на узлах, а ребра определяют только направление потока воды. Разработчик модели Pywr сказал бы: «Ребра Pywr определяют топологию сети», что означает, что «связи между узлами определяют движение воды в компьютерной модели».
Для различных типов узлов можно установить ограничения, позволяющие представить поведение системы. Например, речной узел может иметь максимальные и/или минимальные значения стока, отражающие пропускную способность транспортного средства. В Pywr многие узлы имеют значение «max»_поток' и 'мин_атрибуты «flow» для установки верхнего и нижнего пределов потока через узел при необходимости. Атрибут max\ _flow не требует, чтобы поток, проходящий через этот узел, достигал этого значения, но если объем и приоритет воды достаточны, модель попытается достичь значения «Max Flow». Ограничения по минимальному расходу следует использовать с осторожностью, так как в случае невозможности соблюдения минимального значения они могут привести к неосуществимости модели.
Штрафы за распределение — это атрибуты узлов, определяющие приоритет распределения воды. Обычно они выражаются в виде штрафов или «издержек», и в соответствии с моделью вода сначала распределяется по узлу с наименьшим штрафом. Если вы предпочитаете распределять воду по льготам и сначала отправлять воду туда, где она приносит наибольшую пользу, вам следует указать в Pywr свои приоритеты в виде отрицательных затрат (например, использовать отрицательные значения). Фактически, оба узла можно использовать вместе, поэтому, например, если у трех узлов есть штрафы -10, 2, 6, они получат воду в таком порядке (узел с штрафом -10 получает воду первым, а узел с штрафом 6 получает воду последним).
Параметры в Pywr обеспечивают гибкий и удобный способ предоставления входных данных узлам. Например, определенный тип параметра можно использовать для загрузки данных о поступлении или запросе из файла Microsoft Excel. Параметры также предоставляют гибкий и настраиваемый способ определения рабочих правил системы (например, правил, регулирующих сбросы в резервуары). Большинство входных данных модели можно предоставить с помощью параметров.
Для последующей обработки результатов используются рекордеры Pywr. Создав рекордер, вы можете наблюдать и сохранять результаты моделирования. Некоторые регистраторы позволяют агрегировать результаты по времени (например, от ежедневных до годовых) и по пространству (например, по воде, распределенной группе узлов).
В Pywr вы можете создавать и моделировать сценарии с различными входными данными о спросе, предложении и других изменениях. Специалисты по планированию водных ресурсов все чаще используют долгосрочное моделирование с множеством сценариев для оценки будущих изменений или проверки возможных мер вмешательства. Возможность быстро смоделировать множество вероятных сценариев будущего — одно из главных преимуществ Pywr.
Примечание:
Для получения дополнительной информации обратитесь к документу открытого доступа под названием: Симулятор водных ресурсов на Python.
Входные узлы представляют собой входы воды в систему.
На каждом временном этапе входной узел может подавать столько воды, сколько установлено Максимальный расход атрибут. Однако в отличие от Водосборные узлы которые должны сбрасывать объем воды, определенный в атрибуте потока, входные узлы не обязаны сбрасывать воду, если они не имеют значения, отличные от нуля Минимальный расход.
Входные узлы часто используются для представления источников, определяемых доходностью. Они часто используются для представления объемов грунтовых вод.
Штраф за распределение
Стоимость распределения на единицу, проходящая через узел
Опционально
Максимальный расход
Максимальное ограничение потока на узле
Опционально
Минимальный расход
Минимальное ограничение потока на узле
Опционально
скоро...
The RiverSplit node представляет собой раскол речной сети. Он предназначен для простого случая, когда необходимо распределять поток по нескольким маршрутам, расположенным ниже по течению. API Справка.
). _имена
факторов
Факторы, влияющие на дополнительные сплиты. Количество дополнительных_предполагается, что длина слота на единицу меньше длины факторов (согласно документации pywr.Nodes.MultisplitLink
Дополнительный
слот
Идентификаторы, указывающие на слоты при подключении с этого узла. Длина должна быть на единицу больше требуемого количества дополнительных слотов.
Опционально
скоро...
The узел пропорционального ввода предназначен для простого случая, когда требуется распределение потока по нескольким нижестоящим маршрутам. API Справка.
штраф за распределение
Стоимость единицы потока через узел
Опционально
факторов
Факторы, влияющие на дополнительные сплиты. Количество дополнительных_
предполагается, что длина слота на единицу меньше длины факторов (согласно документации pywr.Nodes.MultisplitLink) Дополнительный слот
_имена
Идентификаторы, указывающие на слоты при подключении с этого узла. Длина должна быть на единицу больше требуемого количества дополнительных слотов
Опционально
течь
Количество воды, подаваемой водосборным бассейном за каждый временной шаг
Опционально
скоро...
The речной узел это узел речной сети, который может состоять из нескольких узлов выше по течению (например, слияния), но только одного узла ниже по течению. API Справка.
минимальное значение)_течь
штраф за распределение
Стоимость единицы потока через узел
Опционально
макс_
расход
Максимальное ограничение потока на узле (
необязательное
Минимальное ограничение потока на узле
Опционально
скоро...
Параметр, отрицательный по отношению к другому Параметр. API Справка
размер
детей
комментарий
комментарий: юникод
двойной_
двойной_размер: 'int'
целое_
целочисленный размер_размер: 'int'
является_
переменная_переменная: 'bool'
модель
имя
параметр
параметр: pywr.parameters. _Параметры.Параметр
родители
размер
скоро...
Параметр, разделяющий единицу Параметр другим. API Справка
детей
комментарий
комментарий: юникод
знаменатель
двухместный_размер
двойной_размер: 'int'
целое число_размер
целое число_размер: 'int'
это_переменная
это_переменная: 'bool'
модель
имя
числитель
родители
размер
скоро...
Сценарий, изменяющий параметр индекса. Значения этого параметра постоянны во времени, но различаются в пределах одного сценария. API Справка
детей
комментарий
комментарий: юникод
двухместный_размер
двойной_размер: 'int'
целое число_размер
целое число_размер: 'int'
это_переменная
это_переменная: 'bool'
модель
имя
родители
размер
скоро...
Параметр, смещающий другой Параметр по постоянному значению.
Этот класс является более эффективной версией Агрегированный параметр где сингл Параметр компенсируется постоянным значением. API Справка
размер оптимизации верхние_оценки
детей
комментарий
комментарий: юникод
двойной_
двойной_размер: 'int'
целое_
целочисленный размер_размер: 'int'
является_
переменная_переменная: 'bool'
модель
имя
смещение
Смещение, применяемое к значению, возвращаемому параметр
параметр
Параметр для сравнения с поплавком
снизить_
границы
Нижние границы смещения при использовании во время
Верхние границы смещения при использовании во время оптимизации
родители
размер
скоро...
Набор параметров индекса
Этот класс ведёт себя как набор. Параметры могут быть добавлены или удалены из него. Его индекс — это индекс дочерних параметров, агрегированных с помощью функции агрегирования (например, суммы). API Справка
тег\ _func
детей
комментарий
комментарий: юникод
двухместный_размер
двойной_размер: 'int'
целое число_размер
целое число_размер: 'int'
это_переменная
это_переменная: 'bool'
модель
имя
параметры
параметры: список
родители
размер
скоро...
Параметр, требующий минимум другого Параметр и постоянное значение (пороговое значение).
Этот класс является более эффективной версией Агрегированный параметр где сингл Параметр сравнивается с постоянным значением. API Справка
размер
детей
комментарий
комментарий: юникод
двойной_
двойной_размер: 'int'
целое_
целочисленный размер_размер: 'int'
является_
переменная_переменная: 'bool'
модель
имя
параметр
параметр: pywr.parameters. _Параметры.Параметр
родители
размер
порог
порог: «двойной»
скоро...
Сценарии Pywr предлагают более продвинутый и комплексный подход к моделированию управления водными ресурсами, особенно при работе с неопределенностью и оценке различных комбинаций данных, поведения системы и входных данных. В отличие от сценариев WaterStrategy, в которых основное внимание уделяется локальным корректировкам, сценарии Pywr позволяют экспериментировать с широким спектром возможностей, одновременно изменяя несколько входных данных и комбинаций.
В сценариях Pywr:
Пользователи могут определить несколько сценариев, каждый из которых содержит несколько вариантов (или размеров).
Система смоделирует все комбинации этих вариантов, если для моделирования не будет выбрана конкретная комбинация.
Например, если определены два сценария Pywr, каждый из которых имеет три варианта (размер = 3), общее количество симуляций составит 9 (3 x 3). Этот подход позволяет пользователям исследовать широкий спектр потенциальных результатов и взаимодействий между различными факторами в модели.
В сети нажмите на Просмотр сетевых данных значок
Откроется правая панель. В разделе Входы, введите»сценарии» и нажмите на Добавить ввод значок
Появится окно, введите»сценарии», выберите сценарии атрибут и клик Сохранить как показано на следующем рисунке
Появится новое окно, выберите ПИВР_СЦЕНАРИИ и нажмите Сохранить
После открытия панели настройки сценариев вы можете определить столько сценариев Pywr, сколько необходимо. Чтобы создать новый сценарий Pywr, выполните следующие действия:
Введите Имя для сценария Pywr-и укажите Размер (количество вариантов).
The Ансамбли атрибут не является обязательным и помогает отслеживать конкретные сценарии индексов в сценарии Pywr
После создания pywr-сценариев система отобразит следующую информацию:
Нажав на JSON вкладка отобразит автоматическую версию JSON Сценарий PywR определение
Чтобы загрузить данные в виде параметра h5 DataFrameParameter, обратитесь к Раздел параметров HDF5 для правильного доступа к данным сценария
Создание нового проекта и сети
На главной странице интерфейса нажмите «Создать проект» в правом верхнем углу.
Введите название проекта и нажмите «Добавить».
Введите свой новый проект.
Нажмите «Создать сеть» справа.
Выберите вкладку «Вручную».
Введите имя сети.
Выберите любой из этих двух шаблонов pywr.
\ -Другие шаблоны предназначены для других систем моделирования, таких как энергосистемы.
Выберите «Использовать карту», чтобы отобразить карту мира для построения модели.
Нажмите «Отправить».
Введите созданную сеть.
Переключите и увеличьте масштаб области вдоль Нила.
Выберите выпадающий список «Сборка».
Перетащите водосбор, ссылку и два выходных узла в модель, как показано ниже.
\ -Второй выходной узел (вне реки) будет использоваться в качестве узла забора воды.
\ -Обратите внимание, что водосборный узел расположен вверх по течению, а выходной узел — вниз по течению.
(Нил течет на север в этой части и в целом)
Используя функцию «Ссылки», соедините узлы по направлению потока.
\ -Для этого сначала щелкните на восходящем узле, а затем на нисходящем узле.
Параметр, который интерполирует дневной профиль с использованием радиальной базисной функции (RBF).
Дневной профиль вычисляется во время моделирования сброс используя радиальную базисную функцию с днем года в качестве независимых переменных. Дни года определяются пользователем вместе со значениями, которые следует использовать для интерполяции в каждый из этих дней. Первый день года всегда должен быть равен единице, и его значение повторяется как 366-е значение. Кроме того, второе и предпоследнее значения зеркально отражаются, чтобы создать постоянный градиент через границу. Расчеты RBF производятся с использованием Scipy.interpolate.rbf Объект, пожалуйста, обратитесь к документации Scipy для получения дополнительной информации.
Да верхние
скоро...
The Узел с агрегированным узлом представляет собой агрегированную сумму других Узел узлы.
Этот объект должен вести себя как Узел путем возврата тока течь. Однако этот объект нельзя подключить к другим в сети. .
Примечания: Этот узел нельзя подключить к другим узлам сети.
скоро...
The RiverSplitWithGauge node представляет собой участок речной сети с минимальным остаточным стоком (MRF). В соответствии с Река Сплит но по умолчанию создает другой маршрут в базовом объекте для моделирования MRF. Этот маршрут таков, что MRF не входит в форсированные коэффициенты. Цель данного объекта — смоделировать случай, когда часть потока может быть абстрагирована выше MRF (например, 90% потока выше MRF). .
Стоимость
скоро...
Нажмите
Отредактируйте текущий сценарий по умолчанию, нажав на
детей
комментарий
комментарий: юникод
двойной_
двойной_размер: 'int'
целое_
целочисленный размер_размер: 'int'
является_
переменная_переменная: 'bool'
модель
имя
параметр
параметр: pywr.parameters. _Параметры.Параметр
родители
размер
порог
порог: «двойной»
детей
комментарий
комментарий: юникод
двойной_
двойной_размер: 'int'
целое_
целочисленный размер_размер: 'int'
является_
переменная_переменная: 'bool'
модель
имя
параметр
параметр: pywr.parameters. _Параметры.Параметр
родители
размер
порог
порог: «двойной»
детей
комментарий
комментарий: юникод
двойной_
двойной_размер: 'int'
целое_
целочисленный размер_размер: 'int'
является_
переменная_переменная: 'bool'
модель
имя
параметр
параметр: pywr.parameters. _Параметры.Параметр
родители
размер
порог
порог: «двойной»
модель
Экземпляр `Модель`
Требуется
имя
ул.
Требуется
узлы_хранилища
The Узел объекты, общая сумма которых должна быть возвращена
Требуется
штраф за распределение
Стоимость единицы потока через узел
Опционально
целевого
Целевой показатель по производству гидроэнергии. Единицы измерения должны быть выражены в единицах энергии в день
Опционально
вода_Высота над уровнем моря_параметр
Высота воды, поступающей в турбину. Разница этого значения с турбины_высота обеспечивает рабочую головку турбины (
опциональное максимальное значение)
_течь
Верхние границы расчетного потока. Если задано, поток, возвращаемый этим параметром, не более чем равен максимальному значению_параметр потока
(опционально
мин.)_течь
Нижние границы расчетного потока. Если задано, поток, возвращаемый этим параметром, равен как минимум минимальному значению._параметр потока
(опционально
мин.)_голова
Минимальный напор для возникновения потока. Если фактический напор меньше этого значения, поток возвращается к нулю
Опционально
турбины_высота над
уровнем моря и высоты самой турбины. Разница между водой_Высота над уровнем моря и это значение дает рабочую головку турбины
Опционально
эффективность
Эффективность турбины
Опционально
плотность
Плотность воды
Опционально
течь_подразделение_обращение
Коэффициент, используемый для преобразования единиц потока в соответствие с приведенным здесь уравнением. Это должно привести к преобразованию расхода в единицы измерения м3/день
Опционально
энергия_подразделение_обращение
Коэффициент, используемый для преобразования единиц общей энергии. По умолчанию используется значение 1e-6 для возврата MJ
Опционально
мрф
Минимальный остаточный расход (MRF) на манометре
Требуется
мрф_
маршрута по MRF
Требуемая
стоимость Стоимость
другого (неограниченного) маршрута
Необходимые
факторы Факторы, побуждающие
к дополнительным сплитам. Количество дополнительных_предполагается, что значение слота на единицу меньше длины факторов (согласно Мультисплитлинк документация)
Требуется
названия_слотов
Идентификаторы, указывающие на слоты при подключении с этого узла. Длина должна быть на единицу больше требуемого количества дополнительных слотов
Требуется
мрф
Минимальный остаточный расход (MRF) на манометре
Требуется
стоимость mrf
Стоимость маршрута через MRF
Требуется
стоимость
Стоимость другого (неограниченного) маршрута
Требуется
сценарий
Объект сценария, для которого должны быть предоставлены разные профили
Да
ценности
Длина 1-го измерения должна равняться количеству элементов в объекте сценария, а длина второго измерения должна быть равна 52
Да
сценарий
Объект сценария, для которого должны быть предоставлены разные профили
Да
ценности
Длина 1-го измерения должна равняться количеству элементов в объекте сценария, а длина второго измерения должна быть равна 366
Да
типа
ежедневный профиль
Да
ценности
Массив чисел 366, индексы которых соответствуют дням года.
Да
дни_из_год
Дни года, в которые определены значения интерполяции. Первое значение должно быть равно единице
Да
ценности
Значения, используемые для интерполяции, соответствующие дни_из_год
Да
снизить_
границы
Нижние границы значений при использовании во время оптимизации
_оценки
Верхние границы значений при использовании во время оптимизации
Да
переменная_дни_из_год_спектр
Максимальные пределы (положительные или отрицательные) для дней года во время оптимизации. Если значение не равно нулю, значения дней года будут отображаться как целочисленные переменные (за исключением первого значения, которое остается на первом дне). Это значение граничит с этими переменными как максимальное отклонение от заданного дни_из_год
Да
мин_значение, максимальное_значение
При желании ограничьте интерполированный дневной профиль минимальным и/или максимальным значением. Значения по умолчанию — отрицательная и положительная бесконечность для минимального и максимального значений соответственно
Да
rbf_kwargs
Дополнительный словарь аргументов ключевых слов для создания объекта Rbf
Опционально
сценарий
Объект сценария, для которого должны быть предоставлены разные профили
Да
ценности
Длина 1-го измерения должна равняться количеству элементов в объекте сценария, а длина второго измерения должна быть равна 12
Да
типа
еженедельный профиль
Да
ценности
Массив чисел 52, индексы которых соответствуют дням года.
Да
Параметр, изменяющийся во времени с использованием массива и Timestep.index с мультипликативными коэффициентами для каждого сценария.
Значения — это базовые данные временных рядов, на которые влияет фактор. Фактор берется из таких факторов, как форма (scenario.size, 12). Поэтому в зависимости от сценария и месяца факторы меняются в зависимости от сценария и месяца. API Справка
сценарий
Объект сценария, для которого должны быть предоставлены разные профили
Да
ценности
Длина 1-го измерения должна равняться количеству элементов в объекте сценария, а длина второго измерения должна быть равна 12
Да
скоро...
Базовый класс для параметров, возвращающих одно из двух значений в зависимости от другого состояния. API Справка
порог
Пороговое значение для сравнения значения рекордера с
Да
ценности
Если предикат принимает значение False, возвращается нулевое значение, в противном случае возвращается первое значение.
Да
сказуемое
Один из {«LT», «GT», «EQ», «LE», «GE»}
Да
храповик
Если значение равно true, параметр ведет себя как храповик. При первом срабатывании он остается в срабатывающем положении (default=false)
Да
скоро...
Возвращает одно из двух значений в зависимости от предыдущего потока в узле. API Справка
порог
Пороговое значение для сравнения значения рекордера с
Да
храповик
Если значение равно true, параметр ведет себя как храповик. При первом срабатывании он остается в срабатывающем положении (default=false)
Да
скоро...
Параметр, который использует IndexParameter для индексации массива параметров.
Примером использования этого параметра является возврат коэффициента экономии спроса (в виде числа с плавающей запятой) на основе текущего уровня экономии спроса (рассчитанного по формуле Параметр индекса). API Справка
параметр_индекса
Параметр индекса
Да
параметры
повторяемый из параметры или плавает
Да
В приведенном выше коде используется индекс, заданный параметром «Кривая управления резервуаром», который представляет собой Параметр индекса контрольной кривой. Индекс 0 возвращает 1, индекс 2 возвращает 0.9 и т. д.
В данном примере этот параметр используется для снижения спроса на основе кривой управления резервуаром. Пожалуйста, перейдите к Пример агрегированного параметра чтобы увидеть, как это делается.
Посмотрите, как определяется параметр контрольной кривой резервуара.
Возвращает одно из двух значений в зависимости от значения параметра. API Справка
порог
Пороговое значение для сравнения значения рекордера с
Да
храповик
Если значение равно true, параметр ведет себя как храповик. При первом срабатывании он остается в срабатывающем положении (default=false)
Да
скоро...
Возвращает одно из двух значений в зависимости от значения рекордера и порогового значения. API Справка
порог
Пороговое значение для сравнения значения рекордера с
Да
храповик
Если значение равно true, параметр ведет себя как храповик. При первом срабатывании он остается в срабатывающем положении (default=false)
Да
регистратор
рекордер: pywr.recorders. _Рекордеры. Рекордер
скоро...
Параметр, изменяющийся в сценарии.
Значения этого параметра меняются во времени в зависимости от индекса и зависят от одного сценария. API Справка
скоро...
Параметр таймсерии с автоматическим выравниванием и повторной выборкой. API Справка
типа
фрейм данных
Да
модель
Опционально
фрейм данных
Опционально
сценарий
Опционально
Возвращает одно из двух значений в зависимости от текущего объема в Storage node. API Справка
порог
Пороговое значение для сравнения значения рекордера с
Да
место хранения
место хранения: pywr. _core.Хранилище абстрактных данных
Да
храповик
Если значение равно true, параметр ведет себя как храповик. При первом срабатывании он остается в срабатывающем положении (default=false)
Да
скоро...
Параметр, изменяющийся в сценарии. Значения этого параметра постоянны во времени, но варьируются в пределах одного сценария. API Справка
размер
детей
комментарий
комментарий: юникод
двойной_
двойной_размер: 'int'
целое_
целочисленный размер_размер: 'int'
является_
переменная_переменная: 'bool'
модель
имя
родители
размер
скоро...
Возвращает одно из двух значений в зависимости от порядкового номера текущего временного шага. API Справка
порог
Пороговое значение для сравнения значения рекордера с
Да
храповик
Если значение равно true, параметр ведет себя как храповик. При первом срабатывании он остается в срабатывающем положении (default=false)
Да
скоро...
Значение параметра равно интерполяции другого параметра. API Справка
типа
интерполированный поток
Да
узел
Узел для предоставления входных значений потока для расчета интерполяции
Опционально
interp_kwargs
Словарь ключевых аргументов для передачи scipy.interpolate.interp1d класс и используется для интерполяции
Опционально
скоро...
Сценарии в WaterStrategy позволяют пользователям моделировать и изучать различные стратегии управления водными ресурсами путем корректировки различных элементов модели. Они служат основой для понимания того, как изменения исходных данных, предположений или данных могут повлиять на результаты в различных условиях.
WaterStrategy предлагает два типа сценариев для удовлетворения различных потребностей в моделировании управления водными ресурсами:
WaterStrategy Сценарии: Этот тип используется, когда пользователям необходимо настроить определенное поведение, параметры или данные в локальном или меньшем масштабе. Эти сценарии идеально подходят для случаев, когда требуется доработать только определенные элементы модели без изменения всего набора данных. Он допускает целенаправленные модификации, упрощая тестирование влияния отдельных изменений в системе.
Сценарии PYWR: Этот тип сценария предназначен для обработки более сложных случаев, особенно тех, которые связаны с неопределенностью. Он специализируется на объединении данных по нескольким шкалам, что позволяет проводить всестороннюю оценку различных переменных. Этот подход особенно полезен при работе с неопределенными исходными данными или при моделировании будущих условий, поскольку он позволяет изучить, как различные комбинации данных и предположений могут повлиять на результаты.
типа
ежемесячный профиль
Да
ценности
Массив чисел 12, индексы которых соответствуют месяцам года.
Да
Штрафы за распределение — это атрибуты узлов, которые позволяют Pywr моделировать распределение воды. Их также можно назвать «приоритетами распределения» или «затратами».
Низкий штраф будет иметь наивысший приоритет при распределении, большое число — наименьше.
Например, если три узла имеют приоритеты 100, 3 и -2, то сначала узел с -2 получает воду, затем 3, затем 100.
Вот несколько вопросов о штрафах за распределение воды, которые могут у вас возникнуть, и несколько кратких ответов:
Почему и как Pywr так распределяет воду? На каждом временном этапе алгоритм распределения Pywr (линейная программа) сводит к минимуму штрафы за распределение ресурсов всей системы. Проток через узлы умножается на соответствующие штрафы за распределение средств. Этот метод используется с 1950-х годов специалистами по планированию энергетики, транспорта и водных ресурсов, а также логистическими компаниями. Всем им нужны недорогие системы, поэтому в качестве штрафа они обычно использовали финансовые эксплуатационные расходы. В этом есть смысл, поскольку эта модель позволяет сбалансировать сеть спроса и предложения с наименьшими затратами.
Сбивает ли вас с толку идея отрицательного штрафа? Если да, считайте отрицательный штраф отрицательным издержком, что это такое? выгода! Поэтому, если вы хотите распределить воду там, где она приносит наибольшую пользу в вашей модели Pywr, вы будете использовать отрицательные штрафы. В этом случае вместо того, чтобы называть эти атрибуты узлов штрафами или издержками, вы можете назвать их приоритетами распределения. В этом случае узел с приоритетом распределения -99 получит воду задолго до -10. Как показано в примере в третьем предложении выше, в одной и той же модели можно использовать как отрицательные, так и положительные штрафы за распределение.
Имеют ли штрафы за распределение ассигнований какое-то особое значение? Нет, это не так. Они просто призваны помочь вашей модели распределять воду так, как удобно вам, менеджеру по водоснабжению и планировщику.
Как узнать, правильно ли я установил штрафы за распределение воды? Если ваша модель правильно распределяет воду в нормальных условиях, а также во время наводнений и засух, вы установили соответствующие штрафы. Поздравляем! ваша модель скоро станет «хорошо откалиброванной».
Если я внесу существенные изменения в свою модель, например добавлю новую крупную инфраструктуру или добавлю новый тип водопользователя, нужно ли мне изменить штрафы в моей модели? Да, некоторые штрафы в вашей модели, возможно, нуждаются в доработке, в зависимости от того, насколько существенным является изменение. Попробуй и посмотри.
Могу ли я использовать какие-либо цифры для штрафов? Например, если в моей модели 2 узла, могу ли я использовать отрицательный и положительный миллион в качестве штрафа? Да, но это плохая идея. Используйте числа, расположенные как можно ближе друг к другу. В противном случае по мере развития модели возможные штрафы могут закончиться, и в модели начнутся ошибки округления. Однако если вы используете слишком похожие штрафы, ваша модель может быть нечувствительна к ним (то есть не учитывать их должным образом при моделировании распределений). Приобретя немного опыта, вы научитесь правильно устанавливать штрафы. Чтобы получить такой опыт, попробуйте изменить штрафы и посмотрите, как это повлияет на результаты вашей модели.
Наконец, мы предоставим еще несколько технических сведений о штрафах:
На резервуары и узлы хранения наложены штрафы за распределение. Отрицательный штраф означает, что водохранилище будет накапливать воду, если только снижение штрафа на другом узле не приведет к снижению приоритета водохранилища.
Штрафы за распределение могут быть постоянными (постоянными параметрами) или профилями (ежемесячно, ежедневно, еженедельно), которые со временем меняются. Кроме того, штрафы за распределение воды могут иметь разные уровни, определяемые различными контрольными кривыми в зависимости от объема резервуара. Несмотря на то, что на хранение воды влияют штрафы за распределение воды из резервуаров и хранилищ, сбросы воды из этих узлов приведут к тому, что система будет учитывать штрафные санкции за распределение воды в нижестоящих водохранилищах, поскольку алгоритм пытается свести к минимуму общие системные штрафы на каждом этапе.
Общий параметр интерполяции, возвращающий значение, основанное на текущем объеме резервуара или узлов хранения (временной шаг).
Параметр _ использует массив (таблица) Объемы резервуаров и соответствующие значения. В этом случае связанные значения соответствуют Площадь водохранилища для данности Объем.
Интерполяция используется для вычисления значений между точками, заданными в массиве интерполяции.
В следующем формате Json показан пример зависимости площади от объема резервуара. Это можно использовать для определения атрибута «Площадь» узла хранилища или резервуара.
Json представляет собой таблицу ниже:
На рисунке это выглядит следующим образом:
Ниже приведен пример таблицы рейтингов областей
На рисунке это выглядит следующим образом
Базовый класс для всех параметров, зависящих от подключенного узла, содержащего элемент управления_Параметр кривой. [API Ссылка] (https://pywr.github.io/pywr-docs/master/api/generated/pywr.parameters.control_Curves.Параметр базовой контрольной кривой. html #pywr .parameters.control\ _curves.Параметр базовой контрольной кривой)
узел ()_кривые
скоро...
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
Тип гидроэнергетического узла позволяет пользователям определять соответствующие детали турбин в плотинах и рассчитывать выработку гидроэлектроэнергии.
Набор параметров индекса. Этот класс ведёт себя как набор. Параметры могут быть добавлены или удалены из него. Его значение — это значение дочерних параметров, агрегированных с помощью функции агрегирования (например, суммы).
В этом случае агрегированный параметр умножает два параметра
Коэффициент спроса на контрольную кривую
В этом примере показано, как базовый спрос умножается на коэффициент, снижающий спрос на основе кривой управления резервуаром. Можно нажать на каждый из этих параметров, чтобы увидеть, как они определены.
Параметр, обеспечивающий равномерное уменьшение значения от единицы до нуля.
Этот параметр предназначен для использования с Годовое виртуальное хранилище узел, обеспечивающий профиль, отражающий идеальное среднее использование годового объема. В день перезагрузки он возвращает значение 1, а затем каждый день уменьшается на 1/366.
исходного значения Да сброс
скоро...
Сценарии pywr совместимы со следующими параметрами:
0
1
7
2
10
4
15
6
25
14
0
1
7
2
10
4
15
6
25
14
типа
интерполированный поток
Да
узел
Узел для предоставления входных значений потока для расчета интерполяции
Опционально
потоки
координаты x точек данных для интерполяции
Опционально
ценности
y координаты точек данных для интерполяции
Опционально
interp_kwargs
Словарь ключевых аргументов для передачи scipy.interpolate.interp1d класс и используется для интерполяции
Опционально
порог
Пороговое значение для сравнения значения рекордера с
Да
храповик
Если значение равно true, параметр ведет себя как храповик. При первом срабатывании он остается в срабатывающем положении (default=false)
Да
место хранения_
Дополнительный узел хранения, который можно использовать для запроса текущего процентного объема
управление
Да
Объекты Parameter для использования в качестве контрольной кривой (кривых)
Да
ценности
Список возвращаемых значений, соответствующих контрольным кривым. Длина списка должна быть 2 + len (control)_(кривые)
Да
параметры
Если значение равно None, параметры могут указать объект Parameter для использования на каждой из контрольных кривых. Количество параметров должно быть равно 2+ len (элемент управления)_кривые)
Да
типа
интерполированный объем
Да
узел
Storage node для предоставления входных значений объема для расчета интерполяции
Да
тома
координаты x точек данных для интерполяции
Да
ценности
y координаты точек данных для интерполяции
Да
interp_kwargs
Словарь ключевых аргументов для передачи scipy.interpolate.interp1d класс и используется для интерполяции
Опционально
место хранения_
Дополнительный узел хранения, который можно использовать для запроса текущего процентного объема
управление
Да
Объекты Parameter для использования в качестве контрольной кривой (кривых)
Да
верхний_
параметр
Верхнее значение интерполированного интерполированного интервала для интегрирования по
координатам
Да
x
Опционально
y y
координаты точек данных для интерполяции
_параметр
Меньшее значение интерполированного интервала для интегрирования. Может быть Нет в этом случае нижнее значение интервала равно нулю
Опционально
interp_kwargs
Словарь ключевых аргументов для передачи scipy.interpolate.interp1d класс и используется для интерполяции
Опционально
типа
агрегированные
Да
параметры
Параметры для агрегирования
Опционально
agg_func
Функция агрегирования. Должна быть одной из {«sum», «min», «max», «mean», «product»} или вызываемой функцией, принимающей список значений
Опционально
сброс_
день День
месяца (1-31) для сброса громкости до
_месяц
Месяц года (1-12) для восстановления громкости до исходного значения
Да
Этот параметр считывает данные массива из базы данных PyTables HDF.
Параметр считывает данные с помощью интерфейса массива PyTables и поэтому не требует загрузки всего набора данных в память. Это полезно для больших запусков модели. API Справка
Сохраняя файлы HDF5 в «фиксированном» формате, пользователи могут достичь оптимальной скорости доступа к данным, что делает HDF5 эффективным инструментом для сценариев PYWR, использующих фреймы данных в качестве параметров, где быстрое извлечение данных имеет решающее значение. Файлы HDF5 читаются в виде словаря, где каждый ключ представляет собой фрейм данных панды. Например, структура файла inflows.h5 может содержать три ключа, каждый из которых представляет отдельную реку. Каждый ключ содержит три временных ряда, которые можно отнести к сценарию Pywr размера 3.
При использовании h5-файла DataFrame для запуска pywr-сценариев обратитесь к раздел pywr-сценариев чтобы активировать эту функцию
Примечание: Размер pywr-сценариев должен соответствовать количеству ключей в файле h5
файл h5
Дескриптор файла таблицы или имя файла, к которому нужно прикрепить объекты CarRay. Если указано имя файла, объект откроет и закроет дескрипторы файлов
Да
узел
Имя узла в базе данных таблиц для чтения данных
Да
где
Путь для чтения узла
Да
сценарий
Сценарий для использования в качестве второго индекса в массиве
Да
Параметр, изменяющийся во времени с использованием массива и Timestep.index
Значения этого параметра постоянны во всех сценариях. API Справка
скоро...