绘制全球各大洲典型流域的时间序列图

news2024/11/24 6:46:47

流量世界第一、长度第二的亚马逊流域(Amazon)、南美洲第四大、整条河流位于巴西的圣弗朗西斯科流域(Sao Francisco)、世界第四长、北美洲最长的密西西比流域(Mississippi)、欧洲最长的伏尔加流域(Volga)、非洲仅次于尼罗河的刚果流域(Congo)、亚洲和中国第一长、世界第三长的长江流域(Yangtze)、南亚主要河流恒河流域(Ganges),可与恒河流域相媲美的印度河流域(Indus),澳大利亚中部的季节性湖泊艾尔湖流域(Lake Eyre),澳大利亚最长、最大的默里河流域(Murray),俄罗斯联邦第三大的鄂毕河流域(Ob),以及欧洲第二长河多瑙河流域(Danube)

 各大洲流域具体分布位置如下:

 以CSR RL05球谐系数为例,生成无约束格网解(grid_CSR)、高斯300km滤波解(grid300_CSR)、去相关滤波解(gridP4M6_CSR)和组合滤波解(grid300P4M6_CSR),并以CSR mascon解(C_mas)作为参考。所有解的结果和时间指标“time.mat”变量均已放入文末百度网盘,可自行下载使用,欢迎评论或私信交流,谢谢。

clearvars -except
addpath E:\Data\result\grid
load C_mas.mat
load grid_CSR.mat;load grid300_CSR.mat;load gridP4M6_CSR.mat;load grid300P4M6_CSR.mat;
grid_mas=C_mas./100;
name{1,1}='_CSR';name{2,1}='300_CSR';
name{3,1}='P4M6_CSR';name{4,1}='300P4M6_CSR';name{5,1}='_mas';
k=size(name,1); 

kk=1;
tic
for ii=1:12
 switch ii
    case 1 
        mask = 'E:\Data\Basin\Amazon.vec';rows=211;
        [lon1,lat1] = textread(mask,'%f %f','delimiter',',','headerlines',1);
    case 2
        mask = 'E:\Data\Basin\Sao Francisco.vec';rows=87;
        [lon2,lat2] = textread(mask,'%f %f','delimiter',',','headerlines',1);
    case 3
        mask = 'E:\Data\Basin\Mississippi.vec';rows=203;
        [lon3,lat3] = textread(mask,'%f %f','delimiter',',','headerlines',1);
    case 4
        mask = 'E:\Data\Basin\volga.vec';rows=183;
        [lon4,lat4] = textread(mask,'%f %f','delimiter',',','headerlines',1);
    case 5
        mask = 'E:\Data\Basin\Congo.vec';rows=181;
        [lon5,lat5] = textread(mask,'%f %f','delimiter',',','headerlines',1);
    case 6
        mask = 'E:\Data\Basin\Yangtze.vec';rows=12191;
        [lon6,lat6] = textread(mask,'%f %f','delimiter',',','headerlines',1);
    case 7 
        mask = 'E:\Data\Basin\Ganges.vec';rows=91;
        [lon7,lat7] = textread(mask,'%f %f','delimiter',',','headerlines',1);
    case 8
        mask = 'E:\Data\Basin\Indus.vec';rows=103;
        [lon8,lat8] = textread(mask,'%f %f','delimiter',',','headerlines',1);
    case 9
        mask = 'E:\Data\Basin\Lake Eyre.vec';rows=107;
        [lon9,lat9] = textread(mask,'%f %f','delimiter',',','headerlines',1);
    case 10
        mask = 'E:\Data\Basin\Murray.vec';rows=83;
        [lon10,lat10] = textread(mask,'%f %f','delimiter',',','headerlines',1);
    case 11
        mask = 'E:\Data\Basin\Ob.vec';rows=233;
        [lon11,lat11] = textread(mask,'%f %f','delimiter',',','headerlines',1);
    case 12
        mask = 'E:\Data\Basin\Danube.vec';rows=89; 
        [lon12,lat12] = textread(mask,'%f %f','delimiter',',','headerlines',1);
 end
 [dir_in,file_name{ii,1},file_type]=fileparts(mask);
    for jj=1:k 
    grid_temp=eval(['grid' name{jj,1};]);
    csr(:,jj) = gmt_grid2serie(100*grid_temp(:,:,1:197),mask,[],rows);
    end
 basin(:,kk:kk+k-1)=csr;kk=kk+k;
end
toc

index1=1;index2=162;  %%GRACE时间段的数据  GRACE-FO暂时没涉及
for Ser=1:12
for i=1:k-1
  r=corrcoef(basin(index1:index2,k*(Ser-1)+i),basin(index1:index2,k*(Ser-1)+k)); R(Ser,i)=r(2,1);
  RMSE(Ser,i)=sqrt(mean((basin(index1:index2,k*(Ser-1)+i)-basin(index1:index2,k*(Ser-1)+k)).^2));
end
end

close all;
th=1;
load E:\Code\GRACE_data\time.mat
figure(1)
for Ser=1:4
subplot(2,2,Ser)
plot(time(index1:index2),basin(index1:index2,k*(Ser-1)+1)','color',[0.2 0.6 0.2],'Linewidth',th);hold on;
plot(time(index1:index2),basin(index1:index2,k*(Ser-1)+2)','color',[0 1 0],'Linewidth',th);
plot(time(index1:index2),basin(index1:index2,k*(Ser-1)+3)','color',[0 0 1],'Linewidth',th);
plot(time(index1:index2),basin(index1:index2,k*(Ser-1)+4)','color',[1 0 1],'Linewidth',th);
plot(time(index1:index2),basin(index1:index2,k*(Ser-1)+5)','color',[1 0 0],'Linewidth',th);

ylabel('EWH(cm)','Fontname','Time New Roman');
title(file_name{Ser,1}(1,:),'FontName','Time New Roman','Fontsize',30);
xlabel('Time(year)','Fontname','Time New Roman');
xticks([2002 2005 2008 2011 2014,2017]);
if Ser==4
        l1=legend('Ori','G300','P4M6','G300+P4M6','CSR-mas');set(l1,'box','off',"FontSize",10);
    set(legend,...
    'Orientation','horizontal',...
    'NumColumns',4);
end
grid on;
end

链接:https://pan.baidu.com/s/1qXHvXZOG3lemffBmHfrKrQ

提取码:lrhx 

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

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

相关文章

数字化转型第三步:数字化业务创新与发展,提升收入和利润

引言:之前笔者的文章发布了企业数字化转型业务部分,如【开源节流】如何通过数字化转型增强盈利能力?企业供应链数字化转型如何做?让企业盈利能力增强再飞一会 【财务数字化转型之底座】集团企业财务数据中台系统建设方案 等文章&a…

CLion2024 for Mac[po] C和C++的跨平台解代码编辑器

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件(适合自己的M芯片版或Intel芯片版),将其从左侧拖入右侧文件夹中,等待安装完毕2、应用程序显示软件图标,表示安装成功3、打开访达,点击【文…

Netty学习(一)——基础组件

根据黑马程序员netty视频教程学习所做笔记。 笔记demo:https://gitee.com/jobim/netty_learn_demo.git 参考博客:https://blog.csdn.net/cl939974883/article/details/122550345 一、概述 1.1 什么是Netty Netty is an asynchronous event-driven netw…

基于改进YOLOv5的安全帽检测算法 | 引入Ghost卷积 + 添加CA注意力机制 + 更换Neck网络之BiFPN + 更换损失函数之WIoU

前言:Hello大家好,我是小哥谈。为了解决建筑工地、隧道、煤矿等施工场景中现有安全帽检测算法对于小目标、密集目标以及复杂环境下的检测精度低的问题,设计实现了一种基于YOLOv5的改进目标检测算法,记为YOLOv5-GBCW。首先使用Ghos…

【昇思初学入门】第七天打卡-模型训练

训练模型 学习心得 构建数据集。这通常包括训练集、验证集(可选)和测试集。训练集用于训练模型,验证集用于调整超参数和监控过拟合,测试集用于评估模型的泛化能力。 (mindspore提供数据集https://www.mindspore.cn/d…

Fusion WAN:企业出海与全球组网的数字网络底座

众多中国企业与品牌正将目光投向海外市场,积极寻求发展新机遇,并且在这一过程中取得了显著的成果。"出海"战略已经成为一些企业转型升级的关键选择。 随着国内市场的竞争日益激烈,越来越多的企业开始寻求海外市场的拓展&#xff0c…

压电风扇的显著特点及其在电子系统中的应用

压电已经存在了一个多世纪,人们发现某些晶体结构在受到机械应力时产生表面电荷。 这种形式的压电传感器是压电传感器的工作方式。与压电传感器(或发电机)类似,压电致动器(或电机)使用补丁[1,3]形式的压电陶…

探索PHP中的魔术常量

PHP中的魔术常量(Magic Constants)是一些特殊的预定义常量,它们在不同的上下文中具有不同的值。这些常量可以帮助开发者获取文件路径、行号、函数名等信息,从而方便调试和日志记录。本文将详细介绍PHP中的魔术常量,帮助…

2024地理信息相关专业大学排名

在开始之前,不得不提一下今年福耀科技大学不能招生的遗憾,不知道明年是否能一切准备就绪开始招生呢? 如果这所大学能招生了,不知道它有没有地理信息相关专业呢? 言归正转,我们现在就基于公开资料&#xf…

力扣随机一题 哈希表 排序 数组

博客主页:誓则盟约系列专栏:IT竞赛 专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ 2491.划分技能点相等的团队【中等】 题目: 给你一个正整数数组…

Qt添加Dialog对话框

Qt版本:5.12.12 1.添加【模块】 Base class:可以选择QDialog、QWidget、QMainWindow 会自动生成MyDialog.h和MyDialog.cpp文件以及MyDialog.ui文件, 2.添加代码: (1)TestDialog.h #pragma once#include…

三分之一的违规行为未被发现

Gigamon 调查显示,随着漏洞的针对性越来越强、越来越复杂,企业在检测漏洞方面也面临越来越大的困难,超过三分之一的企业表示,现有的安全工具无法在漏洞发生时检测到它们。 随着混合云环境变得越来越复杂,以及恶意行为…

Docker 查看源地址/仓库地址,更改

一、源地址文件配置路径。若有docker文件夹,没有json,可以新增,复制进去内容 /etc/docker/daemon.json {"registry-mirrors": ["https://dockerhub.azk8s.cn","https://hub-mirror.c.163.com",&q…

conda如何修改虚拟环境的python版本

有时候安装虚拟环境的时候,忘记指定python的版本,本文介绍一下如何在虚拟环境创建之后,修改python的版本。 1 如果安装了Anaconda Navigator。 2 终端 参考:conda修改当前环境中的python版本_conda更换python版本-CSDN博客

电机故障检测系统的通用性限制分析

电机故障检测系统因应用环境、功能需求、经济性等多方面差异而难以实现通用。工厂与实验室在环境条件、使用频率、功能需求、成本、维护及数据处理方面有显著不同,此外,LabVIEW软件在两者中的应用和数据处理也存在差异,这进一步限制了系统的通…

初探海龟绘图

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 海龟绘图是Python内置的模块,在使用前需要导入该模块,可以使用以下几种方法导入: l 直接使用import语句导入海龟…

深度学习21-30

1.池化层作用(筛选、过滤、压缩) h和w变为原来的1/2,64是特征图个数保持不变。 每个位置把最大的数字取出来 用滑动窗口把最大的数值拿出来,把44变成22 2.卷积神经网络 (1)conv:卷积进行特征…

JS(JavaScript)的复合类型详解

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

vue3前后端开发:响应式对象不能直接成为前后端数据传输的对象

如图所示:前端控制台打印显示数据是没问题的,后端却显示没有接收到相应数据,但是后端的确接收到了一组空数据 直接说原因:这种情况唯一的原因是没有按正确格式传递参数。每个人写错的格式各有不同,我只是说明一下我在…

大模型应用研发基础环境配置(Miniconda、Python、Jupyter Lab、Ollama等)

老牛同学之前使用的MacBook Pro电脑配置有点旧(2015 年生产),跑大模型感觉有点吃力,操作起来有点卡顿,因此不得已捡起了尘封了快两年的MateBook Pro电脑(老牛同学其实不太喜欢用 Windows 电脑做研发工作&am…