文/王銘實 蔣金雄 席家駒
FY-3D于2017年11月發射后,與FY-3C組網,形式上下午星觀測模式,進一步提高大氣探測精度,增強溫室氣體監測、空間環境綜合探測和氣象遙感探測能力,為國家氣象、氣候研究、綜合防災減災和“一帶一路”建設等提供重要數據支撐。FY-3D地面應用系統是一個實時、高時效、多功能的遙感衛星數據處理業務運行系統,由十個技術系統組成。FY-3D產品生成系統(PGS)作為FY-3D衛星地面應用系統中核心主線業務系統之一,主要的目標是基于FY-3D衛星所攜帶的紅外高光譜大氣探測儀(HIRAS)、微波溫度計(MWTS-2)、微波濕度計(MWHS-2)、中分光譜成像儀II型(MERSI-2)、微波成像儀(MWRI)、高光譜溫室氣體監測儀(GAS)、全球導航衛星掩星探測儀(GNOS)、廣角極光成像儀(WAI)、電離層光度計(IPM)和空間環境監測器(SEM)觀測的L1數據,結合氣象觀測、海洋觀測、數值預報、地物光譜、GIS等輔助數據,綜合利用統計反演、物理反演等多種信息定量提取方法,從可見光、近紅外、紅外和微波等多個譜段資料反演生成能夠反映大氣、云、陸表、海表和空間環境等特征的各種地球物理參數產品,并根據國家相關技術標準規范要求,進行相關原型軟件的工程再造和FY-3D PGS業務應用軟件的系統集成,建設一個可對FY-3D衛星儀器的L1數據進行信息加工和提取處理的PGS業務應用軟件系統。
FY3D產品生成系統(PGS)建設以穩定性、可擴展性與可維護性、標準化與規范化為總體設計原則。

圖1:PGS軟件架構圖
PGS是FY3D地面應用系統的主線業務系統,其上游是數據預處理系統,下游是產品存檔系統,數據產品直接為天氣預報、氣候預測、自然災害和環境監測、氣候變化研究提供服務和支持。PGS的穩定性直接影響到整個地面應用系統業務的完整性和業務服務的時效性。因此保證PGS的整體穩定性是工程的建設原則。
作為我國新一代極軌氣象衛星業務衛星,FY3D搭載了許多新的載荷儀器,需要各類輔助數據,綜合利用統計反演、物理反演等多種信息定量提取方法,生成各種地球物理參數產品,涉及的產品種類繁多,處理算法復雜。PGS一方面作為業務運行需要,提供自動化的產品生成處理功能,另一方面,也應提供方便的可離線運行的操作接口,便于算法改進和實驗分析。因此,PGS各產品子模塊的設計應將可操作性和擴展性作為建設原則,便于處理算法的升級和擴展。
為了確保PGS業務應用軟的質量能夠滿足業務系統的要求,所有進入業務系統的產品生成處理系統應用軟件都必須嚴格按照應用系統工程兩總系統確定的軟件工程方法、過程和規范組織開發和交付包括文檔和計算機源程序在內的軟件產品,標準化是系統建設的基礎,也是與其它分系統兼容和進一步擴充的根本保證。PGS在FY3地面應與系統的總體建設思路下制定或遵循編碼、命名、規格、接口等方面的規范,確保選擇的方法、技術、工具、設備不僅要保證具有先進性,而且要保證技術方向的正確性和標準化趨勢,使系統滿足應用不斷發展的需求。
FY3D PGS的軟件架構自上至下包括業務層、處理層、通用組件層和數據層。如圖1所示。
3.1.1 業務層
業務層為PGS提供了統一的調度管理框架,約定了PGS各處理模塊需要遵循的接口標準,由CNS系統的COSS業務調度軟件實現。業務層是PGS高度自動化運行和并發調度的控制中樞,負責根據約定的調度規則,定時啟動相應的處理模塊,完成5分鐘產品、弧段產品、日產品、中國區產品以及候旬月年產品的生成處理。PGS以可執行模塊的方式,接受COSS系統的調度,根據調度執行參數,調用COSS系統提供的公共服務,獲取運行所需的輸入輸出文件物理名,記錄處理過程的日志信息。
3.1.2 處理層
PGS的處理層由多個獨立的可執行處理模塊組成,是資料處理的作業單元。根據需求分類方式,將處理層的處理模塊分為11個處理分系統,包括:MERSI產品生成處理分系統;MWRI產品生成處理分系統;VASS產品生成處理分系統;GAS產品生成分系統;環境監測器SEM/WAI/IPM產品生成分系統;GNOS產品生成分系統;多源產品融合生成分系統;產品生成公共處理和輔助處理分系統;中國區域產品生成分系統;圖像產品生成分系統;產品生成離線軟件包分系統

圖2:PGS總體業務流程模型
各產品生成處理分系統內根據生成遙感產品的類型可包括多個產品生成模塊,產品生成模塊除產品生成離線軟件包模塊外均與COSS調度的作業單元一一對應,遵循統一的模塊接口標準,產品生成離線軟件包獨立于COSS調度之外,不用COSS調度,可離線執行。
3.1.3 通用組件層
通過對PGS功能的細化分析,從中抽象提取出多種基礎的功能組件形成了通用組件服務層。這些功能組件以操作包的形式為PGS的處理模塊提供統一的功能支持。PGS公用一套通用組件,處理層的各處理模塊依據自身需要對通用組件層的功能包進行定制使用。PGS使用的通用組件提供兩大類型功能:
(1)與業務環境相關的公共服務,日志公共服務和文件名轉換公共服務,是與業務環境相關的公共服務,是PGS在業務運行中記錄運行日志、獲取運行所需輸入和輸出文件物理名的通用服務接口;
(2)與業務環境無關的通用工具組件,與業務環境無關的通用工具組件包括HDF5文件讀寫、JPG文件輸出、科學計算(求極值、插值、排序、方差等)等功能,可在PGS實現業務環境中使用,也可以獨立部署在離線環境使用。
3.1.4 數據層
數據層提供了PGS數據存儲管理的平臺,是PGS與風三地面應用系統其它系統進行數據交互的平臺。數據層存儲了PGS需要進行處理的各載荷L1級數據和處理參數文件,同時也存放PGS處理生成的反演產品、日產品、中國區產品和候旬月年產品。
PGS由COSS系統依照業務配置文件進行業務流程的驅動和調度,調度的作業單元為PGS的各產品生成模塊。業務流程以時間和資源均衡最優為原則,以業務功能相互關系為約束進行設計。總體業務流程示意圖,如圖2所示。
FY3D PGS業務流程按照調度啟動的時機可分為實時業務流程和定時業務流程。下面分別闡述這兩種主要業務流程:
3.2.1 實時業務流程
PGS的實時業務流程是數據到達后就立便立即啟動處理的業務流程,包括五分鐘產品、弧段產品處理業務。
對于MERSI、HIRAS處理分系統,每五分鐘就會產生新的L1數據,分系統內部各產品模塊的處理時間、以及該五分鐘段對應的全部反演產品生產時間不能超過5分鐘。GNOS、MWRI、MWHS、MWTS、GAS、WAI、IPM產品處理以弧段為單位,各產品處理應在下一弧段數據到達之前完成。
各分系統內部的部分反演產品處理需要以其他反演產品作為輸入,如MERSI陸上大氣可降水反演處理需要讀取MERSI云檢測產品、MERSI陸表反射比反演模塊又需要讀取MERIS陸上大氣可降水反演產品,各分系統實時流程編排時需要考慮各模塊之間的這種產品約束關系。
同時,考慮系統的負載均衡,在流程編排之前,需要估算各處理模塊最大的資源消耗量,根據資源消耗估計值制定分系統內部處理模塊的并發策略。
3.2.2 定時業務流程
PGS的定時業務流程在每天、每五天、每10天、每月、每年的固定時刻啟動,包括日產品、候產品、旬產品、月產品和年產品處理業務。
在日產品處理業務中,需要對實時生成的反演產品進行投影處理,MERSI處理分系統的日產品處理數據量大,為提高處理時效,在進行日產品處理之前,需要先生成全天的投影查找表文件,各日產品子模塊讀取投影查找表,進行數據投影和產品輸出。其它分系統的日產品是直接反演文件進行投影處理。

圖3:FY-3D/MERSI-2產品生成分系統實時處理數據流圖

圖4:FY-3D/MERSI-2月產品全球拼圖
PGS的涉及到的大氣、云、陸表、海表和空間環境等特征的各種地球物理參數產品的反演算法是基于氣象科學家多年的研究與積累,經過反復分析、論證、比對、優化而確定的,其中絕大多數算法已相對成熟,并配有離線版的算法原型程序。PGS的建設要求之一,便是要基于這些成熟的原型算法,在業務系統中無差異地實現原型算法功能,保證業務軟件與原型程序執行結果的一致性。在確保產品精度的前提下,同時需要業務系統高效、穩定、可靠的運行。在FY-3D PGS中進行時效性、可用性、健壯性、可擴展性等技術優化及改進,以滿足業務軟件運行需求,具體包括:
PGS需要不間斷地處理10種載荷儀器L1級數據生成各類能夠反映大氣、云、陸表、海表和空間環境等特征的各種地球物理參數產品,數據量大,產品種類多,且需實時處理完成。為滿足系統時效性要求,采用(1)無關聯內容采用多線程并行計算,在對數據處理的過程中,將無約束關系的計算部分設計為多線程模式,并行處理,充分利用PGS多CPU資源,制定合理的并發數目,達到最高的計算性能;(2)多產品生成器并發執行,估算各產品生成器模塊的資源占用情況,以負載均衡為原則設計并發執行的產品生成器,與COSS業務軟件協調制定最優的調度策略。
PGS的生產的各級產品需要提供給后期用戶用于天氣預報、氣候預測、自然災害和環境監測、氣候變化研究等服務,產品結果的可用性是PGS的關鍵要求之一。原型算法的適用范圍一般都具有閾值、前提條件的限定,PGS各產品子模塊需要根據衛星實際觀測結果和觀測范圍,確定原型算法的計算結果的可信度,以產品質量碼形式標明產品結果的可用性。
PGS屬于業務化運行軟件,業務化運行軟件的可靠性一方面是其需要具有對復雜業務環境的容錯能力,另一方面是需要保證產品計算結果的準確性和可信性。在系統設計階段,充分估計業務環境中各種可能的異常情況(如數據文件缺失、數據異常、資源申請失敗、文件操作失敗等),制定系統容錯方案,以提高模塊的健壯性,保證業務系統的長期穩定運行。包括制定統一、可識別的模塊返回碼;確定運行關鍵點;添加完備的運行日志;備份關鍵參數和配置文件等。方便操作員查看業務執行狀態,分析執行異常原因。
隨著產品生成算法的不斷改進和成熟,業務系統中的處理模塊有升級替換的需求。PGS采用模塊化方法設計,模塊接口一方面遵循業務系統約定的統一模式,另一方面要便于算法的維護和擴展。算法中涉及的計算參數、常量、模型,以及內存、線程等資源的申請方式需要以動態可配置的方式加載到業務系統中,以支持業務運行過程中對各處理模塊的維護、升級功能。
PGS需對FY3D衛星的10類載荷儀器的數據進行多種遙感產品處理,涉及到的產品算法復雜、多樣。設計采用:
(1)功能歸類與抽象,在深入理解各子模塊處理過程的基礎上,抽象出統一的模塊框架和通用功能組件,使各產品子模塊的結構設計遵循統一的結構和標準,將各子模塊中的通用部分與特殊算法部分相分離,降低各子模塊的差異性,減少重復性工作。
(2)預留可擴展接口,各產品生成處理算法有不斷升級和調整的需求。在設計階段需要考慮處理模塊有良好的可擴展性能力,將處理過程中可能發生變化的系數、參數、模型、常量、閾值等方面的內容,以配置文件方式加載到程序中;將通用函數庫、算法庫以動態加載的方式集成在模塊中,為算法調整、系統升級預留良好的擴展接口。
在FY3D日常業務系統以外,PGS設計一種離線版調度軟件+業務運行產品生成模塊包的運行方式。重點開發非COSS系統參與的離線模式下調度軟件,來適應用戶手動訂單的處理任務,能夠更方便的為用戶提供算法測試、數據重處理等服務,提高整個PGS的可測試性。
以中分辨率光譜成像儀-II(MERSI-2)產品生成分系統為例介紹分系統軟件設計,主線業務流程是以MERSI-2 L1級預處理數據以及各種輔助數據為主要的輸入數據,通過COSS調度,完成包括實時啟動的逐時間段(5分鐘)處理流程和定時啟動的日/候/旬/月/年產品生產處理流程,如圖3所示。
(1)當MERSI預處理程序生成的一個5分鐘MERSI L1文件送達PGS指定目錄后,調度系統啟動云檢測和投影查算表計算作業,云檢測結果、投影查找表文件(包括等經緯度、Hammer、極射赤面)以HDF格式寫入到共享盤陣中;
(2)各相關反演算法在軌道5分鐘1級資料(非投影資料)的基礎上,并發進行反演處理和信息提取,生成軌道5分鐘分段反演中間產品。
(1)在每日的固定時刻,由COSS將前一天生成的投影查找表準備好;
(2)各日產品模塊讀入前一天的反演軌道中間文件,結合投影查找表,對軌道5分鐘分段反演中間產品進行投影處理;
(3)按照產品對重疊區的處理原則進行重疊區處理,生成全球投影日產品,寫入磁盤。
(1)在每候/旬/月的固定時刻,由COSS啟動候/旬/月/年產品生成處理流程;
(2)候/旬/月/年產品模塊按照產品對重疊區的處理原則進行重疊區,生成候/旬/月/年產品,寫入磁盤。
PGS生成的月產品全球圖示例見圖4。
綜上所述,風云三號D星地面應用系統是一套集各類應用軟件、計算機集群、海量數據存儲等組成的龐大的復雜的衛星數據地面處理系統,產品生成系統是其中主線業務系統之一,其設計與實現過程中,需充分考慮氣象衛星數據處理、產品生成需求,與各系統間接口關系,業務系統運行可靠穩定等諸多因素。經過四顆風云三號衛星產品生成系統建設任務的迭代升級,PGS已形成較成熟的系統架構、系統組成、業務流程、模塊設計方法,能夠保障衛星業務系統高效穩定運行,生產滿足設計要求的高質量產品。