摘 要:根据气象资料分析处理业务需求,我单位需对全省各气象台站上传的A文件数据中的各类气象要素进行分析、计算、统计各类观测要素值。文章通过对A文件中的能见度观测值进行编程统计出各个时次的能见度级数、并将所得数据通过grads软件绘制出色斑图供相关业务人员查询、分析。文章通过对能见度概念、观测时次、能见度级数规定等业务需求的详细分析,介绍了能见度级数统计系统的设计流程和实现方法。系统总体采用Visual Basic语言结合批处理脚本完成整个能见度级数统计工作,并根据vb程序统计出的能见度级数数据由grads软件绘制全省能见度色斑图形显示,目前能见度级数色斑图已能正常运行,供相关业务单位查看、分析。该系统的实现也为气象业务的发展起到了一定的促进作用。
关键词:能见度;grads;研究分析
1 地面气象观测能见度的概念
地面气象资料中观测的能见度一般指有效水平能见度,属人工目测项目。有效水平能见度是指四周视野中二分之一以上的范围能看到的目标物的最大水平距离。
白天能见度是指视力正常(对比感阈为0.05)的人,在当时天气条件下,能够从天空背景中看到和辨认的目标物(黑色、大小适度)的最大水平距离,实际上也是气象光学视程。
夜间能见度是指:(1)指假定总体照明增加到正常白天水平,适当大小的黑色目标物能被看到和辨认出的最大水平距离。(2)中等强度的发光体能被看到和识别的最大水平距离。
2 能见度观测时间的规定
国家基准气候站24小时逐时观测。全省4个。
国家基本气象站4次观测,观测时间为:2时、8时、14时、20时。全省23个。
国家一般气象站3次观测,观测时间为:8时、14时、20时。全省82个。
3 能见度级数分级规定
气象资料月统计中能见度分为五个等级,分别为:0.0-0.9千米为5级,1.0-1.9千米是4级,2.0-3.9千米为3级,4.0-9.9千米为2级,≥10.0千米为1级,1级天的能见度为最好,可视距离最远。
4 能见度级数统计方法
4.1 能见度平均级数分为4种:08时能见度平均级数、14时能见度平均级数、20时能见度平均级数、月平均能见度级数。
各时次能见度平均级数计算方法是根据全月某个时次的每个级数的统计次数来计算的。如:某站2008年1月08时3级能见度天气全月出现8次,2级能见度天气全月出现12次,1级能见度天气全月出现11次,计算方法如下:(3*8+2*12+1*11)/(8+12+11)=1.90(保留兩位小数),该值为某站3月8时的能见度平均级数。将全省109站能见度级数描绘成色斑图如图1所示。
通过图1色斑图可以直观的看出2008年3月份08时山西省南部地区能见度平均级数相对偏高。
月能见度平均级数计算方法是根据全月08时、14时、20时三个时次每个级别出现的次数来计算。例如:某站2008年2月5级天全月3个时次共出现2次,3级天出现11次,2级天出现24次,1级天出现56次,计算方法如下:(2*5+11*3+24*2+56*1)/(2+11+24+56)=1.58(保留两位小数),该值为某站1月月能见度平均级数。将全省109个站的级数算出绘制grads图。如图2所示。
4.2 能见度≥10.0千米的月总次数统计,计算方法是根据全月08时、14时、20时三个时次出现的能见度≥10.0千米的次数的总和。例如:某站1月5级天全月3个时次共出现2次,3级天出现11次,2级天出现24次,1级天出现56次,则该站2008年1月1级能见度次数为56次。将全省109站1级天次数算出绘制grads图。如图3所示。
通过图3 grads绘制出的色斑图可以看出山西省中北部1级天出现的次数比较多。中南部能见度为1级天的次数较少,相对污染严重。
5 能见度编程统计的设计与实现
5.1 能见度级数的统计编程设计
能见度级数的统计采用Visual Basic语言编程完成各个时次级数的统计,界面简单直观、便于业务人员操作。操作界面如图所示。
图4 能见度统计程序界面
程序具体实现过程:运行程序打开一个A文件,例如打开A53486-200811.TXT这个文本文件,在这个A文件中包含了各类气象观测要素值,首先找出表示能见度的要素值,这里需要说明的是不同的观测站能见度观测时间有所不同,国家基准站观测数据为24个观测值,全天24小时均有观测数据值,国家基本气象站观测数据为4个观测值,分别是02时、08时、14时、20时四个观测数据值,国家一般站观测数据为3个观测值,分别是08时、14时、20时三个观测值。程序首先对不同的观测站进行不同的编程操作读取相关时次的数据信息,例如在国家基本站的A文件中“VA”字母开头的数据段表示能见度观测值,一个A文件中列出了该站一个月中每日24小时观测要素值。国家基准站的A文件中“V0”字母开头的数据表示能见度观测值,对应的观测数据值为每日四次观测数据,国家一般站的A文件中“VA”字母开头的数据表示能见度观测值,对应的观测数据值为每日三次观测数据。程序首先把能见度观测数据摘出,再根据能见度级数计算要求把相应时次观测数据进行公式计算求出相应的能见度级数数据值。
5.2 能见度级数grads图形实现
根据vb程序得出的能见度级数数据值进行编制grads图形的绘制程序。
在山西省地图上根据全省各观测台站站点的经纬度进行对各台站位置的定位,运行grads软件,根据程序计算出的能见度观测数据值对相应站点进行颜色的填充。
具体实现过程:中心服务器172.18.72.39下安装了grads绘图软件,服务器文件目录中定时存放了各台站相应时次数据信息,转化grads图形程序是在Ms-Dos下编制的批处理文件,例如在grads软件中绘制全省每月平均能见度模块批处理程序代码如下:
#-----选取文件名---
copy d:\report\年月日.txt d:\sxgrads\data\rain.ch
#-----设置标题-----
echo 'set string 1 c 5 360' >d:\sxgrads\data\title.dat
echo 'draw string 4.0 10.0 %5-%4-%1, Average Visibility per Month' >>d:\sxgrads\data\title.dat
#-----设置颜色-----
echo 'set ccols 0 9 14 4 11 5 13 3 10 7 12 8 2 6' >d:\sxgrads\data\yanse.dat
#-----输出图象的路径-----
echo 'printim d:/report/gif/vv%5%4%1.gif x600 y800 white ' >d:\sxgrads\data\show.dat
#-----设置色标等值线的间隔-----
echo 'set clevs 1 1.03 1.06 1.09 1.12 1.2 1.3 1.4 1.6 1.8 2 ' >d:\sxgrads\data\jiange.dat
#-----進入GRADS-----
d:\sxgrads\change\tograds d:\sxgrads\data\rain.ch d:\sxgrads\data\rain.dat
c:\pcgrads\win32\stnmap -i d:\sxgrads\ctl\rain.ctl
c:
cd \program files
cd xmanager1.3.9
xmanager.exe
exit
以上程序是在山西省地图底图上设置标题、设置每一段等值线间隔分别选用什么颜色、输出图形路径。
根据数据转化grads图形文件,转化grads图形程序在服务器D:\sxgrads\bat\能见度运行.bat。例如:要得出2013年每月08时月能见度级数,需编辑能见度运行.bat 程序中的时间参数:for % % i in (01 02 03 04 05 06 07 08 09 10 11 12)do V2.bat 2013 % %i 08,此段参数表示循环2013年1-12月每日08时的能见度级数数据,% % i参数表示月份。最终grads图形效果如图1-图3显示。
目前该程序运行正常,数据输出结果为资料分析处理人员提供了直观的图形参考依据,随着资料处理技术的逐步发展,系统也将随着气象业务的需要逐步完善改进。
参考文献
[1]中国气象局.地面气象观测规范[M].北京:气象出版社,2003.
[2]中国气象局监测网络司.地面气象电码手册[M].北京:气象出版社,1999.
作者简介:樊玮(1981-),女,山西太原人,工程师,电子科技大学,理学硕士。