《电子技术应用》
您所在的位置:首页 > 通信与网络 > 设计应用 > 高分辨率全球非结构网格生成实践
高分辨率全球非结构网格生成实践
2022年电子技术应用第6期
刘 壮,黄小猛
清华大学 地球系统科学系,北京100084
摘要: 球面质心Voronoi网格(SCVT)是一种高质量的非结构网格,被国内外知名地球系统模式所采用。国际上,已有开源项目Message Passing Interface SCVT(MPI-SCVT)实现了并行的SCVT生成。然而,尽管MPI-SCVT可以很好地适用于一般分辨率网格的生成,当所需网格的分辨率非常高时,MPI-SCVT的使用会出现多个问题,包括初始网格点质量差、大数据MPI通信、外部库调用以及I/O问题。对于这些问题,提出了一整套解决方案。实践表明,应用此方案可以顺利完成全球1.9 km分辨率网格的生成,且到达相同精度时所需迭代步数显著减少,节约了计算时间。
中图分类号: TP311
文献标识码: A
DOI:10.16157/j.issn.0258-7998.222602
中文引用格式: 刘壮,黄小猛. 高分辨率全球非结构网格生成实践[J].电子技术应用,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.
Generating high-resolution global unstructured meshes
Liu Zhuang,Huang Xiaomeng
Department of Earth System Science,Tsinghua University,Beijing 100084,China
Abstract: The Spherical Centroid Voronoi tessellations(SCVT) are a kind of high-quality unstructured meshes, which are adopted by well-known earth system models at home and abroad. Internationally, the open source project Message Passing Interface SCVT(MPI-SCVT) has realized the parallel SCVT generation. However, although MPI-SCVT works well for the generation of general-resolution meshes, the use of MPI-SCVT presents several problems when the required mesh is of very high resolution, including the poor quality of initial mesh points, large data MPI communication problems, external library calling problems and I/O problems. For these problems, a set of solutions are proposed. Practice shows that the application of these solutions can successfully complete the generation of the global 1.9 km resolution grid, and the number of iterations is significantly reduced when reaching the same accuracy, which saves the calculation time.
Key words : generation of unstructured meshes;centroid Voronoi tessellations;high resolution;iteration optimization

0 引言

    近年来,随着计算机计算能力的提升与数值方法的发展,非结构网格在地球系统模式中得到了越来越多的应用[1-2]。不同于结构网格,非结构网格没有极点附近网格收缩而出现奇异的问题;同时,非结构网格可以更灵活地处理各种边界条件、实现局部网格加密等。

在各种非结构网格中,球面质心Voronoi网格[3](Spherical Centroid Voronoi Tessellations,SCVT)因具备良好的性质而得到广泛应用。生成SCVT一般采用的Lloyd算法[3]是一个不动点迭代算法,其计算量与生成的网格点数成正比。为应对快速生成高分辨率SCVT的挑战,Jacobsen等[4]提出了基于区域分解和球极投影的并行算法,并在GitHub开源了其代码(MPI-SCVT:https://github.com/douglasjacobsen/MPI-SCVT)。数值实验显示了MPI-SCVT相对于串行算法的加速效果。

    尽管MPI-SCVT可以很好地适用于一般分辨率下SCVT的生成,当所需网格的分辨率非常高(例如2 km以下)时,MPI-SCVT的使用会出现一系列问题。首先,MPI-SCVT内置的几种网格初始化方法生成的网格点质量较差,与最终的收敛结果距离较远,这使得迭代步数过多,程序整体运行时间长。其次,高分辨率导致迭代过程中通信的数据量大,MPI-SCVT使用的boost MPI(http://www.boost.org)单次通信数据量超过一定大小(约2 GB)时会出错。再者,MPI-SCVT调用外部库Triangle[5]实现平面Delaunay三角网格[4]的构建,当单次输入网格点数超过约42 600 000时,Triangle无法正常运行。最后,高分辨率导致输出变量较大,使用外部库NetCDF-CXX无法完成所需NetCDF文件的输出。




本文详细内容请下载:http://www.chinaaet.com/resource/share/2000004430




作者信息:

刘  壮,黄小猛

(清华大学 地球系统科学系,北京100084)

此内容为AET网站原创,未经授权禁止转载。