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

    ·[522]|1000天行动计划

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

    水质模型的构建,上几节围绕模型开发进行了介绍,本节进入模型的建模的环节,这里的模型构建,是更加具体层面的,是在模型选择好或者开发完成后,进行的仅仅是搭建起所研究区的框架,目标是使得研究区的模型能够初步运行即可,模型的结果准确则需要在校准环节进行。

    模型的构建的过程呢,这个事情实在太简单了,我之前说过,水质模型的真正难点在于数据的处理和模型的校准,其他都不是事。如果数据是现成的已经处理好了,整个模型建模的过程,只需要最多半天时间,如果有好的前后处理工具,会更快。当然,需要记住我们的前提,数据准备好且仅仅是搭建模型框架

    但是,对于初学者来说,是非常难的事情,虽然操作层面基本没有难度,对照的案例也是分分钟上手,但是因为其涉及的概念和背景知识是非常多,导致初学者根本一头雾水,看着运行起来的模型,好像是那么回事,但是又那么多按钮,参数选项,忍不住想,这都是啥玩意啊,感觉放下案例,脑中一片空白,没法下手。本文就来好好聊聊这个建模的过程,献给没有师兄师姐指导的同学们。

    对于一般的建模过程,经过了模型选择或开发之后,就具备了模型所需要的所有的部件了。为了便于理解,接下来我用一些生活中的例子来帮助理解建模的过程。

    小的时候流行一种叫四驱车的玩具,这种玩具买回来并不能直接的跑,而是各种小的部件构成,有车的底盘,有发动机,都需要动手进行组装起来才能玩。那么模型有点类似,这个阶段我们已经有了各种的模块部件了,剩下的就是要把这些模块按照一定的方法来将其组装起来使得其能够运行。比如,有水动力模块、水质模块,那么你需要先设置好水动力模块,然后在此基础上添加水质模块,后续诸如水生态模块等等。

    等到你熟悉建模之后,就会发现建模(单单说建模)看起来神秘,对于通用模型来说,其内涵实际是本地化,可以认为已经有了其他湖泊的模型,建模只不过需要将其替换为你的研究对象的相关信息和参数而已。诸如EFDCWASP等都是水质模型的模板,我们之前毕业论文都用过Word模板,热心同学设计好,我们过来一套,内容换成我们自己的内容,其他大的框架基本没有变化。所以,当明白哪些是需要变的,哪些是小变甚至不变的,建模的问题就非常清晰了。

    那么问题来了,建模究竟需要哪些信息内容呢?

    想象力

    我们来放松下,发挥想象力跟着去水体边看看。在地图上随便找了一个水体作为我们的建模案例。

    湖泊

    假设这个就是我们的研究对象,我们要用水质模型来模拟这个水体。我们知道模型是对实际世界的概化,那么我们就看看现实世界都有什么。

    头顶的是天空,阳关照在水面上,还有云飘在空中,远处能看到太阳晒着的湖面上有空气在跳舞,景色宜人,随着风吹过脸庞,水面泛起阵阵波浪,空气中的温度刚刚好,看着美景你渐渐忘却了时间。

    天空

    不过转眼间一朵乌云飘过来,带来了几滴凉雨。

    对于湖体而言,将其独立为研究对象,那么其四面八方都与其有所物质交互,天空这部分可以概况为气水界面上的交换。这部分的交换主要有,能量如太阳辐射、热量;水量则为降雨;其他诸如气压、气温、相对湿度等等环境因子都对上述交换有影响。风也比较重要,其能够引起波浪,引起水流变化等。 降雨

    然后你沿着岸边继续前行,看到有的岸边非常浅,能看到清澈见底,但是有的却深不见底,这时候你就需要小心别掉下去。远处的岸线曲曲折折,似乎把水体永远围在其的怀里。

    说完天空,就是陆地了,这部分主要就是水陆的界面上的,这个界面主要有两种类型,一种是岸上或地下水的交互,这个后面说。上面描述的景象中,主要是水陆的另外一种,固壁边界。水平方向上就是岸线了,而另外垂向就是水底的陆地了,岸线和水底的陆地将水整个围起来,是不透水的边界条件,在模型中表达是一种固壁边界条件,无水量交换。

    岸线

    再往前走你看到了一些河流入口,其上游弯弯曲曲的延申不知道什么地方去了,这些河流源源不断的给湖泊输送着水分。

    这个就是陆地上的另外一种边界条件,这个边界条件也是我们经常提到的【边界条件】,实际上仔细的读者,在阅读上面有关陆地和水体的交互中看到固壁边界不透水的时候一定会思考到水下的陆地还有地下水吗,怎么直接处理为不透水了,即使不说地下水,那陆地的水也会流入,怎么就固壁边界了呢?这个就是模型的概化和抽象了,是将这种水陆的交互区分为两种模式,一种就是完全不透水的,另外一种则来表达完全是水的。后者可以用来表达地表径流、地下水等,将其统一作为一种边界条件来处理(源汇项)。有点像物理思维,高中物理学习的物体的受力分析,将其分为重力、支撑力等,实际世界中都是合力,这样的抽象就是数学上更好的表达处理计算。

    入湖河流

    接着你看到了岸边的水里生长了一些水草,其在水中摇摆,有时还能看到一些气泡从水草从水下冒到水面。有时候能看到在水面上会有一些绿色的水团起起伏伏的飘着,这些看起来像一片水藻。

    远处有人在钓鱼,湖里的鱼还挺大的,这些鱼儿靠水草和浮游植物而生。

    这里就是到湖体内部的动力学过程了,上面说的都是边界条件。首先湖体中会有水流的运动,那么水中的物质会随着水流迁移,物质本身也有扩散,可以认为是物理变化。不同的物质会进行相互的转化,进行化学变化,如硝化反应等;同时,由于湖体中生物存在,如藻类、细菌等,使得也有生物变化,一般无机物质被生物吸收,使得生物生长,同时生物死亡之后会变为有机质,从而完成循环。水中的鱼类、水草、浮游植物形成的食物链也是物质和能量流动的链条,这里都会对物质的量有所影响。


    我们来小结下,我们模型建模需要的表达的过程。

    侧视图

    这里借用环in圈(李博)的一张图,我添加了一些内容。

    1. 天和水的交界(水面的蓝线):是气象要素,其包括气压、气温、相对湿度、降雨、蒸发、辐射、云量,风向和风速的考虑,这些在水质模型中一般称为气象边界条件,其对于模拟非常重要,理论上,必须有所高质量的数据(全部指标、高频率小时)才可以,但是针对不同复杂度的模型,需要的数据有所不同,如模拟河流水质,降雨可能不是那么重要,但是湖泊就极其重要,其降雨提供的水量非常的可观;针对蒸发量大的区域,蒸发就极其重要;模拟藻类,风及辐射和云量数据就必须要数据才能模拟准确。
    2. 水和陆地交界(棕色区):陆地的固壁边界和入流的边界,固壁为水下的陆地和岸线陆地(下图中的俯视图的黑色线),而入流则为图中的管道示意图(俯视图中的蓝色河流线),以及地下水的交互。这里对于模型中来说主要是两部分,固壁边界对于网格(水平固壁方向为网格的外围边界线,垂向固壁为网格的地形);而入流边界则为我们的入流边界条件了。
    3. 水体内部的物理、化学、生物动力学过程。如水中的水草和鱼类,物质和能量的循环,其过程比较复杂,以EFDC的基本富营养化动力学为例,营养物质与水草和藻类的交互作用。上面的两种边界条件相对于模型的驱动力,而这里就是水体内部的动力学机理方程了,这个在模型中一般就是调参的重点了。

    俯视图

    富营养化动力学

    这些过程也就是我们要在模型中表达的这些过程,这节就先热身下,以大家熟悉的事情来跟模型术语串联起来,下节我们就开始正式建模过程了。


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


    页尾

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

    赞赏我

    2019-9-28

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

    参考文献: 1 李博,环in圈. [2] 营养动力学过程图, DSI.

  • 相关阅读:
    Linux磁盘管理
    Linux系统中的计划任务与压缩归档简介------If you shed tears when you miss the sun, you also miss the stars.
    Linux系统之权限管理(所有者,所属组,其他;r,w,x;特殊权限)------If you shed tears when you miss the sun, you also miss the stars.
    linuxx系统中高级命令简介------If you shed tears when you miss the sun, you also miss the stars.
    IE11新特性 -- Internet Explorer 11:请不要再叫我IE
    SQL WHILE 循环中的游标 用例,SQL中实现循环操作
    group_concat函数使用
    Git 初始化配置
    WCF 、Web API 、 WCF REST 和 Web Service 的区别
    js 解析 json
  • 原文地址:https://www.cnblogs.com/comieswater/p/13760326.html
Copyright © 2011-2022 走看看