论文部分内容阅读
耦合器是地球系统模式重要组成部分,用于连接各个分量模式。中科院地球系统模式CAS-ESM中使用的CPL耦合器在增加新类型的分量模式、添加耦合物理量、设置耦合频率等环节需要对耦合器的实现源码进行大量的手动修改。CAS-ESM及其分量模式还在快速发展中,需要经常对耦合接口进行上述修改。由于耦合器是涉及到各学科的复杂软件,对于大多数的分量模式开发者而言,难以把握耦合器的方方面面,修改耦合接口是一项繁重的任务。因此,本文在分析并提取地球系统模式中的耦合接口流程以及代码相似性和重复性的基础上,设计并实现了耦合接口代码生成器。分量模式开发者只需对用户配置文件进行少量修改,就可自动生成分量模式接入耦合器的所有代码,不需了解耦合流程,也不需手动修改源代码,从而简化了分量模式的接入流程。本文主要研究内容有: (1)开展耦合接口自动生成关键技术的研究。包括将原有代码根据功能划分,提炼出统一的模板,不同部分通过特殊标签表示;设计用户配置文件,配置文件中包含各个模块的控制信息,与模板标签对应;根据模板文件,设计正则匹配替换规则,匹配用户总控配置文件,进行循环遍历,将替换后的模式次代码段插入原文之中,完成耦合接口自动生成。 (2)设计实现耦合代码的自动生成。包括设计实现耦合器顶层控制接口的自动生成,项层控制接口控制各分量模式耦合关系和耦合流程;设计实现中间层功能接口的自动生成,功能接口包括分量模式之间的并行网格映射、通信和数据转换;设计实现分量模式应用层接口的自动生成,应用接口给出分量模式的耦合信息,并接收和发送数据,进行时间积分;设计实现总控脚本以及制定用户配置文件,用于执行自动生成的整体流程。 (3)以LICOM分量模式为例,实现分量模式接入地球系统模式CAS-ESM耦合接口代码的自动生成。试验表明,当增加新的分量模式时,只需修改用户配置文件的相应信息,运行自动生成程序,生成的耦合接口与原来代码模拟结果一致。 通过设计配置文件,模板文件和替换规则,实现耦合接口代码的自动生成。这对于简化分量模式的接入流程具有重要意义,并且利于CAS-ESM版本的统一。