本发明专利技术涉及一种用于地球系统模式耦合过程的高阶插值方法,属于地球系统模式耦合技术领域,该方法分为两个部分,第一个部分根据网格A、网格B信息生成给定高阶插值算法的一阶形式的插值系数W′1,并形成一阶形式的插值系数文件;第二个部分利用网格A上的物理量数据通过插值系数W′1插值计算得到网格B相应的物理量数据;本发明专利技术按照高阶插值算法的计算表达式,结合偏导数系数和高阶插值系数,合成高阶插值算法对应的一阶形式的插值系数,应用该发明专利技术,已有的高阶插值算法可以应用于地球系统模式的耦合过程,进而提高插值结果的数值精度,潜在地对整个地球系统模式的模拟结果产生有利的影响。
【技术实现步骤摘要】
本专利技术属于地球系统模式耦合
,涉及一种用于地球系统模式耦合过程 的高阶插值方法,应用该方法,当前无法应用于地球系统模式耦合过程的高阶插值算法可 以得以应用,特别是在维持耦合器插值模块使用方法不变的前提下应用已有的高阶插值算 法。
技术介绍
地球系统模式是一个在模拟全球气候变化过程中用于全球变化研究的重要工具, 主要由耦合器和分量模式构成。其中,分量模式是模拟地球各子系统的数值模拟模块,包括 了大气、海洋、海冰、大陆、生物圈等等分量模式,而耦合器是一个用于连接分量模式最终构 成地球系统模式的重要组件。在整个变化过程中,能量会在地球各子系统之间传递,分量模 式之间需要通过耦合器传递数据,用于各自的数值模拟计算。然而,由于不同的分量模式根 据自身的物理模型采用的网格是不同的,在耦合过程中需要通过插值计算对不同网格下的 物理量数据进行转换,即将物理量数据从对方分量模式所采用的网格通过插值拟合到本地 分量模式所采用的网格。具体地,分量模式网格由若干互不相交的网格单元组成,每个网格单元有一个中 心点坐标,对于给定的物理量数据,每个网格单元包含一个浮点数据,代表网格单元中心点 上的物理量数据。在不同网格下,对物理量数据进行插值就是利用网格A的各网格单元中 心点上的物理量数据计算网格B的各网格单元中心点上的物理量数据。对于固定的网格 A和网格B,需要插值的物理量一般有很多,对每个物理量进行单独处理的开销巨大;因而, 用于地球系统模式耦合过程的插值过程被分为两个部分第一个部分为插值系数生成,即 通过插值算法,从源网格以及目标网格生成一组插值系数,插值系数给出利用源网格物理 量数据计算目标网格相应物理量数据的与物理量数据无关的系数。该部分方法通常为离线 操作,即不用于地球系统模式的运行过程中,生成的插值系数被保存在数据文件里面供耦 合器使用;第二个部分为插值计算,在地球系统模式运行过程中,当分量模式之间发生耦合 时,耦合器根据相应的插值系数将对方分量模式发送来的物理量数据通过插值计算转化成 本地分量模式的物理量数据,该部分主要通过稀疏矩阵乘实现,可以对不同的物理量进行 统一处理;两部分之间的关系为第一部分离线生成的插值系数提供给第二部分在耦合过 程进行插值计算时使用。目前应用于地球系统模式的耦合器均利用一阶形式的插值系数,即插值结果仅线 性依赖于网格A上的物理量数据,其特征为可以用一组与物理量数据无关的插值系数描 述给定网格之间的插值,把仅有一组的插值系数称为一阶形式的插值系数。对于给定的网 格A和网格B,如果将网格A上的物理量数据记为列向量f,插值到网格B后的物理量数据 记为F,那么一阶形式的插值系数可以表示为稀疏矩阵W(矩阵的行数等于网格B的网格单 元个数,列数等于网格A的网格单元个数)且满足矩阵运算表达式F = Wf。由于插值系数 与物理量数据无关,因而一阶形式的插值系数的好处在于可以使用同样的插值系数完成网格A和网格B之间不同物理量的插值,另外,不同网格之间、不同物理量的各种一阶插值算 法可以使用一致的处理流程,使得耦合器中的插值计算变得简单、一致。一阶插值算法生成的插值系数都是一阶形式的,可以直接应用于地球系统模式的 耦合过程;所谓一阶插值算法,是指其计算表达式中只涉及物理量数据而不涉及物理量偏 导数数据。但一阶插值算法也有其不足之处,由于计算插值系数时只使用物理量数据,忽略 偏导数数据,使用一阶插值算法得到的插值结果的数值精度比较低,可能无法达到预期目 标;特别是对于守恒插值算法,忽略物理量的偏导数数据会明显减低插值结果的数值精度。设计高精度插值算法时需要考虑物理量的偏导数数据,以便更准确地反映物理量 的插值过程,这样的插值算法一般被称为高阶插值算法。采用高阶插值算法进行计算能够 增加插值结果的数值精度,进而提高相关模式计算(例如通量计算)结果的数值精度,并可 能促进整体模式的预测。然而高阶插值算法一般会生成多组插值系数,每一组插值系数形 式上都是一阶形式的插值系数,稀疏矩阵表示为W1,. . .,Wi,. . .,Wn,其中W1对应于物理量 数据f,Wi, i = 2,. . .,N对应N-1个不同类型的物理量偏导数数据Pi,i = 2,. . .,N,N为 高阶插值系数的个数(取值与所采用的高阶插值算法有关);高阶插值算法插值结果的计算 表达式为F 二 Wd+Eil2Wi Pi,相比一阶插值算法,完成高阶插值额外需要物理量偏导数数 据 Pi, i = 2,· · ·,N。—阶插值算法已经应用于地球系统模式的耦合过程,如图1所示,按插值的两个 部分表示如下第一部分生成一阶形式的插值系数文件I)根据网格配置文件,调用相应的API,读取网格A和网格B文件中的网格单元信 息,包括网格单元个数、维度,网格单元坐标、遮盖数据,储存在相应的数据结构中;2)利用已读取的网格A和网格B的坐标、遮盖数据,调用选用的一阶插值算法,生 成一阶形式的插值系数W1 ;调用相应的API将巧中的数据写入数据文件,作为一阶形式的 插值系数文件;第二部分利用第一部分得到的一阶形式的插值系数文件和网格A的物理量数据 计算网格B的物理量数据3)根据物理量配置信息,读入网格A上的物理量数据,利用步骤3中得到插值系数 文件中的W1计算得到网格B上的物理量数据,即计算F =如果不应用于地球系统模式的耦合过程(即无需按插值的两个阶段进行),一般高 阶插值算法按照计算表达式,整体流程如图2所示,包括以下步骤I)根据网格配置文件,调用相应的API,读取网格A和网格B文件中的网格单元信 息,包括网格单元个数、维度,网格单元坐标、遮盖数据,储存在相应的数据结构中;2)利用已读取的网格A和网格B的坐标、遮盖数据,调用选用的高阶插值算法,生 成高阶插值系数W1, . . .,Wi,. . .,Wn并储存在任何一种选定的稀疏矩阵数据结构中;3)根据物理量配置信息,读入网格A上的物理量数据f ;4)利用网格A的网格单元坐标和物理量数据,使用选用的偏导数计算方法,计算 选用的高阶插值算法所需的物理量偏导数数据Pi,i = 2,...,N ;5)按照计算表达式计算插值结果,即F = W1F + Eil2Wi P; ,高阶插值算法目前没有广泛地应用于当前的耦合器中,主要难点在于当前的耦合器只能处理一阶形式的插值系数,另外如何高效地计算同一网格上不同物理量的偏导数也 给高阶插值算法在耦合过程中的应用带来挑战。直接使用图2中的高阶插值流程,必须修 改耦合器的插值模块代码,使其可以计算或以参数形式传入物理量偏导数数据;但这种方 法代码难以维护且影响了耦合器插值模块的结构,一般不予考虑。另外,由于同一网格上有 不同的物理量,如果步骤4)中的偏导数算法不能高效地计算偏导数,偏导数计算将引入较 大的计算开销。综上,一阶插值算法生成一组插值系数W1, W1作为一阶形式的插值系数可以直接 应用于地球系统模式的耦合过程;但一阶插值算法的缺点是插值结果的数值精度可能较 低。高阶插值算法利用物理量偏导数数据,可以提高插值结果的数值精度,可能对地球系统 模式计算产生有利影响;但高阶插值算法的缺点是无法直接给出一阶形式的插值系数,另 外如何高效计算同一网格上不同物理量的偏导本文档来自技高网...
【技术保护点】
一种用于地球系统模式耦合过程的高阶插值方法,其特征在于,该方法分为两个部分,第一个部分根据网格A、网格B信息生成给定高阶插值算法的一阶形式的插值系数W′1,并形成一阶形式的插值系数文件;第二个部分利用网格A上的物理量数据通过插值系数W′1插值计算得到网格B相应的物理量数据;?第一部分具体包括以下步骤:?1)根据网格配置文件,调用相应的API,读取网格A和网格B文件中的网格单元信息,包括网格单元个数、维度,网格单元坐标、遮盖数据,储存在相应的数据结构中;?2)根据读取的网格A文件中的网格信息,对网格A中的每个网格单元进行搜索得到每个网格单元的多个邻居单元;?3)利用已读取的网格A和网格B的坐标、遮盖数据,调用选用的高阶插值算法,生成高阶插值系数W1,...,Wi,...,WN并储存在任何一种选定的稀疏矩阵数据结构中,N为高阶插值系数的个数(取值与所采用的高阶插值算法有关);?4)利用网格A中网格单元的邻居单元及其坐标数据,基于最小二乘法,计算网格A的每个网格单元的各个偏导数系数;?5)将高阶插值系数和偏导数系数合并生成一阶形式的插值系数文件;?第二部分具体为:?6)根据物理量配置信息,读入网格A上的物理量数据f,利用步骤5)中得到的插值系数文件中的W′1计算得到网格B上的物理量数据F,即计算F=W′1f。...
【技术特征摘要】
1.一种用于地球系统模式耦合过程的高阶插值方法,其特征在于,该方法分为两个部分,第一个部分根据网格A、网格B信息生成给定高阶插值算法的一阶形式的插值系数 r i,并形成一阶形式的插值系数文件;第二个部分利用网格A上的物理量数据通过插值系数r ,插值计算得到网格B相应的物理量数据;第一部分具体包括以下步骤1)根据网格配置文件,调用相应的API,读取网格A和网格B文件中的网格单元信息, 包括网格单元个数、维度,网格单元坐标、遮盖数据,储存在相应的数据结构中;2)根据读取的网格A文件中的网格信息,对网格A中的每个网格单元进行搜索得到每个网格单元的多个邻居单元;3)利用已读取的网格A和网格B的坐标、遮盖数据,调用选用的高阶插值算法,生成高阶插值系数W1,. . .,Wi,. . .,Wn并储存在任何一种选定的稀疏矩阵数据结构中,N为高阶插值系数的个数(取值与所采用的高阶插值算法有关);4)利用网格A中网格单元的邻居单元及其坐标数据,基于最小二乘法,计算网格A的每个网格单元的各个偏导数系数;5)将高阶插值系数和偏导数系数合并生成一阶形式的插值系数文件;第二部分具体为6)根据物理量配置信息,读入网格A上的物理量数据f,利用步骤5)中得到的插值系数文件中的W' i计算得到网格B上的物理量数据F,即计算F = W'2.如权利要求1所述方法,其特征在于,所述步骤2)具体包括2-...
【专利技术属性】
技术研发人员:宋顺强,季颖生,杨广文,王姝,
申请(专利权)人:清华大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。