任务
2022/12/31
根据如下设计暴雨强度公式,编写芝加哥雨型生成器,用于各相关部门在科学规划、设计、新建改造和管理排水防涝设施上使用。
i = A ( 1 + c ∗ l g T m ) ( t + b ) n i=\frac{A(1+c*lgT_m)}{(t+b)^{n}} i=(t+b)nA(1+c∗lgTm)
式中: i i i为降雨强度(mm/min), q q q为设计暴雨强度[L/(s ⋅ \cdot ⋅hm^2)], q = 166.7 ∗ i q = 166.7 * i q=166.7∗i, t t t为降雨历时(min), T m T_m Tm为重现期(年), A , c , b , n A,c,b,n A,c,b,n为暴雨强度公式参数。
本地文档:E:\Projects\names\xls\芝加哥雨型生成器
欢迎关注,点赞,评论,一键三连!😃
源代码
完整程序及示例请点击➡️此处⬅️下载
以下仅展示主函数和输入输出示例。
作者创作不易,感谢支持!😃😃😃
作者简介
很高兴认识您!
我叫卢家波,河海大学水文学及水资源博士研究生,研究兴趣为高效洪水淹没预测、洪水灾害预警、机器学习、替代模型和降阶模型。
变化环境下,极端洪水事件多发,我希望能通过研究为水灾害防御做出贡献,为人民服务。
欢迎交流讨论和研究合作,vx Jiabo_Lu。
主页 https://lujiabo98.github.io
简历 https://lujiabo98.github.io/file/CV_JiaboLu_zh.pdf
博客 https://blog.csdn.net/weixin_43012724?type=blog
来信请说明博客标题及链接,谢谢。
// 芝加哥雨型过程线.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
// 2023/1/1
// 作者:卢家波
// vx:Jiabo_Lu
// 请按以下格式引用:
// 芝加哥雨型生成器,CSDN,2023年3月13日,https://blog.csdn.net/weixin_43012724/article/details/129505354。
// 本软件不得用于商业用途,仅做学习交流。
// 参考资料:
// [1]关于发布南通市暴雨强度公式及设计暴雨雨型的通知. http://szyl.nantong.gov.cn/ntsjsj/gggs/content/0611ca09-5074-4dfd-ad7e-65dc1a50edc0.html
// [2]芝加哥雨型过程线公式. https://www.vivifree.com/rain-model-chicago-formula.html
// [3]芝加哥雨型生成器 Ver2.09. https://www.vivifree.com/rain-model-chicago.html
// [4]深圳市新版暴雨强度总、分公式. http://weather.sz.gov.cn/qixiangfuwu/qihoufuwu/qihouguanceyupinggu/baoyuqiangdugongshi/mindex.html
#include <iostream>
#include "ChicagoRainstormPattern.h"
int main()
{
ChicagoRainstormPattern Pattern;
//Pattern.setParameter(9.972, 1.004, 12.000, 0.657, 0.430, 120, 1.0, 2);
//Pattern.setParameter(9.5981, 0.846, 7.000, 0.656, 0.4, 120, 1.0, 2); //直接设置参数
Pattern.readParameter(); //从文件中读取参数
Pattern.generate();
Pattern.display();
Pattern.save();
}
程序说明
程序设计了类ChicagoRainstormPattern
,用于生成芝加哥雨型过程线。
程序可以选择从文本或程序中读取暴雨公式参数,对应的函数分别为readParameter()
和setParameter
;
readParameter()
:从Parameter.txt
读取暴雨公式参数,默认为程序当前文件夹,可在函数形参中添加路径;
setParameter
:设置暴雨公式参数;
generate()
:生成芝加哥雨型过程线的函数,包括4个步骤:
- 计算时间序列、峰前时间和峰后时间
- 采用K.C法计算设计暴雨雨型的峰前瞬时雨强
- 采用K.C法计算设计暴雨雨型的峰后瞬时雨强
- 计算降雨总量、平均雨强等统计值
display()
:输出结果到控制台;
save()
:输出结果到文本results.txt
,默认为程序当前文件夹,可在函数形参中添加路径。
使用方法
方法1:通过文本交互
- 修改文本
.\芝加哥雨型生成器\芝加哥雨型过程线\x64\Release\Parameter.txt
中的暴雨公式参数 - 运行程序
.\芝加哥雨型生成器\芝加哥雨型过程线\x64\Release\芝加哥雨型过程线.exe
- 从文本
.\芝加哥雨型生成器\芝加哥雨型过程线\x64\Release\results.txt
查看雨型生成结果
方法2:通过程序交互
- 使用Visual Studio 2022打开
.\芝加哥雨型生成器\芝加哥雨型过程线\芝加哥雨型过程线.sln
,修改setParameter()
函数中的暴雨公式参数 - 运行本地Windows调试器
- 从控制台查看雨型生成结果
Parameter.txt
暴雨强度公式参数 A 9.5981
暴雨强度公式参数 c 0.846
暴雨强度公式参数 b 7.000
暴雨强度公式参数 n 0.656
雨峰位置系数,[0,1] r 0.4
降雨历时,min t 120
计算步长,min dt 1.0
设计重现期,年 TM 2
results.txt
重现期 TM = 2年
降雨历时 t = 120min
峰值比例 r = 0.4
降雨总量 H = 60.6345mm
平均雨强 iAverage = 0.501903mm/min
时间min 降雨强度mm/min 降雨总量mm
0 0.190802 0.190802
1 0.193676 0.384479
2 0.19666 0.581139
3 0.199761 0.780899
4 0.202986 0.983885
5 0.206342 1.19023
6 0.20984 1.40007
7 0.213489 1.61356
8 0.217298 1.83085
9 0.22128 2.05213
10 0.225447 2.27758
11 0.229814 2.5074
12 0.234395 2.74179
13 0.239207 2.981
14 0.24427 3.22527
15 0.249605 3.47487
16 0.255236 3.73011
17 0.261189 3.9913
18 0.267494 4.25879
19 0.274184 4.53298
20 0.281299 4.81427
21 0.288881 5.10316
22 0.296981 5.40014
23 0.305656 5.70579
24 0.314973 6.02077
25 0.325009 6.34577
26 0.335853 6.68163
27 0.347613 7.02924
28 0.360414 7.38966
29 0.374407 7.76406
30 0.389771 8.15383
31 0.406729 8.56056
32 0.425548 8.98611
33 0.446564 9.43267
34 0.470199 9.90287
35 0.496986 10.3999
36 0.52762 10.9275
37 0.563011 11.4905
38 0.604382 12.0949
39 0.653413 12.7483
40 0.71247 13.4608
41 0.784996 14.2457
42 0.876187 15.1219
43 0.994252 16.1162
44 1.1529 17.2691
45 1.37675 18.6458
46 1.71438 20.3602
47 2.27524 22.6355
48 3.35994 25.9954
49 2.55223 28.5476
50 2.0517 30.5993
51 1.71438 32.3137
52 1.47309 33.7868
53 1.29262 35.0794
54 1.1529 36.2323
55 1.04171 37.274
56 0.951219 38.2253
57 0.876187 39.1014
58 0.812992 39.9144
59 0.759049 40.6735
60 0.71247 41.3859
61 0.671841 42.0578
62 0.636089 42.6939
63 0.604382 43.2983
64 0.576065 43.8743
65 0.550617 44.4249
66 0.52762 44.9526
67 0.50673 45.4593
68 0.487668 45.947
69 0.470199 46.4172
70 0.454128 46.8713
71 0.439291 47.3106
72 0.425548 47.7361
73 0.41278 48.1489
74 0.400884 48.5498
75 0.389771 48.9396
76 0.379366 49.3189
77 0.3696 49.6885
78 0.360414 50.0489
79 0.351758 50.4007
80 0.343584 50.7443
81 0.335853 51.0801
82 0.328529 51.4087
83 0.321578 51.7302
84 0.314973 52.0452
85 0.308687 52.3539
86 0.302697 52.6566
87 0.296981 52.9536
88 0.291521 53.2451
89 0.286299 53.5314
90 0.281299 53.8127
91 0.276506 54.0892
92 0.271909 54.3611
93 0.267494 54.6286
94 0.26325 54.8919
95 0.259167 55.151
96 0.255236 55.4063
97 0.251448 55.6577
98 0.247796 55.9055
99 0.24427 56.1498
100 0.240866 56.3906
101 0.237576 56.6282
102 0.234395 56.8626
103 0.231316 57.0939
104 0.228335 57.3223
105 0.225447 57.5477
106 0.222648 57.7704
107 0.219933 57.9903
108 0.217298 58.2076
109 0.21474 58.4223
110 0.212255 58.6346
111 0.20984 58.8444
112 0.207492 59.0519
113 0.205208 59.2571
114 0.202986 59.4601
115 0.200822 59.6609
116 0.198714 59.8596
117 0.19666 60.0563
118 0.194658 60.251
119 0.192706 60.4437
120 0.190802 60.6345
运行结果
参考文献
[1]关于发布南通市暴雨强度公式及设计暴雨雨型的通知.
[2]芝加哥雨型过程线公式.
[3]芝加哥雨型生成器 Ver2.09.
[4]深圳市新版暴雨强度总、分公式.