爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4572|回复: 1

[讨论] 写了段读取ISCCP hgm的代码,不会画图和写入.nc文件,求大神帮助,谢谢!

[复制链接]

新浪微博达人勋

发表于 2019-5-14 10:47:23 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 dongtingwang 于 2019-5-14 10:50 编辑

我写了一段读取ISCCP hgm产品的Matlab代码,我是对多年的数据做一个平均,想把数据重新绘制成下面的图,可是我Matlab不熟,画不出类似如下的图,还有我想把平均后的数据重新写入.nc文件,也没有成功!希望哪位大牛帮帮忙,谢谢!
clc;         %清屏
clear all;   %清空
%nc批量读取5年的1-12月数据
datadir1='D:\ncei_isccp\hgm\';    %指定批量数据所在的文件夹
filelist1=dir([datadir1,'ISCCP.HGM.v01r00.GLOBAL.*.99.9999.GPC.10KM.CS00.EQ1.00.nc']); %指定批量数据的类型
%filelist1=dir([datadir1,'*.nc']); %指定批量数据的类型
a=filelist1(1).name;     %查看你要读取的文件的编号。filelist(1).name在window下为第一个标号数据
b=filelist1(2).name;     %查看你要读取的文件的编号。filelist(2).name在window下为第二个标号数据
k1=length(filelist1);
%mean_1_month =zeros(,);
for s=1:k1
  filename=[datadir1,filelist1(s).name]; %数据路径+文件名
  ncid=netcdf.open(filename,'NC_NOWRITE'); %打开nc文件      
  cldamt_01(:,s)= ncread(filename,'cldamt'); %打开平均云量表,读入变量cldamt
%   LatData=ncread(filename,'lat');             %读入变量lat
%   LonData=ncread(filename,'lon');             %读入变量lon
  netcdf.close(ncid);                                                      %关闭nc文件
end
[row,col] = size(cldamt_01); %行row,列col
sum_cldamt_01 = sum(cldamt_01,2);
avg_cldamt_01 = sum_cldamt_01/col;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%画图
%[X, Y] = meshgrid(LatData,LonData);
%contourf(Y-180.0,X,avg_cldamt_01); %画9月份等值面图
% shading flat; %去掉等值线
% colorbar('SouthOutside','Position',[0.142,0.03,0.75,0.04]); %添加颜色条 [左右,上下,长,宽]
%
% load coast %加载全球海岸线,但是不显示出来
% geoshow(lat,long); %显示出海岸线,lat和long是coast的属性
% hold on;
%
% set(gca,'LineWidth',1,'FontSize',10,'Ylim',[-90,90],'Xlim',[-180,180],'Position',[0.142,0.09,0.75,0.84]...
%    ,'XTick',[-180:60:180],'XTicklabel',{'-180W','-120W','-60W','0','60E','120E','180E'}...
%    ,'YTick',[-90:30:90],'YTicklabel',{'-90S','-60S','-30S','0','30N','60N','90N'}); %添加经纬度信息
% hold off;
%
% netcdf.close(ncid); %关闭nc文件
%
%写入新nc文件
% outid = netcdf.create('D:\ncei_isccp\hgm-2008-2012\ecco_ekman_mon_mean1.nc','CLOBBER');    %创建一个存放数据的nc文件
% dimidx = netcdf.defDim(outid,'meancldamout',41252);
% lat_dimID = netcdf.defDim(outid,'latitude',180);
% long_dimID =  netcdf.defDim(outid,'lontitude',360);
%
% varid = netcdf.defVar(outid,'meancldamout','double',dimidx);
% netcdf.putVar(outid,varid,avg_cldamt_01);
% netcdf.close(outid);
% nccreate('ecco_ekman_mon_mean1.nc','peaks',...
%           'Dimensions',{'r',41251,'c',1},...
%           'Format','classic');
% %ncwrite('myncclassic.nc','peaks',peaks(200))
% ncwrite('ecco_ekman_mon_mean1.nc','peaks',avg_cldamt_01);
% ncdisp('ecco_ekman_mon_mean1.nc');

其中注释的代码是有问题的,画图和写入.nc文件都有错误!求大神帮助,谢谢
cldamt in ISCCP.HGM.v01r00.GLOBAL.2008.01..png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-8-27 12:30:38 | 显示全部楼层
你好,你正确读出来cldamt的数据了吗   我的数据怎么出现很多3326.7  
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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