1. 概述
数据输入输出(I/O)方式直接影响模型计算效率与推广应用便利性。具有对水流过程精细模拟特点的水动 力模型,其数学模型基本方程决定其需要大量的计算条件作为数据输入。当前,许多水动力模型以软件系统模式进行配置与分发,在系统研发中均需要大量的模型数据I/O处理工作。
采用水动力学方法进行水流动态数值计算中,二维水动力模型常用于模拟开放空间的水流过程计算,或需要考虑横向扩散运动水流动态计算 [1]。二维水动力模型计算控制条件复杂,开展计算前需进行繁杂的数据预处理,且需完整的地形条件资料,常与GIS、RS等技术进行有机结合,形成基础空间信息为模型计算服务。黄海等在综合分析欧美国家及国内研发的水动力软件产品进展基础上,认为我国水动力软件产品的研发还处于初期探索阶段,与国外的差距,主要不是在建立模型的方法上,而在于开发软件的系统性、集成性、通用性、界面以及开发工具、平台、数据库等方面,该系列差距严重制约了研究成果向应用的转化和推广 [2]。
英国HR Walling Ford公司提供的市政供水、雨污水、流域管理的专业模型软件解决方案Info Works产品,以及城市防洪系统解决方案Flood Works,支持ACCESS、SQL Server和Oracle数据库,并支持数据以.CSV文件导入/导出数据库,通过关联数据库管理系统,提供了交互式数据图形处理分析,这些数据I/O处理对于模型计算均是基本需求,是模型计算的基础 [3]。
MIKE相关模型从计算维度上划分,分别是基于一维非连续流方程的一维模型、基于二维浅水方程的二维模型和一、二维耦合模型,在模拟过程中主要以文件进行数据交换,包括断面文件、河道位置文件、河道连接文件、水工建筑物位置文件、边界文件、模型参数文件和时间序列文件等 [4]。
HEC是采用Fortran开发的开源代码程序,可编译为执行文件运行,在用户手册中给出了输入数据格式要求,各输入数据均采用输入文件形式,给定扩展名为dat,模型从文件读取所需要的计算输入条件。SWMM是采用C++开发的开源代码程序,可编译为动态链接库或可执行程序,所需计算输入数据由扩展名为inp的文件提供,用户需按照说明组织该文件。
综上分析,国内外模型在计算数据交互处理中,目前仍有较多以数据文件方式进行I/O处理,部分已形成软件系统,采用数据库存储管理。作为模型计算所需的计算参数、边界条件等,目前均以数据库存储管理为主,若在计算过程与数据库进行交换,I/O处理需占用大量计算时间,而采用集中进行前处理的模式,可有效降低模型计算处理总时长,并能保证模型计算引擎的独立性。为此,研究一套可视化、便捷的模型计算与数据库交换接口具有现实意义。
2. 二维水动力模型
2.1. 数学模型
在水动力计算方面,有许多采用Fortran程序研发的模型库和应用,其程序结构清晰,内容完整精炼,可继承性好。同其他程序语言相比,利用Fortran进行开发时,数值计算方面不必采用过多底层开发技术即可达到较高效率,并能在较短时间掌握。继承现有模型库可避免对这些代码进行大量的改写工作,并可进一步自主研制补充完善各计算模块,实现计算优化,避免了大量复杂代码的分析。
本文以基于有限体积法及黎曼近似解的二维水流–水质模型(简称为RSFVMWQ-2D模型)作为二维水动力模型实例,对数据交互进行研究分析。
该模型为水平二维水流–水质数值计算模型,适用于浅水水体的水流及水质模拟,由水平二维水流模型RBFVM-2D扩建而成 [5] [6] [7] [8]。模型应用守恒的二维非恒定流浅水方程组描述水流流动,并用二维对流–扩散方程描述污染物的输运扩散。应用有限体积法及黎曼近似解对耦合方程组进行数值求解,从而模拟出水体的水流过程和相应的污染物输运扩散过程。
在计算处理中,首先根据计算区域的天然地形并考虑已建或拟建水工建筑物及排污口的位置,用无结构网格(或结构网格)使计算区域离散化。然后逐时段用有限体积法对每一单元建立水量、动量和浓度平衡,确保其守恒性,用黎曼近似解计算跨单元的水量、动量和浓度的法向数值通量,保证计算精度。
模型主要特点有,① 模型设有Osher、通量向量分裂(FVS)和通量差分裂(FDS)三种可选择的黎曼近似解 [9];② 模型通过有限体积法的积分离散并利用通量的坐标旋转不变性把二维问题转化为一系列局部的一维问题进行解算;③ 其无结构网格可由四边形、三角形、或两者的混合组成。
2.2. 模型参数及输入资料组成
RSFVMWQ-2D模型计算需要控制参数外,还需作为计算需求的输入资料,包括水流过程资料、污染物资料、地形资料等。RSFVMWQ-2D模型通过数据文件获取计算参数及各输入资料,各变量的输入顺序及格式均需符合模型计算及读取顺序的要求。
基本控制参数有模拟时段总数、给定边界总数、使用单位类型(英制或公制)、打印频率(即计算输出频率,以模拟时段的倍数计)、单元边流量输出、是否模拟水质等。
水流过程线控制参数有,流量过程线、流速过程线、水位过程线、闸门开度过程线、水位~流量关系曲线等共11类,给出了各类过程线的数量。
时间及阈值控制参数有,模拟时段的每时段时长、计算时间步长、干旱单元的水深阈值、湿润单元的水深阈值等。
其他控制参数还有闸门公式和数值格式选择参数,边界条件数据、特定流量输出参数等。
水流过程资料有流量、水位、闸门开度等过程线数据,以及水位流量关系数据、水流计算初始条件的初值数据等。
用于计算污染物扩散水质分布的污染物控制参数及资料有,污染物控制参数、降解速率数据、污染物背景值、污染物边界条件、污染物过程线数据、污染物初值数据。其中,污染物控制参数主要有污染物边界条件的总数、水质模拟计算时步长、污染物扩散系数、污染物浓度过程线、点污染横向混和系数等。
详细参数及输入资料如表1所示。
Table 1. The table of RSFVMWQ-2D’s input parameter and data
表1. RSFVMWQ-2D模型参数及输入资料列表
3. 计算交互数据接口
3.1. 数据文件交互
RSFVMWQ-2D模型与数据文件进行输入输出交互,输入文件包括表1所述的参数及输入资料;输出以二维表形式文本存储,输出内容包括各单元中心坐标、水深、水位、流速、流向、各种污染物(COD, BOD, NH3-N, DO)浓度、水温及盐度等,以及指定单元边的流量。
RSFVMWQ-2D模型以数据文件为接口其优势主要有:
1) 文件内容紧凑,占用空间少,节省计算机资源;
2) 计算模型软件一次性读取数据文件,数据I/O处理效率高;
3) 模型开发人员不必掌握数据库建设、存储管理等其他计算机技术,仅需掌握数据文件处理,以便其集中开展模型研究;
4) 模型迁移便利,仅需对数据文件及模型软件进行迁移。
然而,仅采用数据文件为接口,也存在较多劣势,主要有:
1) 文件内容结构极为复杂,不适合人工重复编辑组织;
2) 雨水情、水质等实时采集数据,目前均以数据库存储,缺少与这些数据库对接方法;
3) 模型计算不能数据随到随处理用于日常应用软件服务。
以上分析可知,RSFVMWQ-2D模型各计算参数及输入资料均以数据文件为接口,且全部参数及大部分资料集总在同一数据文件,对数据内容组织结构、排列顺序、数据类型等严格要求,在用于一次性的研究模拟具有较明显优势,但在以系统开发频繁用于模拟分析时,其前期数据处理工作量对于应用人员将无法承受。
3.2. 数据库存储与交互
为了发挥数据文件接口优势、避免其劣势,满足系统开发与日常应用需求,有必要建立参数及数据资料存储数据库,并开展与数据文件交互接口研究。
1) 参数及输入资料与模型关系分析
模型参数及输入资料采用面向对象模型进行关系表存储设计,模型计算与参数、输入资料之间复用关系可通过图1描述。
图1中,RSFVMWQ-2D模型计算引擎为核心,经装配计算单元地形网格,并对内外边界设置后,形成模型实例。以模型实例为基础,通过进一步装配控制参数、内外边界条件及初始条件,即可开展计算。其中边界设定与边界条件存在对应关系,均为计算单元边的属性。边界条件与初始条件(计算单元初始值)可称为模型计算输入,控制参数称为计算方案。
Figure 1. Schematic diagram of composition relationship between model and input and output data
图1. 模型与输入输出数据组成关系示意图
2) 参数及输入资料存储组织
RSFVMWQ-2D模型计算启动时按顺序读取计算方案及边界条件与初始值,依照模型数据处理过程,对参数及输入资料进行存储组织,相应地建立数据库表57张,统称为模型专用数据库。
在该专用数据库所涉及的对象中可划分为3类,分别是计算单元、模型边界、计算方案。
计算单元相关数据库表有节点信息表、单元信息表、初值信息表等。
模型边界对应的数据库表分别有,边界基本信息表(水流边界8张,水质边界1张)、边界条件过程线信息表(水位流量过程线18张,水质过程线12张)等。
计算方案对应的数据库表有,计算时间及方案布局参数表、过程线选定参数、公式选择参数表,以及污染物降解速率信息表、背景值信息表等。
3) 数据交互处理流程
数据交互处理的目标是将各来源数据及时整理成符合模型计算需要的格式数据,过程线数据主要来源于实时雨水情数据库 [10] 的河道、堰闸、水库等水位、流量数据库表,计算单元、模型边界基本信息、计算方案等均在模型专用数据库存储。
交互处理流程包括实时雨水情数据库至模型专用数据库、模型专用数据库至模型计算控制文件,以及模型计算成果至模型专用数据库等过程,处理方式可采用后台处理,或根据计算方案提交时机进行交互处理。在模型计算单元及模型边界配置基础上,对后台处理时机、处理方式等进行设置,后台处理可采用定时或即时等方式实施。数据库交换处理流程如图2。
Figure 2. The flow chart of model interaction data processing
图2. 模型交互数据处理流程图
4. 软件模块实例
该数据接口处理模块实例采用Java及JavaScript开发,利用标签页对模型计算控制文件进行分类,各分类标签以文本框显示各相关数据项,依据模型实例可设置默认初值。在该软件模块辅助下,按照模型实例计算场景,可快速完成各边界条件数据接口处理模块定制。
前端人机交互界面处理中应用1个tab控件,4个标签条,分别显示控制参数、过程线数据、时间及阈值参数、公式及数据格式参数等内容,标签页中各输入框有对输入数据格式的提示信息,且利用JavaScript实现了初步的数据验证,不符合条件的数据将无法提交,并给出弹窗进行提示。交互界面如图3所述。
后端数据处理采用Java数据库连接(JDBC),Java输入输出流分别与数据库及文件进行交互通信,使用Tomcat作为Java网络服务器,并通过后端Serverlet建立与前端交互通信。
Figure 3. Data interface interactive processing interface
图3. 数据接口交互处理界面
5. 小结
二维水动力RSFVMWQ-2D模型能模拟多种水流及水质状态,包括非恒定流或恒定流、缓变流或急变流、渐变流或间断流、激波,以及非稳态或稳态污染物输移、渐变或突变的污染物分布等,内外边界可计算闸、堰、桥、涵、堤等水工建筑物水流过程,具有广泛的应用方向与应用场景。
模型应用场景决定了数据交互处理工作量,一个具有闸、堰、涵等多种类型复杂边界的应用场景,将大幅度增加数据交互处理工作量。提供一套程序化数据交互处理接口,能较大提高模型计算参数及输入资料的前期处理效率,降低模型参数及数据配置出现错误的风险。
在该研究中,全面梳理了RSFVMWQ-2D模型输入输出文件内容及数据格式,建立了一套模型计算数据库及交换处理的接口程序,在实时雨水情数据库与模型计算控制文件之间实现桥梁互通,为RSFVMWQ-2D模型推广应用提升了便利性。
基金项目
基本科研业务费专项资金项目(Y521019)。