共计 1771 个字符,预计需要花费 5 分钟才能阅读完成。
为什么需要 Calpuff 模型
- 在复杂地形和长距离传输场景下,Calpuff 能精准模拟污染物的时空分布,这是传统高斯模型无法实现的。
- 其烟团分割算法可处理非稳态气象条件,特别适合突发性排放事件的模拟。
- 作为《环境影响评价技术导则》推荐模型,在环评领域具有法定合规性。
模型原理剖析
高斯烟团 vs 点源模型

- 运动方式 :
- 点源模型:假定污染物沿风向直线传播
-
烟团模型:将排放过程离散为多个移动烟团
-
数学表达 :
- 点源模型使用连续方程 $C=\frac{Q}{2\pi u\sigma_y\sigma_z}exp[-\frac{y^2}{2\sigma_y^2}]$
-
烟团模型采用叠加原理 $C_{total}=\sum\frac{2Q\Delta t}{(2\pi)^{3/2}\sigma_x\sigma_y\sigma_z}exp[-\frac{(x-ut)^2}{2\sigma_x^2}-\frac{y^2}{2\sigma_y^2}]$
-
适用场景 :
- 点源模型适用于平坦地形短期预测
- 烟团模型适用于复杂地形长时模拟
核心实现步骤
气象数据预处理
- 风速处理 :
-
使用 10m 高度风速按幂律换算至排放高度
# 幂律公式换算示例 u_z = u_10 * (z/10)**p # p 为地表粗糙度系数 -
稳定度分类 :
- 采用 Pasquill-Gifford 分类法
- 中国地区建议优先使用国标 HJ2.2-2018 的修订分类标准
浓度场计算实战
import numpy as np
def gaussian_plume(Q, u, sigmas, x, y, z=0, H=0):
"""
矢量化的高斯烟团计算
Q: 源强 (g/s)
u: 风速 (m/s)
sigmas: [σx,σy,σz] 扩散参数
x,y,z: 受体点坐标
H: 有效排放高度 (m)
"""
sig_x, sig_y, sig_z = sigmas
# 三维浓度分布计算(避免循环的矢量化实现)C = (Q / (2*np.pi*u*sig_y*sig_z)) * \
np.exp(-0.5*(y/sig_y)**2) * \
(np.exp(-0.5*((z-H)/sig_z)**2) + np.exp(-0.5*((z+H)/sig_z)**2))
return C
# 示例:计算 100x100 网格浓度场
x_grid, y_grid = np.meshgrid(np.linspace(0,1000,100), np.linspace(-500,500,100))
conc_field = gaussian_plume(Q=100, u=3, sigmas=[50,30,20],
x=x_grid, y=y_grid, H=50)
地形数据处理
- 高程归一化 :
- 使用 DEM 数据提取海拔高度
-
按模拟区域最大高差进行 Min-Max 归一化
dem_normalized = (dem - dem.min()) / (dem.max() - dem.min()) -
地形修正系数 :
- 复杂地形需增加地形扰动系数 ξ
- 建议取值 0.3-1.5(根据 HJ2.2-2018 附录 C)
生产环境避坑指南
网格优化策略
- 分辨率选择 :
- 近源区:建议 50-100m 网格
- 远距离:可放宽至 500-1000m
-
计算量公式:$N_{cells} \propto \frac{1}{\Delta x^2}$
-
中国地区参数推荐 :
| 参数 | 北方城市 | 南方城市 | 高原地区 |
|—————|———|———|———|
| 混合层高度 (m) | 800-1200| 600-1000| 1500-2000|
| 粗糙度长度 (m) | 0.5-1.0 | 0.2-0.5 | 0.1-0.3 |
可视化技巧
- 等值线陷阱 :
- 避免直接使用 matplotlib 默认插值
- 推荐步骤:
- 先进行高斯滤波预处理
- 使用 griddata 进行插值
- 设置 levels=np.logspace(-1,2,10) 实现对数刻度
延伸思考
- 在城市冠层效应显著区域,如何修正湍流扩散参数?建议参考《大气边界层物理学》第 4 章给出的城市修正系数。
- 当模拟寒潮天气过程时,边界层参数需要怎样动态调整?可结合 WRF 模式输出数据实现耦合。
- 对比 CFD 微观模拟,Calpuff 在区域尺度(>10km)的计算效率优势可达 2 - 3 个数量级,但如何量化其精度损失?
实践建议
建议初学者先从单点源稳态模拟开始,逐步过渡到多源非稳态场景。注意保存中间计算结果,便于分析各物理过程的贡献度。遇到不收敛情况时,可优先检查风速场的时空连续性。
正文完
