新格式自动站Z文件格式检查程序分析与实现
新格式自动站Z文件格式检查程序分析与实现
摘要:在气象资料的传输过程中,接收到资料后需要做的第一步就是对接收到的资料进行格式检查,而资料格式检查程序的检查错误的全面性和执行效率的高低直接关系到后续的资料处理时效。本文首先介绍了自动站新格式Z文件的文件命名和正确格式,接着详细分析介绍了针对其格式编写的格式检查程序的功能、程序关键点和其执行效率,可以作为其它资料格式检查程序的参考。
关键词:新格式Z文件 格式检查 C语言
中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2014)09-0157-02
1 引言
地面自动站观测数据是气象预报,气候预测,科学研究最基本的资料,其数据的准确性和及时性是关系到所有气象服务准确性和及时性的重要方面。随着全国各省气象部门逐步把所有气象台站建设成自动气象站,截至2010年12月,全国共有32000多个自动气象站,其中参与考核的有27813个(国家站2416个、区域站25397个)[1],各省级中心和国家局信息中心接收到的资料数量呈不断上升趋势。
Z文件即台站上传至国家气象局的地面观测资料,因为其文件名第一个字母为Z,因此统称为Z文件。原来台站需要分别上传旧格式Z文件和地面报(包括补充地面报),是为了适应人工观测,同时也加大了台站上传的文件数量,观测资料的时效性也比较差。而随着自动站的全面建设推广,自动站传输旧格式Z文件的弊端也越来越明显,因此国家气象局对地面测报进行了改革,取消了旧格式Z文件和地面报(包括补充地面报)的传输,开始传输新格式的Z文件。
而要将新格式Z文件应用到业务中去,在其传输过程中必须进行报文格式检查。同时随着新一代国内气象信息系统的使用,需要将格式检查程序集成至其系统中,因此需要编写可以集成到新一代的基于linux下C语言的新格式Z文件格式检查程序。
2 新格式Z文件格式分析
2.1 文件名
国家级站单站文件名:
Z_SURF_I_IIiii_yyyyMMddhhmmss_O_AWS_FTM[-CCx].txt
国家级站多站打包文件名:
Z_SURF_C_CCCC_yyyyMMddhhmmss_O_AWS_FTM.txt
区域级站单站文件名:
Z_SURF_I_IIiii-REG_YYYYMMDDHHmmss_O_AWS_FT
M[-CCx].txt
区域级站多站打包文件名:
Z_SURF_C_CCCC-REG_YYYYMMDDHHmmss_O_AW
S_FTM.txt
2.2 文件格式分析
下面以一个单站新格式Z文件为例,分析其格式,其文件名为:
Z_SURF_I_54606_20120109000000_O_AWS_FTM.txt
新格式Z文件格式(如图1所示)。
第1行为测站基本信息,包括台站号、观测时间、纬度、经度等9组数据;
第2行为气压要素行,包括所有气压要素,共9组数据,第1组“PP”为段标识符;
第3行为温度和湿度数据,共14组,第1组“TH”为段标识符;
第4行为累计降水和蒸发量数据,共9组,第1组“RE”为段标识符;
第5行为风观测数据,共17组,第1组“WI”为段标识符;
第6行为地温观测数据,共20组,第1组“DT”为段标识符;
第7行为自动观测能见度数据,共5组,第1组“VV”为段标识符;
第8行为人工观测能见度、云、天数据,共13组,第1组“CW”为段标识符;
第9行为其它重要天气数据,包括雪、冻土、重要天气编码等数据,共11组,第1组“SP”为段标识符;
第10行为小时内每分钟降水量数据,共2组,第1组“MR”为段标识符;
第11行为人工观测连续天气现象,第1组“MW”为段标识符;
第12行为台站级数据质量控制码,共10组,第1组“Q1”为段标识符;
第13行为省级数据质量控制码,共10组,第1组“Q2”为段标识符;
第14行为国家级数据质量控制码,共10组,第1组“Q3”为段标识符;
第15行为文件结束符,为“NNNN”。
每一行都使用回车换行符“”结束。
由图1及以上对文件的说明可以看出,新格式Z文件使用“=”来分开不同站的资料(包括打包文件),因此“=”可以作为程序中分割不同台站观测数据的符号,而每行之间可以用换行符“”来分割,每组数据之间可以用空格“ ”来分割;除去第1行台站基本信息行外,其余行都有段标识符来表明其观测内容,因此程序中可以用段标识符来识别每一行,可以检查出重复行、行顺序等问题;除第11行外,其余行的数据