韓仲?gòu)?qiáng)
(內(nèi)蒙古自治區(qū)氣象信息中心,內(nèi)蒙古 呼和浩特 010051)
農(nóng)業(yè)氣象學(xué)是研究農(nóng)業(yè)生產(chǎn)對(duì)象和過(guò)程與氣象條件之間的相互關(guān)系,以利用、創(chuàng)造有利并抗避不利氣象條件為目的,為農(nóng)業(yè)的高產(chǎn)、優(yōu)質(zhì)、低消耗而服務(wù)的一門學(xué)科。隨著農(nóng)業(yè)科學(xué)技術(shù)的飛速發(fā)展,我國(guó)農(nóng)業(yè)已進(jìn)入了一個(gè)高產(chǎn)、優(yōu)質(zhì)、高效、生態(tài)、安全為發(fā)展方向的新階段,農(nóng)業(yè)對(duì)氣象服務(wù)提出了更高的要求,迫切需要農(nóng)業(yè)氣象為現(xiàn)代農(nóng)業(yè)的發(fā)展提供時(shí)效更快、內(nèi)容更多、水平更高的、針對(duì)性更強(qiáng)的服務(wù)產(chǎn)品。然而,當(dāng)前的農(nóng)業(yè)氣象觀測(cè)技術(shù)手段、時(shí)效遠(yuǎn)不能滿足現(xiàn)代農(nóng)業(yè)氣象業(yè)務(wù)和服務(wù)發(fā)展需求[1]。
內(nèi)蒙古自治區(qū)幅員遼闊,有豐富的氣候資源與土地資源,農(nóng)作物種植多樣化,是我國(guó)農(nóng)業(yè)生產(chǎn)大省。農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)包含作物生長(zhǎng)發(fā)育、天然牧草生長(zhǎng)狀況、自然物候、土壤水分等觀測(cè)內(nèi)容,是農(nóng)業(yè)氣象的基礎(chǔ)。通過(guò)農(nóng)業(yè)氣象觀測(cè)可以鑒定農(nóng)業(yè)氣象條件對(duì)作物生長(zhǎng)發(fā)育和產(chǎn)量形成以及品質(zhì)影響,為農(nóng)業(yè)氣象情報(bào)、預(yù)報(bào),以及農(nóng)作物的氣候條件評(píng)價(jià)等提供理論依據(jù),為高產(chǎn)、優(yōu)質(zhì)、高效的農(nóng)業(yè)生產(chǎn)提供服務(wù)。因此對(duì)農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)進(jìn)行質(zhì)量控制十分有必要。
目前在農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)質(zhì)量控制過(guò)程中,主要由農(nóng)業(yè)氣象資料審核員依托AgMODOS(農(nóng)業(yè)氣象測(cè)報(bào)業(yè)務(wù)系統(tǒng))軟件,每年對(duì)各臺(tái)站上傳的C文件[2]進(jìn)行集中審核。上述質(zhì)量控制過(guò)程不僅時(shí)效性差,而且耗費(fèi)時(shí)間多,不能及時(shí)做到農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)質(zhì)量控制,增加了工作量。為有效解決上述問(wèn)題,推進(jìn)觀測(cè)自動(dòng)化觀測(cè)進(jìn)程與現(xiàn)行業(yè)務(wù)流程相適應(yīng),完成觀測(cè)業(yè)務(wù)轉(zhuǎn)型,因此有必要開發(fā)一個(gè)高精度、高時(shí)效性的自動(dòng)數(shù)據(jù)質(zhì)量控制系統(tǒng)。
農(nóng)業(yè)氣象數(shù)據(jù)自動(dòng)質(zhì)量控制系統(tǒng)基于CIMISS數(shù)據(jù)環(huán)境,通過(guò)獲取CIMISS數(shù)據(jù)庫(kù)中由各臺(tái)站上傳的農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù),按照《農(nóng)業(yè)氣象觀測(cè)規(guī)范》[3](后簡(jiǎn)稱《規(guī)范》)建立和優(yōu)選農(nóng)業(yè)氣象數(shù)據(jù)質(zhì)量控制方法,開展對(duì)全區(qū)29個(gè)農(nóng)業(yè)氣象觀測(cè)站所觀測(cè)的牧草發(fā)育期、牧草生長(zhǎng)高度、牧草產(chǎn)量、牧草蓋度、作物生長(zhǎng)發(fā)育期、干物質(zhì)與葉面積測(cè)定、灌漿速度等數(shù)據(jù)的質(zhì)量控制,開發(fā)自動(dòng)質(zhì)量控制系統(tǒng)并將質(zhì)控后的疑誤信息通過(guò)推送至臺(tái)站,實(shí)現(xiàn)疑誤數(shù)據(jù)及時(shí)處理與更正。
農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)質(zhì)量控制系統(tǒng)邏輯結(jié)構(gòu)上可分為基礎(chǔ)層、數(shù)據(jù)層以及應(yīng)用層3層(圖1)?;A(chǔ)層主要提供農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)質(zhì)量控制系統(tǒng)開發(fā)運(yùn)行環(huán)境、CIMISS中的Oracle數(shù)據(jù)庫(kù)及基于Python開發(fā)的相關(guān)質(zhì)量控制方法。數(shù)據(jù)層主要處理牧草發(fā)育期、牧草生長(zhǎng)高度、牧草產(chǎn)量、牧草蓋度、作物生長(zhǎng)發(fā)育期、干物質(zhì)與葉面積測(cè)定、灌漿速度等農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù),采用Oracle關(guān)系型數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)和管理。應(yīng)用層是與省級(jí)數(shù)據(jù)處理人員與臺(tái)站人員進(jìn)行業(yè)務(wù)交互的平臺(tái),MUSIC接口為對(duì)外數(shù)據(jù)服務(wù)的統(tǒng)一接口。
圖1 農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)質(zhì)量控制系統(tǒng)總體架構(gòu)
農(nóng)業(yè)氣象數(shù)據(jù)自動(dòng)質(zhì)量控制系統(tǒng)采用Python語(yǔ)言進(jìn)行開發(fā),基于Orcale數(shù)據(jù)庫(kù)管理系統(tǒng)對(duì)本系統(tǒng)中的數(shù)據(jù)持久化進(jìn)行操作。
Python由荷蘭數(shù)學(xué)和計(jì)算機(jī)科學(xué)研究學(xué)會(huì)的Guido van Rossum于1990年代初設(shè)計(jì),作為一門叫做ABC語(yǔ)言的替代品。由于其具有簡(jiǎn)單易學(xué)、用途廣泛、可移至性以及可擴(kuò)展性、可擴(kuò)充性等優(yōu)點(diǎn),Python提供了高效的高級(jí)數(shù)據(jù)結(jié)構(gòu),還能簡(jiǎn)單有效地面向?qū)ο缶幊?。Python語(yǔ)法和動(dòng)態(tài)類型,以及解釋型語(yǔ)言的本質(zhì),使它成為多數(shù)平臺(tái)上寫腳本和快速開發(fā)應(yīng)用的編程語(yǔ)言,隨著版本的不斷更新和語(yǔ)言新功能的添加,逐漸被用于獨(dú)立的、大型項(xiàng)目的開發(fā)。
在對(duì)數(shù)據(jù)進(jìn)行質(zhì)量控制的過(guò)程中,隨著質(zhì)量控制進(jìn)程的進(jìn)行,需要不斷地對(duì)被檢數(shù)據(jù)設(shè)置或修改質(zhì)量控制碼,簡(jiǎn)稱QC碼。QC碼的規(guī)定如下,見(jiàn)表1。
表1 質(zhì)量控制碼規(guī)定
對(duì)AgoMDOS上傳的農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)采用完整性檢查、數(shù)據(jù)小數(shù)位檢查、值域檢查、內(nèi)部一致性檢查[4,5]。農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)對(duì)應(yīng)的要素表見(jiàn)《規(guī)范》發(fā)育期觀測(cè)部分。表2給出了農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)中各要素實(shí)施的檢查項(xiàng)目,圖2給出了數(shù)據(jù)處理和質(zhì)量控制流程圖。
表2 快速質(zhì)量控制對(duì)報(bào)文數(shù)據(jù)中各要素實(shí)施的檢查步驟
圖2 農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)質(zhì)量控制流程圖
作物部分質(zhì)量控制對(duì)象包含作物生長(zhǎng)發(fā)育期、干物質(zhì)與葉面積測(cè)定、灌漿速度共三張數(shù)據(jù)表。牧草部分質(zhì)量控制對(duì)象包含牧草發(fā)育期、牧草生長(zhǎng)高度、牧草產(chǎn)量、牧草蓋度共4張數(shù)據(jù)表。對(duì)上述農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)主要進(jìn)行完整性檢查、數(shù)據(jù)小數(shù)位檢查、值域檢查以及內(nèi)部一致性檢查。
3.2.1 完整性檢查。完整性檢查指對(duì)原始觀測(cè)數(shù)據(jù)的種類、項(xiàng)目進(jìn)行檢查,以確保觀測(cè)數(shù)據(jù)完整無(wú)遺漏。
對(duì)于作物部分的觀測(cè)數(shù)據(jù),完整性檢查應(yīng)包括作物觀測(cè)基礎(chǔ)數(shù)據(jù)、作物發(fā)育期觀測(cè)數(shù)據(jù)、作物密度觀測(cè)數(shù)據(jù)、作物葉面積與干物質(zhì)質(zhì)量觀測(cè)數(shù)據(jù)以及灌漿速度觀測(cè)數(shù)據(jù)。其中作物觀測(cè)基礎(chǔ)數(shù)據(jù)包括:農(nóng)業(yè)氣象觀測(cè)臺(tái)站名稱、農(nóng)業(yè)氣象觀測(cè)臺(tái)站號(hào)、觀測(cè)作物名稱、觀測(cè)作物品種名稱、觀測(cè)作物成熟年份。作物葉面積和干物質(zhì)重量觀測(cè)包括作物名稱、旬內(nèi)作物發(fā)育名稱、生長(zhǎng)率、含水率、葉面積指數(shù)。灌漿速度觀測(cè)包括作物名稱、含水率、千粒重。各類作物的發(fā)育期觀測(cè)要求及觀測(cè)項(xiàng)目見(jiàn)《規(guī)范》發(fā)育期觀測(cè)部分。作物密度觀測(cè)項(xiàng)目及觀測(cè)時(shí)間見(jiàn)《規(guī)范》生長(zhǎng)狀況測(cè)定部分。對(duì)于牧草部分的觀測(cè)數(shù)據(jù),完整性檢查應(yīng)包括牧草發(fā)育期觀測(cè)數(shù)據(jù)、牧草生長(zhǎng)高度觀測(cè)數(shù)據(jù)、牧草產(chǎn)量觀測(cè)數(shù)據(jù)、牧草蓋度觀測(cè)數(shù)據(jù)。其中牧草發(fā)育期觀測(cè)數(shù)據(jù)應(yīng)包括牧業(yè)氣象觀測(cè)臺(tái)站名稱、牧業(yè)氣象觀測(cè)臺(tái)站號(hào)、(動(dòng))物名稱/牧草名稱、旬內(nèi)作物發(fā)育期名稱、發(fā)育期百分率。牧草生長(zhǎng)高度觀測(cè)數(shù)據(jù)應(yīng)包括牧草名稱、植(動(dòng))物名稱/牧草名稱、植株高度。牧草產(chǎn)量觀測(cè)數(shù)據(jù)應(yīng)包括牧草名稱、植(動(dòng))物名稱/牧草名稱、干重、鮮重、干鮮比(計(jì)算方法為干重/鮮重)×100%。牧草蓋度觀測(cè)數(shù)據(jù)應(yīng)包括覆蓋度、草層狀況評(píng)定、采食率、采食度。
根據(jù)《規(guī)范》中要求的觀測(cè)項(xiàng)目無(wú)相應(yīng)觀測(cè)值、調(diào)查值或記載值的為缺測(cè)數(shù)據(jù)時(shí),賦質(zhì)控碼為8,不再作為后續(xù)質(zhì)量控制步驟中的質(zhì)量控制對(duì)象或參考數(shù)據(jù),并作為疑誤數(shù)據(jù)及時(shí)告知臺(tái)站進(jìn)行修正或補(bǔ)發(fā)。否則賦為質(zhì)控碼0,進(jìn)入下一步檢查。
3.2.2 數(shù)據(jù)小數(shù)位檢查?!兑?guī)范》中明確要求了各類觀測(cè)要素的小數(shù)位,按照《規(guī)范》中附錄D中規(guī)定對(duì)主要作物觀測(cè)要素值的小數(shù)位進(jìn)行檢查,對(duì)于小數(shù)位不正確的數(shù)據(jù),質(zhì)控碼置為2,標(biāo)記為錯(cuò)誤數(shù)據(jù)并告知臺(tái)站進(jìn)行修改。
3.2.3 數(shù)據(jù)值域檢查。值域檢查指對(duì)農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)進(jìn)行氣候?qū)W、生態(tài)學(xué)的閾值檢查。在《規(guī)范》中明確了各類觀測(cè)作物以及牧草的閾值范圍,對(duì)于超出閾值范圍的觀測(cè)值,系統(tǒng)將該條記錄的質(zhì)控碼置為2,并反饋臺(tái)站進(jìn)行數(shù)據(jù)修正。具體質(zhì)控方法如下:
屬于下列值域范圍的數(shù)據(jù)為錯(cuò)誤數(shù)據(jù):(1)作物生長(zhǎng)發(fā)育普遍期生長(zhǎng)高度大于其上限值(主要作物各發(fā)育期生長(zhǎng)高度最大值見(jiàn)《規(guī)范》中附錄E);(2)作物生長(zhǎng)發(fā)育普遍期密度值大于其上限值(主要作物各發(fā)育期密度最大值見(jiàn)《規(guī)范》中附錄F);(3)作物生長(zhǎng)狀況評(píng)定記錄不為“1”,“2”,“3”;(4)草層狀況評(píng)定記錄不為“1”,“2”,“3”,“4”,“5”。
屬于下列值域范圍的數(shù)據(jù)為可疑數(shù)據(jù):(1)作物各發(fā)育期生長(zhǎng)高度值大于其最大值而小于其上限值(主要作物各發(fā)育期生長(zhǎng)高度最大值見(jiàn)《規(guī)范》中附錄E);(2)作物各發(fā)育普遍期密度值大于其最大觀測(cè)值而小于其上限值(主要作物各發(fā)育期密度最大值見(jiàn)《規(guī)范》中附錄F);除a),b)所列要素之外暫不做值域檢查。
3.2.4 內(nèi)部一致性檢查。內(nèi)部一致性指同一時(shí)間觀測(cè)的農(nóng)業(yè)氣象要素記錄之間的關(guān)系必須符合一定規(guī)律的檢查。農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)未通過(guò)以下一致性檢查時(shí),相應(yīng)數(shù)據(jù)為可疑數(shù)據(jù),質(zhì)控碼置為1,具體質(zhì)控方法如下:(1)前一發(fā)育期觀測(cè)日期在后一發(fā)育期觀測(cè)日期之前;(2)前一發(fā)育植株生長(zhǎng)高度小于或等于后一發(fā)育期植株生長(zhǎng)高度。
針對(duì)于文件上傳不及時(shí)、不規(guī)范出現(xiàn)的上報(bào)文件不完整、農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)審核不及時(shí)等情況,本文以Python為開發(fā)工具,基于CIMISS數(shù)據(jù)環(huán)境,開發(fā)并建立了一套農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)自動(dòng)質(zhì)量控制系統(tǒng),該系統(tǒng)提高了農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù)審核效率,極大地減小了省級(jí)資料審核人員的工作負(fù)擔(dān),并且對(duì)于各單位的用戶來(lái)說(shuō)可以及時(shí)獲取經(jīng)過(guò)質(zhì)量控制后的農(nóng)業(yè)氣象觀測(cè)數(shù)據(jù),這對(duì)于提高農(nóng)業(yè)生產(chǎn),指導(dǎo)農(nóng)事活動(dòng)具有重要意義。
本文開發(fā)的質(zhì)量控制系統(tǒng)目前僅針對(duì)于農(nóng)業(yè)氣象中的作物與牧草兩部分內(nèi)容進(jìn)行了質(zhì)量控制,對(duì)于其他觀測(cè)數(shù)據(jù)例如自然物候觀測(cè)、農(nóng)業(yè)氣象災(zāi)害觀測(cè)等內(nèi)容暫時(shí)未進(jìn)行自動(dòng)質(zhì)量控制。本文所采取的質(zhì)量控制方法目前只有完整性檢查、數(shù)據(jù)小數(shù)位檢查、數(shù)據(jù)值域檢查、內(nèi)部一致性檢查共4種方法,后續(xù)應(yīng)該考慮加入更多方法進(jìn)行數(shù)據(jù)質(zhì)量控制進(jìn)行優(yōu)化。