利用尺度因子方法恢复GRACE水储量变化

1.背景

重力恢复与气候实验(GRACE)观测地球重力势的时间变化。在考虑了大气和海洋效应后,每月到年际尺度上剩余的信号主要与陆地水储存(TWS)的变化有关。水储存变化的估计受到测量误差和噪声的信号退化影响,这些影响表现为随球谐谱阶数增加而增加的随机误差,以及在特定谱序内相关的系统误差。目前存在几种滤波方法,可以抑制或分离和去除这些误差。然而,在实际应用中,滤波器也会修改真实的地球物理信号。滤波器的设计专注于这种权衡,试图在最大程度减少信号损失的同时最大限度地减少噪声。

由于滤波后的GRACE数据的空间分辨率通常比其他水文数据集更粗,因此在进行公平的分析之前,有必要协调数据集之间的空间尺度差异。当未考虑由于对GRACE数据进行滤波而导致的信号修改时,地下水储存(TWS)估计之间的表观差异会错误地归因于观测或模型数据的缺陷,而实际上这些差异是由于空间尺度不匹配造成的。

调和空间分辨率差异的一种直接方法是以相同的方式对每个数据集进行滤波。这种方法先前已用于验证基于卫星的冬季降水估计 [Swenson, 2010] 和全球陆地水文模型 [例如,Schmidt et al., 2006]。另一种方法是对GRACE数据进行缩放,以考虑滤波对信号的影响。许多研究 [例如,Swenson and Wahr, 2007; Rodell et al., 2004a; Klees et al.,2007; Landerer et al., 2010] 已经估计了流域平均时间序列中的信号衰减,并对GRACE观测应用了增益因子。如果不进行恢复,信号衰减将减少关闭区域水平衡的能力,或者当将水量预算用于估计一个分量作为残差时,信号衰减将成为残差中的误差。由于GRACE数据用户通过所描述的途径估计信号退化非常繁琐,水文研究将极大受益于可以用作独立、独立和明确的水文应用数据集的网格化GRACE数据,无需测地学家的帮助 [Rodell et al., 2010]。这将使用户能够在用户定义的区域内对网格化GRACE数据进行平均,其中信号衰减已经作为GRACE后处理的一部分进行了校正,并且区域平均值的误差和不确定性也可以从网格化数据中计算出来。

2.滤波的方法

2.1 基本原理

我们通过未滤波和滤波后的月平均GLDAS-NOAH水储存估计之间的均方根差异(RMSD)来量化泄漏误差。为了减小这种泄漏误差,我们通过简单的最小二乘回归来推导出一个增益因子k,通过最小化未滤波、真实ΔSt和滤波后ΔSf储存时间序列之间的不匹配来实现:

 这个方法采用最小二乘估计的方法,拟合参数k。下面我们以亚马逊流域的水储量变化在截断滤波前后的时间序列的散点为例。本质尺度因子就是要求得这个斜率k。

 2.2 流域水储量的尺度因子估计

我们先获取流域水储量在截断滤波前后的时间序列,下面以亚马逊流域为例。

 我们可以看到,由于截断滤波的关系,两者存在一定的差异。

下面我们进行尺度因子计算,代码如下:

%-------------------------------------------------------------------------%
%                 cs data from surface mass change                        %
%                    demo for grid scale factor  
%                        Chistrong Wen@UCAS
%-------------------------------------------------------------------------%
tp_gind=load('amazon_new.txt');  
GRID.lon=LLZ_CSR.lon;
GRID.lat=LLZ_CSR.lat;
amazon=inpolygon(interpn(GRID.lon,1),interpn(GRID.lat,1),tp_gind(:,1),tp_gind(:,2));
area_scale=cal_grid_region(GRID);
for ii=1:size(LLZ_CSR.rg,3)CSR_rg_original(ii)=mean(mean(interpn(LLZ_CSR.rg(:,:,ii),1).*amazon.*interpn(area_scale,1)))/mean(mean(amazon.*interpn(area_scale,1)));jgc_tt_original(ii)=LLZ_CSR.tt(ii);
end%% filter time series
amazon=inpolygon(interpn(GRID.lon,1),interpn(GRID.lat,1),tp_gind(:,1),tp_gind(:,2));
area_scale=cal_grid_region(GRID);
for ii=1:size(Filter.rg,3)CSR_rg_filter(ii)=mean(mean(interpn(Filter.rg(:,:,ii),1).*amazon.*interpn(area_scale,1)))/mean(mean(amazon.*interpn(area_scale,1)));jgc_tt_filter(ii)=LLZ_CSR.tt(ii);
end
scatter(CSR_rg_original,CSR_rg_filter)
grid on
figure
plot(jgc_tt_original,CSR_rg_original)
hold on
plot(jgc_tt_filter,CSR_rg_filter,'g')%% scale factor
[k] = polyfit(CSR_rg_filter,CSR_rg_original,1);
figure
subplot(2,1,1)
plot(jgc_tt_original,CSR_rg_original,'b','LineWidth',1)
hold on
plot(jgc_tt_filter,CSR_rg_filter,'k','LineWidth',1)
legend('GLDAS-NOAH:original','GLDAS-NOAH:filtered','best')subplot(2,1,2)
plot(jgc_tt_original,CSR_rg_original,'b','LineWidth',1)
hold on
plot(jgc_tt_filter,CSR_rg_filter.*k(1),'r','LineWidth',1)
legend('GLDAS-NOAH:original','GLDAS-NOAH:filtered*scale factor','best')

经过计算得到的尺度因子为1.0676.然后对滤波后的时间序列进行这个比例缩放,结果如图:

 可以看到,经过尺度因子恢复之后的水储量与原始的结果很接近(下图)。

2.3 全球格网的尺度因子

如果我们对全球的水文模型每个分辨率格网进行尺度因子恢复,可以得到全球的尺度因子。本文使用的是GLDAS-NOAH 的SOIL MOISTURE为例,进行截断滤波,得到全球的尺度因子,同时我们读取GRACE JPL mascon发布的尺度因子进行对比:

代码:

%-------------------------------------------------------------------------%
%                 cs data from surface mass change                        %
%                    demo for grid scale factor                           %
%-------------------------------------------------------------------------%% for ii=1:size(LLZ_CSR.lon,1)
%     for jj=1:size(LLZ_CSR.lon,2)
%         for kk=1:numel(LLZ_CSR.tt)
%             GLDAS_original(kk)=LLZ_CSR.rg(ii,jj,kk);
%             GLDAS_filter(kk)=Filter.rg(ii,jj,kk);
%         end
%         Temp = polyfit(GLDAS_filter,GLDAS_original,1);
%         k(ii,jj) = Temp(1);
%     end
%     disp(ii)
% endScale.lon = LLZ_CSR.lon;
Scale.lat = LLZ_CSR.lat;
Scale.rg = k;
subplot(1,2,1)
rg_plot(Scale)
caxis([0,5]),colorbarfile = 'CLM4.SCALE_FACTOR.JPL.MSCNv03CRI.nc';
ncdisp(file)
lon = ncread(file,'lon');
lat = ncread(file,'lat');
[lon,lat] = meshgrid(lon,lat);
O.lon = lon;O.lat = lat;
O.rg  = ncread(file,'scale_factor')';
subplot(1,2,2)
wzq_plot(O)
caxis([0,5]),colorbar

可以看到本文得到的尺度因子与JPL的量级一致,而JPL不包含海洋和格林兰岛。 

代码中涉及的函数cal_grid_region

function sArea=cal_grid_region(OBS)
[Nlat,Nlon] = size(OBS.lat);
for nn=1:Nlatllat(nn)=OBS.lat(nn,1);
end
DLat=abs(OBS.lat(1,1)-OBS.lat(2,1));
DLon=abs(OBS.lon(1,2)-OBS.lon(1,1));   
% R_e=6.3781363000E+06;    % m , the radius of EARTH
R_e = 6.371E+06;
for ii=1:numel(llat)
deg2rad = pi/180 ;  %verlion
rLat0(ii)=(llat(ii)-DLat/2)*deg2rad;
rLat1(ii)=(llat(ii)+DLat/2)*deg2rad;
rArea(ii)= R_e^2*DLon*deg2rad*(cos(pi/2-rLat1(ii))-cos(pi/2-rLat0(ii)))*1D-6 ;
endfor ii=1:Nlat
for jj=1:NlonsArea(ii,jj)=rArea(ii); % km
end
end     
end

测试数据可以参见本文的资源。

参考资料

Landerer, F. W. and S. C. Swenson (2012). "Accuracy of scaled GRACE terrestrial water storage estimates." Water Resources Research 48(4).

GRACE mascon数据下载链接汇总_我是水怪的哥的博客-CSDN博客

绘图函数的使用wzq_plot - 哔哩哔哩 (bilibili.com)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/18651.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

11年编码经验程序员惨遭淘汰解雇,原因竟是不会使用AI工具

近日,Twitter 上一名技术人分享了一个事件,即拥有11年Java编码经验、会 100% 手写代码的程序员因拒绝使用辅助代码工具,只想写可控的代码,竟败给一位仅有4年经验、却善用编码工具的后辈,惨遭面试淘汰。 当「拒绝使用编…

PHP代码审计——实操!

ctfshow PHP特性 web93 八进制与小数点 <?php include("flag.php"); highlight_file(__FILE__); if(isset($_GET[num])){$num $_GET[num];if($num4476){die("no no no!");}if(preg_match("/[a-z]/i", $num)){die("no no no!")…

建网站一般使用Windows还是liunx好?

建网站一般使用Windows还是liunx好&#xff1f; 1&#xff1b;服务器配置比较低时&#xff0c;最好使用linux系统。 对于一个电脑新手&#xff0c;刚开始做网站时&#xff0c;都会选择入门级的服务器&#xff0c;我刚开始做网站时&#xff0c;就是这样的。我购买了一台入门级服…

CS5265 USB-C to HDMI 4k@60Hz单转方案

CS5265AN是一款高性能Type-C/DP1.4至HDMI2.0b转换器芯片&#xff0c;集成了DP1.4兼容接收机和HDMI2.0b兼容发射机&#xff0c;还配备了CC控制器用于CC通信&#xff0c;实现DP Alt模式。DP接口包括4条主通道、辅助通道和HPD信号&#xff0c;接收器支持每通道最大5.4Gbps数据速率…

浅入浅出MySQL事务

什么是事务 事务是由数据库中一系列的访问和更新组成的逻辑执行单元。 事务的逻辑单元中可以是一条SQL语句&#xff0c;也可以是一段SQL逻辑&#xff0c;这段逻辑要么全部执行成功&#xff0c;要么全部执行失败。 事务处理的基本原则是“原子性”、“一致性”、“隔离性”和…

114.(cesium篇)cesium去掉时间轴并用按钮控制运动

地图之家总目录(订阅之前必须详细了解该博客) 地图之家:cesium+leaflet+echart+地图数据+地图工具等相关内容的介绍 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 效果如下所示: cesium去掉时间轴并用按钮控制运动 下面献上完整代码,代码重要位…

《网络是怎样连接的》(二.2)

(6条消息) 《网络是怎样连接的》&#xff08;二.1&#xff09;_qq_38480311的博客-CSDN博客 本文主要取材于 《网络是怎样连接的》 第二章 2.5 2.6章节。 目录 简述&#xff1a; 本文的主要内容是 以太网的收发操作 和 UDP协议的收发操作。 IP与以太网的包收发操作 包是什…

Java反射(一)

目录 1.了解反射 2.Class类的三种实例化方法 3.反射机制与对象实例化 4.反射与单例设计模式 5.通过反射获取类结构的信息 1.了解反射 什么是反射&#xff0c;反射有什么作用 1.在Java中&#xff0c;反射是一种机制&#xff0c;允许程序在运行时动态地获取、使用和修改类的…

ChatGPT学python——制作自己的AI模型(一)初步了解

前言 「作者主页」&#xff1a;雪碧有白泡泡 「个人网站」&#xff1a;雪碧的个人网站 「推荐专栏」&#xff1a; ★java一站式服务 ★ ★前端炫酷代码分享 ★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff0c;vue成神之路★ ★ 解决算法&#xff0c;一个专栏就够了★ ★ 架…

大数据课程E1——Flume的概述

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 了解Ganglia的概念&#xff1b; ⚪ 了解Ganglia的拓扑结构和执行流程&#xff1b; ⚪ 掌握Ganglia的安装操作&#xff1b; 一、简介 1. 概述 1. Flume原本是由Cloude…

【华为HCIP | 高级网络工程师】刷题日记(11)

个人名片&#xff1a; &#x1f43c;作者简介&#xff1a;一名大二在校生&#xff0c;喜欢编程&#x1f38b; &#x1f43b;‍❄️个人主页&#x1f947;&#xff1a;落798. &#x1f43c;个人WeChat&#xff1a;见文末 &#x1f54a;️系列专栏&#xff1a;&#x1f5bc;️ 零…

数据结构和算法入门(时间/空间复杂度介绍--java版)

数据结构和算法入门&#xff08;时间/空间复杂度介绍–java版&#xff09; write in front 作者&#xff1a; 向大佬学习 专栏&#xff1a; 数据结构&#xff08;java版&#xff09; 作者简介&#xff1a;大二学生 希望能学习其同学和大佬的经验&#xff01; 本篇博客简介&…

微信小程序页面传值为对象[Object Object]详解

微信小程序页面传值为对象[Object Object]详解 1、先将传递的对象转化为JSON字符串拼接到url上2、在接受对象页面进行转译3、打印结果 1、先将传递的对象转化为JSON字符串拼接到url上 // info为对象 let stationInfo JSON.stringify(info) uni.navigateTo({url: /pages/statio…

jenkins自定义邮件发送人姓名

jenkins发送邮件的时候发送人姓名默认的&#xff0c;如果要自定义发件人姓名&#xff0c;只需要修改如下信息即可&#xff1a; 系统管理-system-Jenkins Location下的系统管理员邮件地址 格式为&#xff1a;自定义姓名<邮件地址>

VMware虚拟机安装Linux教程(超详细)

一、安装 VMware 官方正版VMware下载&#xff08;16 pro&#xff09;&#xff1a;https://www.aliyundrive.com/drive/file/backup/64c9fa3c132e0d42c60d489c99f3f951ef112ad5 下载Linux系统镜像&#xff08;阿里云盘不限速&#xff09;&#xff1a;https://www.aliyundrive.c…

CCL 2023 电信网络诈骗案件分类评测-第一名方案

1 任务内容 1.1 任务背景 2022年12月1日起&#xff0c;新出台的《反电信网络诈骗犯罪法》正式施行&#xff0c;表明了我国治理当前电信网络诈骗乱象的决心。诈骗案件分类问题是打击电信网路诈骗犯罪过程中的关键一环&#xff0c;根据不同的诈骗方式、手法等将其分类&#xff…

tp-link端口映射设置教程及快解析内网穿透

通常情况下&#xff0c;我们希望互联网的其他用户访问到我们本地局域网内部的一台服务器、监控……等设备或应用&#xff0c;就要在本地路由器或防火墙的出接口/路由器WAN口 上做端口映射&#xff0c;将内部局域网某台计算机的私网IP&#xff0c;如&#xff1a;192.168.1.101 内…

手写一个锁其实也很easy

懵逼的状态&#xff1a; 面试中经常被问到&#xff0c;如何手写一个锁&#xff0c;很多时候一脸懵逼&#xff0c;不知所措&#xff0c;多少年前深有体会&#xff0c;然而回过头来细细分析&#xff0c;只需使用AtomicReference类 即可以轻松搞定。首先咱们先来了解一下Atomi…

数据截断、频谱泄漏与窗函数的选择

目录 数据截断、频谱泄漏与窗函数的选择 什么是频谱泄漏&#xff1f; 解决频谱泄漏问题的方法 主瓣和旁瓣 窗函数介绍 窗函数解决频谱泄漏问题的原理 窗函数的种类、特点和如何使用 1、矩形窗 2、三角窗 3、汉宁窗 4、海明窗 5、布莱克曼窗 6、巴特窗&#xff1a;…

opencv 31-图像平滑处理-方框滤波cv2.boxFilter()

方框滤波&#xff08;Box Filtering&#xff09;是一种简单的图像平滑处理方法&#xff0c;它主要用于去除图像中的噪声和减少细节&#xff0c;同时保持图像的整体亮度分布。 方框滤波的原理很简单&#xff1a;对于图像中的每个像素&#xff0c;将其周围的一个固定大小的邻域内…