论文部分内容阅读
谱模式具有精度高、稳定性好和能够消除“极地问题”等优点,因而广泛应用于世界各国的全球数值天气预报业务系统中。球谐函数变换是此类模式的主要计算过程之一,该过程由纬圈方向的傅里叶变换和经圈方向的勒让德变换组成。虽然傅里叶变换已经存在快速算法,其计算复杂度为O(NlogN),但对勒让德变换,目前谱模式中依然采用传统算法,其计算复杂度为O(N2)。单个球谐函数变换需要O(N)次傅里叶变换与O(N)次勒让德变换,因此其计算复杂度为O(N3),在量级上远大于模式中其它部分的计算量。目前业务化的全球静力平衡谱模式中,水平分辨率约25公里,球谐谱变换的计算时间仅占大约8%,而未来十年,水平分辨率将提升到约5公里,此分辨率下必须采用非静力模式,除传统算法存在的高量阶问题外,还需要引入新预报变量,变换数量大幅增加,球谐谱变换的计算时间所占比重将超过50%。由此可见,随着模式分辨率的提高,其计算时间的快速增长严重制约着未来高分辨率谱模式的实时性。因此,开展球谐函数展开快速算法与并行算法研究对模式的进一步发展,与提高分辨率,进而提高可用预报时效具有重要意义。本文针对高分辨率全球非静力数值天气预报谱模式的球谐函数变换过程存在的问题,改进和优化了基于Butterfly的快速球谐函数展开算法,接着研究和实现其高效并行算法。主要工作包括:(1)系统分析了快速球谐函数变换的发展现状,指出了基于Butterfly算法的球谐函数展开算法的应用前景。矩阵插值分解是一种矩阵近似分解的技术,Butterfly算法通过采用多级矩阵插值分解技术,将满足特定性质的矩阵实现分解和压缩,从而降低矩阵向量乘的计算量,实现特殊函数快速变换。(2)研究并实现了基于Butterfly算法的球谐函数展开快速算法,优化和改进Tygert(2010)的快速算法。本文直接将Butterfly算法用于勒让德变换过程,改进Tygert的算法,而不必先计算基于高次连带勒让德函数零点的变换,再通过插值方式得到基于原选定节点的变换结果,简化了快速算法流程;修正了Tygert算法关于正逆变换处理的错误。(3)设计并实现了基于Butterfly算法的球谐函数展开并行算法。详细分析了基于Butterfly算法的球谐函数展开快速算法的并行性;基于算法计算复杂度设计了负载平衡方案;设计并实现了MPI版本的并行算法。实验结果表明球谐函数展开并行算法具有较大的加速比和较高的并行效率。