爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
楼主: kongfeng0824

[源程序] 【原创+整合版】matlab批量读取nc文件

  [复制链接]
发表于 2014-9-30 23:19:34 | 显示全部楼层
楼主,请问,matlab读取nc数据的时候是怎么存储的?行是经度,列是维度吗?当我用ncread 读取出数据的时候,画出数据的时候,发现数据是倒着的,我的代码如下,不知可否帮忙看一下? 谢谢!
%define region
%%read lat and lon
lat=ncread('/Users/yhe/Documents/BMB/tasmax_day_CESM1-CAM5_rcp85_r1i1p1_20060101-20401231.nc','lat');
lon=ncread('/Users/yhe/Documents/BMB/tasmax_day_CESM1-CAM5_rcp85_r1i1p1_20060101-20401231.nc','lon');
%time=ncread('/Users/yhe/Documents/BMB/tasmax_day_CESM1-CAM5_rcp85_r1i1p1_20060101-20401231.nc','time');
%%find the id for region
i=find(lon>=277&lon<=283);
j=find(lat>=37&lat<=41);
%%read data for region
tasmax_wv=ncread('/Users/yhe/Documents/BMB/tasmax_day_CESM1-CAM5_rcp85_r1i1p1_20060101-20401231.nc','tasmax',[i(1),j(1),1],[i(end)-i(1)+1,j(end)-j(1)+1,365]);
%%display the map
latlim = [lat(j(1)) lat(j(end))];
lonlim = [lon(i(1))-360 lon(i(end))-360];
ax=usamap(latlim,lonlim);         
setm(gca,'MapProjection','lambert')
hold on
%Contour
[c,h]=contourfm(lat(j),lon(i),tasmax_wv(:,:,1));
clabelm(c,h)
%colorbar
getm(ax)
conus=load('conus')
plotm(conus.statelat,conus.statelon,'k')
alpha(0)
密码修改失败请联系微信:mofangbao
发表于 2014-9-24 17:05:29 | 显示全部楼层
密码修改失败请联系微信:mofangbao
发表于 2014-9-23 09:16:10 | 显示全部楼层
楼主大神,支持
密码修改失败请联系微信:mofangbao
发表于 2014-9-13 15:48:38 | 显示全部楼层
楼主,为什么我在执行第二条命令时就出错了呢?就是ncdisp('precip.mon.1981-2010.ltm.nc');这一条
密码修改失败请联系微信:mofangbao
发表于 2014-8-30 21:09:02 | 显示全部楼层
好东西!谢谢楼主分享!
密码修改失败请联系微信:mofangbao
发表于 2014-8-30 10:32:37 | 显示全部楼层
正好今天在学习nc文件,好东西~~~
密码修改失败请联系微信:mofangbao
发表于 2014-8-18 12:17:57 | 显示全部楼层
一水天下 发表于 2014-8-17 13:40
先看下precip是几维的,然后在读取的时候增加一维s,PrecipData(:,:,:,s) = ncread(filename,'precip');
...

正解,多谢
密码修改失败请联系微信:mofangbao
发表于 2014-8-18 11:06:03 | 显示全部楼层
thanks for your sharing
密码修改失败请联系微信:mofangbao
发表于 2014-8-17 13:40:56 | 显示全部楼层
wangpang 发表于 2014-8-16 16:43
您好,你的问题解决了吗,我也遇到这个问题,想把读到的20个precipdata放到一个矩阵中,这个怎么弄,谢谢 ...

先看下precip是几维的,然后在读取的时候增加一维s,PrecipData(:,:,:,s) = ncread(filename,'precip');
密码修改失败请联系微信:mofangbao
发表于 2014-8-16 16:44:57 | 显示全部楼层
kongfeng0824 发表于 2013-9-26 18:52
相当于读取20个excel。,每个excel一个数组。

您好,@一水天下,的问题解决了吗,我也遇到这个问题,想把读到的20个precipdata放到一个矩阵中,这个怎么弄,谢谢慷慨解囊
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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