论文部分内容阅读
【摘 要】此程序实现在每天指定的时间内将中短期指导站点预报进行读取,转换为Micaps第8类数据格式,为“中短期天气预报质量检验系统”资料入库提供了中短期指导站点预报的原始数据,便于预报质量的检验与评定,同时,对中短期指导站点预报报文进行检验,确保了报文上传的准确性。
【关键词】数据格式 原始数据 预报质量
2006年5月我局预报业务中应用了新的“天气预报质量检验系统”,评定的产品文件均为Micaps格式,为进一步制作补充订正预报带来了极大方便,但此程序中的资料入库过程需要的指导站点预报原始数据,即将每天早晨、下午制作的常规天气要素逐站短期指导站点预报产品(简称上星预报,下同)数据写入数据库的功能系统本身无法实现,这为评分工作带来了不便,针对这种情况,我利用C#语言编写了不需要人为干预即可完成每天自动对上星预报报文转换和存储为Micaps第8类数据格式的程序,并具有对上星预报报文格式、日期等进行检验的功能,为进一步做好中短期指导预报评分工作带来了方便,提高了预报业务中上星预报的准确率。下面,简要对此程序的功能与实现做简要介绍:
一、“路径设置”功能
“路径设置”菜单下的窗体(见图2)主要完成上星预报报文源文件路径与转换后的目标文件路径设置,“确定”按钮,实现对保存后的路径进行存储,以便下次显示的是修改后的路径。
二、报文转换功能与实现
此模块在主窗体(见图1)中单击“确定”按钮来完成,实现对每天早晨、下午发布的上星预报的报文转换为Micaps第8类数据格式的制作,转换后的文件统配符为“RSmmddzz.xxx”,RS为固定指示码,mm、dd、zz分别代表制作预报的月(2位)、日(2位)、时次(2位、早晨为08、下午为20),xxx代表预报时效,如:5月12日下午预报72小时,保存后的文件名为RS051220.072。
为了程序执行起来方便,在这里加入了NotifyIcon组件和Timer组件。当在主窗体点击“确定“按钮后,NotifyIcon组件属性Visible为true,实现主窗体缩小到状态栏区域的托盘中,并显示运行中进程图标,同时将 Timer组件的属性Enable为True,引发Timer-Tick()事件,实现在早晨7点、8点和下午16点、20点指定的时间,来对上星预报进行读取、转换为第8类数据格式,所以每天不需人为干预,自动实现了上星报文的转换与存储过程。上午、下午分别选择两个时次对文件进行读取的原因是考虑到发订正报时,在8时和20时分别判断保存过的上星预报文件名与现有目录下最近的上星预报文件名是否一致,来判断是否发了订正预报,如上星预报文件名FH052101.FHR为第一次发的错报,当加CCA重发后文件名变为FH052102.FHR,在20时判断出两个文件名不一致,进行对时间最近的文件进行读取,且覆盖已转换后的目标文件,以确保转换后的报文数据准确性。
对读取的上星预报文件名是通过读取计算机系统的日期和时间,定义为结构Datetime dt=System.Datetime.Now来确定,但对早晨的预报,由于文件名日期为前一日的,所以还要对此进行判断与计算,用到dt.IsleapYear(dt.year)(判断是否为闰年)等方法来完成文件名的定义。
对上星预报文件是否存在与读取等功能,是通过File.Exits()、StreamReader()类和成员等来实现的,通过对读取文件内字符串的一些操作,来读取对应的预报要素,通过相应的转换后实现对此类数据的存储为指定格式。文件的存储部分用到的类有Directoy.CreateDirectory()、Sw.Writeline()等。
此模块的部分程序代码如下:
三、上星预报的报文检验功能与实现
由于我局上星预报共有13个站,站点较多,有时避免不了会出现错报,比如说,报文格式、发报时间、报文的数据异常等,所以,在进行报文自动转换的同时,对读取的报文每一行进行判断,当有错发生时,会自动弹出窗体,显现相应的出错信息。此功能的实现是通过在Timer-Tick()事件中,将信息提示窗体属性Visible设置为true,显示出错信息来实现的。另外,由于存储的文件为Micaps数据格式,所以还可在Micaps系统中通过“打开”文件RSmmddzz.xxx,更加直观地显示预报结果。
四、“报文补传”菜单的功能与实现
当由于一些意外情况,导致报文没正常转换的情况下,可通过“报文补传”菜单下的窗体(见图3)来实现报文的补传功能。在此模块中用到了dateTimePicker组件,来确定要选择的缺报日期,具体的模块执行代码与报文转换模块代码基本一致,在此不再赘述。
五、程序的应用价值
1.此程序可根据工作需要设置源文件路径与目标文件路径,具有较好的移植性。
2.此程序可不用人为干预,每天在指定时间自动将上星预报报文转换为Micaps第8类数据格式,具有方便、快捷的特点。
3.此程序在转换报文的同时,对上星预报的报文格式、日期等进行检验,确保了报文内容上传的准确性。
参考文献:
[1]内蒙古气象台改编.天气预报质量检验系统使用手册.2006,5.
【关键词】数据格式 原始数据 预报质量
2006年5月我局预报业务中应用了新的“天气预报质量检验系统”,评定的产品文件均为Micaps格式,为进一步制作补充订正预报带来了极大方便,但此程序中的资料入库过程需要的指导站点预报原始数据,即将每天早晨、下午制作的常规天气要素逐站短期指导站点预报产品(简称上星预报,下同)数据写入数据库的功能系统本身无法实现,这为评分工作带来了不便,针对这种情况,我利用C#语言编写了不需要人为干预即可完成每天自动对上星预报报文转换和存储为Micaps第8类数据格式的程序,并具有对上星预报报文格式、日期等进行检验的功能,为进一步做好中短期指导预报评分工作带来了方便,提高了预报业务中上星预报的准确率。下面,简要对此程序的功能与实现做简要介绍:
一、“路径设置”功能
“路径设置”菜单下的窗体(见图2)主要完成上星预报报文源文件路径与转换后的目标文件路径设置,“确定”按钮,实现对保存后的路径进行存储,以便下次显示的是修改后的路径。
二、报文转换功能与实现
此模块在主窗体(见图1)中单击“确定”按钮来完成,实现对每天早晨、下午发布的上星预报的报文转换为Micaps第8类数据格式的制作,转换后的文件统配符为“RSmmddzz.xxx”,RS为固定指示码,mm、dd、zz分别代表制作预报的月(2位)、日(2位)、时次(2位、早晨为08、下午为20),xxx代表预报时效,如:5月12日下午预报72小时,保存后的文件名为RS051220.072。
为了程序执行起来方便,在这里加入了NotifyIcon组件和Timer组件。当在主窗体点击“确定“按钮后,NotifyIcon组件属性Visible为true,实现主窗体缩小到状态栏区域的托盘中,并显示运行中进程图标,同时将 Timer组件的属性Enable为True,引发Timer-Tick()事件,实现在早晨7点、8点和下午16点、20点指定的时间,来对上星预报进行读取、转换为第8类数据格式,所以每天不需人为干预,自动实现了上星报文的转换与存储过程。上午、下午分别选择两个时次对文件进行读取的原因是考虑到发订正报时,在8时和20时分别判断保存过的上星预报文件名与现有目录下最近的上星预报文件名是否一致,来判断是否发了订正预报,如上星预报文件名FH052101.FHR为第一次发的错报,当加CCA重发后文件名变为FH052102.FHR,在20时判断出两个文件名不一致,进行对时间最近的文件进行读取,且覆盖已转换后的目标文件,以确保转换后的报文数据准确性。
对读取的上星预报文件名是通过读取计算机系统的日期和时间,定义为结构Datetime dt=System.Datetime.Now来确定,但对早晨的预报,由于文件名日期为前一日的,所以还要对此进行判断与计算,用到dt.IsleapYear(dt.year)(判断是否为闰年)等方法来完成文件名的定义。
对上星预报文件是否存在与读取等功能,是通过File.Exits()、StreamReader()类和成员等来实现的,通过对读取文件内字符串的一些操作,来读取对应的预报要素,通过相应的转换后实现对此类数据的存储为指定格式。文件的存储部分用到的类有Directoy.CreateDirectory()、Sw.Writeline()等。
此模块的部分程序代码如下:
三、上星预报的报文检验功能与实现
由于我局上星预报共有13个站,站点较多,有时避免不了会出现错报,比如说,报文格式、发报时间、报文的数据异常等,所以,在进行报文自动转换的同时,对读取的报文每一行进行判断,当有错发生时,会自动弹出窗体,显现相应的出错信息。此功能的实现是通过在Timer-Tick()事件中,将信息提示窗体属性Visible设置为true,显示出错信息来实现的。另外,由于存储的文件为Micaps数据格式,所以还可在Micaps系统中通过“打开”文件RSmmddzz.xxx,更加直观地显示预报结果。
四、“报文补传”菜单的功能与实现
当由于一些意外情况,导致报文没正常转换的情况下,可通过“报文补传”菜单下的窗体(见图3)来实现报文的补传功能。在此模块中用到了dateTimePicker组件,来确定要选择的缺报日期,具体的模块执行代码与报文转换模块代码基本一致,在此不再赘述。
五、程序的应用价值
1.此程序可根据工作需要设置源文件路径与目标文件路径,具有较好的移植性。
2.此程序可不用人为干预,每天在指定时间自动将上星预报报文转换为Micaps第8类数据格式,具有方便、快捷的特点。
3.此程序在转换报文的同时,对上星预报的报文格式、日期等进行检验,确保了报文内容上传的准确性。
参考文献:
[1]内蒙古气象台改编.天气预报质量检验系统使用手册.2006,5.