高分辨率全球海洋温度和盐度再分析数据Global Ocean Physics Reanalysis(0.083°),并利用matlab读取绘图
1.引言
在研究全球海平面变化的问题中,卫星测高获得总的海平面变化,而海平面变化包含质量变化和比容变化。因此测高数据和海洋物理分析数据对于海平面研究至关重要。
测高数据下载网址:

Global Ocean Gridded L 4 Sea Surface Heights And Derived Variables Reprocessed 1993 Ongoing | Copernicus Marine Service
Home (altimetry.fr)
海洋温度和盐度下载网址:
Met Office Hadley Centre observations datasets
下面介绍的温度和盐度数据的分辨率为0.083°,下载地址:
Global Ocean Physics Reanalysis | Copernicus Marine Service

2.数据简介
GLORYS12V1产品是CMEMS全球海洋涡旋解析(水平分辨率1/12°,垂直50个层次)重分析,覆盖高度计数据(从1993年起)。该产品主要基于当前实时全球预报CMEMS系统。模型组件是以NEMO平台为基础,表面由ECMWF ERA-Interim然后是近年来的ERA5重分析驱动。观测数据通过降维卡尔曼滤波器同化。沿轨高度计数据(海平面异常)、卫星海表温度、海冰浓度以及原位温度和盐度垂直剖面被联合同化。此外,3D-VAR方案为温度和盐度的缓慢演变的大尺度偏差提供校正。该产品包括从顶到底的温度、盐度、洋流、海平面、混合层深度和冰参数的日均和月均文件。全球海洋输出文件以标准正则网格显示,水平分辨率为1/12°(约8公里),垂直方向上有50个标准层次。下图展示了数据信息,数据分为每日数据和每月数据,时间跨度为1993年至2023年(最晚访问时间:2024-3-6),其中_my_是1993.1-2021.6,而_myint_是2021.7-至今。

3.数据读取
下面以墨西哥湾区域为例,绘制某温度和盐度数据随深度的空间分布:
address_i = 'E:\Ocean_physical\raw\';
GFA = dir(fullfile(address_i,'*nc'));
k = length(GFA);% ncdisp([address,GFA(1).name])
% % load U V velocity
lon = ncread([address_i,GFA(1).name],'longitude');
lat = ncread([address_i,GFA(1).name],'latitude');
[lon,lat] = meshgrid(lon,lat);[m1,n1] = size(lon);
depth = ncread([address_i,GFA(1).name],'depth');A1 = zeros(m1*n1,k+2);
A1(:,1) = reshape(lon,m1*n1,1);
A1(:,2) = reshape(lat,m1*n1,1);
% ind_ = find(A1(:,1)>=110&A1(:,1)<=160&A1(:,2)>=-30&A1(:,2)<=0);
ind_ = find(A1(:,1)>=-100&A1(:,1)<=-70&A1(:,2)>=0&A1(:,2)<=30);
for ii = 1:2
%% read variables
% sea_water_potential_temperature
thetao = ncread([address_i,GFA(ii).name],'thetao');
% sea_water_salinity
so = ncread([address_i,GFA(ii).name],'so');
% eastward_sea_water_velocity
uo = ncread([address_i,GFA(ii).name],'uo');
% northward_sea_water_velocity
vo = ncread([address_i,GFA(ii).name],'vo');
% time
time = ncread([address_i,GFA(ii).name],'time');
dt = datetime(1950,1,1) + hours(time);
[y,m,d] = ymd(dt);
tt(:,1) = time_transfer([y,m,d],1);
%% region mask
for jj = 1:length(depth)
B1 = reshape(thetao(:,:,jj)',m1*n1,1);
aus_region1 = B1(ind_,:);
aus_thetao(:,:,jj) = reshape(aus_region1,361,361);
%%
B2 = reshape(so(:,:,jj)',m1*n1,1);
aus_region2 = B2(ind_,:);
aus_so(:,:,jj) = reshape(aus_region2,361,361);
%%
B3 = reshape(uo(:,:,jj)',m1*n1,1);
aus_region3 = B3(ind_,:);
aus_uo(:,:,jj) = reshape(aus_region3,361,361);
%%
B4 = reshape(vo(:,:,jj)',m1*n1,1);
aus_region4 = B4(ind_,:);
aus_vo(:,:,jj) = reshape(aus_region4,361,361);
end
address_o1 = 'E:\Ocean_physical\output\australia\thetao\';
save([address_o1,'thetao_',num2str(y),'_',num2str(m),'.mat'],'aus_thetao')
address_o2 = 'E:\Ocean_physical\output\australia\so\';
save([address_o2,'thetao_',num2str(y),'_',num2str(m),'.mat'],'aus_so')
address_o3 = 'E:\Ocean_physical\output\australia\uo\';
save([address_o3,'thetao_',num2str(y),'_',num2str(m),'.mat'],'aus_uo')
address_o4 = 'E:\Ocean_physical\output\australia\vo\';
save([address_o4,'thetao_',num2str(y),'_',num2str(m),'.mat'],'aus_vo')
disp(ii)
clear thetao aus_thetao aus_so aus_uo aus_voend
for i = 1:50
subplot(5,10,i)
imagesc(flipud(aus_so(:,:,i)))
endfor i = 1:50
subplot(5,10,i)
imagesc(flipud(aus_thetao(:,:,i)))
end


如果需要计算比容海平面,请参考这篇博文。计算由于海洋温度和盐度变化产生的比容海平面变化-CSDN博客
♥欢迎点赞收藏♥
相关文章:
高分辨率全球海洋温度和盐度再分析数据Global Ocean Physics Reanalysis(0.083°),并利用matlab读取绘图
1.引言 在研究全球海平面变化的问题中,卫星测高获得总的海平面变化,而海平面变化包含质量变化和比容变化。因此测高数据和海洋物理分析数据对于海平面研究至关重要。 测高数据下载网址: Global Ocean Gridded L 4 Sea Surface Heights And …...
微信小程序修改placeholder样式
微信小程序有既定的修改placeholder的标签 一、placeholder-style直接修改样式 <input type"text" placeholder"请输入" placeholder-style"color:#e2e2e2;"></input>二、placeholder-class设置样式类 <input type"text&…...
爬虫案例1
通过get请求直接获取电影信息 目标页面: https://spa6.scrape.center/在network中可以看到是通过Ajax发送的请求,这个请求在postman中也可以直接请求成功,这只是一个用来练习爬虫的,没有达到js逆向的过程,需要通过分析js 代码来获…...
修改表结构
目录 修改表结构 创建数据表插入数据 修改已有列 修改 member 表的 name 列的定义 为表增加列 增加一个 address 列,这个列上不设置默认值 增加一个 sex 列,这个列上设置默认值 删除表中的列 删除 sex 列 Oracle从入门到总裁:https…...
Rust 语言中的 into() 方法
在 Rust 中,into() 方法通常用于将一个类型的值转换为另一个类型,这通常涉及到资源的所有权转移。into() 方法通常定义在实现了 Into<T> trait 的类型上,该 trait 允许一个类型被“转换”为另一个类型。 into() 方法的一个常见用途是在…...
MinIO权限提升漏洞CVE-2024-24747详细解决办法
漏洞名称: MinIO权限提升漏洞(CVE-2024-24747) 漏洞简介 2024年2月2日,深瞳漏洞实验室监测到一则MinIO 存在权限提升漏洞的信息,漏洞编号:CVE-2024-24747,漏洞威胁等级:高危。 该漏洞是由于用户创建的访…...
“我快无聊死了”用英语怎么说?柯桥英语口语学习,成人零基础学外语
每日一句 Im bored to death. 我快无聊死了。 单词解析: bored / bɔːd / adj.无聊的,厌倦的 bored to d15857575376eath:指非常无聊或厌烦,达到了极点的程度。 "bored" 和 "boring" 都与无聊相关&#…...
JS ATM练习案例(复习循环知识)
需求:用户可以选择存钱、取钱、查看余额和退出功能。 分析:1循环时反复出现提示框,所以提示框写到循环里面。 2.退出的条件是4,所以是4就会结束循环 3.提前准备一个金额预存储 4取钱为减法操作,存钱为加法操作…...
Android 二维码相关(一)
Android 二维码相关(一) 本篇文章主要记录下android下使用zxing来创建二维码. 1: 导入依赖 api "com.google.zxing:core:3.5.1"2: 创建二维码 创建QRCodeWriter对象 QRCodeWriter qrCodeWriter new QRCodeWriter(); 将文本内容转换成BitMatrix BitMatrix encode …...
利用tree命令自动保存文件层级结构
tree命令的使用 为了将上图左侧的文件目录,生成上图右侧中的文件夹结构列表,保存在txt中,使用了如下cmd命令: C:\armadillo-12.8.0>tree .>list.txt以上tree命令分为3部分: tree 命令. 在当前目录>list.tx…...
C++初阶:内存管理
目录 1. C/C中各种资源的内存分布1.1 C/C程序内存区域划分1.2 各资源的内存分布情况(练习) 2. C中的动态内存管理方式2.1 new/delete开辟内置类型空间2.2 new/delete开辟销毁自定义类型空间 3. operator new 与 operator delete函数4. new与delete的实现…...
vue和react的diff算法源码
Vue.js 中的虚拟 DOM Diff 算法是其性能优化的关键之一。 Vue.js 的 Diff 算法主要基于 Snabbdom,以下是 Vue.js 中虚拟 DOM Diff 算法的简化版伪代码,以便说明其基本思想: function patch(oldVnode, vnode) {// 如果 oldVnode 不存在&…...
Coordinate Attention(CVPR 2021)
paper:Coordinate Attention for Efficient Mobile Network Design official implementation:GitHub - houqb/CoordAttention: Code for our CVPR2021 paper coordinate attention 背景 注意力机制,已经被广泛用于提高深度神经网络的性能&…...
计算机网络-第4章 网络层(2)
主要内容:网络层提供的两种服务:虚电路和数据报(前者不用)、ip协议、网际控制报文协议ICMP、路由选择协议(内部网关和外部网关)、IPv6,IP多播,虚拟专用网、网络地址转换NAT,多协议标…...
重学SpringBoot3-WebMvcAutoConfiguration类
更多SpringBoot3内容请关注我的专栏:《SpringBoot3》 期待您的点赞👍收藏⭐评论✍ 重学SpringBoot3-WebMvcAutoConfiguration类 是什么什么用生效条件作用 自定义配置的三种方式自定义配置举例1. 自定义 DispatcherServlet 配置2. 静态资源配置3. 自定义…...
探索数据结构:深入了解顺序表的奥秘
✨✨ 欢迎大家来到贝蒂大讲堂✨✨ 🎈🎈养成好习惯,先赞后看哦~🎈🎈 所属专栏:数据结构与算法 贝蒂的主页:Betty’s blog 1. 什么是顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据元…...
苍穹外卖学习-----2024/03/010---redis,店铺营业状态设置
1.Redis入门 2.在Java中操作Redis 3.店铺营业状态设置 BUG!!! 今天在启动项目时,用到了Redis缓存数据库,但是却出现了报错信息: ERR Client sent AUTH, but no password is set。Caused by: io.lettuce.core.RedisCommandExecutionException…...
RUST 每日一省:发布到crates.io
github是开源代码分享的地方,rust的开源项目除了github,我们还可以将其发布到 crates.io 上,然后其它用户就可以使用cargo进行安装使用了。其实步骤很简单,只有三条命令了,我们一次来看一下。 1、cargo package 首先&a…...
String类及其常用方法
文章目录 1.String类的特性与使用1.1 String类的特性1.2 String对象的创建方式1.3 String 的使用(不同的拼接操作) 2.String常用方法2.1 String的常用方法一2.2 String常用方法二2.3 String常用方法三 1.String类的特性与使用 1.1 String类的特性 Stri…...
1094. 拼车
说在前面 🎈不知道大家对于算法的学习是一个怎样的心态呢?为了面试还是因为兴趣?不管是出于什么原因,算法学习需要持续保持。 题目描述 车上最初有 capacity 个空座位。车 只能 向一个方向行驶(也就是说,不…...
java_网络服务相关_gateway_nacos_feign区别联系
1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
React Native 开发环境搭建(全平台详解)
React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...
JavaScript 中的 ES|QL:利用 Apache Arrow 工具
作者:来自 Elastic Jeffrey Rengifo 学习如何将 ES|QL 与 JavaScript 的 Apache Arrow 客户端工具一起使用。 想获得 Elastic 认证吗?了解下一期 Elasticsearch Engineer 培训的时间吧! Elasticsearch 拥有众多新功能,助你为自己…...
Oracle查询表空间大小
1 查询数据库中所有的表空间以及表空间所占空间的大小 SELECTtablespace_name,sum( bytes ) / 1024 / 1024 FROMdba_data_files GROUP BYtablespace_name; 2 Oracle查询表空间大小及每个表所占空间的大小 SELECTtablespace_name,file_id,file_name,round( bytes / ( 1024 …...
Neo4j 集群管理:原理、技术与最佳实践深度解析
Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...
WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成
厌倦手动写WordPress文章?AI自动生成,效率提升10倍! 支持多语言、自动配图、定时发布,让内容创作更轻松! AI内容生成 → 不想每天写文章?AI一键生成高质量内容!多语言支持 → 跨境电商必备&am…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
