论文部分内容阅读
耦合技术是解决气候多模式模拟问题的重要手段。我们根据驱动方式,耦合模式分量连接方式以及解决方案的整体设计风格分析了现有的耦合技术并探讨了它们在可扩展性和易用性的不足之处。现有耦合技术在支持扩展新的模式分量和细粒度耦合方式上存在困难,同时在用户使用上也不够友好。为此,我们研究了一种兼顾可扩展性和易用性的自动耦合生成技术。鉴于顶层驱动可以方便管理各个耦合分量,我们设计了一种基于顶层驱动的耦合器。同时使用耦合器与模式分量交换数据再由耦合器将数据传输给目标模式分量的方式实现耦合模式分量之间的连接。为了提高耦合模式构建的易用性和灵活性,我们提出一种基于XML元语言描述的耦合器生成框架NOC(Not Only Coupler)。我们通过首先定义耦合问题,将耦合看作多个模式分量之间的重叠时域空间的状态交换。根据这种定义抽象出耦合的基本功能:数据传输,数据变换和耦合过程协调与控制。利用MCT提供的耦合基本工具库以及ESMF的耦合基础设施,我们构建了实现耦合基本传输,数据变换以及耦合过程控制基础功能库。我们使用基于顶层驱动的模式构建耦合驱动代码。通过将耦合分量模式作为耦合的基本单位,我们构建了驱动程序驱动耦合模式分量相关过程的耦合编程模型。结合耦合问题的定义和耦合编程模型,我们提出了基于XML的耦合过程描述语言。耦合过程描述语言描述了模式分量的内部状态,模式分量之间的连接关系以及耦合实例具体的配置。框架的元语言解析器结合内部耦合基础功能库的实现将上述描述中表示耦合分量和分量关系的部分解析为一组中间表示。耦合实例管理器将这组中间表示和模板代码组合,生成耦合运行实例。耦合实例管理器将解析器传递的耦合实例配置创建为一次耦合实例的配置文件。为了验证耦合生成框架的易用性和灵活性,我们设计了两组实验。分别测试多模式单独运行,两个模式耦合以及经典耦合模式的耦合。实验验证了我们的耦合生成框架可以实现对复杂模式分量的表达以及复杂耦合连接关系的表达。