Python支持下最新Noah-MP陸面模式站點(diǎn)、區(qū)域模擬及可視化分析
熟悉陸表過程的主要研究內(nèi)容以及陸面模型在生態(tài)水文研究中的地位和作用;深入理解Noah-MP 5.0模型的原理,掌握Noah-MP模型(2023年最新發(fā)布的5.0版本)所需的系統(tǒng)環(huán)境與編譯環(huán)境的搭建方法及模型實(shí)踐運(yùn)行,熟悉linux系統(tǒng)操作環(huán)境及Python編程;掌握利用Python語言進(jìn)行站點(diǎn)與區(qū)域數(shù)據(jù)的處理、單站和區(qū)域的模擬、模擬結(jié)果的輸出和后續(xù)分析及可視化等方法。
本教程以老師多年研究及案例為背景,重點(diǎn)講解模型環(huán)境搭建、基于Python語言的站點(diǎn)和區(qū)域數(shù)據(jù)處理、站點(diǎn)模擬、區(qū)域模擬。區(qū)域模擬將針對全球、北美、中國等不同地區(qū)的特有數(shù)據(jù)集進(jìn)行實(shí)戰(zhàn)操作。在講解過程中老師會把多年研究積累分享給學(xué)員。
【專家】:徐教授,長期從事定量遙感、遙感數(shù)據(jù)同化、地表水熱通量轉(zhuǎn)化等相關(guān)領(lǐng)域的研究,發(fā)表多篇相關(guān)領(lǐng)域核心期刊論文,具有豐富的實(shí)踐技術(shù)經(jīng)驗(yàn)。
課程背景&Noah-MP 5.0模型介紹&模型所需環(huán)境的搭建背景介紹
陸面過程的主要研究內(nèi)容(陸表能量平衡、水循環(huán)、碳循環(huán)等),介紹陸面過程研究的重要性。

圖 1 陸面過程主要研究內(nèi)容
介紹陸面過程模型的發(fā)展歷程、基本原理、常用陸面過程模型等。

圖 2 陸面過程模型
Noah-MP 5.0模型
Noah-MP 5.0模型的發(fā)展歷史、主要模塊、模型代碼結(jié)構(gòu)等。
?模型運(yùn)行環(huán)境配置、下載與安裝模型以及配套軟件的下載
模型需要在Linux下運(yùn)行,需提前預(yù)裝Linux系統(tǒng)(推薦使用CentOS系統(tǒng),下載地址為:https://www.centos.org/download/,安裝教程可參考:https://www.runoob.com/w3cnote/vmware-install-centos7.html。運(yùn)行模型需要提前確定模型運(yùn)行環(huán)境,如系統(tǒng)使用的fortran及C編譯器類型等,為之后運(yùn)行解壓縮包下的./configure及Makefile做準(zhǔn)備。模型下載地址:https://github.com/NCAR/hrldas/tree/master/hrldas。

圖 3 下載界面
模型以及配套軟件的安裝
從虛擬機(jī)出發(fā),逐步講解Noah-MP 5.0模型運(yùn)行所需的linux環(huán)境的搭建、intel編譯器的安裝與配置、必要軟件的下載與安裝、模型構(gòu)建與編譯等內(nèi)容,細(xì)化步驟、逐指令講解。
?上機(jī)實(shí)操
跟隨課程,完成相關(guān)軟件和linux系統(tǒng)的配置,逐行運(yùn)行指令,直至hrldas模型搭建編譯完成。熟悉linux系統(tǒng)環(huán)境,掌握終端(指令行)下進(jìn)行文件操作的技能,為后續(xù)運(yùn)行模型打下基礎(chǔ)。
Python教程
?Python編程環(huán)境配置
陸面過程模型的數(shù)據(jù)處理及可視化需要Python語言的協(xié)助,在進(jìn)行陸面模型模擬前需要配置好對應(yīng)的Python編譯環(huán)境并掌握Python的基本語法及操作。
?環(huán)境配置
主要講解幾種不同的環(huán)境配置,包括編譯器和解釋器及包管理器的選擇與使用。同時(shí)還針對Python的基本語法知識進(jìn)行講解。

?處理數(shù)據(jù) 格式化處理陸面模型運(yùn)行能夠識別的格式

Noah-MP 5.0模型站點(diǎn)模擬
?Noah-MP 5.0模型單站運(yùn)行
?大氣驅(qū)動數(shù)據(jù)的準(zhǔn)備
驅(qū)動數(shù)據(jù)主要包括站點(diǎn)的風(fēng)速、氣溫、相對濕度、氣壓、長波輻射、短波輻射以及降水?dāng)?shù)據(jù)。對于Noah-MP 5.0模型而言,原始驅(qū)動數(shù)據(jù)需制作成模型可識別的標(biāo)準(zhǔn)格式,才能夠進(jìn)行下一步的驅(qū)動數(shù)據(jù)編譯,將編譯結(jié)果帶入模型進(jìn)行運(yùn)算(python腳本)。

圖 4 大氣驅(qū)動數(shù)據(jù)的準(zhǔn)備與格式轉(zhuǎn)換
?數(shù)據(jù)時(shí)間格式轉(zhuǎn)換完成驅(qū)動數(shù)據(jù)在世界時(shí)和當(dāng)?shù)貢r(shí)之間的轉(zhuǎn)換。
?上機(jī)實(shí)操
根據(jù)示例數(shù)據(jù)中的站點(diǎn)原始數(shù)據(jù),基于python腳本,進(jìn)行數(shù)據(jù)的提取合并以及時(shí)間轉(zhuǎn)換,生成站點(diǎn)模擬所需的.dat格式文件。
?準(zhǔn)備靜態(tài)數(shù)據(jù)
完成驅(qū)動數(shù)據(jù)的制作后,還需在生成的.dat文件中添加靜態(tài)數(shù)據(jù)。此部分?jǐn)?shù)據(jù)主要包括站點(diǎn)屬性以及模型信息,如站點(diǎn)的海拔,經(jīng)緯度,土壤類型,初始狀態(tài)變量的設(shè)定和轉(zhuǎn)換系數(shù)等。

圖 5 站點(diǎn)信息

圖 6 初始狀態(tài)變量
?驅(qū)動數(shù)據(jù)的編譯運(yùn)行
基于以上數(shù)據(jù),生成指定時(shí)間步長的一系列.LDASIN_DOMAIN1文件,同時(shí)生成hrldas_setup_file.nc文件。
?運(yùn)行模型
根據(jù)研究區(qū)實(shí)際情況與模擬需求修改namelist.hrldas文件,./hrldas.exe即可啟動模型,結(jié)果將以netCDF格式輸出至指定文件夾內(nèi)。

圖 7 修改namelist文件
?模型運(yùn)行結(jié)果的可視化與分析
講解可視化部分使用的python腳本結(jié)構(gòu)和用法。借助python netCDF(https://github.com/Unidata/netcdf4-python)或xarray(http://xarray.pydata.org/en/stable)等工具對模擬結(jié)果(netCDF格式)進(jìn)行變量提取與可視化,以用于進(jìn)一步分析。

圖 8 模擬結(jié)果的提取與可視化
?上機(jī)實(shí)操
基于示例代碼中數(shù)據(jù)可視化部分的python腳本,對葉面積指數(shù)、感熱通量以及潛熱通量等模擬結(jié)果進(jìn)行提取可視化,在熟悉代碼結(jié)構(gòu)的基礎(chǔ)上,也可對其他變量進(jìn)行篩選和提取。
?單站模擬作業(yè)1
基于完整的單站模擬流程,選擇課程示例站點(diǎn)之外的一個(gè)站點(diǎn),完成數(shù)據(jù)下載、變量提取、格式轉(zhuǎn)換、數(shù)據(jù)編譯、模型參數(shù)設(shè)定、模型運(yùn)行、結(jié)果提取與導(dǎo)出、結(jié)果可視化等操作。鞏固學(xué)習(xí)成果,對疏漏點(diǎn)和易錯(cuò)點(diǎn)進(jìn)行交流,老師全程答疑解惑。
?單站模擬作業(yè)2
選擇不同的模型參數(shù)化方案,分別運(yùn)行模型并對結(jié)果進(jìn)行提取與可視化,對比與其他參數(shù)化方案所得結(jié)果的差異。
Noah-MP 5.0模型區(qū)域模擬
?Noah-MP 5.0模型區(qū)域運(yùn)行
Noah-MP 5.0模型區(qū)域運(yùn)行整體流程與站點(diǎn)模擬相似,大致也可分為數(shù)據(jù)下載、數(shù)據(jù)變量提取、制作驅(qū)動數(shù)據(jù)、設(shè)置參數(shù)化方案、模型模擬與模擬結(jié)果可視化分析等幾個(gè)步驟。但區(qū)域模擬的數(shù)據(jù)準(zhǔn)備過程相較于站點(diǎn)運(yùn)行更為繁瑣,使用的數(shù)據(jù)源也更為多樣,如GLDAS、NLDAS以及CLDAS等。同時(shí)模擬結(jié)果以二維形式存儲,提取與可視化的方法也不同于單站。
區(qū)域運(yùn)行將會講解基于GLDAS和NLDAS等數(shù)據(jù)源制作驅(qū)動數(shù)據(jù)的模擬方法,并介紹區(qū)域運(yùn)行結(jié)果可視化工具xarray的使用方法。課程結(jié)構(gòu)主要分為數(shù)據(jù)下載、數(shù)據(jù)處理、數(shù)據(jù)編譯、模型運(yùn)行與結(jié)果可視化幾個(gè)部分,下面以GLDAS為例,詳細(xì)介紹講解流程與配套練習(xí)內(nèi)容:
?準(zhǔn)備大氣驅(qū)動數(shù)據(jù)
Noah-MP 5.0模型的運(yùn)行需要格式正確的驅(qū)動數(shù)據(jù)(氣溫、降水、氣壓、風(fēng)速、輻射等)。因此用戶需提前下載并處理好相關(guān)數(shù)據(jù),以下為數(shù)據(jù)準(zhǔn)備的簡要步驟。
?下載大氣驅(qū)動數(shù)據(jù)-以GLDAS為例
區(qū)域驅(qū)動數(shù)據(jù)主要包括研究區(qū)的風(fēng)速、氣溫、相對濕度、氣壓、長波輻射、短波輻射以及降水等??蓮腉LDAS官網(wǎng)下載相關(guān)數(shù)據(jù):https://disc.gsfc.nasa.gov/datasets/GLDAS_NOAH025_3H_2.1/summary?keywords=GLDAS。

圖 9 下載區(qū)域大氣驅(qū)動數(shù)據(jù)
?上機(jī)實(shí)操
講解兩種區(qū)域數(shù)據(jù)的獲取方法,一種是基于downthemall的批量下載方法,操作簡便;另一種是基于python腳本的數(shù)據(jù)抓取方式,自由化更高;學(xué)員可嘗試不同的數(shù)據(jù)下載方法,獲取區(qū)域驅(qū)動數(shù)據(jù)的源數(shù)據(jù)。
?相關(guān)變量的提取與時(shí)間轉(zhuǎn)換
對模型模擬所需變量進(jìn)行提取,同時(shí)完成世界時(shí)和當(dāng)?shù)貢r(shí)之間的轉(zhuǎn)換。

圖 10 相關(guān)變量提取代碼(部分)
?初始狀態(tài)變量的提取與時(shí)間轉(zhuǎn)換

圖 11 初始狀態(tài)變量提取代碼(部分)
?風(fēng)速的分解、降水?dāng)?shù)據(jù)的整合

圖 12 風(fēng)速分解代碼(部分)

圖 13 降水?dāng)?shù)據(jù)的提取整合(部分)
?上機(jī)實(shí)操
基于下載的netCDF4格式的源數(shù)據(jù),分別編輯并運(yùn)行以上python及perl腳本,生成變量分解后的一系列netCDF4格式文件,用于編譯生成驅(qū)動數(shù)據(jù)。
?準(zhǔn)備研究區(qū)靜態(tài)數(shù)據(jù)?制作geo_em_d0x.nc數(shù)據(jù)基于WPS制作區(qū)域靜態(tài)數(shù)據(jù)(包括研究區(qū)范圍、研究區(qū)土地利用情況、植被覆蓋度等信息)。此部分需安裝WRF及WPS,并下載WPS_GEOG數(shù)據(jù)。詳細(xì)流程可參考:https://www2.mmm.ucar.edu/wrf/OnLineTutorial/compilation_tutorial.php。

觀看WPS的安裝編譯視頻,熟悉WPS的安裝配置流程。?準(zhǔn)備數(shù)字高程數(shù)據(jù)hrldas (Noah-MP 5.0)自帶的高程文件-GLDASGLDASp4_elevation_025d.nc4。一般情況下,將此文件作為模型的高程輸入數(shù)據(jù)即可。??編譯與運(yùn)行-生成模型驅(qū)動數(shù)據(jù)區(qū)域原始的氣象驅(qū)動數(shù)據(jù)和靜態(tài)數(shù)據(jù)準(zhǔn)備完畢后,需編譯運(yùn)行生成符合模型要求的驅(qū)動數(shù)據(jù)-*.LDASIN_DOMAIN1。

圖 14 設(shè)置namelist.input文件

圖 15 驅(qū)動數(shù)據(jù)制作結(jié)果
?上機(jī)實(shí)操
修改好相關(guān)目錄的目錄結(jié)構(gòu),在指定目錄下,準(zhǔn)備好必須的程序與文件,編譯運(yùn)行生成.LDASIN_DOMAIN1格式的驅(qū)動數(shù)據(jù)。
?運(yùn)行hrldas (Noah-MP 5.0)模型
根據(jù)研究區(qū)特點(diǎn)及用戶模擬需求,修改namelist.hrldas文件,Namelist.hrldas文件編輯完成后,即可運(yùn)行可執(zhí)行程序/hrldas.exe。模型模擬結(jié)果將輸出至指定文件夾下,若運(yùn)行成功,在輸出目錄下應(yīng)包含指定模擬時(shí)間段內(nèi)的指定時(shí)間步長的模擬結(jié)果-*.LDASOUT_DOMAIN1。

圖 16 輸出結(jié)果文件
?上機(jī)實(shí)操
練習(xí)設(shè)置namelist.hrldas,選擇一套參數(shù)化方案,運(yùn)行模型。數(shù)據(jù)的分析與可視化區(qū)域模擬結(jié)果亦為netCDF格式文件,借助xarray,pandas等工具進(jìn)一步進(jìn)行變量提取、可視化等工作。

圖 17 模擬結(jié)果
?上機(jī)實(shí)操
基于提供的python腳本,提取模擬結(jié)果中的相關(guān)變量并可視化,熟悉xarray的使用方法。
?區(qū)域模擬作業(yè)1
基于完整的區(qū)域模擬流程,選擇課程示例區(qū)域之外的一個(gè)區(qū)域,完成數(shù)據(jù)下載、變量提取、格式轉(zhuǎn)換、數(shù)據(jù)編譯、模型參數(shù)設(shè)定、模型運(yùn)行、結(jié)果提取與導(dǎo)出、結(jié)果可視化等操作。鞏固學(xué)習(xí)成果,對疏漏點(diǎn)和易錯(cuò)點(diǎn)進(jìn)行交流,老師全程答疑解惑。
?區(qū)域模擬作業(yè)2
選擇不同的模型參數(shù)化方案,分別運(yùn)行模型并對結(jié)果進(jìn)行提取與可視化,對比與其他參數(shù)化方案所得結(jié)果的差異。
注:請?zhí)崆白詡潆娔X及安裝所需軟件