论文阅读:数字时代开放的天气和气候科学

目录

de Vos M G, Hazeleger W, Bari D, et al. Open weather and climate science in the digital era[J]. Geoscience Communication, 2020, 3(2): 191-201.

https://gc.copernicus.org/articles/3/191/2020/gc-3-191-2020.html

虽然我是一个软件开源的坚定拥护者,已将自己的绝大部分工作都发布为开源项目,也在年终总结等多个场合下宣传大家加入到开源的大家庭中,但我确实没有想到在气象领域竟然能看到鼓吹开放的论文。

论文对 2018 年 IEEE 专题讨论会 Weather and Climate Science in the Digital Era 中的报告进行分析,于 2019 年 10 月投稿,并在 2020 年 8 月发表。

正文

气象和气候科学界已经意识到对开放科学 (open science) 的需求,尽管这些领域在应用数字技术方面已经非常成熟,但在实施开放式科学方法方面却不那么先进。

讨论会中大概 80% 的研究都显示了开放数据和软件的附加价值,包括:

  • 不同来源的开放数据集
  • 可公开提供给研究社区的工具和方法

但这些不足以实现开放的天气和气候科学。

FAIR 准则:Findable, Accessible, Interoperable, Reusable

将 FAIR 准则应用到数据集上具有挑战性。 当然更多的挑战是非技术性的,比如

  • 技术人员与领域科学家的合作
  • 共享数据的法律问题
  • 通过政策吸引利益相关者参与开放

作者认为发展开放的天气和气候科学需要做出改变,但带来的好处是巨大的。

介绍

传统意义上,气象和气候科学是数据和计算密集型研究领域。 近年来,数字技术的影响和应用并没有减弱的迹象,三项技术发展对气象和气候研究产生了强烈影响:

  • 计算能力的增长
  • 数据标准化和多源数据的开放可用
  • 越来越多地使用机器学习,特别是深度学习

数字技术可以提供新的研究方法,加速知识的增长,并刺激创造新的手段在研究人员之间以及更广泛的科学界内部传播知识。 开放科学方法,例如开放获取出版物,开源软件,FAIR 数据,刺激了数据和软件资源的使用,带来可重复性更高的研究。

开放科学

气象学和气候科学中有许多开放获取,开放数据和开源软件的示例。

美国:长期向公众提供气象观测、模式源代码、模式输出。模式代码包括 WRF 区域模式,MPAS 全球模式和 CESM 气候模式。 NOAA 的天气和气候模式预报产品也可以公开获取。

ECMWF:提供免费和方便使用的 IFS 模式

UK:The UK Earth System Model

CMIP:气候模式社区合作的典范,生成开放的标准化输出数据

再分析资料:NCEP/NCAR 和 ECMWF ERA

在气象学和气候研究领域,关于开放科学的争论一直在进行,但是在文献中,单独的开放科学实践是分开讨论的:

  • Ruti et al. 2019:战略计划层面
  • Eyring et al. 2016:地球系统模式通用诊断软件工具
  • PANGEO:开放软件平台
  • 社区模式,例如 WRF 和 CESM

上述示例表明,开放式研究实践越来越受欢迎。 但是尚未广泛采用这些做法,气象学和气候科学也是如此。 实际上,数据,软件和词汇共享只是在天文学和基因组学等少数领域中的普遍做法。

走向开放的天气和气候科学

介绍有关开放式天气和气候科学面临的挑战和机遇。

开放数据

开放数据源,例如:

  • 开放卫星数据
  • 从 OpenStreetMap 获取的地理信息数据
  • 公开访问的气象观测数据

通用文件格式和标准协议:

  • CF-netCDF 格式
  • 进程内通讯协议,MPI 和 REST

数据和软件仅仅可找到 (findable) 和可访问 (accessible) 还不够,需要可互操作 (interoperable) 和可复用 (reusable),也就是 FAIR 规范。

后处理

为了使天气和气候模式的输出开放且可互操作,例如根据 CF-netCDF 之类的格式 (包括所有必要的元数据) 进行格式化,作者认为性能可伸缩性 (performance scalability) 是首要的技术挑战。

尽管数值模式主要在具有大量计算节点的大型集群上运行,但是对输出数据的后续处理和分析通常仍限于单个 CPU,并且无法随模型分辨率的提高而轻松扩展。 因此,对于传统的数值模式而言,通过传统的后处理管道生成 FAIR 模型输出已迅速变得不可行。

对于数值模式,这种趋势是与存储带宽相比,处理器速度和模式可伸缩性提高的结果,可以用两种策略来应对。

后处理整合到模式过程中

通过在模式积分程序本身中包含尽可能多的步骤来消除对后处理的需求。 这将使模型更加昂贵,尤其是在内存使用方面,但是通常可以通过将后处理卸载到额外的一小组专用高内存计算节点上来减轻开销。 这种方法需要社区中数据提供者的技术努力,并且只能在有限的程度上解决数据问题,因为许多科学分析总是需要额外的操作。

提高用户端数据处理工具链中的并发度

现有的云计算技术,例如 Apache Spark 和 Dask,可以提供合适的基础,因为数据处理和分析管道通常可以由具有高度并行性的任务图表示 (网格点,多个变量,集合成员等)。

但是,关键方面之一是开发人员 (通常是气象学家或气候科学家) 采用新编程范例的能力,该范例有助于在云基础架构上并行执行工作流。 在这里,研发软件工程师可能会发挥关键作用,例如,开发更高复杂度的算法以有效处理分布式气候数据,并采用 Xarray 和 Iris 之类的工具。

其他挑战

政策

法律

数据质量

开放软件

作者强烈建议公开发布代码,即便代码还在开发中,特别是应用在论文中支持研究发现的代码。

公开发布需要为代码编写文档和测试,这是一项耗时的工作,尚未成为标准做法,部分原因是没有动力这样做。 作者提议需要一种开放的科学实践,制定激励措施,以分享科学论文最终结果以外的科学信息。

会议中的四个报告使用机器学习技术进行数据分析和预报,机器学习在天气和气象领域应用越来越广泛。例如

  • 模拟数值模式中未解决的过程(由于计算成本)
  • 校准或后处理预报结果
  • 构建用于描述或预测气象和气候事件

另一方面,需要注意的是,相对于基于物理定律的模型,训练后的模型不透明,结果难以解释。 遵循开放科学原理,机器学习方法应该是其他研究人员可以理解和重用的。例如

  • explainable AI
  • knowledge-based machine learning

上述软件需要合适的数字基础架构设施,云计算是一个潜在的途径。

结论

作者列出一些使我们更接近开放天气和气候科学的建议:

建议状态
开发人员应在数值模式中包括后处理步骤,需要额外的计算和内存。正在进行
预报数据的用户应增加数据处理工具链中的并行性。需要在云计算,并行和分布式计算方面的其他专业知识。近期;Apache Spark, Dask, Xarray, Iris
应鼓励研究人员在专用数据期刊上发表科学数据。近期;Geoscience Data Journal, Scientific Data, Earth System Data
云技术为研究人员提供了合适的数字基础架构,使其可以访问资源和工具并与同事进行协作。近期;EarthCube, JRC Earth Observation Data and Processing Platform
科学协作平台应考虑互操作性和用户友好性。新建议
保密协议应在科学合作伙伴和气象服务机构之间签署,后者应作为可信赖的代理商。要求包括受信任的代理人作为科学过程中的新角色以及作为开放科学政策中的利益相关者。新建议
基金应要求研究人员遵守 FAIR 原则。近期
所有利益相关者都应承认并定义有关数据管理和研究软件工程的角色和职责。需要体制变革,并需要更广泛地考虑学术工作的影响。新建议

参考文献

部分参考文献

Ruti P M, Tarasova O, Keller J H, et al. Advancing research for seamless Earth system prediction[J]. Bulletin of the American Meteorological Society, 2020, 101(1): E23-E35.

Eyring V, Bony S, Meehl G A, et al. Overview of the Coupled Model Intercomparison Project Phase 6 (CMIP6) experimental design and organization[J]. Geoscientific Model Development, 2016, 9(5): 1937-1958.

讨论

虽然我一直觉得将软件开源是未来的趋势,我们的业务系统也构建在大量开源软件基础上,但我始终没有足够的理由能说服同行也加入到开源行列中。 这篇论文进一步增强了我的信心,在后续鼓吹开源上也有了更多的理论依据。

论文于 2019 年 10 月投稿,我也是在 2019 年底开始发现国内气象领域已有很多开源项目,并在部门 2019 年工作总结个人述职时向单位推荐公开发布工具软件。 现在可以在 GitHub 上看到越来越多的由国内气象领域研究人员开发的工具软件。

我也非常赞同文中所说将正在开发的软件进行开源。 如果想要将软件迭代到一个功能齐全的版本再考虑开源,则会大大延后发布的时间,在各类工具软件快速发展的现阶段,可能会被其它同类型的项目远远地甩在后面。 更可能的一种情况是,软件永远也达不到所谓的“完美”状态,也就无需再考虑是否开源的问题了。

论文中指出开源软件需要详细的文档和测试,这两者也是工具软件的重要组成部分。 我目前开发的一些小工具完全没有文档,也缺乏单元测试。如果想要进一步开发,还是需要编写测试代码,并撰写文档。

论文为后处理满足未来高分辨率模式系统的需求提供了两种发展途径。 因为我不参与模式研发工作中,所以无法判断未来后处理是否会整合到模式积分过程中。 但提高用户端数据处理工具链中的并发度确实是一个可行的研究方向,使用诸如 Dask 之类的工具为用户开发方便易用的分布式数据处理工具,提高后处理产品制作步骤的速度。 如果有机会,未来我会尝试开发类似的工具。

参考

论文网址:https://gc.copernicus.org/articles/3/191/2020/gc-3-191-2020.html

读《治国理政》第三卷有感