黄春莎,岑瀚,岑俏霖,李建,张勇,吴琪,赵建吉
1.广西百色市右江区气象局;2.百色市气象局
随着气象自动观测技术的进步和发展,气象自动站仪器的运行也越来越稳定和可靠,但仍不能完全避免仪器故障的发生,特别是雨量传感器故障导致长期无雨量或雨量偏大的异常情况,极大影响了气象服务的准确性,甚至对政府的决策工作造成影响。目前仍没有有效的技术手段进行快速判别,因此,有必要对极端雨量异常性的甄别进行研究。
由于降雨过程具有区域性特点,当站点四周都降雨,该站点降雨的概率就比较高,当站点出现大暴雨及以上级别的雨量时,其四周站点也会出现一定的降雨规律。本文分别选取站点东西南北四个方位和距离最近的站点作为参考站点,通过和参考点进行比较,可以实现对极端雨量的异常性进行初步判别(极端雨量指无雨或大暴雨及以上)。此外,对达到大暴雨及以上级别的站点还要进行阈值分析。同时,对异常性进行分级,级数越大,数据异常的几率就越大。
(1)当4个参考站点均有雨量时,可判定为一级异常。(2)当站点四周的雨量越大,站点数据异常的几率就越大。选取4个参考站点中最小的雨量,与事先设定的二级或三级异常雨量参考值(三级参考值比二级参考值大)进行比较,从而进一步判定异常级数。
1.大暴雨样本分析
选取样本为2010年至2020年百色市右江区34个站点日雨量达到大暴雨及以上级别的站点,条件为其四个参考站点数据正常。经过筛选,共有84个样本满足条件。经过样本分析,得出两点结论:
(1)最大日雨量为218毫米;
(2)在84个样本中,4个参考点全部有雨的样本80个,其余4个样本有3个参考点有雨。
2.大暴雨异常性甄别
(1)将218毫米作为日雨量阈值,当雨量大于或等于218毫米时,判定为一级异常。
(2)将150毫米作为小时雨强阈值,查询当天最大小时雨强,当雨强大于或等于150毫米时,判定为一级异常。
(3)当降雨参考站点数量小于3个时,判定为一级异常。
(4)以上3个异常要素累加作为判定异常级数。
本文以C#编程语言为例,对甄别工具编程作简单介绍。
参考站点库的建立和读取如下:
(1)SQLite数据库介绍
SQLite是一个进程内的库,一个完整的 SQLite 数据库是存储在一个单一的跨平台的磁盘文件内,不需要配置、安装或管理,可以通过SQLite Expert等工具进行数据库和表的建立。
(2)建立参考站点数据表
使用SQLite Expert为辖区内所有站点建立参考站点数据表,数据表有两列,分别为站点站号和参考站点,参考站点列包含4个参考站点站号的字符串,站号间用逗号分隔。
(3)通过站号读取相应的参考站点信息
SQLiteConnection cnn = new SQLiteConnection();
//创建SQLite数据库对象cnn.string sqlite_f = Environment.CurrentDirectory + @"db参考站点.db"; //获取文件路径cnn.ConnectionString = @"Data Source=" +sqlite_f + ;Pooling=true;FailIfMissin g=false";cnn.Open();
//打开数据库cnn.SQLiteCommand cmd = new SQLiteCommand();cmd.Connection = cnn;string selectStr ="SELECT * FROM station_info where 站号=""+zh+""";
//读取站号为zh的记录cmd.Comm and Text=selectStr;SQLiteDataReader reader=cmd.ExecuteReader();reader.Read();string str_ckd = reader[1].ToString();
//获取参考站点字符串reader.Close();cnn.Close();char[] separator= { ',' };string[] ckzhs;
//定义参考站号数组ckzhs = str_ckd.Split(separator);
//将参考站点站号解析到数组ckzhs.
(4)通过站号统计特定时段内的总小时雨量
全国综合气象信息共享平台(CIMISS)是气象部门目前主要气象数据共享平台,通过调用CIMISS提供的数据接口,轻松获取所需的气象资料。
DataQueryClient client = new DataQueryClient();string interfaceId= "statSurfEleByStaID";
//使用通过站号进行统计的接 口 Dictionary<string, string>param = new Dictionary<string,string>();param.Add("dataCode","SURF_CHN_MUL_HOR");
//资料代码为地面小时数据param.Add("elements", "Station_Id_C");
//检索站号要素param.Add("statEles", "SUM_PRE_1h");
//统计要素为小时雨量param.Add("timeRange", "[" +time_start+","+time_end+"]");
//配置时间段param.Add("staIds",zh);//zh 要检索的站号StringBuilder retStr = new StringBuilder();
//初始化接口服务连接资源client.initResources();
//调用接口int rst = client.callAPI_to_serializedStr(userId,pwd, interfaceId, param,dataFormat,retStr);
//将雨量统计等要素存入retStr.
(5)编程流程
访问SQLite数据库,读取站点对应的参考站点站号清单,根据站号,使用statSurfEleByStaID等接口,分别获取CIMISS平台上站点及其参考点的雨量;根据甄别流程,对极端雨量异常性进行甄别。
2021年2月8日08时,利用工具对雨量进行异常性甄别,显示右江汪甸六核站点无雨异常,异常等级为2级,其周边四个参考点均有雨量,且雨量均大于5毫米。为进一步证实雨量异常,及时向站点所在地气象信息员了解有无下雨,对方反馈8日凌晨当地下了很大的雨。当日,维修工作人员实地检查,发现雨量筒堵塞、干簧管损坏。维修后雨量接收恢复正常,保证了雨量数据的准确可靠,提高了区域站数据的可用性。
雨量异常性的最终确定需要人工带设备到现场进行检查和校准。极端雨异常性甄别工具,并不是要取代人工检查和校准,而是快速对极端雨量的异常性进行初步判别,在提供气象服务时,尽可能减少极端异常雨量数据给防灾减灾决策工作造成的不利影响,同时提醒业务员对极端雨量的异常性作进一步检查,使真正有故障的设备得到及时处理,保证数据准确可靠,对提高区域站数据可用性有重要意义。
相关链接
从气象学上的角度来讲,所谓雨量,就是在一定时段内,降落到水平面上(无渗漏、蒸发、流失等)的雨水深度。用雨量计测定。以毫米为单位。气象台站在有降水的情况下,每隔6小时测量一次。据计算,一毫米雨量等于一亩田增加667千克水,即相当于浇了13担水。雨量是以雨量计来计算,以在平面收集到的雨水深度表示,准确程度至0.25毫米或0.01寸。有时亦会以升每平方米 (1 L m-2 = 1 mm)表示。在气象统计名词上,雨量又可称为降雨量,即一定时间内之降水累积量,其中,若降水量若小於0.1公厘视为雨迹。
某一给定时段内某一地区的降水量分布图,可分年、季、月、旬、日或特定时段的雨量图。天气分析中所用的时段较短,如24小时雨量图,用以观察与降水有关的天气系统的移动与发展变化。长期天气预报和气候分析中所用的时段则较长,如年、季、月或更长时段的雨量图,以观察长期天气变化和气候变化。在农业气象工作中,主要用某些作物某些生长发育阶段的雨量图。
我国年降雨量最少的地方,大都出现在西部的新疆维吾尔自治区和青海省。其中新疆的吐鲁番盆地、塔里木盆地和青海省的柴达木盆地等,是我国气候最干燥的地区,年雨量一般在25毫米以下。例如塔里木盆地南缘的且末,年雨量为18.6毫米;若羌为17.4毫米;吐鲁番16.4毫米;塔里木盆地中的冷湖17.6毫米。新疆天山东端靠近中蒙边境的伊吾淖毛湖(海拔498.3米),年平均雨量最少,只有12.0毫米。但这还不是我国气象站中雨量最少的地方,最少的地方在吐鲁番盆地西侧的托克逊(海拔不到1米),年雨量平均只有6.9毫米。据报道,在吐鲁番盆地南部寸草不生的却勒塔格荒漠等地区,有些年份甚至终年滴雨不降。
我国台湾省北端基隆南侧的火烧寮,1906ˉ1944年38年的平均年雨量最高达6557.8毫米,1912年曾出现过8409.0毫米的记录。一般认为,这是我国年雨量的最高记录。火烧寮之所以雨量特别多,主要原因就在于它位于中央山脉的北坡,冬半年面迎从东海上来的潮湿季风,气流稍一抬升便大雨倾盆。其次是西藏自治区东南部、雅鲁藏布江下游河谷中的巴昔卡,1931-1960年30年平均降雨量高达4495毫米。以下是:台湾省的东兴,2646.7毫米;琼中,2340.9毫米;云南省的金平,2267.3毫米。