文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.222602
中文引用格式: 劉壯,黃小猛. 高分辨率全球非結(jié)構(gòu)網(wǎng)格生成實踐[J].電子技術(shù)應(yīng)用,2022,48(6):103-106,111.
英文引用格式: Liu Zhuang,Huang Xiaomeng. Generating high-resolution global unstructured meshes[J]. Application of Electronic Technique,2022,48(6):103-106,111.
0 引言
近年來,隨著計算機計算能力的提升與數(shù)值方法的發(fā)展,非結(jié)構(gòu)網(wǎng)格在地球系統(tǒng)模式中得到了越來越多的應(yīng)用[1-2]。不同于結(jié)構(gòu)網(wǎng)格,非結(jié)構(gòu)網(wǎng)格沒有極點附近網(wǎng)格收縮而出現(xiàn)奇異的問題;同時,非結(jié)構(gòu)網(wǎng)格可以更靈活地處理各種邊界條件、實現(xiàn)局部網(wǎng)格加密等。
在各種非結(jié)構(gòu)網(wǎng)格中,球面質(zhì)心Voronoi網(wǎng)格[3](Spherical Centroid Voronoi Tessellations,SCVT)因具備良好的性質(zhì)而得到廣泛應(yīng)用。生成SCVT一般采用的Lloyd算法[3]是一個不動點迭代算法,其計算量與生成的網(wǎng)格點數(shù)成正比。為應(yīng)對快速生成高分辨率SCVT的挑戰(zhàn),Jacobsen等[4]提出了基于區(qū)域分解和球極投影的并行算法,并在GitHub開源了其代碼(MPI-SCVT:https://github.com/douglasjacobsen/MPI-SCVT)。數(shù)值實驗顯示了MPI-SCVT相對于串行算法的加速效果。
盡管MPI-SCVT可以很好地適用于一般分辨率下SCVT的生成,當所需網(wǎng)格的分辨率非常高(例如2 km以下)時,MPI-SCVT的使用會出現(xiàn)一系列問題。首先,MPI-SCVT內(nèi)置的幾種網(wǎng)格初始化方法生成的網(wǎng)格點質(zhì)量較差,與最終的收斂結(jié)果距離較遠,這使得迭代步數(shù)過多,程序整體運行時間長。其次,高分辨率導致迭代過程中通信的數(shù)據(jù)量大,MPI-SCVT使用的boost MPI(http://www.boost.org)單次通信數(shù)據(jù)量超過一定大小(約2 GB)時會出錯。再者,MPI-SCVT調(diào)用外部庫Triangle[5]實現(xiàn)平面Delaunay三角網(wǎng)格[4]的構(gòu)建,當單次輸入網(wǎng)格點數(shù)超過約42 600 000時,Triangle無法正常運行。最后,高分辨率導致輸出變量較大,使用外部庫NetCDF-CXX無法完成所需NetCDF文件的輸出。
本文詳細內(nèi)容請下載:http://ihrv.cn/resource/share/2000004430。
作者信息:
劉 壯,黃小猛
(清華大學 地球系統(tǒng)科學系,北京100084)