NWPC笔记:GRAPES_MESO v5.0 后处理系统运行报告
GRAPES_MESO v5.0 系统将于最近正式业务化运行。 本文是为后处理系统准备的运行报告。 虽然最终没能放入到正式的运行报告中,但也可以作为近一个月时间升级工作的纪念,为 GRAPES_MESO v5.0 后处理系统升级工作画上句号。 终于可以将精力专注到投入产出比更高的任务中。
声明:本文仅代表作者个人观点,所用数据无法代表真实情况,严禁转载。关于模式系统的相关信息,请以官方发布的信息及经过同行评议的论文为准。
GRAPES_MESO v5.0 后处理系统包含两个子系统:
grapes_meso_3km_post
:数据产品制作和少量图片产品制作grapes_meso_3km_graph
:图片产品制作子系统,从 GRAPES MESO 10km 系统移植而来
技术细节
本文不介绍如何构建后处理系统,系统建设的相关技术细节请参考以下文章:
系统运行情况
系统运行调度时间
grapes_meso_3km_post:模式积分完成后20分钟
grapes_meso_3km_graph:post完成后15分钟。实际运行时间与设定的并发作业数量有关。
模式运行耗时及资源使用情况
系统目录结构
后处理系统的目录由3部分组成,分别是程序源代码目录、ECFLOW 脚本目录和运行目录。 其中程序源代码目录包含转码程序、绘图脚本及其他需要使用到的程序。 ECFLOW 脚本目录用于 ECFLOW作业调度及运行。运行目录用于系统是实时运行。
运行目录中每个时次使用独立的目录,保证多个时次可以同时运行。 后处理子系统中不同时效的数据产品在不同的目录中生成。 绘图子系统中每个时效的每个产品使用单独的子目录,保证所有图片绘制任务可以独立运行。
系统运行流程
后处理子系统实时检测模式输出的 modelvar 数据,转码生成原始分辨率 GRIB2 产品。 再驱动其他数据产品生成任务,和图片绘制任务。 绘图子系统实时检测后处理子系统生成的原始分辨率 GRIB2 产品,并根据已生成的 GRIB2 产品绘制相应时效的图片产品。
系统各模块说明
grapes_meso_3km_post
该系统用于制作数据产品和部分图片产品,一天共运行8个时次,每个时次的模块相同,如下图所示。
initial
检查模式输出的 modelvar 文件。该模块随整个时次一同启动。
togrib2 模块
生成包括 GRIB2 格式在内的数据产品。该模块随着 initial 模块检测 modelvar 的进度而逐步运行各个时效。
pre_data2grib2 模块
准备转码需要的环境,生成 namelist.input 文件。 该模块在 initial 模块发出对应时效的事件(grapes_postvar_FFF)后启动。
data2grib2 模块
执行转码程序,将 modelvar 转成 GRIB2 文件。该模块在 pre_data2grib2 模块完成后启动。
orig_grib2 模块
拷贝 modelvar 的 GRIB2 文件到临时归档目录,并重命名原始分辨率的 GRIB2 文件。 该模块在 data2grib2 模块完成后启动。
fy4a_bin 模块
生成FY4A云图模拟数据产品,并附加到原始分辨率 GRIB2 数据中。 该模块在 orig_data2grib2 模块完成后启动。
shanghai_yun_grib2 模块
生成上海云 GRIB2 数据产品。 该模块在 fy4a_bin 模块完成后启动。
winter_olympics_grib2 模块
生成冬奥会 GRIB2 数据产品。 该模块在 fy4a_bin 模块完成后启动。
tograph 模块
生成图片产品。
initial 模块
检测原始分辨率 GRIB2 文件是否生成。 该模块随整个时次一同启动。 后续绘图任务模块在 initial 模块发出相应时效的事件(orig_grib2_000)后开始运行。
3km_daig1 模块
绘制雷达组合反射率图片。
3km_1h 模块
绘制 1 小时累计降水 + 10 米风图片。
3km_3h 模块
绘制 3 小时累计降水 + 10 米风图片。
3km_6h 模块
绘制 6 小时累计降水 + 10 米风图片。
3km_12h 模块
绘制 12 小时累计降水 + 10 米风图片。
3km_24h 模块
绘制 24 小时累计降水 + 10 米风图片。
upload 模块
完成产品上传和归档。
storage_togrib2 模块
将 GRIB2 数据产品实时拷贝到二级存储。在相应时效的 fy4a_bin 模块完成后运行。
togrib2 模块
完成 GRIB2 及其它数据产品的上传。
upload_orig_grib2 模块
完成原始分辨率 GRIB2 产品上传,向 NMC 监控平台发送 GRIB2 产品生成消息。 该模块在对应时效的 fy4a_bin 模块完成后运行。
upload_fy4a_bin 模块
完成FY4A云图模拟二进制数据产品上传。 该模块在对应时效的 fy4a_bin 模块完成后运行。
upload_shanghai_yun_grib2 模块
完成上海数值预报云 GRIB2 数据产品上传。 该模块在对应时效的 shanghai_yun_grib2 模块完成后运行。
upload_winter_olympics_grib2 模块
完成冬奥会 GRIB2 数据产品上传。 该模块在对应时效的 winer_olympics_grib2 模块完成后运行。
tograph 模块
完成图片产品上传。
3km_daig1 模块
完成雷达组合反射率图片上传。 该模块在对应时效的 tograph/3km_daig1 模块完成后启动。
3km_1h 模块
完成 1 小时累计降水 + 10 米风图片上传。 该模块在对应时效的 tograph/3km_1h 模块完成后启动。
3km_3h 模块
完成 3 小时累计降水 + 10 米风图片上传。 该模块在对应时效的 tograph/3km_3h 模块完成后启动。
3km_6h 模块
完成 6 小时累计降水 + 10 米风图片上传。 该模块在对应时效的 tograph/3km_6h 模块完成后启动。
3km_12h 模块
完成 12 小时累计降水 + 10 米风图片上传。 该模块在对应时效的 tograph/3km_12h 模块完成后启动。
3km_24h 模块
完成 24 小时累计降水 + 10 米风图片上传。 该模块在对应时效的 tograph/3km_1h 模块完成后启动。
upload_all 模块
预留模块,在 tograph 模块完成后启动。 用于获取图片产品生成完成时间。
message 模块
向NWPC消息平台发送 GRIB2 产品完成上传到二级存储的消息。 该模块在对应时效的 storage_togrib2 模块完成后启动。
housekeep_cycle 模块
预留模块,完成当前时次的数据清理。 在上传模块完成后启动。
archive_cycle 模块
完成当前时次的日志归档。 在 houskeep_cycle 模块完成后启动。
housekeep_final 模块
完成运行目录的清理。在所有时次完成时启动。
grapes_meso_3km_graph
该系统用于制作NMC网站和业务内网的图片产品,一天共运行8个时次,每个时次的模块相同,如下图所示。
graph 模块
完成图片产品制作。
initial 模块
检测原始分辨率 GRIB2 文件是否生成。 该模块随整个时次一同启动。 后续绘图任务模块在 initial 模块发出相应时效的事件(orig_grib2_000)后开始运行。
meso_cn 模块
完成中国区域逐小时图片产品的绘制。
meso_cn_24h 模块
完成中国区域 24 小时的图片产品绘制。
meso_area_1h 模块
完成多区域 1 小时的图片产品绘制。
meso_area_3h 模块
完成多区域 3 小时的图片产品绘制。
meso_area_6h 模块
完成多区域 6 小时的图片产品绘制。
meso_area_12h 模块
完成多区域 12 小时的图片产品绘制。
meso_diag1 模块
完成第 1 类诊断图形绘制。
meso_diag2 模块
完成第 2 类诊断图形绘制。
meso_diag3 模块
完成第 3 类诊断图形绘制。
meso_diag4 模块
完成第 4 类诊断图形绘制。
meso_station 模块
预留模块。暂未生成站点图片产品。
upload 模块
完成图片上传。后续上传任务模块在对应的绘图模块完成后开始运行。
graph 模块
完成绘图产品上传。
meso_cn 模块
完成中国区域逐小时图片产品的上传。
meso_cn_24h 模块
完成中国区域 24 小时图片产品的上传。
meso_area_1h 模块
完成多区域 1 小时的图片产品上传。
meso_area_3h 模块
完成多区域 3 小时的图片产品上传。
meso_area_6h 模块
完成多区域 6 小时的图片产品上传。
meso_area_12h 模块
完成多区域 12 小时的图片产品上传。
meso_diag1 模块
完成第 1 类诊断图形上传。
meso_diag2 模块
完成第 2 类诊断图形上传。
meso_diag3 模块
完成第 3 类诊断图形上传。
meso_diag4 模块
完成第 4 类诊断图形上传。
meso_sation 模块
预留模块,暂不进行站点图片产品上传。
upload_all 模块
预留模块,用于查询绘图任务完成时间。在 graph 模块运行结束后启动。
housekeep_cycle 模块
预留模块,完成当前时次运行目录的清理。在 upload 模块运行结束后启动。
archive_cycle 模块
完成当前时次的日志归档。在 houskeep_cycle 模块完成后启动。
housekeep_final 模块
完成运行目录的清理。在所有时次完成时启动。