◎ 浙江大學控制科學與工程學系 趙曉東 周洪亮 張宏建
浙江省杭州市飲用水源均取自河流,80%主要來自錢塘江和東苕溪。在枯水期,隨著沿途取水量的增加,水流減緩,當水溫和營養鹽條件適合時,爆發藍藻水華的可能性大大增加。2004年7月20日至8月15日,錢塘江梅城—閘口河段出現了較為嚴重的藍藻爆發,藍藻水華屬源發性質。富春江大壩建成后,水流減緩,比其他河段相對更容易爆發藍藻。2006年8月15日,杭州余杭東苕溪(奉口段)水源地發現藍藻,直接威脅飲用水源安全。其原因是由于來源于太湖(江蘇境內)的藍藻,藍藻水華屬外源侵入性質。國內針對湖泊水華預警的研究較多,如太湖、漕湖等大型淡水湖已做過許多相關預警研究。本文結合其特點設計了針對河流的水華預警體系,其內容包括:水質指標閾值動態定義及實時展現、水華指標定義及顯示、預警模型及接口擴展,以及系統設計架構等幾個部分。
系統可分為三層:藻類預警信息發布中心、業務層、數據層。結構如圖1所示。
信息發布層即“藻類預警信息發布中心”,做為系統的最終Web展現層,直接依賴于業務處理層所提供的各項服務,并間接訪問數據提供層。用戶可以通過瀏覽器直接訪問發布的藻類預警信息,方便地獲得以授權的水質指標、預測獲得的水華發生等級、葉綠素濃度等信息。信息發布的具體展現形式通過系統的業務層實現,由相應的水質專家級管理員完成信息發布。
業務層包含了系統的幾乎所有功能的實現,它在系統中起著承上啟下的作用。業務層一方面直接與數據庫連接,擁有著對數據庫的各項操作能力;另一方面又要響應信息發布層的各種處理請求,為最終用戶提供豐富的服務。業務層還大大簡化了系統管理和維護的難度,將所有的功能模塊的實現聚集在一起使得管理員可以集中精力于此,不要關心數據提供層或者信息發布層。另外,業務層還從邏輯上隔離了信息發布層和數據層,從系統架構上就一定程度地防范了各種潛在的惡意攻擊和破壞。

圖1 系統功能結構圖

圖2 指標動態展現原理圖

圖3 藻類水華預警指標展現效果圖
數據層為系統的最底層,包括了水文數據庫、水質數據庫、地理信息數據庫、模型數據庫。各個數據庫共同為業務處理層提供了數據支持,并且信息發布層的原始數據也在這些數據庫內。數據處理層的數據來源則由業務處理層的數據錄入管理模塊掌控,可以靈活的配置為數據接口自動錄入方式或者手工錄入方式。
.NET框架是一個多語言組件開發和執行環境,它提供了一個跨語言的統一編程環境。.NET框架的目的是便于開發人員更容易地建立Web應用程序和Web服務,使得 Internet上的各應用程序之間,可以使用Web服務進行溝通。.NET框架包括兩類應用——傳統的Windows應用程序(Win Forms)和基于ASP.NET的面向Web的網絡應用程序(Web Forms)——本系統中對應了針對管理員的桌面管理程序和針對用戶的Web水質信息展現。
C#是微軟公司發布的一種面向對象的、運行于.NET框架之上的高級程序設計語言。它是微軟公司.NET框架的主角,有著極大的發展潛力。
本系統是圍繞水質監測數據進行展現和分析的河流藻類水華預警系統,故良好的數據庫設計對整個系統的正常高效運作有著重要的影響。系統采用了Microsoft SQL Server 2005這款主流的結構化數據庫產品作為數據支持平臺。除了Microsoft SQL Server 2005本身作為優秀數據庫產品的所有特性外,其與.NET框架和C#語言的編程高效性和方便性也是采用它的重要原因之一。表結構的設計符合了《中華人民共和國水利行業標準》之SL325-2005《水質數據庫表結構與標識符標準》。此符合行業標準的數據庫表設計非常便于以后與其它相關系統的集成和協同工作。
水質指標的展現為本系統最關鍵的模塊之一,此模塊能通過數據表格的方式準確地展現當前的各項水質指標,原理如圖2所示。
除了通用的幾個固定字段(測站編號、測站名稱、采樣時間)外,數據表格中的字段都是通過讀取配置文件信息的字段抽取方式定制化地展現的。用戶直接交互的對象只有Web頁面,其余的動作都是在服務器端完成的。用戶通過Web頁面向服務器發送請求,此請求沒有直接向數據庫請求數據,而是在業務層根據配置文件內的信息(展現內容)動態的修飾用戶的請求,然后根據這一定制化的請求從數據庫提取數據再經配置文件內的信息(閾值、色彩等)將原始數據進行解析美化,最終在Web頁面上呈現給用戶。管理員可以對配置文件中的信息進行配置,靈活地改變客戶端展現形式。
這種設計方式可以最大限度的提高系統的靈活性,以應對以下情況:
(1)站點不可能監測所有《水質數據庫表結構與標識符標準》內的字段對應的水質指標,對沒有數據源的指標進行展現是沒有任何意義的,通過定制配置文件內的字段信息可以屏蔽掉那些無數據源的監測指標;
(2)水質指標的項類別繁多,而用戶關心的卻往往是某幾項關鍵指標,列出每一項指標反而會造成視覺混亂影響識別,并且大量的數據請求對數據庫系統也會產生不必要的負荷。
采用字段抽取方式則可以有效的解決此上述問題。
經過預警模型和統計模型處理后獲得的藻類水華描述主要展現形式包括:葉綠素濃度、優勢藻種、水華發生概率。如圖3所示。

葉綠素濃度可通過預警模型中的機理模型直接計算獲得,可對不同藻種生物量進行同時計算,在獲得各種生物量的同時,可對各藻種的生物量進行判斷,優勢藻種的生物量相對于其它藻種具有一定的優勢,優勢藻種可能包含多種,隨著時間的不同優勢藻種也發生變化。本系統采用的方法是對各藻種生物量從大到小依次排序,首選出排在前三位的藻種,再根據三種藻種在總生物量的百分比確定是否都是優勢種。影響水華發生(上浮)概率的影響因素主要包括藻類生物量和水文條件,如風速、水流動速度等。當風速和水流速度較大時,即使藻類濃度很高,仍不會發生水華,而當風速小于3m/s時發生水華的幾率會明顯升高。
藻類水華的預警模型分為機理模型和智能模型兩部分,其中機理模型針對河流采用的是跡線法,藻類生長機理模型關系為:

A表示生物量(干重)、葉綠素a濃度; μ是總生長速率;Υ是呼吸速率;es表示內源呼吸率;m是非捕食導致的死亡率;s是沉降速率;G是由于牧食而導致的損失。

μmax是參考溫度下的最大生長速率;?(T)為溫度的變動;?(L)為光限制;?(C,P,N,Si)為營養物限制,對于營養物的限制采用李比希最小因子定律即:

機理模型的數據可直接抽取自數據庫,實現自動的藻類預警。機理模型作為主要的預警手段,可實現實時的預警,智能模型作為輔助手段以提高預測經度,常用的智能預測模型包括神經網絡,支持向量機等方法。
本文較為詳細的介紹了針對河流的藻類水華預警系統的設計方法和主要模型的實現過程。實現了水質指標、水華指標在線顯示和動態預警功能。系統具有靈活的擴展性和可維護性,為藻類預警信息系統的集成提供了較好的實際指導意義。