CEMC ecFlow 实战教程#

本教程用于 CEMC 2022 培训的 ecFlow 上机实习环节。

本教程以 简化版 CMA-TYM 为例说明如何使用 ecFlow 搭建并运行数值预报模式流程。

教程源码:https://github.com/perillaroc/cemc-ecflow-tutorial-2022

在线访问:https://cemc-ecflow-tutorial-2022.readthedocs.io

为什么不用虚拟工作流介绍?#

ecFlow 官网教程使用虚拟工作流,用简单的脚本模拟工作流运行情况,比如下面的工作流来自 ecFlow 教程的事件 (event) 章节:

|- test
   |- f1
      |- t1
      |- t2
         trigger t1 == complete
         event a
         event b
      |- t3
         trigger t2:a
      |- t4
         trigger t2:b == set

考虑到虚拟工作流与中心使用 ecFlow 的实际情况有所脱节,本次上机实习尝试选择实际的工作流来介绍 ecFlow 的用法,期望能给大家留下更直观的印象。 实际上我们不需要使用 ecFlow 提供的全部功能,就可以构建出可以实时运行的数值预报模式流程。

如果大家对使用 ecFlow 感兴趣,可以访问 ECMWF 的官网查看最新教程(介绍最新的 v5 版本):

https://confluence.ecmwf.int/display/ECFLOW/Tutorial

也可以访问我之前翻译的中文版教程(仅介绍 v4 版本):

https://perillaroc.github.io/ecflow-tutorial-cn/

为什么选择 CMA-TYM 模式?#

目前 CEMC 有 5 个主要数值天气预报模式业务系统,均使用 ecFlow 实时运行并维护:

  • CMA-GFS

  • CMA-MESO

  • CMA-TYM

  • CMA-GEPS

  • CMA-REPS

因为本轮培训有专题介绍 CMA-GFS 和 CMA-MESO 的运行脚本,ecFlow 实战环节不再重复介绍。 集合预报系统 CMA-GEPS 和 CMA-REPS 都有众多集合成员,系统流程比较复杂,不适合初学者。

CMA-TYM 模式流程清晰明了,包含数值天气预报模式系统常见的几类模块:

  • 观测资料获取:从观测资料数据库检索台风报文

  • 资料预处理:从 NCEP GFS 预报数据生成背景场

  • 同化:CMA-TYM 本身没有同化模块,可以将云分析看成一种同化

  • 模式积分:grapes.exe 程序

  • 后处理:处理模式输出的二进制数据,生成制作产品需要的数据

  • 产品制作:生成图片产品

同时,CMA-TYM 模式的大部分模块都进行了封装,脚本比较简单,非常适合 ecFlow 的初学者。

因此,本次上机培训选择 CMA-TYM 模式作为示例讲解如何使用 ecFlow 搭建模式流程。

教程内容#

本教程由三部分组成:

  • 开始使用:介绍如何启动 ecFlow 服务,并创建只有一个任务的工作流。

  • 构建流程:添加更多任务,创建从报文获取到云分析的多个任务,介绍如何使用触发器设定运行流程,以及如何将作业提交到 Slurm 队列中。

  • 进阶:添加模式积分、产品后处理等任务,形成一个完整的 CMA-TYM 工作流并运行。