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 用户共享项目或网络
项目:这些就像对子项目和网络进行分组的文件夹。
网络:在 WaterStrategy 中,每个具有唯一网络的模型都被称为 “网络”。
人物图标:表示您只能访问项目或网络。
人物图标:表示多人有权访问一个项目或网络。
创建者:创建了项目或网络。
直接共享:项目或网络是专门共享给用户的。
继承自:(“项目名称”):用户可以通过共享包含该子项目或网络的项目来访问该子项目或网络。
1。要共享项目,请输入项目并单击 “成员” 选项卡。
2。输入您想与之共享的收件人账户的电子邮件。
您可以选择向收件人授予两种权限。
允许用户重新共享?: 允许他们与他人共享项目和内部的项目/网络。
允许用户编辑项目?: 允许他们编辑项目内部的项目/网络。
3.选择权限后选择 “邀请”。
下面,您可以查看与谁共享项目、管理与谁共享、查看他们的权限以及他们如何获得访问权限。
您可以选择向收件人授予一些权限。
允许用户重新共享?: 允许他们与他人共享网络。
允许用户编辑项目?:允许他们编辑网络。
Clone 网络:创建重复网络。防止更改先前存在的网络。如果选择 “克隆网络”,则有以下选项。
在新网络中包含结果?:将运行结果包含在克隆网络中。
是否包括所有场景?:将创建的场景包括在克隆网络中。
网络名称:创建克隆网络的名称。
5。输入您想与之共享的收件人账户的电子邮件。 6。选择权限后单击 “共享”。
4。要共享网络,请点击共享图标 在网络上。
运行 Pywr 模型不需要 WaterStrategy;它可以帮助用户更轻松地使用 Pywr 模型。如果你有 Pywr 模型输入文件(它们被称为 “JSON” 文件),并且你的计算机上安装了所需的 Python 和 Pywr 库,则可以在没有 WaterStrategy 的情况下运行 Pywr 模型(注意:需要 Python 技能)。同样,如果你有 Pywr 模型(一个 JSON 文件),你可以将其导入到 1234567890__ 中。
本页介绍如何将模型从 WaterStrategy 导出到 Pywr JSON 文件中,以及如何将现有 Pywr 模型(JSON 文件)导入到 WaterStrategy
本节使用创建账户时提供的 “演示网络”。
首先点击下载按钮。
然后,我们将选择我们的格式。
首先选择 Hydra JSON 格式。如果你想启用换行符,让你的代码或文本更易于阅读。如果它是一个大文件,你可以压缩它。
提交。
接下来,下载 Pywr JSON 格式。
然后,你可以在你选择保存它们的文件夹中找到这两个文件。
让我们看看如何导入 Pywr 文件。
首先,点击 “创建项目”,在你的 Water Strategy 账户中创建一个项目文件夹。
为项目命名,然后单击 “添加”。
点击创建的项目。
点击 “创建网络”。
选择 “Hydra JSON”。
点击 “选择文件”。
选择 Hydra JSON 文件。
选择模板。
点击 “提交”。
然后,你可以发现网络已导入。
要导入 Pywr JSON 文件,您可以按照以下步骤操作。
再次点击 “创建网络”。
选择 “Pywr JSON”。
点击 “选择文件”。
选择 Pywr JSON 文件。
选择模板。
对于投影,您可以选择 “无”、“英国” 或 “世界”。在这种情况下,我们将选择 “世界”。
点击 “提交”。
最后,你可以在这里查看导入的网络。
description: 如何在 WaterStrategy 中创建免费账户
观看视频或关注以下文字。 WaterStrategy 账户是在上创建的 https://hydra.org.uk/register (“Hydra” 是我们的网络服务器的名称)。
创建账户
1。在 WaterStrategy 网页选择右上角的 “登录”。
1。在 “登录” 带您进入的网页底部选择 “创建帐户”。 2。在注册页面中,输入您的电子邮件、名字、姓氏、组织类型、组织、国家或地区,创建密码,选择 “我不是机器人”,然后选中三个复选框。 3.然后选择 “注册”。 4。将向您发送一封确认电子邮件以确认您的帐户。请务必同时检查您的垃圾邮件文件夹。 5。您的账户已创建。
登录
1。要登录,请访问 https://hydra.org.uk/login 或者使用 WaterStrategy 网页 “登录”
1。输入您的电子邮件和密码,然后再次选中底部的三个方框。如果你愿意,选择 “记住我”。 2。然后选择 “登录”。 3.您将进入 Water Strategy 接口主页。
创建新项目和网络
1。在界面主页中,点击右上角的 “创建项目”。 2。键入您的项目名称,然后选择 “添加”。 3.输入您的新项目。 4。点击右侧的 “创建网络”。 5。选择 “手动” 选项卡。 6。输入网络名称。 7。选择这两个 pywr 模板中的任何一个。
-其他模板适用于其他建模系统,例如电力系统。
8。选择 “使用地图” 以显示用于构建模型的世界地图。 9。点击 “提交”。 10。输入创建的网络。 11。切换并缩放到尼罗河沿岸的某个区域。
12。选择 “构建” 下拉列表。
13。将集水区、连接线和两个输出节点拖到模型中,如下所示。
-第二个输出节点(河外)将用作抽水节点。
-注意集水节点在上游,输出节点在下游。
(尼罗河在这部分和整体上都向北流动)
14。使用 “链接” 功能,沿流向连接节点。
-这是通过先单击上流节点,然后单击下流节点来完成的。
description: 观看 WaterStrategy 界面的概述;以下是文字摘要。
项目:包含相关网络的文件夹,也可以包含其他项目文件夹(子项目)。
-每个项目文件夹都显示其中的网络和子项目文件夹的数量。
网络:模型。
1。在界面主页上,选择 “培训材料” 项目。 2。选择 Demo 1 网络。
-在网络内部,在页面的顶部,你将在下面看到一个看起来像这样的栏。
-“主页” 和 “我的项目” 选项卡将带你回到界面主页。
-“文档和培训” 将带您进入界面教程视频和书面说明页面。
-“收藏夹” 选项卡允许您为项目、网络和场景添加书签。它还允许访问最近访问和最近修改的项目和网络。
-“返回'培训材料'” 将带你回到培训材料项目文件夹。
-绿色播放按钮运行模型。
-扳手按钮提供对高级网络实用程序的访问,例如导入或导出网络数据。
-矩形按钮的向下箭头用于下载模型,用于离线运行或发送给某人。
-三行是 “查看网络数据”。
3.单击 “查看网络数据”。
\ 在 “详细信息” 中,你可以更改网络的名称。
-有时需要退出网络才能更新。
\ 在 “输入” 中,您可以更改模型的开始、结束和时间步。
-d=天,m=月,Y=年表示时间步。
4。点击扳手图标进入 “设置”。
显示标签-显示节点名称
链接方向-显示链接的流向
Show Tooltips-将鼠标悬停在节点上方时显示节点信息
自动隐藏侧边栏-不使用时隐藏侧边栏
始终按类型对属性进行分类-在节点内,会将属性分组为标量、描述符等。
5。单击 “i” 转到 “信息”。
-你可以看到你的 “网络 ID” 和其他信息。
6。关闭侧边栏并转到页面左侧的场景部分。
-场景是模型中输入数据、水文等的变体。
-在模型中制作多个场景时很常见。
Button 1(左)-克隆场景
Button 2-编辑场景
Button 3-删除场景
Button 4-刷新场景列表
Button 5-书签场景
Button 6(右)-比较场景
-要创建新场景,请在创建后根据需要更改模型输入数据后,克隆一个先前存在的场景,为其命名。
7。单击 “运行模型” 按钮。
-保留基准情景。
-保留所有其他默认值。
8。点击 “提交”。
\ 在页面左侧的 “跑步” 部分中,您将看到新的跑步和过去的跑步。
-Yellow=在队列中运行
-Blue=正在运行
-Green=成功运行
-Red=运行失败
9。单击 “运行” 部分下方的 “构建”。
-这提供了构建模型所需的所有节点和链接。
-插入节点后,需要输入数据。
10。单击 “构建” 部分下方的 “搜索”。
-这使您可以轻松地在大型模型中找到节点和链接。
地图左上角的炸弹按钮允许您在需要时扩展模型以减少其拥挤程度。
地图-显示模型
资源-可以查看您的节点、链接和群组
Metrics-提供聚合模型输出的功能
自定义规则-自定义操作规则
参数-添加 pywr 中未包含的参数
Recorders-添加不包含在 pywr 中的录音机
Members-显示必须访问模型的成员及其拥有的权限,也可以在此选项卡中添加成员并选择他们拥有的权限
分析-比较场景中的节点和链接
layout: description: visible: false outline: visible: true pagination: visible: true tableOfContents: visible: true title: visible: true
如果存在技术故障或模型配置不正确,WaterStrategy 会报告错误。学习如何理解和使用模型错误报告来发现模型中的问题是一项重要而必不可少的建模技能。
本章举例说明如何阅读错误报告以查找模型中导致错误的部分。
当运行失败时,您将在运行部分看到运行变为红色。
点击红色的运行栏,您将获得运行概览,包括错误报告。
滚动到报告的末尾。 运行将在此处报告其错误。
在这次运行中,可以发现月度配置文件输入不正确。
在某些情况下,将提供有关运行报告中错误的更多详细信息。请务必回顾运行日志,看看是否有任何与该问题相关的线索。
向上滚动时,我们会看到 “关键”。这表示已识别出错误。在同一行中,它指出了错误在哪里。
“示例储层” 节点的输入 “蒸发” 不正确。
我们可以编辑 “蒸发” 参数来解决这个问题。
每月资料中有 13 个值,我们需要删除不属于的值。在这种情况下,“3.1234567890__” 不应该出现在月度简介中。
保存参数并再次运行此模型。
现在模型已成功运行。
这个 集水节点 是另一种具有固定流入量的输入节点。集水节点通常用于表示流入系统的河流或其他类型的流入。在其上定义的任何流量都必须流入系统。
流入时间序列(例如 Pywr 数据框)通常定义在 流 属性表示集水流入量,但也可以使用其他参数(例如常量、月度概况等...)。
流
集水节点在每个时间步提供的水量
必填项,如果未输入,则默认为 0。
即将推出...
description: 它是如何运作的?它输出什么?以及它是如何使用的?
为了了解水系统当今的表现并评估未来变化的影响,规划人员建立了水资源系统模型。
水资源系统可以是小型的,例如城市及其供水来源,也可以是大型的,例如拥有许多不同河流、水基础设施资产和用水者的国家。无论你是想评估当前水源的可靠性,还是在合理的未来条件下评估新的干预措施,这样的计算机模型都有助于跟踪整个系统(空间)和一段时间内的水资源。
给定有关水文流量和气候、用水需求和使用以及水资源管理规则和分配的数据,水系统模型会输出每个建模位置和时间步的水流量和体积。汇总这些结果后,它们可以准确地反映出不同的水资源干预措施(水政策或基础设施的变化)可能会如何发挥作用。
description: 为了建立 “数字双胞胎”(计算机模拟器),WaterStrategy 使用 Pywr(“Python 水资源”)。
Pywr 是一个免费的开源 Python 语言软件库,允许构建高质量(详细和准确)的水资源系统仿真模型。
Pywr 模型可以在您的计算机上快速运行,如果是 WaterStrategy,则可以在云端快速运行。它们可以代表小型水资源系统,例如城市的供水系统,也可以代表非常大的水资源系统,例如横跨多个国家的河流流域,拥有数百名用水者和基础设施资产。Pywr 可以在不同的时间步长(从每天到每月)模拟短期(例如几个月)或更长的周期(如 100 年)。
以下是 Pywr 建模过程的摘要:
1\。设置模型
首先,需要空间水系地图以及相关的水文和用水需求数据。WaterStrategy 可帮助您创建此网络地图,其中包含水进入系统(“流入”)、用水地点(“用水需求”)以及水资源管理地点(基础设施位置)的所有地点(“节点”)。这些节点形成由河流、运河或管道连接的网络(Pywr 称这些为 “链接” 或 “边缘”)。设置网络地图后,即可提供供水和需求数据(通常为时间序列)。
2\。运行模拟
输入所有数据(包括时间步长和时间范围)后,模型就可以进行仿真了(即逐步穿越时间并在整个系统中进行水资源核算)。在每个时间步开始时,计算机首先向所有流入地点注水,然后将这些水输送到管网并分配到不同的用水需求和基础设施位置。该分配过程使用一种称为线性编程的计算技术来执行。一个时间步完成后,模型会更新存储空间,记录哪些地点有多少水,然后继续到下一个时间步长,直到模拟时间跨度结束。
每个用水需求节点都被分配了一个优先级,以表示模型中的水资源分配。每个节点都有相关的惩罚,分配算法在整个网络中分配水,以最大限度地减少总体损失。这种简单的方法允许进行快速且可维护的模拟,可以灵活地表示详细而现实的水管理规则。
3\。查看结果
模型输出包括有多少水进入每个地点(节点),以及每个时间步中有多少水储存、消耗或流过该地点(节点)。这可以跟踪基础设施的使用情况,以及城市、生态系统、灌溉区、发电厂等是否有足够的水。研究结果详细说明了水资源管理系统的运作方式以及水资源收益的分配情况。
最初,模型的参数化很差,产生的预测不准确(“垃圾进入,垃圾流出” 阶段)。但是,随着时间的推移,随着模型的改进(“校准”),它可以成为帮助运营或规划供水系统的有价值的数字双胞胎。该工具可帮助您的组织快速而廉价地评估未来潜在水资源变化和干预措施的影响,并做出正确的决策。
祝你好运!
在 WaterStrategy 中,用户可以通过将外部文件中的数据加载为,灵活地更有效地管理大型复杂的数据集 DataFrame参数 使用 “url” 关键字,而不是将所有数据直接嵌入到接口中。文件格式包括:
CSV
Excel
HDF5
注意: 在前面的选项中,Excel 文件性能最慢,而 HDF5 文件性能最好,是大型数据集的首选。
要在 WaterStrategy 中上传文件,请导航到您的 项目 然后单击 “文件” 选项卡。从那里,单击 选择文件 然后选择你要上传的文件,然后单击 .
这会将文件添加到您的项目中,使其可用于项目内的所有网络。
文件上传后,它们将显示在 档案 项目中的选项卡。从那里,您可以轻松地在项目中的所有网络中查看、管理和共享它们。
description: Pywr 中使用的关键术语。
Pywr 是 WaterStrategy 使用的 Python 库,它通过使用 “节点” 和 “边缘” 将资源系统表示为网络来模拟资源分配。资源分配由使用 “分配惩罚”、“约束” 和 “参数” 的操作规则驱动,使用 “记录器” 捕获和保存模型输出。可以使用 “场景” 指定模型输入的变体并行运行。
虽然在 Pywr 中创建资源分配模拟模型所用的一般概念与其他工具的概念类似,但术语的用法可能有所不同。在本节中,我们定义了关键 Pywr 术语及其在仿真模型中的作用。
节点表示模拟水系统中添加、储存、使用、消耗或输送水的位置。Pywr 中有不同的节点类型可以帮助您构建水系统模型;您可以在 Pywr 中了解有关它们的更多信息 部分。定义节点物理特征和行为的数据可以直接添加到节点中,也可以通过引用参数间接添加数据(如下所述)。
为了形成网络,使用代表水路输送的连接线连接节点。Pywr 称这些为 “边缘”。边缘有起点和终点节点,水从起始节点流向终点节点。Pywr 不会为这些连接(边缘)分配信息,而是将数据分配给源节点和目标节点。模拟水管理所需的所有数据都存储在节点上,边缘仅决定水流方向。Pywr 建模者会说 “Pywr 边缘决定网络拓扑”,这意味着 “节点之间的连接决定了计算机模型中水的移动方式”。
可以在各种节点类型上设置约束条件以帮助表示系统行为。例如,河流节点可以具有最大和/或最小流量值来表示输送能力。在 Pywr 中,许多节点都有 'max_流量'和'最小值_flow' 属性,用于在需要时设置流经节点的流量的上限和下限。'max\ _flow'属性不要求通过该节点的流量达到这个值,但是如果水量和优先级足够,模型将尝试满足 “最大流量”。应谨慎使用最小流量约束,因为如果无法满足最小流量约束,它们可能会导致模型不可行。
分配惩罚是控制水资源分配优先级的节点属性。这些通常以罚款或 “成本” 表示,该模型首先将水分配给罚款最低的节点。如果您更愿意按福利进行分配,首先将水输送到收益最高的地方,则需要在Pywr中将优先级表示为负成本(即使用负数)。实际上,两者可以一起使用,例如,如果 3 个节点受到惩罚-10、2、6,则它们将按该顺序获得水(惩罚为-10 的节点先获得水,分配惩罚为 6 的节点最后获得水)。
Pywr 中的参数为向节点提供输入提供灵活便捷的方式。例如,特定参数类型可用于从微软 Excel 文件加载流入或要求数据。参数还为定义系统的运行规则(例如,管理储层释放的规则)提供了一种灵活且可定制的方式。大多数模型输入数据可以使用参数提供。
Pywr 记录器用于对结果进行后期处理。通过创建记录器,您可以观察和保存仿真结果。一些记录器可以汇总一段时间(例如,从每天到每年)和空间(例如,分配给一组节点的水)的结果。
在 Pywr 中,您可以使用不同的供应、需求或其他变化输入数据创建和模拟场景。水资源规划者越来越多地使用具有多种情景的长期模拟来评估未来的变化或测试可能的干预措施。能够快速模拟许多合理的未来场景是 Pywr 的主要优势之一。
注意:
欲了解更多详情,请参阅开放获取文件,标题是: 。
这个 比例输入节点 适用于需要将固定比例的流量分配给多条下游路径的简单案例。 API 参考资料。
分配罚款
通过节点的单位流量成本
可选
因素
施加额外分割的因素。额外数量_
假设插槽比因子长度小一(根据 pywr.nodes. MultisplitLink 文档)可选插槽
_名字
从该节点连接时引用插槽的标识符。长度必须比所需的额外插槽数多一个
可选
流
集水区每步提供的水量
可选
即将推出...
下表介绍了最常用的 Pywr 节点类型:
输入节点
输入节点代表系统中的水输入。
集水节点
集水节点通常用于表示流入系统的河流或其他类型的流入。
比例输入节点
比例输入节点适用于需要将固定流量比率分配给多条下游路径的简单情况。
Link Node
Link node 代表水系统中的一个环节或其他兴趣点,其中分配了最大或最小流量限制或分配优先级。
河流节点
河流节点是河流网络中的一个节点,它可能有多个上游节点(即汇合点),但只有一个下游节点。
延迟节点
这些延迟持续给定的时间步长或天数。当流量传播时间不可忽视时使用,例如因为时间步长相对较短。
Storage Node
Storage node 是可以储存水(如水坝或含水层)的通用节点,水量有最小和最大限制。
水库节点
储层节点是 storage node 的一种,具有表示蒸发和降水的附加功能。
输出节点
输出节点是水离开系统的位置。
损失 Link Node
损失链路允许定义流经此节点的固定比例的流量损失。
涡轮节点
涡轮节点可以代表水电站的涡轮机。它计算每个时间步生成特定水力发电目标所需的流量。
Pywr 节点类型还可以进一步细分为 6 个类别: 水输入, 水上运输, 储水, 水产量, 水电,以及 其他。您可以在 “节点类型” 部分的子部分中找到有关这些节点和节点类型分组的更多详细信息。
这个 link node 代表水系统或其他兴趣点中的一个环节,其中分配了最大或最小流量限制或分配优先级。请注意,在 Pywr 中,不能为边(链接)分配流量限制,因此链接节点通常用于此目的。 API 参考资料。
flow
分配罚款
通过节点的单位流量成本
可选
最大_
节点上的最大流量约束
可选
min_流
节点上的最小流量约束
可选
即将推出...
这个 河流节点 是河流网络中的一个节点,可能有多个上游节点(即汇合点),但只有一个下游节点。 API 参考资料。
flow
分配罚款
通过节点的单位流量成本
可选
最大_
节点上的最大流量约束
可选
min_流
节点上的最小流量约束
可选
即将推出...
这个 延迟节点 是一个将流量延迟给定时间步长或天数的节点。与所选时间尺度相比,当水传播时间不可忽略时,将使用此节点。 API 参考资料。
分配罚款
通过节点的单位流量成本
可选
时间步长
延迟流量的时间步数
可选
天
延迟流量的天数。仅当天数完全可以被模型时间步长 delta 整除时,指定天数(而不是时间步长)才有效
可选
初始流程
在任何延迟流可用之前,节点为初始时间步提供的流程。这在所有延迟时间步长和任何模型场景中都是恒定的。默认为 0.0
可选
即将推出...
这个 RiverSplitWithGauge node 是河网中残留流量 (MRF) 最小的分裂。按照 Riversplit 但默认情况下,在底层对象中创建另一条路径来建模 MRF。这条路径使得MRF不是强制比率的一部分。该对象的目的是模拟可以在MRF上方抽取一定比例的流量(例如,900__% 的流量高于MRF)的情况。 API 参考资料。
成本成本本
mrf
仪表处的最小残留流量 (MRF)
必填项
mrf_
通过 MRF 的路径
成本
所需
其他(不受约束的)路径的成
所需
因素
施加额外分割的因素。额外数量_假定槽位比因子长度小一(按照 MultSplitLink 文档)
必填项
插槽名称
从该节点连接时引用插槽的标识符。长度必须比所需的额外插槽数多一个
必填项
即将推出...
这个 RiverSplit node 是河流网络的分裂。它适用于需要将固定比例的流量分配给多条下游路径的简单案例。 API 参考资料。
litLink 文档)。
因素
施加额外分割的因素。额外数量_假设插槽比因子长度小一(根据 pywr.nodes. Multisp
可选
插槽_名字
从该节点连接时引用插槽的标识符。长度必须比所需的额外插槽数多一个。
可选
即将推出...
这个 RiverGaug 是一个河流测量站,残留流量(MRF)最小。 API 参考资料。
mrf
仪表处的最小残留流量 (MRF)
必填项
mrf_cost
通过 MRF 的路线费用
必填项
成本
另一条(不受限制)路线的成本
必填项
即将推出...
这个 BreakLink node 可用于减少模型中的路径数量。
例如,在具有形式 (3、1、3),即 3 个(A、B、C)输入通过瓶颈 (X) 连接到 3 个输出(D、E、F)的模型中,有 3 个\ *3 条路线 = 9 条路线。
如果 X 是存储,则只有 6 条路由:A->X_O,B->X_O,C->X_o 和 X_i->D_O,X_我->e_O,X_i->f\ _o。
BreakLink node 是一个复合节点,由 存储 音量为零和 链接。它可以代替普通链路,但好处是它减少了模型中的路由数量(在上述情况下)。由此产生的 LP 更容易求解。 API 参考资料。
值
分配罚款
通过节点的单位流量成本
可选
转换_
factor
节点流入量和流出量之间的转换可选最大
_流
节点上的最大流量约束
可选
分钟_flow
节点上的最小流量约束
可选 p
rev_流
在前一个时间步中通过此节点的总流量
可选
这个 水库节点 是 storage node 的子类,具有表示蒸发和降水的附加功能。 API 参考资料。
长度/天)可选单位
分配罚款
通过节点的单位流量成本
可选
分钟_容
量存储器的最小容量。
默认为 0.0 可选最大值
_卷
存储空间的最大容量。默认为 0.0
必填项,否则默认为 0
初始的_音量,初始_卷_pc
以绝对值或比例形式指定初始音量。如果最大值,则两者都是必需的_卷 是一个参数,因为不会在第一个时间步对该参数进行评估。如果两者都给出并且 最大_体积不是参数,则绝对值将被忽略
一个是必填
区域、级别
可选浮点数或用于定义 storage node 面积和等级的参数。这些值可通过 get 获取_区域 和 得到_
水平方法分别
可选
蒸发、降水蒸发和降水
率(
_转换
将降水和蒸发量转换为所需的长度/天单位的换算系数
可选,默认值为 0.001 转换为 mm/day 以用于 km2 库区
蒸发惩罚(蒸发成本)
根据蒸发输出设定分配补偿
可选,默认为-999
即将推出...
模型
`模型`实例
必填项
名称
str
必填项
存储节点
这个 存储 返回总和的对象
必填项
这个 PiecewiseLink node 是 Node 的扩展,表示非线性 链接 使用逐件成本函数。该对象旨在模拟提供特定流速有好处,但超过固定限值会发生变化(或零)成本的情况。 API 参考资料。
这个节点是使用复合节点结构实现的,如下所示:
这意味着路由不会直接穿过此节点,因为中间有单独的域。取而代之的是,为每个子链接和输出/输入节点的连接创建了几条新路由。路径中断的原因是为了避免在同一条路径中存在多个 PieceWiseLinks 时路径数量几何增加。
flow
分配罚款
通过节点的单位流量成本
可选
最大_
节点上的最大流量约束
可选
min_流
节点上的最小流量约束
可选
即将推出...
分配罚款
通过节点的单位流量成本
可选
目标
水力发电目标。单位应以每天的能量单位为单位
可选
水_仰角_参数
进入涡轮机的水的海拔。此值与 涡轮机_仰角给出涡轮机的工作头
可选
最大值_流
计算出流量的上限。如果设置,则此参数返回的流量最多为最大值_流量参数
可选
最小值_流
计算出流量的下限。如果设置,则此参数返回的流量至少是最小值的值_流量参数
可选
最小值_头
产生流量的最小扬程。如果实际水头小于此值,则返回零流量
可选
涡轮机_
涡轮机本身的海拔高度。水的区别_仰角 这个值给出了涡轮机的工作头
可选
效率
涡轮机的效率
可选
密度
水的密度
可选
流_单元_转换
用于将流量单位转换为与此处的方程兼容的因子。这应该将流量转换为立方米/天的单位
可选
能源_单元_转换
用于转换总能量单位的因子。默认为 1e-6 以返回 MJ
可选
这个 滚动虚拟存储节点 是一个滚动虚拟 storage node,可用于实施滚动许可证。 API 参考资料。
注意事项:
待办事项:目前不考虑成本属性。参见问题 #242。
e
分配罚款
通过节点的单位流量成本
可选
节点
影响存储量的流入/流出节点列表
必填项
分钟_volum
允许存储器达到的最小容量
可选
的最大容量_卷
存储空间的最大容量
必填项,如果未输入,则默认为 0
初始体积
初始存储量
一个是必填的
因素
节点流量乘以的因素列表。正面因素将水从储藏室中排出,负面因素将其排出。
可选
时间步长
应用于滚动存储的时间步长
必填项
天
应用滚动存储空间的天数。指定天数(而不是时间步长)仅对运行时间步长为每日频率的模型有效
必填项
即将推出...
一个 丢失链接 允许定义流经此节点的固定比例流量损失。损失链接通常用来表示 饮用水处理工程 这会造成一些过程损失。
定义的最大和最小流量属性应用于损失后的净输出。
节点本身在其 flow 属性中记录净输出(任何连接的记录器都将使用该属性)。
分配罚款
通过节点的单位流量成本
可选
损失系数
损失_因子:浮点数或参数。流经此节点的流量比例。必须大于或等于零。该值要么是总流量的比例,要么是净流量的比例,具体取决于损失的价值_因子类型
。
可选,默认为 0
损失因子类型
选择 “总流量” 或 “净流量”(默认),指定损失系数是分别作为总流量还是净流量的比例适用。
可选,默认为 “net”
最大流量
节点上的最大流量约束
可选
最小流量
节点上的最小流量约束
可选
在此示例中,10流入节点的总水量中有百分比流失。
这个 聚合节点节点 是其他的总和 节点 节点。
这个对象的行为应该像 节点 通过返回电流 流。但是,此对象无法连接到网络中的其他对象。 API 参考资料。
注意:此节点无法连接到网络中的其他节点。
模型
`模型`实例
必填项
名称
str
必填项
存储节点
这个 节点 返回总和的对象
必填项
即将推出...
这个 VirtualStorage node 是一个虚拟存储单元。 API 参考资料。
注意事项:
待办事项:目前不考虑成本属性。参见问题 #242。
e
分配罚款
通过节点的单位流量成本
可选
节点
影响存储量的流入/流出节点列表
必填项
分钟_volum
允许存储器达到的最小容量
可选
的最大容量_卷
存储空间的最大容量
必填项,如果未输入,则默认为 0
初始体积
初始存储量
一个是必填的
因素
节点流量乘以的因素列表。正面因素将水从储藏室中排出,负面因素将其排出。
可选
即将推出...
这个 storage node 是可以储存水的通用节点,水有最小和最大体积限制。 API 参考资料。
分配罚款
通过节点的单位流量成本
可选
分钟_容
量存储器的最小容量。
默认为 0.0 可选最大值
_卷
存储空间的最大容量。默认为 0.0
必填项,如果未输入,则默认为 0
初始的_音量,初始_卷_pc
以绝对值或比例形式指定初始音量。如果最大值,则两者都是必需的_卷 是一个参数,因为不会在第一个时间步对该参数进行评估。如果两者都给出并且 最大_体积不是参数,则绝对值将被忽略
一个是必填
区域、级别
可选浮点数或用于定义 storage node 面积和等级的参数。这些值可通过 get 获取_区域 和 get_level 方法分别是
可选
即将推出...
分配罚款
通过节点的单位流量成本
可选
最大_
节点上的最大流量约束
可选
min_流
节点上的最小流量约束
可选
WaterStrategy 中的场景允许用户通过调整模型的不同元素来模拟和探索各种水管理策略。它们为理解输入、假设或数据的变化如何影响不同条件下的结果提供了一个框架。
WaterStrategy 提供两种类型的场景来满足水管理建模中的各种需求:
1。 WaterStrategy 场景: 当用户需要在本地化或较小范围内调整特定行为、参数或数据时,可使用此类型。这些场景非常适合只需要调整模型的某些元素而不更改整个数据集的情况。它允许进行有针对性的修改,从而更容易测试系统内单个变更的影响。 2。 PyWR 场景: 这种情景类型旨在处理更复杂的案例,尤其是那些涉及不确定性的案例。它专门合并多个尺度的数据,允许对不同的变量进行全面评估。这种方法在处理不确定输入或对未来条件进行建模时特别有用,因为它使您能够探索不同的数据和假设组合会如何影响结果。
这个 年度虚拟存储节点 是一种虚拟存储,每年重置一次,可用于许可证。 API 参考资料。
重置
重置_
d
ay 将音量重置为初始值的当月 (0-31) 需要
_月
将音量重置为初始值的一年中的月份 (0-12)
必填项
重置_到_初始体积
将音量重置为初始音量而不是每年的最大音量(默认为 False)
必填项
即将推出...
description: WaterStrategy 支持的 Pywr 参数概述
参数是在模型的每个时间步返回一个值的函数。这些值可以是基于时间(例如,当天或月份)的常数,基于时间步长的储层储量计算以及许多其他计算。自定义参数也可以用 Python 编写。
本页介绍了(大多数)Pywr 支持的参数类型。可以找到 Pywr 中的参数概述 这里。已找到内置 Pywr 参数的完整列表 这里。
在网络中,单击 “参数” 选项卡:
在 “参数类型类别” 部分旁边,单击 “+” 按钮并选择 “PYWR\ _PARAMETER”。
将出现文本输入。输入您的参数的名称:\
在提供的 JSON 编辑器中根据需要修改参数:
为了简化参数修改,WaterStrategy 为常用参数提供了编辑器,例如带有预填默认值的月度配置文件参数,并提供了图形编辑器以简化数据输入。
参数编辑器示例
在 “参数” 选项卡中,添加新参数时,选择 'PYWR_参数_每月\ _PROFILE' 如图所示:\
请注意,出现的编辑器将显示 JSON 选项卡,但也会显示 “绘图和表格” 选项卡。修改表中的数据将自动更新 JSON 中的数据,如下所示:\
这些更改会自动更新 JSON:
基本参数提供 指数 方法。 API 参考资料
儿童
评论
评论:unicode
双_尺寸
双倍_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
父母
尺寸
即将推出...
``json {
}
所有的 参数 中的子类 pywr 是通用基类的后代。
这个 季节性虚拟存储节点 是一种虚拟的 storage node,仅在一年内的指定时间段内运营。
此节点对于表示仅在指定时间段内强制执行的许可证最有用。这个 重置_天 和 重置_月 参数表示节点何时开始运行以及 结束_天 和 结束_月 当它停止运行时。在节点不运行期间,节点的体积保持不变,并且该节点不对模型施加任何约束。
结束_一天和一天结束_月可以表示重置年份中较早的日期_天和重置_月。这种情况代表许可证的有效期为一年.例如,一个在 10 月到 3 月之间处于活动状态而在 4 月到 9 月之间不处于活动状态的产品。API 参考资料。
。
重置_day
节点开始运行且其音量重置为初始值或最大音量的月中某一天(0-31)
需要
重置_月
一年中节点开始运行且其音量重置为初始值或最大音量的月份(0-12)。
必填项
重置_到_初始的_音量
将音量重置为初始音量而不是每年的最大音量(默认为 False)
必填
结束_天
节点停止运行的月份中的某一天(0-31)
必填项
end_month
节点停止运行的一年中的月份(0-12)
必填项
即将推出...
这个 MultiSplitLink node 是的扩展 PieceWiseLink 其中包括其他可供连接的插槽。
从概念上讲,这个节点在内部看起来像下面这样,
每个额外的插槽都会在 PieceWiseLink(即上面的 X2)和该类中的节点(即 Bo 和 Bi)中添加一个额外的子链接。
最后,提供了一种机制来(可选)固定最后一个非分割子链接(即 X1)和每个额外子链接(即 X2)之间的比率。该机制使用 聚合节点 内部。 API 参考资料。
注意:用户在使用因子机制时必须小心。因子使用最后一个非分割子链接(即 X1 但不是 X0)。如果此连接受最大或最小流量约束,或者如果它存在另一个不受约束的链接(即 X0 不受约束),则整个节点的比率可能无法按预期强制执行。
flow
分配罚款
通过节点的单位流量成本
可选
最大_
节点上的最大流量约束
可选额外的
_插槽
要提供的额外插槽(和子链接)的数量。必须大于零。
可选
时段_n
ames 连接其他节点时用来指代插槽的名称。长度必须比额外数目多一_老虎机。第一个项目是指 PieceWiseLink 连接,每个额外插槽都有以下物品。
可选
因素
如果给定,则长度必须等于比 extra_slots 的数量多一个。每个项目是通过附加子链接的总流量所占的比例。如果特定子链接不需要系数,则使用 无 用于其物品。在求解器中使用之前,对因子进行了归一化。
可选
即将推出...
儿童
评论
评论:unicode
双重的_
双倍尺寸_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
父母
尺寸
agg\ _func
儿童
评论
评论:unicode
双_尺寸
双倍_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
参数
参数:列表
父母
尺寸
儿童
评论
评论:unicode
分母
双_尺寸
双倍_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
分子
父母
尺寸
儿童
评论
评论:unicode
双重的_
双倍尺寸_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
参数
参数:pywr.parameters。_参数.参数
父母
尺寸
阈值
阈值:“双倍”
最少取另一个参数的参数 参数 和常量值(阈值)。
这个类是更有效的版本 聚合参数 在哪里 参数 与常量值进行比较。 API 参考资料
儿童
评论
评论:unicode
双重的_
双倍尺寸_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
参数
参数:pywr.parameters。_参数.参数
父母
尺寸
阈值
阈值:“双倍”
即将推出...
``json {
}
初始化自我。有关准确的签名,请参阅帮助(键入(自我))。 API 参考资料
儿童
评论
评论:unicode
双_尺寸
双倍_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
父母
尺寸
即将推出...
``json {
}
Pywr 场景为水管理建模提供了一种更先进、更全面的方法,尤其是在处理不确定性以及评估数据和系统行为及数据输入的各种组合时。与侧重于本地调整的 WaterStrategy 场景不同,Pywr 场景允许您通过同时改变多个输入和组合来尝试各种可能性。
在 Pywr 场景中:
用户可以定义多个场景,每个场景包含多个变体(或大小)。
除非选择了特定的组合进行模拟,否则系统将模拟这些变体的所有组合。
例如,如果定义了两个 Pywr 场景,每个场景都有三个变体(大小 = 3),则模拟总数将为 9(3 x 3)。这种方法使用户能够探索模型中不同因素之间的各种潜在结果和相互作用。
在网络中,单击 查看网络数据 图标
这将打开右侧面板。在本节中 输入,键入”场景” 然后点击 添加输入 图标
将显示一个窗口,键入”场景”,选择 场景 属性并单击 保存 如下图所示
将弹出一个新窗口,选择 PYWR_场景 然后点击 保存
场景自定义面板打开后,您可以根据需要定义任意数量的 Pywr 场景。要创建新的 Pywr 场景,请执行以下步骤:
输入 姓名 对于 Pywr 场景并指定 大小 (变体数量)。
这个 合奏 属性是可选的,有助于跟踪 Pywr 场景中的特定索引场景
创建 pywr-scenaion 后,系统将显示以下信息:
点击 JSON 选项卡将显示的自动 JSON 版本 Pywr-Scenario 定义
分配惩罚是允许 Pywr 模拟水资源分配的节点属性。它们也可以被称为 “分配优先级” 或 “成本”。
低罚款将具有最高的分配优先级,较高的数字具有最低的分配优先级。
因此,例如,如果三个节点的优先级为 100、3 和 -2,则值为 -2 的节点首先获得水,然后是 3,然后是 100。
以下是一些关于水资源分配罚款的问题,以及一些简短的答案:
1。Pywr 为什么以及如何分配这样的水资源?在每个时间步中,Pywr 的分配算法(线性程序)都将整个系统的分配损失降至最低。流经节点的流量乘以其各自的分配罚款。自1950年代以来,能源、运输和水资源规划人员以及物流公司一直在使用这种技术。他们都想要廉价运行的系统,因此他们通常使用财务运营成本作为罚款。这是有道理的,它允许使用该模型以最低的成本平衡供需网络。 2。你觉得负数罚款的想法令人困惑吗?如果是这样,可以将负数罚款视为负成本,那是什么?一个好处!因此,如果你想在 Pywr 模型中将水资源分配到能产生最大效益的地方,你将使用负数罚款。在这种情况下,与其将这些节点属性称为分配惩罚或成本,不如将它们称为分配优先级。在这种情况下,分配优先级为-1234567890__ 的节点早在-1234567890__ 之前就会获得水。如上面第三句中的示例所示,负分配罚款和正数分配罚款都可以在同一个模型中使用。 3.分配罚款有特殊含义吗?不,他们没有。它们只是为了帮助你的模型以对你、水资源管理者和规划者来说合理的方式分配水资源。 4。我怎么知道我设定的水资源分配罚款是否正确?如果您的模型在正常条件下,以及在洪水和干旱期间都适当地分配了水资源,那么您已经设置了适当的惩罚。恭喜!您的模型即将变得 “校准良好”。 5。如果我对模型进行了重大更改,例如添加大型新基础设施或添加新的用水用户类型,我是否需要更改模型中的处罚?是的,模型中的一些处罚可能需要细化,具体取决于变化的重要性。试着看看。 6。我可以用任何数字作为罚款吗?比如,如果我的模型有 2 个节点,我能否使用负一百万和正一百万作为惩罚?是的,但这是个坏主意。使用尽可能接近的数字。否则,随着模型的增长,你可能会用尽可用的惩罚,你的模型将开始出现舍入错误。但是,如果您使用的惩罚过于相似,则您的模型可能对其不敏感(即,在模拟分配时未充分考虑它们)。通过一点经验,你将学会设定行之有效的点球。要获得这种经验,请尝试更改惩罚,看看它如何影响模型的输出。
最后,我们提供了更多有关罚款的技术细节:
水库和存储节点都有分配罚款。负值意味着水库往往会积水,除非另一个节点的罚款较低会导致水库存储的优先级降低。
分配惩罚可以是常量(恒定参数)或随时间变化的剖面图(每月、每天、每周)。此外,分配罚款可以根据储层容量的不同控制曲线来定义不同的水平。尽管水库和储量分配处罚会影响水储量,但由于算法试图将每个时间步的总体系统损失降至最低,因此考虑到下游的分配惩罚,这些节点的释放将由系统的惩罚平衡导致。
WaterStrategy 情景为对水资源管理模型中的特定要素进行有针对性的调整提供了工具。当您想以灵活可控的方式尝试对参数、行为或数据进行局部更改时,这些场景特别有用。
创建 WaterStrategy 场景时,它充当一个 叉子 现有网络模型的。原始网络分配给基线方案,该场景代表系统的默认或启动条件。从这个基准来看,WaterStrategy 场景允许进行精确的修改,无论是更改数据输入还是调整定义系统中关键元素行为的参数。
这种修改模型某些方面而保持其余部分不变的能力使 WaterStrategy 场景非常适合测试单个变更的影响。例如,您可以更改水库运行规则或修改需求预测,而无需重建整个模型。这种有针对性的方法可以帮助用户快速评估具体的修改如何影响完善水管理策略的结果。
首先单击 “克隆场景” 图标。
选择要克隆的场景并命名您的场景
点击
点击编辑当前的默认场景
要将数据加载为 h5 DataFrameParameter,请参阅 以便正确访问场景数据
有关详细教程,请参阅 关于创建和运行新场景
儿童
评论
评论:unicode
双_尺寸
双倍_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
父母
尺寸
类型
汇总
是的
参数
要聚合的参数
可选
agg_func
聚合函数。必须是 {“sum”、“min”、“max”、“mean”、“product”} 或接受值列表的可调用函数之一
可选
儿童
评论
评论:unicode
双重的_
双倍尺寸_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
参数
参数:pywr.parameters。_参数.参数
父母
尺寸
取最小值 a 的负数的参数 参数 和常量值(阈值)。 API 参考资料
儿童
评论
评论:unicode
双重的_
双倍尺寸_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
参数
参数:pywr.parameters。_参数.参数
父母
尺寸
阈值
阈值:“双倍”
即将推出...
``json {
}
提供每月概况的参数。月度配置文件根据当前时间步长的月份返回不同的值。 API 参考资料
类型
每月概况
是的
价值
由 12 个数字组成的数组,其索引代表一年中的月份。
是的
``json { 类型:'月度个人资料', 值:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] }
抵消另一个参数的参数 参数 按恒定值计算。
这个类是更有效的版本 聚合参数 在哪里 参数 被一个常量值所抵消。 API 参考资料
上限_界限
儿童
评论
评论:unicode
双重的_
双倍尺寸_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
抵消
应用于返回值的偏移量 参数
参数
要与浮点数比较的参数
更低_
bounds
在优化期间使用偏移量的下限
优化期间使用偏移量的上限
父母
尺寸
即将推出...
``json {
}
这个 每周概况 每年包含 52 周。一年的最后一周将有 7 天以上,因为 365/7 不是完整的。 API 参考资料
类型
每周简介
是的
价值
由 52 个数字组成的数组,其索引代表一年中的天数。
是的
``json { 输入:'每周个人资料', 值:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1...] }
取最大值为 a 的负数的参数 参数 和常量值(阈值)。 API 参考资料
儿童
评论
评论:unicode
双重的_
双倍尺寸_大小:'int'
整数_大小
整数_大小:'int'
是_变量
是_变量:'bool'
模型
名称
参数
参数:pywr.parameters。_参数.参数
父母
尺寸
阈值
阈值:“双倍”
即将推出...
``json {
}
提供每日概况的参数。
根据当前时间步长的月份,每日配置文件返回不同的值。 API 参考资料
类型
每日档案
是的
价值
由 366 个数字组成的数组,其索引代表一年中的天数。
是的
``json { 类型:'dailyprofile', 值:[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1...] }
场景
应提供不同配置文件的场景对象
是的
价值
第一个维度的长度应等于场景对象中的成员数量,第二个维度的长度应为 52
是的
提供每个场景的每月概况的参数。
行为是一样的 月度配置文件参数 唯一的不同是在给定场景中为每个集合返回不同的配置文件。 API 参考资料
场景
应提供不同配置文件的场景对象
是的
价值
第一个维度的长度应等于场景对象中的成员数量,第二个维度的长度应为 12
是的
即将推出...
``json {
}
提供从一到零的均匀递减值的参数。
此参数旨在用于 年度虚拟存储 节点,提供代表年度交易量完美平均利用率的概况。它在重置日返回的值为 1,之后每天都会减少 1/366。 API 参考资料
重置_
d
ay 将音量重置为初始值的当月 (1-31) 是重置
_月
将音量重置为初始值的一年中的月份 (1-12)
是的
即将推出...
``json {
}
提供每个场景的每日概况的参数。
此参数提供重复的年度概况和每日分辨率。对于给定场景的每个成员,将返回不同的配置文件。 API 参考资料
场景
应提供不同配置文件的场景对象
是的
价值
第一个维度的长度应等于场景对象中的成员数量,第二个维度的长度应为 366
是的
即将推出...
``json {
}
使用径向基函数 (RBF) 插值每日轮廓的参数。
每日概况是在建模期间计算的 重置 使用以年日为自变量的径向基函数。一年中的天数由用户定义,另外还有每天用于插值的值。每年的第一天应始终为一,其值重复为第 366 个值。此外,对第二个和倒数第二个值进行了镜像,以鼓励边界上出现一致的梯度。RBF 计算是使用以下方法进行的 scipy.interpolate.rbf 对象,请参阅 Scipy 的文档以获取更多信息。 API 参考资料
是上限
天_的_年
一年中定义插值的日期。第一个值应该为一
是的
价值
用于插值的值对应于 天_的_年
是的
更低_
bounds
优化期间使用值的下限
_界限
在优化期间使用时值的上限
是的
变量_天_的_年_范围
优化期间一年中各天的最大界限(正数或负值)。非零值将导致一年中的天数值显示为整数变量(第一个值除外,该值保持在第 1 天)。该值是这些变量的边界,即与给定变量的最大偏移量 天_的_年
是的
分钟_值,最大值_价值
(可选)将插值的每日配置文件限制为最小值和/或最大值。最小值和最大值的默认值分别为负数和正无穷大。
是的
rbf_kwargs
基于 Rbf 对象的关键字参数的可选字典
可选
即将推出...
``json {
}
场景
应提供不同配置文件的场景对象
是的
价值
第一个维度的长度应等于场景对象中的成员数量,第二个维度的长度应为 12
是的
具有自动对齐和重采样功能的时间序列参数。 API 参考资料
类型
数据框
是的
模型
可选
数据框
可选
场景
可选
``json { “类型”:“数据框参数”, “网址”:“流入_mm3_day.csv “, “专栏”:“集水河1”, “index_col”: “时间步”, “parse_dates”:真 }
根据当前音量,返回 Storage node 中的两个值之一。 API 参考资料
阈值
用于比较记录器值的阈值
是的
存储
存储:pywr。_core.抽象存储
是的
棘轮
如果为 true,则参数的行为类似于棘轮。一旦它首先被触发,它就会保持在触发位置(默认值=假)
是的
即将推出...
``json {
}
此参数从 PyTables HDF 数据库读取数组数据。
该参数使用 PyTables 数组接口读取数据,因此不需要将整个数据集加载到内存中。这对于运行大型模型很有用。 API 参考资料
通过以 “固定” 格式存储 HDF5 文件,用户可以实现最佳的数据访问速度,这使得 HDF5 成为使用 DataFrames 作为参数的 PyWR 场景的有效工具,在这些场景中,快速数据检索至关重要。HDF5 文件作为字典读取,其中每个密钥代表一个熊猫 DataFrame。例如,inflows.h5 文件的结构可能包含三个密钥,每个密钥代表不同的河流。每个密钥包含三个时间序列,可以将其分配给大小为 3 的 Pywr 场景。
如果使用 h5 文件 DataFrame 来运行 pywr-scenarios,请参阅 为了激活此功能
注意: pywr-scenaion 的大小必须与 h5 文件中的密钥数量相匹配
h5 文件
用于附加 CarRay 对象的表格文件句柄或文件名。如果给定了文件名,则该对象将打开和关闭文件句柄。
是的
节点
表数据库中要从中读取数据的节点的名称
是的
哪里
读取节点的路径
是的
场景
用作数组中第二个索引的场景
是的
``json { “钥匙”:“集水河1”, “情景”:“气候变化”, “类型”:“数据框参数”, “网址”:“inflows.h5”, “index_col”: “时间步”, “parse_dates”:真 }
阈值
用于比较记录器值的阈值
是的
棘轮
如果为 true,则参数的行为类似于棘轮。一旦它首先被触发,它就会保持在触发位置(默认值=假)
是的
阈值
用于比较记录器值的阈值
是的
价值
如果谓词的计算结果为 False,则返回第 0 个值,否则返回第一个值
是的
谓词
{“LT”、“GT”、“EQ”、“LE”、“GE”} 之一
是的
棘轮
如果为 true,则参数的行为类似于棘轮。一旦它首先被触发,它就会保持在触发位置(默认值=假)
是的
阈值
用于比较记录器值的阈值
是的
棘轮
如果为 true,则参数的行为类似于棘轮。一旦它首先被触发,它就会保持在触发位置(默认值=假)
是的
根据当前时间步长的年份返回两个值之一。 API 参考资料
阈值
用于比较记录器值的阈值
是的
棘轮
如果为 true,则参数的行为类似于棘轮。一旦它首先被触发,它就会保持在触发位置(默认值=假)
是的
即将推出...
``json {
}
参数值等于另一个参数的插值。 API 参考资料
类型
插值流
是的
节点
为插值计算提供输入流量值的节点
可选
interp_kwargs
要传递给的关键字参数字典 scipy.interpolate.interp1d 类并用于插值
可选
即将推出...
``json {
}
根据记录器值和阈值返回两个值中的一个。 API 参考资料
阈值
用于比较记录器值的阈值
是的
棘轮
如果为 true,则参数的行为类似于棘轮。一旦它首先被触发,它就会保持在触发位置(默认值=假)
是的
录音机
录音机:pywr.recorders。_recorders.recor
即将推出...
``json {
}
根据当前时间步的序数返回两个值中的一个。 API 参考资料
阈值
用于比较记录器值的阈值
是的
棘轮
如果为 true,则参数的行为类似于棘轮。一旦它首先被触发,它就会保持在触发位置(默认值=假)
是的
即将推出...
``json {
}
参数值等于另一个参数插值的正交。 API 参考资料
x 坐标用于插值的数据点限
上部_
参数
要积分的插值间隔的上限值
是
的插值数据点的
x
的可选
y y
y 坐标可选下
_参数
要积分的插值间隔的较低值。可以是 无 在这种情况下,间隔的下限值为零
可选
interp_kwargs
要传递给的关键字参数字典 scipy.interpolate.interp1d 类并用于插值
可选
即将推出...
``json {
}
通用插值参数,使用上一个时间步的节点流进行插值。 API 参考资料
类型
插值流
是的
节点
为插值计算提供输入流量值的节点
可选
流动
插值数据点的 x 坐标
可选
价值
插值数据点的 y 坐标
可选
interp_kwargs
要传递给的关键字参数字典 scipy.interpolate.interp1d 类并用于插值
可选
即将推出...
``json {
}
在三个或更多值之间插值的控制曲线参数。
返回值在控制曲线之间线性插值,第一个和最后一个值分别为 100% 和 0%。 API 参考资料
如果值为 “无”,则参数可以指定用于每条控制曲线的参数对象。参数的数量应为 2 + len(控制)_曲线)
存储_node
一个可选的存储节点,可用于查询当前的容量百分比
是
控制_曲线
用作控制曲线的参数对象
是的
价值
要返回的与控制曲线相对应的值列表。列表的长度应为 2 + len(控制)_曲线)
是
的
参数
是的
即将推出...
``json {
}
通用插值参数,根据水库或存储节点的当前(时间步长)体积返回值。这个
参数使用 排列 (表)的 水库容量 和相应的值。在这种情况下,关联值是对应的 库区 为了给定的 音量.
插值用于计算插值数组中给出的点之间的值。 API 参考资料
类型
插值音量
是的
节点
Storage node 为插值计算提供输入音量值
是的
卷
插值数据点的 x 坐标
是的
价值
插值数据点的 y 坐标
是的
interp_kwargs
要传递给的关键字参数字典 scipy.interpolate.interp1d 类并用于插值
可选
以下 Json 显示了水库面积与体积额定值的示例。这可用于定义存储或水库节点的区域属性。
``json { “类型”:“插值音量参数”, “节点”:“水库或 Storage node 名称”, “音量”:[ 0, 7, 10, 15, 25 ], “价值观”:[ 1, 2, 4, 6, 14 ],
“评论”:“体积:Mm3,值:Km2” }