(2021/02/02發表於個人臉書)
提到GFDL (Geophysical Fluid Dynamics Laboratory),大部分人第一個想到的是他們的數值氣象模式很厲害,尤其是氣候模式。如果看氣候模式的發展史,GFDL從1950年代開始發展自己的氣候模式,直到現在,是全球唯一一個單位從頭開始且持續發展的模式。GFDL裡頭也有很多赫赫有名的科學家,如Suki Manabe, Issac Held, SJ Lin, Leo Donner等等,也有很多不是那麼有名,但也很厲害的人。
當初在申請博士班的時候,Princeton是我的首選之一,因為我對氣候模式有興趣,想去GFDL看看他們是怎麼發展模式的,為什麼他們的模式這麽厲害。博士後階段,很幸運的來到GFDL,雖然因為COVID-19疫情關係,上工一個月就轉成在家工作了,還沒認識多少人,覺得很可惜。這一年來GFDL氣候模式奮鬥也看到學到蠻多有趣的東西,記錄一下。
雖然GFDL的模式很厲害,但是全世界應該只有GFDL在用,很少聽到別的研究中心或大學用他們的模式。主因我想是模式環境設定的困難,雖然GFDL模式是open source,想下載的話就可以下載,但是要裝在不同機器上而且能跑,就是很浩大的工程了。此外,就算模式能順利安裝在機器上,該有的dataset也都有,但要調整模式的設定並不是一件簡單的事。
舉個例子。要跑GFDL的氣候模式,大概兩行指令就可以搞定了:
編譯模式:> fremake -x XML_FILE -p ncrc3.intel -t repro MODEL_NAME
跑模式:> frerun -x XML_FILE -p ncrc3.intel -t repro EXP_NAME
fremake和frerun是FMS (Flexible Modeling System, https://www.gfdl.noaa.gov/fms/) 的指令。
跑模式最重要的文件是一個xml檔案,XML_FILE。模式的版本,程式語言編譯器,模擬的解析度,模擬時間長度,物理參數法的選擇等等,都在xml檔案裡面。除此之外,模式輸出的變數和頻率,連模擬的結果放在哪邊,也是在xml檔案裡頭設定。想當然耳,這個xml檔案有上千行,閱讀起來或是修改設定都需要花時間心力。
我記得我第一次跑GFDL氣候模式,編譯完成,模擬也順利跑完了,但我根本不曉得模擬結果放在哪個資料夾,還要問人才知道,想想也是蠻好笑的。
也因為GFDL模式的使用者不多,community小,遇到問題大概只能問人,沒辦法google找答案。相比之下,之前用的NCAR CESM,使用者眾多,遇到問題去他們線上的論壇找一找,通常就可以找到解答。要是不行的話,在論壇發問NCAR的人也會很快的回答,對使用者來說相當友善。
GFDL模式跟NCAR CESM也有很大的不同。CESM裡頭物理參數法選擇相當有限,比方說深對流就只有一個Zhang-McFarlane,如果想在CESM加不同的參數法就要自己去修改程式。GFDL模式的話,裡頭物理參數法的選擇相當多,比方說邊界層就有五六個選項,對流也有五六個選項,從namelist選擇要用那個,還蠻方便的。我想這也反應了NCAR CESM和GFDL模式的目標和客群不同。CESM像是一個上市產品,是NCAR花了無數心力嘗試出來的最佳設定,主要目標是讓使用者方便使用,不用去擔心模式的設定。CESM大多數使用者也是跑模式和分析結果,只有少數會真正去改裡頭的東西。GFDL模式是研究用的模式,是拿來測試不同的東西和idea,也因為模式是一路發展下來,舊的東西雖然沒在用但還是一直保留,稱作legacy code,我蠻喜歡這個名稱。我在看模式程式碼的時候,看著不同的程式,不同的風格,可以感覺到很多人的心力在裡頭,直接面對前人留下的遺產,覺得感恩和謙卑。
要去改動歷史悠久的GFDL模式,不是件容易的事。
我的研究工作把一個EDMF (Eddy-Diffusivity Mass-Flux) scheme放進GFDL模式裡,會動到模式原有的邊界層,對流,還有最近新增的層狀雲參數法。GFDL最新版氣候模式AM4所使用的這些參數法大概是二十年前2000年左右發展的,熟悉裡頭東西的人都離開或退休了,加上documentation沒有很詳細,我光是理解這些參數法的架構,思考該怎麼把EDMF放進去,就花了很多心力。即使大概知道該怎麼下手,也要評估投下去的時間精力和回報,看可不可行,不可行的就要找替代方案。比方說JPL合作者本來建議把MF放進vertical diffusion module裡,但工程浩大且回報可能不大,我老闆就跟合作者說這個方案GFDL方面支援不足,所以不大可行。
這也讓我體會到運行一個模式中心真的很不容易。除了科學家以外,還需要很多技術人員的支援,像是去改程式,跑模擬及分析結果,實際苦幹實幹的人。這些苦幹實幹的人,通常不是世界知名的學者,但他們也是推動科學,維持模式中心運作不可或缺的角色。他們就像是幕後英雄,需要受到肯定和表揚。中研院環變中心也有在發展自己的模式 (基於NCAR CESM),但是要長期維持的話,我覺得需要給那些技術人員更多的誘因,讓他們能繼續做這種吃力的工作。
最後做個總結。
本來就知道GFDL模式很厲害,但來到這邊工作,實際在看模式改模式的時候,才真正體會到這個模式是無數的人,數十年下來的心血結晶。GFDL開始發展模式且一路維持,是件非常了不起的成就,也是GFDL在氣象模式發展上享譽盛名,扮演舉足輕重的角色的原因之一。
提到GFDL (Geophysical Fluid Dynamics Laboratory),大部分人第一個想到的是他們的數值氣象模式很厲害,尤其是氣候模式。如果看氣候模式的發展史,GFDL從1950年代開始發展自己的氣候模式,直到現在,是全球唯一一個單位從頭開始且持續發展的模式。GFDL裡頭也有很多赫赫有名的科學家,如Suki Manabe, Issac Held, SJ Lin, Leo Donner等等,也有很多不是那麼有名,但也很厲害的人。
當初在申請博士班的時候,Princeton是我的首選之一,因為我對氣候模式有興趣,想去GFDL看看他們是怎麼發展模式的,為什麼他們的模式這麽厲害。博士後階段,很幸運的來到GFDL,雖然因為COVID-19疫情關係,上工一個月就轉成在家工作了,還沒認識多少人,覺得很可惜。這一年來GFDL氣候模式奮鬥也看到學到蠻多有趣的東西,記錄一下。
雖然GFDL的模式很厲害,但是全世界應該只有GFDL在用,很少聽到別的研究中心或大學用他們的模式。主因我想是模式環境設定的困難,雖然GFDL模式是open source,想下載的話就可以下載,但是要裝在不同機器上而且能跑,就是很浩大的工程了。此外,就算模式能順利安裝在機器上,該有的dataset也都有,但要調整模式的設定並不是一件簡單的事。
舉個例子。要跑GFDL的氣候模式,大概兩行指令就可以搞定了:
編譯模式:> fremake -x XML_FILE -p ncrc3.intel -t repro MODEL_NAME
跑模式:> frerun -x XML_FILE -p ncrc3.intel -t repro EXP_NAME
fremake和frerun是FMS (Flexible Modeling System, https://www.gfdl.noaa.gov/fms/) 的指令。
跑模式最重要的文件是一個xml檔案,XML_FILE。模式的版本,程式語言編譯器,模擬的解析度,模擬時間長度,物理參數法的選擇等等,都在xml檔案裡面。除此之外,模式輸出的變數和頻率,連模擬的結果放在哪邊,也是在xml檔案裡頭設定。想當然耳,這個xml檔案有上千行,閱讀起來或是修改設定都需要花時間心力。
我記得我第一次跑GFDL氣候模式,編譯完成,模擬也順利跑完了,但我根本不曉得模擬結果放在哪個資料夾,還要問人才知道,想想也是蠻好笑的。
也因為GFDL模式的使用者不多,community小,遇到問題大概只能問人,沒辦法google找答案。相比之下,之前用的NCAR CESM,使用者眾多,遇到問題去他們線上的論壇找一找,通常就可以找到解答。要是不行的話,在論壇發問NCAR的人也會很快的回答,對使用者來說相當友善。
GFDL模式跟NCAR CESM也有很大的不同。CESM裡頭物理參數法選擇相當有限,比方說深對流就只有一個Zhang-McFarlane,如果想在CESM加不同的參數法就要自己去修改程式。GFDL模式的話,裡頭物理參數法的選擇相當多,比方說邊界層就有五六個選項,對流也有五六個選項,從namelist選擇要用那個,還蠻方便的。我想這也反應了NCAR CESM和GFDL模式的目標和客群不同。CESM像是一個上市產品,是NCAR花了無數心力嘗試出來的最佳設定,主要目標是讓使用者方便使用,不用去擔心模式的設定。CESM大多數使用者也是跑模式和分析結果,只有少數會真正去改裡頭的東西。GFDL模式是研究用的模式,是拿來測試不同的東西和idea,也因為模式是一路發展下來,舊的東西雖然沒在用但還是一直保留,稱作legacy code,我蠻喜歡這個名稱。我在看模式程式碼的時候,看著不同的程式,不同的風格,可以感覺到很多人的心力在裡頭,直接面對前人留下的遺產,覺得感恩和謙卑。
要去改動歷史悠久的GFDL模式,不是件容易的事。
我的研究工作把一個EDMF (Eddy-Diffusivity Mass-Flux) scheme放進GFDL模式裡,會動到模式原有的邊界層,對流,還有最近新增的層狀雲參數法。GFDL最新版氣候模式AM4所使用的這些參數法大概是二十年前2000年左右發展的,熟悉裡頭東西的人都離開或退休了,加上documentation沒有很詳細,我光是理解這些參數法的架構,思考該怎麼把EDMF放進去,就花了很多心力。即使大概知道該怎麼下手,也要評估投下去的時間精力和回報,看可不可行,不可行的就要找替代方案。比方說JPL合作者本來建議把MF放進vertical diffusion module裡,但工程浩大且回報可能不大,我老闆就跟合作者說這個方案GFDL方面支援不足,所以不大可行。
這也讓我體會到運行一個模式中心真的很不容易。除了科學家以外,還需要很多技術人員的支援,像是去改程式,跑模擬及分析結果,實際苦幹實幹的人。這些苦幹實幹的人,通常不是世界知名的學者,但他們也是推動科學,維持模式中心運作不可或缺的角色。他們就像是幕後英雄,需要受到肯定和表揚。中研院環變中心也有在發展自己的模式 (基於NCAR CESM),但是要長期維持的話,我覺得需要給那些技術人員更多的誘因,讓他們能繼續做這種吃力的工作。
最後做個總結。
本來就知道GFDL模式很厲害,但來到這邊工作,實際在看模式改模式的時候,才真正體會到這個模式是無數的人,數十年下來的心血結晶。GFDL開始發展模式且一路維持,是件非常了不起的成就,也是GFDL在氣象模式發展上享譽盛名,扮演舉足輕重的角色的原因之一。