爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 29013|回复: 9

[脚本编辑] 求助 ERA5数据怎么按照经纬度提取减小数据

[复制链接]

新浪微博达人勋

发表于 2021-7-25 06:51:57 | 显示全部楼层 |阅读模式
10金钱
70多年的ERA5的NC数据,下载时候选了最大范围,现在MATLAB超过32G不能运行
想要把数据按照经纬度提取后数据变小,然后还是生成单个的NC数据 方便在电脑后续程序处理
单位不具备大型机计算能力 生娃后武功尽失 求支招求帮助一下

最佳答案

查看完整内容

%查看文件信息 finfo = ncinfo('E:\ecmwf_data\surface_pressure.nc'); %资料范围是0-60N, 70E-140E,水平分辨率0.1度 sp = ncread('E:\ecmwf_data\surface_pressure.nc', 'sp'); %%% sp大小701 x 601 x 8 , 701是纬向数据个数,601是经向数据个数,8是层数 % 比如说要提取0-6N, 70E-77E的数据,就选择响应的纬向、经向数据,经纬度要和数据个数有个换算 % 法1,直接提取,经纬度对应的数据个数要换算一下 start = [1 ...
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2021-7-25 06:51:58 | 显示全部楼层
%查看文件信息
finfo = ncinfo('E:\ecmwf_data\surface_pressure.nc');
%资料范围是0-60N, 70E-140E,水平分辨率0.1度
sp = ncread('E:\ecmwf_data\surface_pressure.nc', 'sp');

%%% sp大小701 x 601 x 8 , 701是纬向数据个数,601是经向数据个数,8是层数
% 比如说要提取0-6N, 70E-77E的数据,就选择响应的纬向、经向数据,经纬度要和数据个数有个换算
% 法1,直接提取,经纬度对应的数据个数要换算一下

start = [1, 1, 1];
count = [60, 70, 1];
stride = [1, 1, 1];
sp_select1 = ncread('E:\ecmwf_data\surface_pressure.nc', 'sp',start, count, stride);

% 法2, 截取数组sp
sp_select2 = sp(1:60,1:70,1);
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2021-7-25 07:54:05 | 显示全部楼层
https://cds.climate.copernicus.eu/cdsapp#!/dataset/reanalysis-era5-land-monthly-means?tab=form
以此为例,在网页下方Geographical Area ----> Sub-region extraction这里可以选取经纬度范围
QQ截图20210725075212.jpg
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-7-25 12:32:08 | 显示全部楼层
感谢回复 就是下载数据的时候没有选择经纬度才想着看看有啥办法处理下。
不想再重新下载数据了 ,依然感谢!
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2021-7-25 12:36:23 | 显示全部楼层
不客气~~~~~~
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2021-7-25 14:16:22 | 显示全部楼层
MATLAB可以只读取nc文件的部分数据啊,你挑你需要的经纬度范围读进来,就行了
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2021-7-25 15:10:03 | 显示全部楼层
ncread里有选项可以选
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-7-25 17:21:51 | 显示全部楼层
伽蓝鸟 发表于 2021-7-25 14:16
MATLAB可以只读取nc文件的部分数据啊,你挑你需要的经纬度范围读进来,就行了

麻烦能说的具体一点么 MATLAB才开始学 小白一枚
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2021-7-25 20:31:51 | 显示全部楼层
查看ncread的帮助文档 里面可以读取你想要的部分的数据
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2021-7-26 16:02:17 | 显示全部楼层
SunJiaming 发表于 2021-7-25 21:28
%查看文件信息
finfo = ncinfo('E:\ecmwf_data\surface_pressure.nc');
%资料范围是0-60N, 70E-140E,水 ...

去试试 非常感谢
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表