【摘 要】本文通過比較GrADS和NCL兩個大氣科學專業(yè)常用軟件的功能,結合云南大學大氣科學系的教學軟、硬件條件,發(fā)現(xiàn)將NCL用于“診斷分析與繪圖”課程的教學能提高大氣科學專業(yè)本科生的數(shù)據(jù)分析和繪圖能力,為其開展科研立項、創(chuàng)新實驗及畢業(yè)論文提供更有力的技術保障。
【關鍵詞】診斷分析與繪圖 GrADS NCL 教學軟件 更新
【中圖分類號】G642 【文獻標識碼】A 【文章編號】1674-4810(2014)01-0069-02
隨著計算機性能的日益提高和專業(yè)數(shù)據(jù)種類的日趨豐富,計算機繪圖軟件系統(tǒng)成為大氣科學科研及業(yè)務工作中不可或缺的工具,而功能強大的繪圖軟件能使科研和業(yè)務工作事半功倍。診斷分析與繪圖是云南大學大氣科學專業(yè)本科教學計劃中重要的實踐類課程。學生通過該門課程的學習,了解大氣科學常用數(shù)據(jù)的類型和格式,掌握對數(shù)據(jù)進行分析、顯示的能力,并在本科生科研立項、創(chuàng)新實驗及畢業(yè)論文設計等環(huán)節(jié)中應用所學知識解決科學問題,以豐富的圖形展示研究結論。
本文結合大氣科學系教學的軟、硬件條件,對比兩個常用專業(yè)繪圖軟件,擬選取教學效果更好的工具用于教學,以切實提高學生解決科研問題的能力。
一 GrADS和NCL簡介
GrADS(The Grid Analysis and Display System)是由美國馬里蘭大學氣象系Brian E. Doty開發(fā)的氣象數(shù)據(jù)分析顯示軟件。該軟件通過其集成環(huán)境,可以對氣象數(shù)據(jù)進行讀取、加工、圖形顯示和打印輸出。云南大學大氣科學專業(yè)自2003年開設診斷分析與繪圖課程以來,一直使用GrADS作為教學軟件,目前最新版本為2.0.2版。
NCL(The NCAR Command Language)是美國國家自然科學基金資助,國家大氣研究中心(NCAR)計算與信息系統(tǒng)實驗室開發(fā)并專門用于科學數(shù)據(jù)處理和數(shù)據(jù)可視化的解釋型語言。目前最新版本是2013年2月7日發(fā)布的6.1.2版。
二 GrADS與NCL的功能比較
由以上簡介可以看出,GrADS和NCL兩個軟件都是由大氣科學研究人員開發(fā),主要用于大氣科學專業(yè)數(shù)據(jù)可視化的軟件。從使用上來說它們之間有很多相同點:(1)軟件安裝文件均可從各自的官方網(wǎng)站免費下載,安裝后均可在各自的集成環(huán)境下以命令行的方式交互操作,或編寫腳本文件解釋執(zhí)行;(2)具有各自獨有的編程語法,而且有很多類同于現(xiàn)代編程語言的特性,包括變量、運算符、表達式、條件語句、循環(huán)、函數(shù)與過程;(3)支持大氣科學常用數(shù)據(jù)文件格式,能輸出多種類型的圖形;(4)具有大氣科學特殊物理量的計算函數(shù);(5)各個大氣科學學科的專業(yè)論壇中都有大量用戶對兩款軟件展開討論,并有很多用戶發(fā)表使用經(jīng)驗,分享數(shù)據(jù)資源。這些共同點保證了兩個軟件均可方便地用于地學數(shù)據(jù),特別是大氣科學專業(yè)數(shù)據(jù)的分析和可視化。
在上述共同點的基礎上,兩個軟件在所需運行環(huán)境、支持的數(shù)據(jù)類型、圖形顯示設置和內(nèi)建函數(shù)功能等方面又有著各自的特點。
1.運行環(huán)境
GrADS和NCL都是基于Linux系統(tǒng)開發(fā)的軟件,可以在Linux和MacOSX系統(tǒng)下運行。如需在Windows系統(tǒng)下運行,則要額外安裝Cygwin Unix模擬環(huán)境。
而同在馬里蘭大學的Daniel da Silva為增加GrADS的可拓展性,基于GrADS開發(fā)了OpenGrADS。OpenGrADS是能在Windows系統(tǒng)下直接安裝運行GrADS版本,開發(fā)了為高級用戶添加自定義命令和函數(shù)的框架,允許用戶添加自己的動態(tài)鏈接插件,還提供了與其他腳本語言,如IDL、Malab、Perl和Python的接口。
面對國內(nèi)Windows用戶居多的實際情況,OpenGrADS的出現(xiàn)對于GrADS的推廣起到了非常積極的作用。不論是
經(jīng)驗豐富的研究人員,還是大氣科學專業(yè)的初學者,都可以在學習GrADS的基本操作和語法后,于熟悉的Windows環(huán)境中完成數(shù)據(jù)分析和顯示的任務。如果使用NCL,在學習NCL的操作和語法之前,還必須具備Linux系統(tǒng)的相關知識,否則連程序安裝都無法完成。
2.支持的數(shù)據(jù)類型
最新版的GrADS和NCL能讀寫二進制、ASSII、標準和第4版NetCDF(Network Common Data Form)數(shù)據(jù);讀入第1、2版GRIB(GRIdded Binary)、HDF4~SDS(Hierarchical Data Format~Scientific Data Set)和第5版HDF5數(shù)據(jù)。
兩款軟件都能處理大氣科學常用的數(shù)據(jù)格式,而對其他一些矢量數(shù)據(jù)的支持則各有側(cè)重。GrADS支持創(chuàng)建GeoTIFF、用于在地球瀏覽器中顯示地理數(shù)據(jù)的KML(Keyhole Markup Language)以及美國環(huán)境系統(tǒng)研究所公司(ESRI)開發(fā)的空間數(shù)據(jù)開放格式Shapefile。NCL可創(chuàng)建netCDF3格式的數(shù)據(jù),另外能讀入Shapefile、MapInfo、GMT(Generic Mapping Tools)、TIGRE等文件。
在數(shù)據(jù)支持方面,不得不提到NCL的一個大優(yōu)勢:可以通過ncl_convert2nc一個命令將GRIB1,GRIB2,HDF4/5,HDF~EOS2/5或Shapefile數(shù)據(jù)方便地轉(zhuǎn)換成更易使用的netCDF格式。這體現(xiàn)了NCL在數(shù)據(jù)輸入輸出上的靈活性,為不熟悉上述幾種數(shù)據(jù)格式的學者帶來了極大的便利。
3.圖形顯示功能
GrADS和NCL的主要功能之一是圖形顯示。那么圖形顯示類型是否豐富,就決定了軟件是否能滿足研究者展示科研結果的需要。兩款軟件都能繪制折線圖、直方圖、等值線圖、填色圖、散點圖、流線圖、風矢量圖等常用圖形,并且支持不同圖形類型的疊加顯示,都能滿足使用者的基本需求。
但在圖形輸出類型方面,NCL比GrADS有更好的表現(xiàn)。NCL除支持上述圖形類型外,還可以繪制箱線圖、軌跡圖等大氣科學專業(yè)領域也經(jīng)常使用的圖形。對于WRF數(shù)值模式結果這樣的特定數(shù)據(jù),還可以輸出三維圖形,表現(xiàn)物理量在三維空間上的分布和變化,這也是NCL的一大亮點。
此外,由于NCL在圖形設置方面有很多的屬性參數(shù)可以設置,給用戶在坐標軸、線條、調(diào)色板、地圖投影方式等諸多方面有更多的選擇,最終能得到更令人滿意的圖形顯示效果。當然,滿意的圖形效果是以犧牲部分易用性為代價的。繪制同類型的圖形,GrADS只有數(shù)條設置語句,而NCL可能會有十多個屬性需要設置。這也是為什么通常NCL腳本文件比GrADS腳本文件長的原因之一。
4.內(nèi)建函數(shù)功能
數(shù)據(jù)分析是這兩個軟件的另一重要功能,實現(xiàn)這一功能通常都是由軟件內(nèi)建函數(shù)來完成的。GrADS和NCL都有數(shù)學函數(shù)、分析統(tǒng)計函數(shù)、物理量計算函數(shù)等幾大類內(nèi)建函數(shù)。
從最常用的插值和統(tǒng)計分析應用來看,NCL的功能更強大。NCL有多個插值函數(shù),不但能完成不同分辨率空間網(wǎng)格的插值,還有線性插值、雙線性插值、樣條插值等函數(shù),甚至能進行地球坐標和笛卡爾坐標的轉(zhuǎn)換;而GrADS的插值功能僅限于不同空間分辨率的插值,而且這一功能的實現(xiàn)還是通過用戶自定義函數(shù)來實現(xiàn)的。另一方面,NCL 的內(nèi)建函數(shù)還能進行經(jīng)驗正交分解、奇異值分解、累計分布函數(shù)等常用統(tǒng)計分析方法的計算,這為研究者們提供了極大的方便。熟練使用NCL一個軟件,即可完成從數(shù)據(jù)分析到圖形顯示的全部工作內(nèi)容,若使用GrADS,則需借助Fortran或Matlab等軟件來完成復雜的數(shù)據(jù)分析工作。
通過上述比較,我們發(fā)現(xiàn)GrADS和NCL用做教學軟件各有優(yōu)缺點,但就提升學生實踐能力這一目的來說,把NCL用于教學能直接提高學生的數(shù)據(jù)分析能力,以便學生把更多的時間用于科研思路培養(yǎng)上,這對本科學生在專業(yè)方向上的長遠發(fā)展是更為有利的。
三 選用NCL的教學條件
自2003年大氣科學系開設診斷分析與繪圖課程以來,我們一直是使用GrADS軟件進行教學,學生完成課程學習后能熟練使用GrADS進行數(shù)據(jù)讀取、物理量計算以及圖形繪制。在進行創(chuàng)新實驗和畢業(yè)論文設計時,往往還要學習Matlab編程,才能完成科研數(shù)據(jù)分析的工作。
近年來,大氣科學系的教學軟、硬件環(huán)境均有較大改善,這使得選取NCL用于教學成為可能。鑒于大氣科學學科中數(shù)值模式的應用越來越普遍,而多數(shù)數(shù)值模式都是基于Linux系統(tǒng)開發(fā)的,2006年修訂本科生培養(yǎng)方案時,在三年級上學期增開了Linux操作系統(tǒng)課程,其目的是讓學生了解Linux系統(tǒng),并掌握該系統(tǒng)的基本操作。這門課程的開設為在三年級下學期診斷分析與繪圖課程中使用NCL進行教學鋪平了道路,這是軟件環(huán)境方面的改善。學生通過學習“Linux操作系統(tǒng)”課程,消除了對NCL的運行環(huán)境的陌生感,操作系統(tǒng)方面的障礙不復存在。在學習使用NCL的過程中,又鞏固、加深對Linux系統(tǒng)的理解,為以后安裝調(diào)試數(shù)值模式奠定堅實的基礎。
在硬件環(huán)境方面,2006年大氣科學系購進一套曙光計算機集群系統(tǒng)。經(jīng)過后續(xù)兩次擴容,現(xiàn)有集群系統(tǒng)已具有21個計算節(jié)點,磁盤陣列容量為21T,基本滿足教學科研需要。學生申請賬號后,從機房電腦客戶端登錄集群,即可方便地在集群上使用NCL完成教學實驗項目,開展科研工作,為NCL用于教學提供了硬件保障。
四 結論
在對兩款軟件功能進行對比,并結合實際教學條件綜合分析后發(fā)現(xiàn),將NCL用于“診斷分析與繪圖”課程教學可行,并具有一定的優(yōu)越性。通過合理安排教學內(nèi)容,配套適合的實驗項目,能更好地實現(xiàn)本門課程的教學目的,切實提高大氣科學系本科生在科學研究方面的實踐技能。
參考文獻
[1]馬紅云、李麗平. GrADS軟件基礎教程[M].北京:氣象出版社,2011
[2]方燕紅、龔光彩、楊朝暉等.本科實驗教學的改革與實踐[J].高等理科教育,2004(2):105~114
[3]于化東.加強實踐教學環(huán)節(jié) 提高大學生創(chuàng)新實踐能力[J].中國高等教育,2010(21):23~25