zoukankan      html  css  js  c++  java
  • WM0-2.2.2-水质模型项目流程(6)

    模型建立

    ·[527]|1000天行动计划

    读书笔记/热点追踪/论文研读/教程手册

    上节从现实世界出发,介绍了我们的模型模拟的量,同时结合前面章节的数据需求,说明了那些数据具体所起到的作用,本节则具体的开始介绍模型的具体建模步骤。

    不同的模型建模过程细节会有所不同,但是其的基本步骤是基本一致的,那么就从相对通用一些的角度来阐述下模型具体的建模过程。

    先简单进行回顾,到这节,我们可以认为经过需求对接,清楚了的模型要实现的目的,进行了调研,获取的模拟对象的基本信息情况,同时数据也收集的差不多了,也进行相应的补充监测,未来能够获得相应的数据,按照需求选择或开发好了相应的模型,开始要搭建模型了。

    想做什么?能做什么?

    想做和能做之间是有距离的,之前在模型的选择时,讨论了需求和现实之间的平衡,这里再次拿出这个问题来就是说,因为那个时候往往是初选,大概明白什么模型完全不能用,这个时候的第二次选择,就是落地到具体的对象上了。我从两个角度来进行分析:

    空间角度

    空间角度也就是选定模拟的对象,注意这个对象可以称为控制体,之前水力学中也都经常提这个内容,就是选定一个区域的水体作为研究对象,这个对象与周边隔离开来,单独对其进行分析。而此时有点类似,要选定我们将要模拟的对象,具体到湖泊而言,除非特殊需求下,湖泊是被隔离的,隔离部分具有相对独立的特征,否则一般是模拟整个湖泊的。

    但是对于河流而言,就未必了,河流的特点是空间跨度可以非常大,有些河流候非常长的,有时候我们并不是关注河流的全部,而可能就是局部的区段。那这个时候就需要选择对于的模拟范围,将其隔离出来,需要注意的是隔离需要考虑几方面,这几方面取并集,也就是最大的范围:

    1. 需求段。业主关心的问题出发,其关注的区段肯定是我们需要模拟的,这个没有什么特别需要说的。
    2. 校准数据范围。由于我们的模型需要校准,所以如果选择的区域最好覆盖所有观测数据,因为数据本来就少,能够多用上尽量用上,当然,不是说有这个数据就必须用,而是说在大的数据集上进行分析验证会使得模型更加可靠。
    3. 边界条件范围。这个更为关键,也经常被忽略,这种隔离体最需要的就是隔离的部分与外部的交界处的信息,是建模的基础,如果没有边界条件驱动,模型就无法运行,所以边界条件十分重要,哪里有边界条件基本就需要其作为区域范围的边界。
    4. 研究对象受到的影响,这点实际是第3点的补充,但是要单独强调下,对于研究对象受到外部条件的影响,则其需要将外部影响考虑进来,典型的如入海口,由于海洋的潮汐,其常常可能有周期回流,那么这个回流就对研究对象有影响,所以其的范围就要伸入海洋之中。

    需要说明校准数据和边界条件都是实际监测的数据,只是根据其用途不同将其重新按照模型的术语划分的,如同手机之前也可以看电影叫电影播放器,可以听歌就说是MP3,能通信就说是电话,当然还有时候被叫做锤子,因为可以砸核桃;边界条件和校准数据的关系,在湖体中两者一般是界限较为清晰,对于湖体中监测的就是用于校准数据,而入湖河流这些就是边界条件。但是在河流中,这两者并不是那么清晰,比如某断面,如果其有流量和水质数据,隔离体的范围设置在这个地方,那么其就是作为边界条件,但是如果某些原因,范围扩大到断面的上游了,这个时候该断面的数据就作为校准数据用了。

    边界条件和校准数据的区别前者是输入数据的一部分,用来驱动模型的;而后者则是用来作为模型结果的匹配目标,即所有输入完成后,模型运行之后的模拟结果与校准数据进行比较分析,调整参数使得模拟结果与校准数据匹配。

    在弄清楚这个关系之后,边界条件和校准数据怎么用就随你了。

    时间角度

    一般我们使用的都是动态模型,也就是需要模拟出变量(水质指标)随时间变化的结果。那么,其就需要考虑时间因素,就是所谓的模拟的时段范围。由于是动态特点,所以输入的数据应该是时间序列数据,从数据出发选择数据质量较好的时间范围进行模拟分析。

    所谓的数据质量较好,就是指一段时间内的较多的有效数据,如错误较少,异常值较少。对于模型角度来说,还有一个较为重要的就是频次。目前监测数据来源两种形式,一种是人工巡测的数据,另外一种则是自动站的数据。前者,频率较低,每月能有一次就已经非常好了,但其数据可靠性强。后者,频率高,高频能够到达数小时,甚至分钟级别,但是其由于通过传感器测量,目前水温、溶解氧还算可靠,其他的水质数据可靠性不强。

    那么究竟要什么频率呢?答案当然是越高越好。但是理想丰满,现实骨感,实际项目中的数据都是用珍宝,非常稀有,那是不是说我们的项目就没法做了呢?像月尺度的水质数据究竟能不能用呢?怎么用?

    这里需要说明存在时间尺度的问题,如果有月尺度的数据,那么可以认为模型在季节尺度上可以应用,月尺度也可以勉强使用,此时虽然模型的结果可以输出日尺度的数据,但是不具有太大的意义。同样,如果有小时尺度的数据,可以在日尺度上有较强可信度。当然,需要特别说明的是,这只是一般的入流边界条件的情况,具体情况还要具体分析,比如对于气象而言,其由于日尺度上存在显著变化变化,若模拟藻类的变化,其需要小时尺度的数据,来模拟昼夜交替的光合作用,这部分会对藻类有非常大的影响,如果不输入小时的变化,那么从误差角度日积月累误差会非常的大。

    另外,如果对于实在缺乏的数据,则可在理解模型的基础上,对数据还可以进行人为的处理,注意这不是造数据,而是合理的概化,所以务必谨慎又谨慎,记清楚前提假设。

    一类为插值、统计推导等。如对数据进行线性插值形成连续的时间序列,或者回归分析,其他统计方法来进行推求,记得当时学习水文课程时,课本就有提到对于缺乏数据的地区,可用同区域、特征相同的的数据替代,这个对于水文数据可以近似这样处理。对于日尺度的降雨数据进行小时的平均分配等等。总之,推导的数据并没有引入信息,降低信息熵,反而可能会引入非常多的不确定性,所以要你明白你在干啥。

    第二类为物理规律计算。通过物理规律进行一些数据的推求。如太阳辐射数据相对缺乏,如果有日照数据,那么结合太阳的周期运动,依据不同纬度是的理论值计算,那么我们可以计算出太阳辐射的周期变化数据,当然这个理论计算的是到达地球表面的,其没有考虑云量等遮挡,但是比起没有还是要好很。云量数据呢就是通过当地的历史观测数据,推断出雨季和非雨季,雨季云量多点,非雨季云量少点;对于蒸发,也可以根据相对湿度,气温等利用经验公式进行计算。这些方法都是没有办法的办法,都需要经过敏感性测试才能使用。

    无论如何数据怎么都不嫌多,很多不相关的数据如果有就可以先收集到,这样后面可能有用。

    小结

    本节从空间和时间的尺度简单介绍了研究的范围和时间周期的选择,从想做什么落地到能做什么了,清楚了我们实际要做模型的的“域”,后面就开始具体建模了。


    由于教程系列文章需要花费很多时间,难免出错,而这里不能进行后续完善,所以推荐大家关注我的博客,获取最新的修正和补充。 公众号的社群同步开启,感兴趣可在公众号对话框回复“社群”,获取群号和加入方式。

    页尾

    微信公众号 | 水环境编Cheng长 网 站 | comieswater.com

    赞赏我

    2019-11-22

    folder=/微信公众号/水环境编Cheng长/

    参考文献: 1 李博,水质模型入门基础课.环in学院.

  • 相关阅读:
    【LeetCode】147. Insertion Sort List
    【LeetCode】64. Minimum Path Sum
    【LeetCode】7. Reverse Integer
    【LeetCode】107. Binary Tree Level Order Traversal II (2 solutions)
    【LeetCode】114. Distinct Subsequences
    【LeetCode】35. Search Insert Position (2 solutions)
    为什么easyui的datagrid里getSelections还有getChecked只能获取一行值呢?
    IE兼容模式下 SCRIPT1028: 缺少标识符、字符串或数字
    修改easyui的easyloader的默认css目录路径
    如何在Visual Studio的查找功能中使用正则表达式?
  • 原文地址:https://www.cnblogs.com/comieswater/p/13760325.html
Copyright © 2011-2022 走看看