符鳳平,吳哲紅,高如玉
(貴州省安順市氣象局,貴州 安順 561000)
精細(xì)化預(yù)報的自動檢驗與技巧評分系統(tǒng)
符鳳平,吳哲紅,高如玉
(貴州省安順市氣象局,貴州 安順 561000)
基于局域網(wǎng)和省—地氣象光纖通信網(wǎng),使用SQL Server數(shù)據(jù)庫和相關(guān)編程技術(shù),以08時次精細(xì)化預(yù)報為例,分別實現(xiàn)對本地預(yù)報和中央氣象臺預(yù)報的自動檢驗與技巧評分。系統(tǒng)由后臺和前臺兩部分程序組成,后臺程序基于C/S方式,分別實現(xiàn)本地預(yù)報、中央氣象臺預(yù)報、本地天氣實況的自動入庫與補調(diào)。前臺程序基于B/S方式,實現(xiàn)本地預(yù)報、中央氣象臺預(yù)報、本地天氣實況、檢驗結(jié)果與技巧評分等信息的顯示與查詢、自動統(tǒng)計與輸出功能。系統(tǒng)自投入業(yè)務(wù)運行后,較大地滿足了天氣預(yù)報業(yè)務(wù)和管理需求,對于提高精細(xì)化預(yù)報質(zhì)量具有一定的積極意義。
精細(xì)化預(yù)報;自動檢驗;技巧評分
隨著經(jīng)濟(jì)社會的不斷發(fā)展,對天氣預(yù)報的精細(xì)化程度需求愈來愈高。由于以往獲取氣象資料的途徑有限,在精細(xì)化天氣預(yù)報質(zhì)量方面,本地預(yù)報質(zhì)量考核一直參考中國氣象局和貴州省氣象局的檢驗評分結(jié)果,當(dāng)檢驗評分成績不理想時,難以查明導(dǎo)致預(yù)報質(zhì)量不高的真正原因,難以對每個預(yù)報員的預(yù)報質(zhì)量進(jìn)行較為詳細(xì)的檢驗與評分。為了充分利用現(xiàn)有網(wǎng)絡(luò)資源以及實時獲取的地面氣象自動站資料,進(jìn)一步提高本地精細(xì)化天氣預(yù)報質(zhì)量,提高天氣預(yù)報準(zhǔn)確率,及時掌握值班預(yù)報員的預(yù)報質(zhì)量,實現(xiàn)對精細(xì)化預(yù)報的自動檢驗與評分,已成為天氣預(yù)報業(yè)務(wù)與管理方面的迫切需求。程序設(shè)計采用C/S和B/S兩種軟件體系結(jié)構(gòu),最終實現(xiàn)對精細(xì)化預(yù)報的自動檢驗與技巧評分。由于面向用戶的前端程序采取B/S工作模式,維護(hù)與操作較為簡便,適合使用對象較廣,對于進(jìn)一步提高天氣預(yù)報質(zhì)量和預(yù)報準(zhǔn)確率,具有一定的積極意義。
2.1 技術(shù)方法
基于省—地—縣氣象光纖通信網(wǎng)和局域網(wǎng),以Windows 7操作系統(tǒng)為開發(fā)平臺,采用C/S和B/S兩種方式,由后臺和前臺兩部分程序組成。后臺程序基于C/S工作模式,使用VB編程語言和SQL Server數(shù)據(jù)庫技術(shù),實現(xiàn)本地精細(xì)化預(yù)報、中央氣象臺精細(xì)化預(yù)報與天氣實況的自動入庫與補調(diào)。前臺程序基于B/S工作模式,使用ASP開發(fā)環(huán)境、JavaScript腳本語言、SQL Server數(shù)據(jù)庫等技術(shù),實現(xiàn)精細(xì)化預(yù)報檢驗結(jié)果的顯示與查詢、統(tǒng)計與輸出等功能。
2.2 主要結(jié)構(gòu)
分為后臺和前臺兩部分,后臺模塊主要實現(xiàn)本地預(yù)報、中央氣象臺預(yù)報、天氣實況等資料的自動入庫。前臺模塊主要實現(xiàn)預(yù)報檢驗結(jié)果的顯示與查詢、統(tǒng)計與報表輸出等功能。系統(tǒng)主要結(jié)構(gòu)見圖1,其中“天氣現(xiàn)象”部分主要實現(xiàn)前后12 h本地預(yù)報、中央臺預(yù)報、降水實況、本地預(yù)報準(zhǔn)確率(Ts)、中央臺預(yù)報準(zhǔn)確率(Ts)等檢驗對比結(jié)果的顯示與查詢。
2.3 主要實現(xiàn)功能
2.3.1 后臺入庫 后臺入庫程序主要實現(xiàn)各時次精細(xì)化預(yù)報(含本地預(yù)報和中央氣象臺預(yù)報)、本地實況等資料的自動入庫與補調(diào),入庫要素包含最高氣溫、最低氣溫、前后12 h天氣現(xiàn)象、中央氣象臺24 h降水預(yù)報以及本地24 h降水實況等。
2.3.2 前端Web應(yīng)用 此部分主要實現(xiàn)預(yù)報檢驗結(jié)果的Web顯示與查詢、自動統(tǒng)計與Excel報表輸出等功能,檢驗評分對象為最高氣溫、最低氣溫、天氣現(xiàn)象。檢驗評分結(jié)果的計算主要依據(jù)“貴州省氣象局關(guān)于精細(xì)化預(yù)報質(zhì)量檢驗與評分的規(guī)定”,生成結(jié)果按時段進(jìn)行統(tǒng)計,統(tǒng)計信息可直接導(dǎo)入Excel報表文件,表中主要包含本地預(yù)報平均絕對誤差、中央氣象臺預(yù)報平均絕對誤差、單站技巧評分值和綜合技巧評分值(簡稱SST)等結(jié)果。
圖1 系統(tǒng)主要結(jié)構(gòu)
3.1 后臺入庫
3.1.1 數(shù)據(jù)庫結(jié)構(gòu)描述 采取SQL Server數(shù)據(jù)庫,數(shù)據(jù)庫命名為as_aws,表名為jxyb,一共包含16個字段,其結(jié)構(gòu)見表1。
3.1.2 主要流程 入庫程序的設(shè)計主要基于省地氣象光纖通信網(wǎng)和局域網(wǎng),使用ADODC控件鏈接SQL Server數(shù)據(jù)庫,實現(xiàn)本地預(yù)報、中央臺預(yù)報、天氣實況等資料的自動入庫,入庫要素包含最高氣溫、最低氣溫、前后12 h的天氣現(xiàn)象等。其主要流程見圖2。
表1 jxyb表結(jié)構(gòu)
圖2 數(shù)據(jù)入庫流程
3.1.3 預(yù)報數(shù)據(jù)入庫 本地預(yù)報和中央臺預(yù)報入庫數(shù)據(jù)分別來源于本地業(yè)務(wù)機和省級服務(wù)器。本地預(yù)報文件名為Z_SEVP_C_BFAN_YYYYMMDDhhmmss_P_RFFC-SPCC-YYYYMMDDhhmm-FFFxx.TXT,中央臺預(yù)報文件名為YYYYMMDDHH.bgy。根據(jù)“全國城市精細(xì)化天氣預(yù)報產(chǎn)品文件格式”規(guī)定,每站24 h預(yù)報結(jié)果中第11、12組數(shù)據(jù),即為最高氣溫、最低氣溫,每站12 h、24 h的預(yù)報結(jié)果中第19組數(shù)據(jù),即為前后12 h天氣現(xiàn)象。
3.1.4 天氣實況入庫 后臺程序通過讀取存放在省級服務(wù)器上的長Z文件,自動獲取08時、20時天氣實況。從08時實況中讀出24 h最高最低氣溫、24 h降水、后12 h降水量等資料,從20時實況中讀出前12 h降水量,然后將獲取的各要素值寫入SQL Server數(shù)據(jù)庫。
3.2 前端Web應(yīng)用
3.2.1 檢驗結(jié)果的顯示
①最高氣溫、最低氣溫
從數(shù)據(jù)庫中讀取預(yù)報與實況的最新記錄日期,將此作為參數(shù),分別計算出前1 d和后1 d的具體日期,然后使用參數(shù)傳遞命令Request.QueryString即可獲取前后日期,實現(xiàn)精細(xì)化預(yù)報、天氣實況及檢驗結(jié)果的自動瀏覽。為了簡略程序代碼,主頁顯示、前后天數(shù)的調(diào)用等3個ASP文件中的顯示均使用“#include file”語句調(diào)用同一個文件[1]。如最高氣溫的檢驗結(jié)果見圖3。
圖3 最高氣溫檢驗結(jié)果
本地預(yù)報、中央臺預(yù)報、當(dāng)日實況的Web顯示與處理方法相同,在讀取資料入庫或進(jìn)行Web網(wǎng)頁顯示前,需要進(jìn)行一定的格式轉(zhuǎn)換。為避免在數(shù)值換算或格式轉(zhuǎn)換過程中出現(xiàn)問題,入庫前首先使用Isnumeric函數(shù)對其類型是否為數(shù)值進(jìn)行判斷,然后在Web網(wǎng)頁顯示前使用Formatnumber函數(shù)進(jìn)行格式輸出。進(jìn)行顯示前,首先判斷檢索數(shù)據(jù)庫得出的結(jié)果是否為數(shù)值,若為數(shù)值,則將讀出的數(shù)據(jù)使用Formatnumber((rs1.Fields.Item("Tmax_本地預(yù)報").Value),1,-1)命令進(jìn)行格式輸出,否則將該值直接顯示。
本地預(yù)報誤差和中央臺預(yù)報誤差的顯示與處理方法也一樣。如計算本地最高氣溫誤差時,首先判斷本地最高氣溫值和當(dāng)日最高氣溫實況值是否均為數(shù)值,若均為數(shù)值,則使用Formatnumber((Y_bd*10-Y_sk*10)*0.1,1,-1)命令進(jìn)行格式輸出,否則將本地誤差使用字符串“////”直接顯示。計算對比結(jié)果時,首先判斷本地誤差和中央臺誤差否均為數(shù)值,若均為數(shù)值,則使用Formatnumber((ABS(bdwc)*10-ABS(zywc)*10)*0.1,1,-1)命令進(jìn)行格式輸出,否則將對比結(jié)果使用字符串“////”直接顯示。
為了更直觀地掌握本地和中央臺的預(yù)報情況,對計算出來的本地誤差、中央臺誤差、對比結(jié)果,根據(jù)其值使用不同顏色標(biāo)注顯示。對于本地和中央臺預(yù)報誤差,根據(jù)其絕對值是否≤2,使用不同顏色標(biāo)注顯示。若≤2,則用綠顏色標(biāo)注顯示,若>2,用紅顏色標(biāo)注顯示。而對于本地和中央臺的預(yù)報對比結(jié)果,在對比結(jié)果計算出來后,根據(jù)其絕對值是否≤0,若≤0,則用綠顏色標(biāo)注顯示,若>0,用紅顏色標(biāo)注顯示。
②天氣現(xiàn)象
主要顯示中央臺24 h預(yù)報和降水實況,以及前后12 h的本地預(yù)報、中央臺預(yù)報、降水實況以及預(yù)報準(zhǔn)確率(Ts)。與最高最低氣溫的檢驗結(jié)果顯示一樣,需事先從數(shù)據(jù)庫中讀取最新記錄日期,將此作為參數(shù),分別計算出前1 d和后1 d的具體日期,然后使用參數(shù)傳遞命令Request.QueryString即可獲取前后日期,實現(xiàn)對天氣現(xiàn)象的自動瀏覽。其顯示界面見圖4。
圖4 天氣現(xiàn)象檢驗結(jié)果
本地預(yù)報和中央臺預(yù)報的結(jié)果顯示均已從預(yù)報代碼轉(zhuǎn)換為中文形式,如預(yù)報代碼為2,則結(jié)果顯示為“陰天”。預(yù)報Ts結(jié)果參考的計算規(guī)則為:首先判斷預(yù)報是否有雨(即判斷預(yù)報代碼是否>2,>2則代表預(yù)報有雨),若有雨,再判斷降水實況。若實況有雨,則Ts為100,否則Ts為0。若預(yù)報無雨,實況有雨,則Ts為0,否則為100。
3.2.2 檢驗結(jié)果的查詢 在顯示界面的下方(見圖4)嵌入文本域、列表2個控件,文本域控件實現(xiàn)日期選擇,列表控件主要實現(xiàn)日期選擇。同時,將2個控件加入1個表單中,表單提交使用post方式,使用Request.Form命令分別獲取表單中的控件值,如獲取日期使用命令Request.Form("select_date"),其中select_date為日期控件名稱。然后,使用Dateserial函數(shù)對獲取的日期文本域表單值進(jìn)行轉(zhuǎn)換,即可取得具體的日期。獲取到具體日期后,即可從數(shù)據(jù)庫中查詢到相應(yīng)的數(shù)據(jù)。
3.2.3 統(tǒng)計與報表輸出 主要實現(xiàn)最高、最低氣溫檢驗統(tǒng)計結(jié)果的自動輸出,可選擇單站或所有站,輸出格式為Excel文件類型,對話框提示是否保存或是否打開。寫入Excel文件前,首先定義好表格格式,再先后寫入需要輸出的結(jié)果名稱和對應(yīng)值。表格格式主要作以下定義:定義頁面使用字符集為國標(biāo)漢字碼gb2312,網(wǎng)頁輸出類型為Excel表格,輸出的Excel表格文件名,Excel表格的單元格類型為文本。
向Excel單元格填入檢驗結(jié)果時,對于不需作格式轉(zhuǎn)換的字段,直接將計算結(jié)果填入Excel單元格。需作格式轉(zhuǎn)換的字段,分別使用Isnumeric函數(shù)和formatnumber函數(shù)判斷其內(nèi)容類型和格式化計算輸出。輸出內(nèi)容主要包含:本地平均絕對誤差、中央臺平均絕對誤差、技巧評分以及綜合技巧評分值。平均絕對誤差的計算,是首先將每天的誤差(如本地預(yù)報誤差)取絕對值,然后對統(tǒng)計時段內(nèi)每天的絕對誤差進(jìn)行平均。輸出的Excel文件內(nèi)容見圖5。
圖5 最高氣溫檢驗結(jié)果
技巧評分結(jié)果的計算,主要參考《貴州省短期天氣指導(dǎo)預(yù)報及市級技巧評分方案》,根據(jù)此方案,最高(最低)溫度預(yù)報技巧評分參考公式為:
其中,SST為最高(最低)溫度預(yù)報技巧評分,TMAEN為中央氣象臺指導(dǎo)預(yù)報最高(最低)溫度預(yù)報平均絕對誤差,TMAEF為市(州)氣象臺分縣城鎮(zhèn)預(yù)報最高(最低)溫度預(yù)報平均絕對誤差。
綜合技巧評分的計算與單站技巧評分計算方法一樣,首先計算統(tǒng)計時段內(nèi)所有站的本地預(yù)報和中央臺的平均絕對誤差,然后利用技巧評分公式即算出其值。部分關(guān)鍵代碼如下[2]:
’計算每日本地絕對誤差
if isnumeric(Y_bd)=true and isnumeric(Y_sk)=true then
bdwc=formatnumber((Y_bd*10-Y_sk*10)*0.1,2,-1)
bdwc1=bdwc1+ABS(bdwc)
Y_bds=Y_bds+1
…
’計算統(tǒng)計時段內(nèi)的本地絕對誤差
if isnumeric(bdwc1)=true and Y_bds<>0 then
bdwc1=formatnumber(Round(bdwc1/Y_bds,2),2,-1)
…
’計算每站統(tǒng)計時段的技巧評分值
if isnumeric(bdwc1)=true and isnumeric(zywc1)=true then
jqpf=formatnumber(Round((zywc1-bdwc1)/zywc1,2),2,-1)
…
’計算綜合技巧評分值
bdwc2=bdwc2+bdwc1
zywc2=zywc2+zywc1
…
bdwc2=bdwc2/Y_bdz
zywc2=zywc2/Y_bdz
jg0=formatnumber(Round((zywc2-bdwc2)/zywc2,2),2,-1)
response.Write(""&VBCRLF)
…
自系統(tǒng)投入業(yè)務(wù)應(yīng)用以來,運行穩(wěn)定,數(shù)據(jù)準(zhǔn)確無誤,尤其在預(yù)報業(yè)務(wù)方面發(fā)揮了重要作用,為2014年安順市精細(xì)化城鎮(zhèn)預(yù)報質(zhì)量取得貴州省第3名好成績提供了可靠的技術(shù)支撐。系統(tǒng)可以進(jìn)行精細(xì)化城鎮(zhèn)預(yù)報中晴雨預(yù)報、最低最高氣溫的正確率檢驗,以及與上級預(yù)報指導(dǎo)產(chǎn)品比較和評定技巧評分,值班預(yù)報員可及時了解自己的預(yù)報結(jié)果準(zhǔn)確率,還可進(jìn)行統(tǒng)計輸出,既有利于預(yù)報員對自己的預(yù)報結(jié)果進(jìn)行比較檢驗,在某一段時間如果某項質(zhì)量偏低時可以起到提醒和警示作用,還可用于與全省其它地區(qū)的預(yù)報情況進(jìn)行比較,便于業(yè)務(wù)管理人員及時了解預(yù)報情況,對提高精細(xì)化預(yù)報質(zhì)量起到有效的促進(jìn)作用。
組成系統(tǒng)的各部分程序均為自動運行,后臺入庫程序設(shè)置為每天固定時間運行,自動讀取本地和中央臺預(yù)報相關(guān)要素的預(yù)報結(jié)果、天氣實況等,實時寫入數(shù)據(jù)庫。前臺程序自動生成相應(yīng)的誤差值,并將誤差值進(jìn)行對比后顯示在客戶端,其運行結(jié)果經(jīng)多次對比檢驗分析,未發(fā)現(xiàn)任何錯誤。
系統(tǒng)根據(jù)中國氣象局對精細(xì)化城鎮(zhèn)預(yù)報質(zhì)量的檢驗要求而設(shè)計,充分利用地面氣象自動站資料,基于C/S和B/S兩種工作模式,實現(xiàn)精細(xì)化預(yù)報與天氣實況的后臺自動入庫,以及基于Web方式下預(yù)報檢驗結(jié)果的顯示與查詢、統(tǒng)計與輸出等功能。通過使用此方式,可及時掌握值班預(yù)報員的預(yù)報質(zhì)量,并與中央氣象臺預(yù)報情況進(jìn)行對比,找出自己的預(yù)報質(zhì)量差距。自投入業(yè)務(wù)應(yīng)用以來,各部分程序均運行正常,并已成為安順市一個實用的精細(xì)化城鎮(zhèn)預(yù)報檢驗手段。
[1] 符鳳平,吳哲紅,褚麗君,等.基于WEB方式的地面自動站逐時氣象要素共享平臺[J].貴州氣象,2012,36(6):50-53.
[2] 羅銳韌.ASP網(wǎng)頁程序設(shè)計[M].北京:清華大學(xué)出版社,2005.
Automatic Inspection and Techniques Scoring System for Precise Forecast
FU Fengping,WU Zhehong,GAO Ruyu
(Anshun Meteorological Bureau,Anshun 561000)
The system was developed based on the LAN and the meteorological optical fiber communication network,using SQL Server database and related programming technology,taking fine weather forecast of 8 am for an example,respectively realizing the automatic test and skill score for local weather forecast and the weather forecast from Central Meteorological Station.The system is composed of two parts of the background program and the foreground program,the background program was based on C/S working mode,respectively realizing storage and adjustment automatically for local weather forecast,the weather forecast from Central Meteorological Station,local weather condition.The foreground program was based on B/S working mode,respectively realizing the function of display and query,automatic statistics and output for local weather forecast,the weather forecast from Central Meteorological Station,local weather condition,test result,skill score and other information.Since the system has been put into the weather forecast operation,the weather forecast operation and the demand of management had been met large,also had positive significance for improving the precision of fine weather forecast.
Fine Weather Forecast;Automatic Test;Skill Score
2014-08-08
符鳳平(1969—),女,高工,主要從事網(wǎng)絡(luò)維護(hù)及開發(fā)工作。
1003-6598(2015)05-0014-05
P456
A