MetDig 用Python打造天气诊断分析利器
来源:中国气象报   发布时间:2020-03-18
分享到:0

中国气象报记者 张格苗

 

  在国家和中国气象局鼓励科技创新的浪潮中,中央气象台成立天气预报技术研发室,希望用技术手段解决那些困扰预报员多年的业务问题。
  宫宇所在的天气学诊断分析技术研发团队看到了一个业务痛点——以前,每次重要天气过程过后,预报员想要复盘分析研究时,就会各自去编写代码、搜集数据,这种分散劳动很大程度上造成了重复,浪费了宝贵的时间和精力。解决这一痛点成为他们确立的第一个目标。
  一年过去了,一个等待更多天气预报员和气象爱好者“检验”的通用型天气学诊断分析工具包(MetDig)登陆GitHub,供用户下载使用。

MetDig 技术架构。

  选择Python,带来意外和惊喜
  计算机语言的种类很多,不同语言之间存在种种技术壁垒。而GrADS、Fortran、NCL、IDL等常用气象分析计算机语言专业性更强,所以技术交流困难、重复劳动频繁、技术实现标准难以统一等诸多问题无法避免。
  MetDig是用Python语言写成的。Python何许“人”也?称其为当下最火的计算机语言也不为过。Python由荷兰程序员吉多·范罗苏姆30年前创立,后作为开源项目吸收了成千上万人的智慧。它易于编码,可读性较高,使学习者和使用者不会被语言结构所困扰,在数据科学、人工智能和机器学习流行的今天成为增长最快的主流编程语言。
  正是因为开源集众智,各行各业的程序员们基于Python语言开发了种类不同的程序库,可以被“后来者”直接调用。以大气科学为例,有人整理了常用的Python程序库,涉及数值模式、资料同化、数据预处理和分析、可视化等的就有9个方面63个库。
  宫宇和同事原计划直接用比较热门的几个库来实现目标。结果发现,每个库其实都有自己的独立性,他们只好从底层代码开始处理,进行技术整合和分析库开发,才感觉找到了正确的路子,也因此带来了意外之喜。就好像盖房子,Metpy、Magics、PyNGL和wrf-python等程序库是装配式建筑中已经成型的建筑模块,不能简单拼凑了之,仍需建筑师们按照这栋房子的要求进行针对性设计,再深挖地基,搭建良好的兼容环境,才能使房子盖得又好又快。
  不会编程,也能“私人定制”
  MetDig 与生俱来的使命是支撑天气预报及其相关研究工作,为重大天气过程预报、复盘、机理研究等应用场景提供诊断分析技术支持。
  在技术框架上,MetDig由四层组成——IO层、用户调用层、算法层和可视化层。
  IO层通过nmc_met_io自研程序库接入我国天气预报业务MICAPS Cassandra 和 CIMISS数据库数据环境。
  用户调用层提供兼顾通用性和结构简明的调用参数,让使用者可以定制数据源、时空信息、地理信息标注等要素。
  在算法层,MetDig底层基于Xarray结构,引入了NumPy、Pandas、SciPy、MetPy等热门科学计算、大气诊断和数据结构体等算法程序库,此外,还包含了nmc_met_diagnostic、nmc_met_base等自研算法包。用户可以基于我国天气预报业务MICAPS Cassandra和CIMISS数据库等数据环境,进行大气诊断量计算、多维时空插值、多维数据切片和提取等常用计算。
  可视化层则基于Matplotlib、Cartopy、MetPy等程序库,可以实现常用地图投影转换、图形绘制及图形简单交互等功能。
  宫宇说,这样的设计,对使用者更友好。即便是不会写代码的天气预报员和气象爱好者,也可以通过MetDig输入自己需要的时间、地点、数据来源等信息,得到一个清晰明了的可视化结果,而不必在意背后的代码是如何运行的。
  要做天气诊断分析利器
  MetDig并非第一次走进用户,中央气象台的预报员们就是第一批“体验官”。一年里,研究团队边研发边试用,收到反馈再改进,才有了现在的MetDig,可以为用户提供等压面、等熵面、Miller综合图、时间剖面、空间剖面、点等多维度类型的诊断分析图形分析。
  有需求的预报员和气象爱好者可以登录Github网站下载安装应用。中央气象台通过搭建Jupyterhub系统,实现了对MetDig 的云计算和可视化应用。这样的应用流程具有较好的用户友好性,功能上比较灵活,容易拓展,用户无需在本地机器安装MetDig 和任何特定系统环境,仅需通过浏览器打开Jupyterhub地址,即可通过MetDig 用户调用层实现在线分析。
  在Python丰富在线技术资源的支持下,后台管理员“掌握”的功能也很强大。他们可以通过更新MetDig,快速实现新功能的接入应用,使新技术从研究到应用的距离大大缩短。而且,预报员如果对某种灾害性天气的物理机制有足够理解,对该类天气有清晰的预报思路,也可以更好地通过Jupyterhub将MetDig“为我所用”,可通过编辑诊断分析脚本集对各类天气的认识于一体,帮助有针对性地聚合预报关键信息,打造更方便快捷的天气诊断分析平台。
  在宫宇和团队成员的设计中,未来MetDig 将继续引入新的诊断分析理论和方法,逐步发展物理量计算、天气系统客观识别、三维时空结构特征提取、数值模式误差来源捕捉与追踪、环流型聚类降维等技术,对不同季节、环流、地形条件下天气系统的精细化诊断分析提供支撑;面向数值模式的历史、实时、零场和预报的天气学检验评估,进一步实现从海量模式预报数据中对暴雨(雪)、强对流、台风、雾霾等灾害性天气的概念模型构建、预报关键特征、结构演变等信息的获取。
  “MetDig目前还处于起步阶段,在运行速率、对历史过程分析的支撑、交互性和通用性的平衡规划、图形表达效果等方面还需进一步改进,我们期待通过用户的应用反馈来不断完善它,通过开放的交流和努力,MetDig 工具箱能够成为一个包罗万象的天气诊断分析利器。”宫宇说。

(来源:《中国气象报》2020 年3月16日三版 责任编辑:王美丽)


  

相关新闻