热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

关于SWAT模型的一些原理(一)

目录写在前面SWAT标题模型简介模型特点开发历史SWRRBROTO模型的概念性和物理性概念性物理性集合体的概念SWAT主要过程模拟大气水过程降雨降雪的分离,决定于当日


目录

  • 写在前面
  • SWAT标题模型简介
    • 模型特点
    • 开发历史
      • SWRRB
      • ROTO
    • 模型的概念性和物理性
      • 概念性
      • 物理性
      • 集合体的概念
  • SWAT主要过程模拟
    • 大气水过程
      • 降雨降雪的分离,决定于当日平均气温
      • 冠层截留过程(仅Green-Ampt时使用)
      • 积雪/融雪/升华过程
      • 气象发生器
    • 土壤水过程
      • 入渗计算
      • 土壤蒸发量计算
      • 壤中流计算
      • 深层渗漏计算
      • 特殊土壤
  • 后续内容


写在前面

本次内容是根据学习资料写的,如有侵权请联系我~~~


SWAT标题模型简介

开发者


Dr. Jeff Arnold for the USDA Agricultural Research Service (ARS)-美国农业部农业研究局开发


应用方向


评价土地利用管理等人类活动对流域水循环、泥沙、农业污染物质迁移的长期影响和作用的一种水文模型



模型特点

1、属于物理-概念结合的模型,具有很强的物理基础,能够考虑天气、土壤性质、地形、植被、人类土地管理的综合作用,同时能够灵活处理各种复杂条件;

2、适合于长时间尺度的水文循环和物质循环研究,而非短时期水文预报;

3、适合于宏观尺度的模拟;

4、不仅模拟水循环过程,还能以水循环为载体,研究水土流失、营养物质输移、农药、病原菌等物质循环过程;

5、能够灵活处理资料缺失问题。具有强大的模型数据库,除地形和土地利用等少量基本数据资料外,很多参数,如作物相关参数、土壤参数、河道参数等可直接选用备用数据;

6、分布式计算,先将流域分成水文响应单元,单独研究每个水文响应单元的内部循环,再通过子流域和河网将各个响应单元进行有机连接。计算效率很高。


开发历史

前身


SWRRB model
(Simulator for Water Resources in Rural Basins)
(Williams et al., 1985; Arnold et al., 1990)


同时综合其他美国农业部的三个模型成果


①CREAMS2
(Chemicals, Runoff, and Erosion from Agricultural Management Systems)
(Knisel, 1980);
②GLEAMS3
(Groundwater Loading Effects on Agricultural Management Systems)
(Leonard et al., 1987)
③EPIC4
(Erosion-Productivity Impact Calculator)
(Williams et al., 1984).


两个对SWAT有重要构建基础的模型


SWRRB(Simulator for Water Resources in Rural Basins)
ROTO (Routing Outputs to Outlet)



SWRRB

初始时直接源于CREAMS模型的修正,扩展以下功能:


  1. 多个子流域同时演算;
  2. 地下水基流计算;
  3. 水库蓄滞计算;
  4. 气象模拟与插值;
  5. 提高洪峰模拟精度;
  6. EPIC植物生长模型;
  7. 简单的洪水演算模块;
  8. 流域产沙及运移;
  9. 考虑地表径流传输损失

80年代末,又针对污染物运移模拟进行了增强,包括:


1、借鉴GLEAMS模型的农药循环;
2、增加SCS曲线法模拟产流过程;
3、更新产沙计算公式;


SWRRB的主要问题:


1、SWRRB最多只能模拟10个子流域,适合于几百平方公里面积的模拟,如面积太大(几千平方公里以上)会影响模拟精度;
2、各子流域的产出直接输出到流域出口,无河道循环过程



ROTO

ROTO初始开发时的目的是把多个SWRRB的输出连接起来,并进行河道循环演算。
初始应用于80年代末期美国亚利桑那州和新墨西哥州水水库库管理对下游影响评估研究。


SWAT = SWRRB + ROTO


SWAT模型模拟结构


模型的概念性和物理性


概念性

1、模拟结构的概念性
全流域/区域----子流域----水文响应单元,松散耦合
物理模型:网格、地形单元等,强耦合

2、模拟方法的概念性
降雨/灌溉入渗:SCS、Green-Ampt
土壤水模拟:概念性的分层下渗模型,田间持水度
地下水:均衡模式,不考虑侧向径流
地表水:河槽蓄量法、马斯京根法
物理模型:Richard方程、运动波/动力波方程、地下水动力学方程


物理性

水循环各过程刻画比较全面和贴合实际,几乎所有的实际物理水文过程均有模型计算过程对应


集合体的概念

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


SWAT主要过程模拟

水循环过程原理


1、大气水过程
2、土壤水过程
3、地下水过程
4、地表水过程
5、植物生长过程
6、土地与水分管理


物质循环过程原理


7、泥沙过程
8、营养物迁移过程
9、农药迁移
10、重金属迁移
11、病原菌迁移



大气水过程


大气水主要过程
1、降雨、降雪
2、冠层截留过程
3、积雪/融雪/升华



降雨降雪的分离,决定于当日平均气温

日平均气温大于等于降雪基温,则降雨,否则降雪。


冠层截留过程(仅Green-Ampt时使用)

①先计算截留能力
在这里插入图片描述


当天的截留能力=最大截留能力✖当前叶面积指数/最大叶面积指数


②再根据截留能力计算冠层截留量和到达地面的雨量
在这里插入图片描述


a)降雨量小于当天截留能力与前天截留量之差时
当天截留量=前天截留量+降雨量,并且到达地面的雨量为0
b)降雨量大于当天节流能力与前天截留量之差时
当天截留量=当天截留能力,并且到达地面的雨量=降雨量-(当天的截留能力-前天截留量)


③计算冠层截留蒸发
a、潜在腾发量小于植被截留量
在这里插入图片描述


当天的实际蒸腾量=冠层截留蒸发量=参考作物腾发量
当天结束时的截留量=当天初始时的截留量-冠层截留蒸发量


b、潜在腾发量大于植被截留量
在这里插入图片描述

参考作物腾发量计算
①PENMAN-MONTEITH 公式,5项气象数据需齐备
在这里插入图片描述


SWAT中参考作物滕发量为40cm高,最小叶面阻抗为100(S m-1)
的紫花苜蓿在供水充足条件下的腾发量


②PRIESTLEY-TAYLOR 公式,不需要风速数据
在这里插入图片描述
③HARGREAVES 公式,仅要最高、最低气温数据
在这里插入图片描述


SWAT关于蒸发的计算顺序
Ⅰ、参考作物腾发
Ⅱ、冠层截留蒸发
Ⅲ、积雪升华
Ⅳ、土壤蒸发、作物蒸腾



积雪/融雪/升华过程

①积雪方程(水量平衡法)
在这里插入图片描述


当天的积雪量=前天的积雪量+当天的降雪量-当天的积雪升华量-当天的融雪量


②融雪方程(度-日因子法):
在这里插入图片描述


前天的融雪量=融雪因子✖积雪覆盖度✖(积雪温度与日最高温度的均值-融雪基温)


③积雪升华
当天积雪量大于潜在积雪升华量
在这里插入图片描述


当天的潜在积雪升华量=参考作物蒸腾量(扣除植被截留蒸发)✖地表覆盖指数


在这里插入图片描述


当天的实际积雪升华量=当天的潜在积雪升华量


当天积雪量小于潜在积雪升华量

在这里插入图片描述


根据植被蒸腾调整潜在积雪升华量


在这里插入图片描述


当天的实际积雪升华量=当天的积雪量



气象发生器

根据长测站气象数据的统计规律按照某种随机模拟方法产生日气象数据的计算模块,六大气象要素:降雨、最高气温、最低气温、日平均相对湿度、日辐射、日平均风速都能随机生成


作用
1、实际日序列气象数据有缺失时气象发生器可填补之
2、气象资料缺乏时可用气象发生器模拟的气象数据替代
3、用于情景方案计算时的气象模拟预测
4、降雨过程的日内分布预测,用于Green-Ampt法计算产流-入渗



局限
必须提供气象站气象数据的统计特征值


单个气象发生器为1个长测气象站,需给出的信息包括:


站点位置
经/纬度,高程



站点气象数据统计特征值:
1)月最大半小时降雨的统计年数。1个数据
2)多年平均每月的日最高气温。12个数据
3)多年平均每月的日最低气温。12个数据
4)多年每月的日最高气温的标准方差。12个数据
5)多年每月的日最低气温的标准方差。12个数据
6)多年平均每月的降雨量。12个数据
7)多年平均每月的日降雨量的标准方差。12个数据
8)多年平均每月的日降雨量的偏差系数。12个数据
9)每月单日降雨之后第二天放晴的概率。12个数据
10)每月单日降雨之后第二天继续降雨的概率。12个数据
11)多年平均每月的降雨天数。12个数据
12)史上每月的最大半小时降雨量,12个数据
13)多年平均每月的日平均辐射。12个数据
14)多年平均每月的露点温度。12个数据
15)多年平均每月的日风速。12个数据


1个气象发生器共需给出172个数据信息


土壤水过程


土壤水主过程
1、入渗过程
2、土表蒸发过程
3、植被蒸腾过程
4、壤中流过程
5、深层渗漏过程
6、灌溉过程


土壤水量平衡:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


入渗计算

两种方法可选,SCS曲线法及Green-Ampt方法


作用:将降雨分为入渗和地表产流两部分


①SCS曲线法计算产流-入渗(日尺度)
在这里插入图片描述
入渗量等于降雨量减产流量
在这里插入图片描述
②Green-Ampt法计算产流-入渗(日内尺度,半小时或小时)
需要迭代计算
在这里插入图片描述
在这里插入图片描述


土壤蒸发量计算

①先算土壤潜在蒸发
在这里插入图片描述


当天的潜在土壤蒸发量=参考作物蒸腾量(扣除植被截留蒸发)✖地表覆盖指数


②再对各土层进行潜在蒸发分配
在这里插入图片描述
③最后根据各层土壤含水率情况计算实际蒸发
在这里插入图片描述


植物可利用水量
为田间持水度时土壤含水量与凋萎含水量之间的差值



壤中流计算

用类似于运动波的方法计算
在这里插入图片描述


深层渗漏计算

上层重力水向下层的渗漏用一种储量方法计算
在这里插入图片描述


特殊土壤

变性土的裂隙流现象
1)主要用来刻画有裂隙存在时土壤的入渗量会加大;
2)SWAT计算每层土壤的裂隙体积,裂隙随含水率动态变化;
3)地表产流时,只有超过土壤总裂隙体积的水量才能流走;
4)进入裂隙的水量先填充最底层的土壤的裂隙


后续内容

后续内容会继续更新


推荐阅读
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • 实现一个通讯录系统,可添加、删除、修改、查找、显示、清空、排序通讯录信息
    本文介绍了如何实现一个通讯录系统,该系统可以实现添加、删除、修改、查找、显示、清空、排序通讯录信息的功能。通过定义结构体LINK和PEOPLE来存储通讯录信息,使用相关函数来实现各项功能。详细介绍了每个功能的实现方法。 ... [详细]
  • 本文介绍了OpenStack的逻辑概念以及其构成简介,包括了软件开源项目、基础设施资源管理平台、三大核心组件等内容。同时还介绍了Horizon(UI模块)等相关信息。 ... [详细]
  • OpenMap教程4 – 图层概述
    本文介绍了OpenMap教程4中关于地图图层的内容,包括将ShapeLayer添加到MapBean中的方法,OpenMap支持的图层类型以及使用BufferedLayer创建图像的MapBean。此外,还介绍了Layer背景标志的作用和OMGraphicHandlerLayer的基础层类。 ... [详细]
  • 本文讨论了在使用Git进行版本控制时,如何提供类似CVS中自动增加版本号的功能。作者介绍了Git中的其他版本表示方式,如git describe命令,并提供了使用这些表示方式来确定文件更新情况的示例。此外,文章还介绍了启用$Id:$功能的方法,并讨论了一些开发者在使用Git时的需求和使用场景。 ... [详细]
  • 阿里Treebased Deep Match(TDM) 学习笔记及技术发展回顾
    本文介绍了阿里Treebased Deep Match(TDM)的学习笔记,同时回顾了工业界技术发展的几代演进。从基于统计的启发式规则方法到基于内积模型的向量检索方法,再到引入复杂深度学习模型的下一代匹配技术。文章详细解释了基于统计的启发式规则方法和基于内积模型的向量检索方法的原理和应用,并介绍了TDM的背景和优势。最后,文章提到了向量距离和基于向量聚类的索引结构对于加速匹配效率的作用。本文对于理解TDM的学习过程和了解匹配技术的发展具有重要意义。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • PHP设置MySQL字符集的方法及使用mysqli_set_charset函数
    本文介绍了PHP设置MySQL字符集的方法,详细介绍了使用mysqli_set_charset函数来规定与数据库服务器进行数据传送时要使用的字符集。通过示例代码演示了如何设置默认客户端字符集。 ... [详细]
  • C语言注释工具及快捷键,删除C语言注释工具的实现思路
    本文介绍了C语言中注释的两种方式以及注释的作用,提供了删除C语言注释的工具实现思路,并分享了C语言中注释的快捷键操作方法。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • Tomcat/Jetty为何选择扩展线程池而不是使用JDK原生线程池?
    本文探讨了Tomcat和Jetty选择扩展线程池而不是使用JDK原生线程池的原因。通过比较IO密集型任务和CPU密集型任务的特点,解释了为何Tomcat和Jetty需要扩展线程池来提高并发度和任务处理速度。同时,介绍了JDK原生线程池的工作流程。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • 本文介绍了Foundation框架中一些常用的结构体和类,包括表示范围作用的NSRange结构体的创建方式,处理几何图形的数据类型NSPoint和NSSize,以及由点和大小复合而成的矩形数据类型NSRect。同时还介绍了创建这些数据类型的方法,以及字符串类NSString的使用方法。 ... [详细]
  • 广度优先遍历(BFS)算法的概述、代码实现和应用
    本文介绍了广度优先遍历(BFS)算法的概述、邻接矩阵和邻接表的代码实现,并讨论了BFS在求解最短路径或最短步数问题上的应用。以LeetCode中的934.最短的桥为例,详细阐述了BFS的具体思路和代码实现。最后,推荐了一些相关的BFS算法题目供大家练习。 ... [详细]
author-avatar
天秤小果冻cici
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有