电话号码:17610221536
介绍 液体降水(雨)是简单的机械和电子测量之一,也是难做好、准确和有代表性的测量之一。有两种方法可以量化降雨量:数量——或累积——和强度。降雨量以英寸或毫米为单位表示为深度,以每小时降雨量表示为强度。降雨强度是造成降雨量测量误差的*大因素之一。 广泛使用的雨量计通常被称为翻斗。它有一个倾倒机构,位于一个漏斗的下面,当它装满一定体积的水时,这个倾倒机构可以前后倾倒。 毫不奇怪,在一些水流失和测量变得越来越不准确之前,跷跷板机构来回倾斜的速度是有限制的。换句话说,降雨累积的测量精度取决于降雨的速度或强度。 一般来说,液体降水误差的另一个重要来源是风,有时会造成高达20%的损失。RainVUE系列雨量计的沙漏形状是专门为减轻风对集水的影响而设计的,有证据表明*它是有效的。 在坎贝尔科学公司,我们开发了一种强度校正算法,并将其集成到RainVUE系列智能雨量传感器中。在本文的剩余部分,我将描述我们开发和测试该算法的方法。 过程 大多数翻斗式雨量计在电子上非常简单——每一次翻斗都会导致一个开关闭合,这些开关闭合会被数据记录器记录下来。这意味着强度的两件事: 1.我们需要做的不仅仅是数小费。 2.雨量计需要添加一些东西来进行额外的测量(即计时)和计算。 所有这些都可以放入数据记录器运行的程序中。然而,为了简单易用,我们在仪表上增加了一个模块,用于进行计算,并通过SDI-12将数据传送给记录器,因此用户无需创建或维护复杂的程序。该模块还可以作为数据的备份,并在数据记录器失去通信和电源的情况下,使用内部电池继续运行一段时间。 一种校正强度的方法是首先计算强度(每小时的量)。然后,根据强度,计算一个修正量。我们选择了一种更直接的方法来校正强度的累积或数量,方法是测量叶尖间隔时间(TBT),并将其用作每个叶尖降雨量的预测值。根据三丁基锡化合物和数量,通过简单的单位转换计算强度。 数据收集和模型开发 我们在每个RainVUE模型中使用了10个新的倾翻桶来收集数据。每个桶在12至16个固定模拟降雨率下运行三次重复(取决于模型和目标强度修正范围)。简单地通过高精度喷嘴运行测量的去离子水体积来模拟降雨。 ·对于大于100毫米/小时的速率,足够的水通过每个桶,以达到每次重复1,000个。 ·对于较低的速率,每次复制至少使用330个提示。 (使用我们的测试设备,我们可以同时运行多达四个桶,但是对于每一个RainVUE型号,仅数据收集就需要大约1000小时或更长时间!) 利用已知的体积量和数量的测量以及TBT的使用数据记录仪CR6,我们拥有开发校正模型所需的所有数据。使用回归,比较了几种模型的拟合度。示例函数模型形式包括幂律和指数衰减等。通过交叉验证和收集新数据,通过相互竞争模型来测试准确性。 解释: 交叉验证是将数据集拆分成训练和测试数据集的实践。例如,使用来自一半桶的数据来开发模型,使用来自其余桶的数据来测试模型。 下图显示了原始数据示例以及我们考虑的一个候选模型(例如幂律、指数衰减等): 结论 总的来说,这个项目是一个有趣的挑战,我希望这篇文章能对开发过程提供一些见解,并展示用于创建*佳算法的强大方法,以增加高质量翻斗式雨量计的价值。 原文链接地址:https://www.campbellsci.com.cn/blog/algorithm-rainfall-intensity-correction
查看更多 >您目前是否在CRBasic数据记录器程序中使用SMSSend()通过Campbell Scientific CELL2XX内部或外部蜂窝模块发送短信?关于我们*近所做的改进,有些事情你应该知道,这些改进会影响SMSSend()的工作方式。 随着数据采集器CR300版本10.3、数据采集器CR1000X版本5和数据采集器CR6版本11操作系统的发布,我们进行了改进,以便您可以使用SMSSend()向多个收件人更地发送邮件,或者向单个收件人发送多封邮件。然而,这些改进需要对现有的使用SMSSend()的CRBasic程序进行更改。如果您在数据记录器程序中使用SMSSend(),并计划安装此操作系统,请继续阅读以了解这些更改的好处以及如何修改程序以适应它们。您可能在CR300、CR1000X和CR6操作系统的修订历史中注意到了此警告:已更新SMSSend()来处理数组。升级到此操作系统将需要更新运行SMSSend()旧实例的CRBasic程序。SMSSend()有什么变化? SMSSend()曾经是一个函数。现在它是一个支持数组的指令。在CRBasic编程中,指令和函数在程序中的使用方式有细微的区别。例如,一个功能可以用作指令,但是一个指令不能在另一个中用作参数指令。CRBasic中*常见的函数是数学函数,如LOG()或ASIN()。 为什么SMSSend()会发生变化? 对SMSSend()进行了更改,以便数据记录器可以使用指令的单次执行向多个收件人发送消息(或向同一收件人发送多条消息)。为了更好地理解更改的原因,我可以解释当执行SMSSend()时会发生什么。 蜂窝模块必须处于不同模式才能发送短信。这需要时间,并且可能会中断IP通信。在以前版本的SMSSend()中,如果在短时间内发送了多条消息,则模块会随着每条消息的发送而进入和退出该模式。短信可能会被备份,蜂窝模块可能无法满足需求。 使用SMSSend()的新格式,在一条指令中使用数组定义了多个接收者和多个消息。蜂窝模块仅被置于其特殊模式一次,所有消息被发送,然后它返回到正常操作。这种改变可以显著提高发送消息的速度。 需要进行哪些程序更改? 让我们看一下前面的SMSSend()函数的格式,以及使用代码片段的新SMSSend()指令。 以前版本的SMSSend()只有两个参数:电话号码消息字符串 为了监控成功或失败,您将结果返回到一个变量。结果代码变量指示要发送的收件人/邮件数量的条带电话号码字符串数组消息字符串数组(其中数组中的元素数量等于条带数) 如果您想查看在数据记录器程序中使用的本说明,请查看CRBasic在线帮助中的SMSSend()示例程序:CR6CR1000XCR300 你应该注意什么? 使用更新的SMSSend()指令时,有几件事需要考虑:如果您计划将新的SMSSend()指令用于外部蜂窝模块,您还需要一个在CELL2XX中运行的更新操作系统 (任何操作系统版本2.028或更高版本).目前,我们预计不会将这一变化纳入旧数据记录器的操作系统,如数据采集器CR1000、数据采集器CR800系列或数据采集器CR3000。 SMSSend()指令是通过短信发送警报的好方法,甚至在其他数据收集方法不可用的情况下传输数据。您是否在应用程序中使用了SMSSend()?原文链接地址https://www.campbellsci.com.cn/blog/improvements-smssend 产品参数参考:http://huachensolar.com/?shujucaijiqijipeijian/56.html北京华辰阳光科技有限责任公司**翻译,并作适当修改。(因作者水平有限,翻译内容仅供参考,可访问原网页或者联系我们关注我们为您解惑。)
查看更多 >