大气污染模型——高斯大气扩散模式单源大气污染扩散模拟1大气扩散模式大气扩散模式是对大气污染物散布过程的模拟。按污染源的几何特征可分为电源、线源、面源扩散模式;按污染源排放特性分有正常工况模式和非正常排放模式;按假设条件不同分有烟流扩散模式和烟团扩散模式;按模式适用范围不同分有短距离扩散模式和中长距离输送模式等。具体操作时应根据当地地形、气候等环境要素以及污染源亲何况正确选取并适当修正,不能盲目照搬。主要的大气扩散模式有:(1)高架电源扩散模式(静风模式、有效源高等)(2)面源扩散模式(虚电源模式、窄烟云模式:在多面源情形下计算效果较好)(3)线源扩散模式(电源求和法、风向与线源平行时扩散模式)2高斯大气扩散模式高斯大气扩散模式属于高架电源的烟羽大气扩散模式,它是计算释入大气中的气载污染物下风向浓度的应用最广的方法。高斯扩散模式所描述的扩散过程主要有以下几种:下垫面平坦、开阔、性质均匀,平均流场平直、稳定,不考虑风场的切变;扩散过程中,污染物本身是被动、保守的,即污染物和空气无相对运动,且扩散过程中污染物无损失、无转化,污染物在地面被反射;扩散在同一温度层集中发生,平均风速1.0m/s;适用范围一般10~20km。在均匀、定常的湍流大气中污染物浓度满足正态分布,但实际大气一般不满足均匀、定常条件,因此高斯模式应用于下垫面均匀平坦、气流稳定的小尺度扩散问题更为有效。3高斯计算公式对于在恒定气象条件(指风向、风速、大气稳定度不随时间而变)下的高架点源的连续排放,在考虑了烟羽在地面的全反射后,下风向任一点的污染物浓度C(x,y,z)可由下式计算:式中:C(x,y,z):下风向某点(x,y,z)处的空气中污染物的浓度(mg/m3);x:下风向距离(m);y:横截风向距离(m);z:距地面的高度(m);Q:气载污染物源强,即释放率(mg/s);:排气筒出口处的平均风速(m/s);、:分别为水平方向和垂直方向扩散参数(m),它是下风向距离x及大气稳定度的函数;He:有效排放高度(m),其中He=H+;H:排气筒距地面的几何高度(m);:烟气抬升高度(m)。FyuQzyxCyzy*)2exp(2),,(22]2)(exp[]2)(exp[2222zzHezHezFuyzHH4高斯扩散方程的求解高斯扩散公式的求解,关键在于确定扩散参数、。1大气稳定度的确定Pasquill根据五类地面风速、三类日间的日射和两类夜间云量把扩散天气分为6类,即强不稳定、不稳定、弱不稳定、中性、较稳定和稳定。分别用英文字母A、B、C、D、E和F表示。在国标“制订地方大气污染排放标准的技术原则和方法”(GB3840-83)与“环境影响评价技术原则”(HJ/T2.1-93)中,建议采用下属修订的帕斯奎尔稳定度分类方法。首先由云量与太阳高度角按表1查出太阳辐射等级数,再由太阳辐射等级数与地面风速按表2查找稳定度等级。yz表1太阳辐射等级数云量太阳辐射等级数总云量/低云量夜间h0=15°15°h0=35°35°h0=65°h065°=4/=4-2-1+1+2+35~7/=4-10+1+2+3=8/=4-100+1+1=5/5~70000+1=8/=800000表2大气稳定度等级地面风速(m/s)太阳辐射等级+3+2+10-1-2=1.9AA~BBDEF2~2.9A~BBCDEF3~4.9BB~CCDDE5~5.9CC~DDDDD=6DDDDDD2高架源回归系数(Py、qy、Pz、qz)确定国际原子能机构(IAEA)根据相关实验数据,推荐了一组适用于大粗糙度(Z0≈1m)和高架源的弥散系数公式,如表3,据此求得相应地扩散参数。表3与排放高度有关的扩散参数(、)yqyyXPzqzzXP释放高度回归系数扩散范围ABCDEF50Py1.5030.8760.6590.6400.8011.294qy0.8330.8230.8070.7840.7540.718Pz0.1510.1270.1650.2150.2640.241qz1.2191.1080.9960.8850.7740.662100Py0.1700.3240.4660.5040.4110.253qy1.2961.0250.8660.8180.8821.057Pz0.0510.0700.1370.2650.4870.717qz1.3171.1510.9850.8180.6520.486180Py0.6710.4150.2320.2080.3450.671qy0.9030.9030.9030.9030.9030.903Pz0.02450.03300.1040.3070.5460.484qz0.5001.3200.9970.7340.5570.500、是下风距离X及大气稳定度的函数,而下风方向的距离X是一变量,它是风速和时间的函数。高架电源烟气扩散是三维扩散过程,x方向上风速较大,以对流扩散为主,y方向和z方向则以弥散扩散为主。本实例编程只是实现了二维扩散模型。即只是实现了xy方向上的扩散模拟。yqyyXPzqzzXP1相关菜单的添加在空间分析主菜单中添加如下图所示菜单项。2大气污染扩散分析窗口的设计设计一个大气污染扩散分析窗口。这些Label的AutoSize属性设置为:FalseBorderStyle属性设置为:Fixed3D一些主要控件的属性设置如下:控件编号控件类型修改的属性NameText1ComboBoxcomboBox_layer字段名:2ComboBoxcomboBox_polluter设置图形参数:3LabelLabel_nameLabel_name4LabelLabel_typeLabel_type5LabelLabel_addressLabel_address6LabelLabel_personLabel_person7NumericUpDownwinddirection8TextBoxwindspeed9TextBoxheight10ComboBoxinterpolateHeight11ButtonbtnOK12ButtonbtnCancel其中大气污染扩散分析窗口的AutoSizeMode属性设置为:GrowAndShrink;MaximizeBox属性设置为:False3菜单与窗口连接的实现双击“单源大气污染”菜单项,在响应的Click事件中添加如下代码:privatevoid单源大气污染ToolStripMenuItem_Click(objectsender,EventArgse){大气污染扩散分析form=new大气污染扩散分析();form.Show();}4高斯大气扩散功能的模拟实现步骤1:重写“大气污染扩散分析”类的构造函数,鉴于在该模型实现过程中多次需要调用主窗口中的函数或控件,所以为构造函数添加参数:主窗口MainForm,同时在单源大气污染ToolStripMenuItem_Click事件中修改代码。大气污染扩散分析form=new大气污染扩散分析();修改为:大气污染扩散分析form=new大气污染扩散分析(this);步骤2:在“大气污染扩散分析”窗口类中对相关参数进行初始化。usingESRI.ArcGIS.Geometry;//相关接口所在的命名空间usingESRI.ArcGIS.Carto;//窗口类中定义的相关全局变量publicDiffusedParameter[]diffusedParameter50;//定义大气扩散参数结构体,该结构体是自己编写的,这里放在初始化函数后publicDiffusedParameter[]diffusedParameter100;publicDiffusedParameter[]diffusedParameter180;constdoublePI=3.1415926;private主窗口parentForm;privateintradius=-1;//辐射等级privateintatmosphereStability=-1;//初始化大气稳定度等级privatedoublePy,Pz,Qy,Qz;//计算中使用的扩散参数privatedoubleQ=500;//气载污染物源强,即释放率(mg/s)IEnvelopeenvelope;public大气污染扩散分析(主窗口MainForm){InitializeComponent();//初始化“风向”、“风速”、“释放高度”、“计算高度”windspeed.Text=5;height.Text=100;interpolateHeight.Text=100;ILayerlyr;IFeatureLayerfeatureLyr;parentForm=MainForm;envelope=newEnvelopeClass();//初始化图层组合框for(inti=0;iMainForm.GetLayerCount();i++)//GetLayerCount()是在主窗口中编写的获取图层数函数。{lyr=MainForm.GetLayer(i);//GetLayer()是在主窗口编写的根据索引获取图层函数try{featureLyr=(IFeatureLayer)lyr;}catch(Exceptione){featureLyr=null;}//当图层为点图层时,即将其对应的图层名添加到comboBox_layer组合框中if(featureLyr!=null&&featureLyr.FeatureClass.ShapeType==esriGeometryType.esriGeometryPoint){this.comboBox_layer.Items.Add(lyr.Name);}}//初始化扩散参数表,此时的0、1、2、3、4、5对应大气稳定度等级A、B、C、D、E、FdiffusedParameter50=newDiffusedParameter[6];diffusedParameter50[0].Py=1.503;diffusedParameter50[0].Qy=0.833;diffusedParameter50[0].Pz=0.151;diffusedParameter50[0].Qz=1.219;diffusedParameter50[1].Py=0.876;diffusedParameter50[1].Qy=0.823;diffusedParameter50[1].Pz=0.127;diffusedParameter50[1].Qz=1.108;diffusedParameter50[2].Py=0.659;diffusedParameter50[2].Qy=0.807;diffusedParameter50[2].Pz=0.165;diffusedParameter50[2].Qz=0.996;diffusedParameter50[3].Py=0.640;diffusedParameter50[3].Qy=0.784;diffusedParameter50[3].Pz=0.215;diffusedParameter50[3].Qz=0.885;diffusedParameter50[4].Py=0.801;diffusedParameter50[4].Qy=0.754;diffusedParameter50[4].Pz=0.264;diffusedParameter50[4].Qz=0.774;diffusedParameter50[5].Py=1.294;diffusedParameter50[5].Qy=0.718;diffuse