【气候模式降尺度】分位数增量映射(QDM)原理及MATLAB代码实现

分位数增量映射(quantile delta mapping, QDM)


气候模式的模拟结果与观测数据往往存在着一定的系统偏差,若将气候模式结果直接应用于作物模型或者水文模型中,其偏差会对模拟产生很大的影响,因此需要对气候模拟结果进行误差订正。
常用的误差订正方法是分位数映射方法(QuantileMapping, QM)。在建模时段内,计算观测的累计概率分布函数(Cumulative Distribution Function,CDF),并通过构建的传递函数(Transfer Function, TF)使模式数据的CDF 与观测尽量接近。
虽然QM 方法能够有效地减少模式的偏差,不仅对平均值、年际变化还对极端事件的偏差情况有所改善,但QM 可能会人为地改变气候变化信号,如改变模式预估的未来气候趋势。
目前有越来越多的研究去开发保留趋势的误差订正方法,如delta 分位数映射方法(Quantile Delta Mapping, QDM)。本博客主要介绍delta 分位数映射方法(QDM)。

1 QDM偏差订正原理

论文-J2016-Bias Correction of GCM Precipitation by Quantile Mapping How Well Do Methods preserve changes in quantiles and extreme

分位数映射(Quantile mapping, QM)偏差订正法对历史时期模式与观测降水的分布函数建立关系,并假定此关系同样适用于未来时期,忽略了模式模拟降水的未来趋势特征。
而去趋势分位数映射法(DQM)仅考虑了模式模拟降水均值的相对变化。分位数增量映射(Quantile delta mapping, QDM)法可以弥补传统分位数函数偏差订正方法的不足,其主要思想是:
(1)计算某一时间段内模式与观测降水的分布函数,建立两者之间的转换函数,并将其用来修正未来时期模式与观测的系统偏差;
(2)保留所有历史与未来时期模式模拟降水分位数的相对变化。

QDM修正法具体如下:
在这里插入图片描述

2 MATLAB实现代码

主函数代码:

clear; 
clc;
%% 导入数据
file_dir = pwd;
load([pwd, '\data.mat']);

%% QDM
hist_bool = (obs_cal.dates(:, 2) == 2 & obs_cal.dates(:, 3) == 29);
proj_bool = (obs_val.dates(:, 2) == 2 & obs_val.dates(:, 3) == 29);
obs_cal.dates(hist_bool, :) = [];
obs_cal.pre(hist_bool) = [];
obs_cal.tmax(hist_bool) = [];
obs_cal.tmin(hist_bool) = [];

ncep_cal.dates(hist_bool, :) = [];
ncep_cal.pre(hist_bool) = [];
ncep_cal.tmax(hist_bool) = [];
ncep_cal.tmin(hist_bool) = [];

ncep_val.dates(proj_bool, :) = [];
ncep_val.pre(proj_bool) = [];
ncep_val.tmax(proj_bool) = [];
ncep_val.tmin(proj_bool) = [];
[cor_ref, cor_fut] = M2R_QDM(obs_cal, ncep_cal, ncep_val);

调用函数1:M2R_QDM函数

function [X_ref,X_fut] = M2R_QDM(obs,ref,fut,single_output,dates_output)
%DBC Summary of this function goes here
%   Detailed explanation goes here
if nargin<3
    error('MATLAB:minrhs','Not enough input arguments.');
elseif nargin==3
    single_output=false;dates_output=true;
elseif nargin==
  • 24
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

WW、forever

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值