韓仲強
(內蒙古自治區(qū)氣象信息中心,內蒙古 呼和浩特 010051)
農業(yè)氣象學是研究農業(yè)生產對象和過程與氣象條件之間的相互關系,以利用、創(chuàng)造有利并抗避不利氣象條件為目的,為農業(yè)的高產、優(yōu)質、低消耗而服務的一門學科。隨著農業(yè)科學技術的飛速發(fā)展,我國農業(yè)已進入了一個高產、優(yōu)質、高效、生態(tài)、安全為發(fā)展方向的新階段,農業(yè)對氣象服務提出了更高的要求,迫切需要農業(yè)氣象為現(xiàn)代農業(yè)的發(fā)展提供時效更快、內容更多、水平更高的、針對性更強的服務產品。然而,當前的農業(yè)氣象觀測技術手段、時效遠不能滿足現(xiàn)代農業(yè)氣象業(yè)務和服務發(fā)展需求[1]。
內蒙古自治區(qū)幅員遼闊,有豐富的氣候資源與土地資源,農作物種植多樣化,是我國農業(yè)生產大省。農業(yè)氣象觀測數據包含作物生長發(fā)育、天然牧草生長狀況、自然物候、土壤水分等觀測內容,是農業(yè)氣象的基礎。通過農業(yè)氣象觀測可以鑒定農業(yè)氣象條件對作物生長發(fā)育和產量形成以及品質影響,為農業(yè)氣象情報、預報,以及農作物的氣候條件評價等提供理論依據,為高產、優(yōu)質、高效的農業(yè)生產提供服務。因此對農業(yè)氣象觀測數據進行質量控制十分有必要。
目前在農業(yè)氣象觀測數據質量控制過程中,主要由農業(yè)氣象資料審核員依托AgMODOS(農業(yè)氣象測報業(yè)務系統(tǒng))軟件,每年對各臺站上傳的C文件[2]進行集中審核。上述質量控制過程不僅時效性差,而且耗費時間多,不能及時做到農業(yè)氣象觀測數據質量控制,增加了工作量。為有效解決上述問題,推進觀測自動化觀測進程與現(xiàn)行業(yè)務流程相適應,完成觀測業(yè)務轉型,因此有必要開發(fā)一個高精度、高時效性的自動數據質量控制系統(tǒng)。
農業(yè)氣象數據自動質量控制系統(tǒng)基于CIMISS數據環(huán)境,通過獲取CIMISS數據庫中由各臺站上傳的農業(yè)氣象觀測數據,按照《農業(yè)氣象觀測規(guī)范》[3](后簡稱《規(guī)范》)建立和優(yōu)選農業(yè)氣象數據質量控制方法,開展對全區(qū)29個農業(yè)氣象觀測站所觀測的牧草發(fā)育期、牧草生長高度、牧草產量、牧草蓋度、作物生長發(fā)育期、干物質與葉面積測定、灌漿速度等數據的質量控制,開發(fā)自動質量控制系統(tǒng)并將質控后的疑誤信息通過推送至臺站,實現(xiàn)疑誤數據及時處理與更正。
農業(yè)氣象觀測數據質量控制系統(tǒng)邏輯結構上可分為基礎層、數據層以及應用層3層(圖1)。基礎層主要提供農業(yè)氣象觀測數據質量控制系統(tǒng)開發(fā)運行環(huán)境、CIMISS中的Oracle數據庫及基于Python開發(fā)的相關質量控制方法。數據層主要處理牧草發(fā)育期、牧草生長高度、牧草產量、牧草蓋度、作物生長發(fā)育期、干物質與葉面積測定、灌漿速度等農業(yè)氣象觀測數據,采用Oracle關系型數據庫進行存儲和管理。應用層是與省級數據處理人員與臺站人員進行業(yè)務交互的平臺,MUSIC接口為對外數據服務的統(tǒng)一接口。

圖1 農業(yè)氣象觀測數據質量控制系統(tǒng)總體架構
農業(yè)氣象數據自動質量控制系統(tǒng)采用Python語言進行開發(fā),基于Orcale數據庫管理系統(tǒng)對本系統(tǒng)中的數據持久化進行操作。
Python由荷蘭數學和計算機科學研究學會的Guido van Rossum于1990年代初設計,作為一門叫做ABC語言的替代品。由于其具有簡單易學、用途廣泛、可移至性以及可擴展性、可擴充性等優(yōu)點,Python提供了高效的高級數據結構,還能簡單有效地面向對象編程。Python語法和動態(tài)類型,以及解釋型語言的本質,使它成為多數平臺上寫腳本和快速開發(fā)應用的編程語言,隨著版本的不斷更新和語言新功能的添加,逐漸被用于獨立的、大型項目的開發(fā)。
在對數據進行質量控制的過程中,隨著質量控制進程的進行,需要不斷地對被檢數據設置或修改質量控制碼,簡稱QC碼。QC碼的規(guī)定如下,見表1。

表1 質量控制碼規(guī)定
對AgoMDOS上傳的農業(yè)氣象觀測數據采用完整性檢查、數據小數位檢查、值域檢查、內部一致性檢查[4,5]。農業(yè)氣象觀測數據對應的要素表見《規(guī)范》發(fā)育期觀測部分。表2給出了農業(yè)氣象觀測數據中各要素實施的檢查項目,圖2給出了數據處理和質量控制流程圖。

表2 快速質量控制對報文數據中各要素實施的檢查步驟

圖2 農業(yè)氣象觀測數據質量控制流程圖
作物部分質量控制對象包含作物生長發(fā)育期、干物質與葉面積測定、灌漿速度共三張數據表。牧草部分質量控制對象包含牧草發(fā)育期、牧草生長高度、牧草產量、牧草蓋度共4張數據表。對上述農業(yè)氣象觀測數據主要進行完整性檢查、數據小數位檢查、值域檢查以及內部一致性檢查。
3.2.1 完整性檢查。完整性檢查指對原始觀測數據的種類、項目進行檢查,以確保觀測數據完整無遺漏。
對于作物部分的觀測數據,完整性檢查應包括作物觀測基礎數據、作物發(fā)育期觀測數據、作物密度觀測數據、作物葉面積與干物質質量觀測數據以及灌漿速度觀測數據。其中作物觀測基礎數據包括:農業(yè)氣象觀測臺站名稱、農業(yè)氣象觀測臺站號、觀測作物名稱、觀測作物品種名稱、觀測作物成熟年份。作物葉面積和干物質重量觀測包括作物名稱、旬內作物發(fā)育名稱、生長率、含水率、葉面積指數。灌漿速度觀測包括作物名稱、含水率、千粒重。各類作物的發(fā)育期觀測要求及觀測項目見《規(guī)范》發(fā)育期觀測部分。作物密度觀測項目及觀測時間見《規(guī)范》生長狀況測定部分。對于牧草部分的觀測數據,完整性檢查應包括牧草發(fā)育期觀測數據、牧草生長高度觀測數據、牧草產量觀測數據、牧草蓋度觀測數據。其中牧草發(fā)育期觀測數據應包括牧業(yè)氣象觀測臺站名稱、牧業(yè)氣象觀測臺站號、(動)物名稱/牧草名稱、旬內作物發(fā)育期名稱、發(fā)育期百分率。牧草生長高度觀測數據應包括牧草名稱、植(動)物名稱/牧草名稱、植株高度。牧草產量觀測數據應包括牧草名稱、植(動)物名稱/牧草名稱、干重、鮮重、干鮮比(計算方法為干重/鮮重)×100%。牧草蓋度觀測數據應包括覆蓋度、草層狀況評定、采食率、采食度。
根據《規(guī)范》中要求的觀測項目無相應觀測值、調查值或記載值的為缺測數據時,賦質控碼為8,不再作為后續(xù)質量控制步驟中的質量控制對象或參考數據,并作為疑誤數據及時告知臺站進行修正或補發(fā)。否則賦為質控碼0,進入下一步檢查。
3.2.2 數據小數位檢查。《規(guī)范》中明確要求了各類觀測要素的小數位,按照《規(guī)范》中附錄D中規(guī)定對主要作物觀測要素值的小數位進行檢查,對于小數位不正確的數據,質控碼置為2,標記為錯誤數據并告知臺站進行修改。
3.2.3 數據值域檢查。值域檢查指對農業(yè)氣象觀測數據進行氣候學、生態(tài)學的閾值檢查。在《規(guī)范》中明確了各類觀測作物以及牧草的閾值范圍,對于超出閾值范圍的觀測值,系統(tǒng)將該條記錄的質控碼置為2,并反饋臺站進行數據修正。具體質控方法如下:
屬于下列值域范圍的數據為錯誤數據:(1)作物生長發(fā)育普遍期生長高度大于其上限值(主要作物各發(fā)育期生長高度最大值見《規(guī)范》中附錄E);(2)作物生長發(fā)育普遍期密度值大于其上限值(主要作物各發(fā)育期密度最大值見《規(guī)范》中附錄F);(3)作物生長狀況評定記錄不為“1”,“2”,“3”;(4)草層狀況評定記錄不為“1”,“2”,“3”,“4”,“5”。
屬于下列值域范圍的數據為可疑數據:(1)作物各發(fā)育期生長高度值大于其最大值而小于其上限值(主要作物各發(fā)育期生長高度最大值見《規(guī)范》中附錄E);(2)作物各發(fā)育普遍期密度值大于其最大觀測值而小于其上限值(主要作物各發(fā)育期密度最大值見《規(guī)范》中附錄F);除a),b)所列要素之外暫不做值域檢查。
3.2.4 內部一致性檢查。內部一致性指同一時間觀測的農業(yè)氣象要素記錄之間的關系必須符合一定規(guī)律的檢查。農業(yè)氣象觀測數據未通過以下一致性檢查時,相應數據為可疑數據,質控碼置為1,具體質控方法如下:(1)前一發(fā)育期觀測日期在后一發(fā)育期觀測日期之前;(2)前一發(fā)育植株生長高度小于或等于后一發(fā)育期植株生長高度。
針對于文件上傳不及時、不規(guī)范出現(xiàn)的上報文件不完整、農業(yè)氣象觀測數據審核不及時等情況,本文以Python為開發(fā)工具,基于CIMISS數據環(huán)境,開發(fā)并建立了一套農業(yè)氣象觀測數據自動質量控制系統(tǒng),該系統(tǒng)提高了農業(yè)氣象觀測數據審核效率,極大地減小了省級資料審核人員的工作負擔,并且對于各單位的用戶來說可以及時獲取經過質量控制后的農業(yè)氣象觀測數據,這對于提高農業(yè)生產,指導農事活動具有重要意義。
本文開發(fā)的質量控制系統(tǒng)目前僅針對于農業(yè)氣象中的作物與牧草兩部分內容進行了質量控制,對于其他觀測數據例如自然物候觀測、農業(yè)氣象災害觀測等內容暫時未進行自動質量控制。本文所采取的質量控制方法目前只有完整性檢查、數據小數位檢查、數據值域檢查、內部一致性檢查共4種方法,后續(xù)應該考慮加入更多方法進行數據質量控制進行優(yōu)化。