更新时间:2020年4月25日,CPAS 后台版本 v0.7.2

 

第一部分 网格生成

 

算法与实施

通过内部开发,联科大气模拟平台(CPAS)实现了参考文章[1]中提及的几个想法。

在实施上,我们重新编写的代码对原始算法进行了修改,确保通过自定义生成非结构化网格(CUMG)这一功能生成质量高、分辨率平滑过度的网格,同时通过分层时间步长(HTS)这一特性优化计算。

为了得到100%交错良好的网格(这在大气模拟计算中尤为重要),在CPAS中生成的网格的最终分辨率并不会完全匹配每个区域指定的分辨率,。由于对分的算法具有离散性质(为目标分辨率对分或不对分),再加上球面镶嵌的特性,只要计算结果在目标分辨率范围50%以内,均被视为生成正确。

 

提高山势分辨率

为了提高山势的分辨率,我们基于全球网格化地形数据预先计算了地形梯度。

对于海岸线,我们通过利用美国地质勘探局的陆地覆盖(USGS land cover)数据来识别陆-水交界的区域,从而提供更高的分辨率。

 

第二部分 使用分层时间步长进行大气模拟

为了确保能在MPAS-A (v6.3)上使用高分辨率的定制网格和分层时间步长(HTS),联科大气模拟平台(CPAS)实现了以下特性:

 

地理数据的引入

引入地理数据的过程是基于MPAS-A (v6.3)的 init_atmosphere 程序展开的。为了处理单元格间距的巨大变化,CPAS修改了init_atmosphere 程序,允许程序读取多种分辨率的静态数据。

 

时间步长的优化分配

CPAS运用了内部研发的算法分配时间步长,从而最大化节省计算资源。该算法将全球网格划分为多个区,每个划分区都有固定的时间步长。对某些非负整数的分层时间步长(HTS)级别n,如果将最大的时间步长设为 dt_0,则所有的时间步长赋值为2^{-n} dt_0 。分层时间步长(HTS)的级别先由单元格间距确定,再进行自动优化。

 

动力内核的改良

联科大气模拟平台(CPAS)的动力内核是基于MPAS-A (v6.3)开发的,使用同一套预后和诊断变量,以及同一套垂直坐标和垂直信息迁移。CPAS的时间积分方法也延续了MPAS-A,但对其进行了改良,自家实现了每个单元格用自己的时间步长和时间步长跳跃边界的处理。而分辨率的过度必须利用水平扩散项对伪高阶波进行过滤,这与MPAS-A是一致的。

 

通过利用分层时间步长(HTS)节省计算资源

与MPAS-A (v6.3)相比,计算资源的优化很大程度上取决于网格如何定制,特别是不同分层时间步长(HTS)级别的单元格数比例。CPAS会计算使用分层时间步长(HTS)的理论资源使用情况和与使用MPAS-A相比节省的部分。CPAS使用千兆格步(Giga cell-step)作为单位量化资源使用情况,即一个网格单元跑一次时间积分步长为一个单元格步,一个千兆格步为十的九次方个格步。各时间步长级别的资源使用情况会在网格生成报告中分项展示。

 

物理参数化方案

联科大气模拟平台(CPAS)的物理参数化方案在MPAS-A (v6.3)的基础上进行了改良。在遇到单元格间距小于指定阀值时,Kain-Fritsch (cu_kain_fritsch), Tiedtke (cu_tiedtke) 和New Tiedtke (cu_ntiedtke) 等对流参数化模型会被关闭。

 

并行计算和负载平衡

为了更好地实现负载平衡,联科大气模拟平台(CPAS)的并行计算在MPAS-A(v6.3)的基础上进行了改良。这使得MPI进程能在集群环境中高效运行并最小化总执行时间。

MPI并行计算的图划分区由METIS(版本5.1.0)执行[2]

 

加速

与MPAS-A相比,联科大气模拟平台(CPAS)能做到的加速度有赖于:

(1)通过分层时间步长(HTS)减少的计算量;(2)CPAS改良过的并行计算和负载平衡功能;(3)用于运行作业的服务器和网络硬件环境。相关的基准数据已在白皮书2发表。

 

第三部分 访问结果数据及可视化

以下功能已经在联科大气模拟平台(CPAS)实现,同时我们计划在将来实行更多可视化的自动化。

 

Jupyter笔记本

由于实际模拟的结果文件太大, 一般不适合下载,联科大气模拟平台(CPAS)提供了Jupyter笔记本服务,让用户可以使用Python代码来分析他们的数据。需要注意的是,这Jupyter笔记本的定制托管服务,有安全性和计算资源上的限制。每个用户只能以只读方式查看自己的网格和模拟数据。同时,CPAS为一般的结果检验和可视化任务提供内部研发和第三方Python安装包。用户可以随意执行分析任务,提取数据并对其进行后处理,从而达到数据简化的目的。Jupyter笔记本使用的资源包括网络带宽、网络传输大小、存储空间、内存和CPU多少受限于订阅套餐、条款及适用的使用合同。

 

全网格可视化

联科大气模拟平台(CPAS)提供了一个操作简单的半交互式Jupyter笔记本用户界面,使用 PyNGL绘制全部网格,或通过ipyleaflet进行可视化。

 

绘制模拟结果

联科大气模拟平台(CPAS)提供了一个操作简单的半交互式Jupyter笔记本用户界面,使用PyNGL绘制二维水平数据(指定的时间板),或通过ipyleaflet进行可视化。

 

可用的Python安装包清单:

联科大气模拟平台(CPAS)会安装以下项并可用于Python环境:

内部研发:

  • cpas

第三方:

  • netcdf4
  • numpy
  • xarray
  • PyNGL
  • ipywidgets
  • ipyleaflet
  • matplotlib
  • geopy
  • geopandas
  • cartopy
  • seaborn
  • scikit-learn
  • pydot

 

参考文献:

[1] Walko, R. L., and R. Avissar (2011): A direct method for constructing refined regions in unstructured conforming triangular-hexagonal computational grids: Application to OLAM. Mon. Wea. Rev., 139, 3923-3937.

[2] METIS - Serial Graph Partitioning and Fill-reducing Matrix Ordering http://glaros.dtc.umn.edu/gkhome/metis/metis/overview