登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 冰原1 于 2015-10-19 17:26 编辑
做这项工作的时候得到了很多家园人多帮助,现在工作完成了,把相关流程分享给大家。
与其和那些帮助的人说声谢谢,不如将这份互帮互助的精神传递,希望对你有用,希望家园越来越好。
正题:
任务:有一组10天的nc格式卫星遥感南海叶绿素数据,求平均出图(数据名称,L3m_20140701__202706379_4_GSM-MODVIR_CHL1_DAY_00)
问题:1.一般的nc格式数据可以用grads直接打开,可能有时打不开,你可以换个新版本的grads,不行的话就只好写ctl文件了。
2.我的数据以天为单位,有很多无效值,用grads求平均后只要涉及到计算中出现无效值,结果就变为无效值了。
所以,我用MATLAB做前期的平均处理,然后转换成dat格式输出
3.关于nc格式数据ctl查询输出,及高斯投影非等距类型的ctl文件书写,见附件。
结果:出图
学校的网竟然限制上传附件,只有直接写上了
1.Matlab,nc数据读取及处理
CHL1_mean=nan(433,241,10);
for ii=1:10
filename=['E:\temp\10\L3m_' num2str(20140700+ii)'__202706379_4_GSM-MODVIR_CHL1_DAY_00.nc'];
temp=ncread(filename,'CHL1_mean');
CHL1_mean(:,:,ii)=temp;
end
chl1=nanmean(CHL1_mean,3);
contourf(chl1')
Dat格式转换
fid=fopen('V3.dat','w');
fwrite(fid,reshape(V,[],1),'single');
fclose(fid);
2.Nc,ctl查询输出
'reinit'
'sdfopen e:/skt.sfc.mon.mean.nc'
'q ctlinfo'
write('e:/skt.ctl',result)
close('e:/skt.ctl')
Dat,ctl书写
set C:\cc\chl1.dat
undef nan
title chl1
options yrev
xdef 433 levels 104.979 105.021 105.063105.104 105.146 105.188 105.229 105.271
复制粘贴
ydef 241 levels 13.0208 13.0625 13.104213.1458 13.1875 13.2292 13.2708 13.3125
复制粘贴
zdef 1 levels 0
tdef 1 linear 00Z01JAN2014 1mn
vars 1
chl1 0 99 chll_a
endvars
3.Grads代码
'reinit'
open D:\wmx\chl.dat'
'set lon 105 123'
'set lat 13 23'
'set grads on'
'set grid on'
settimelab off
'set gxout shaded'
'set clevs 0.05 0.1 0.2 0.3 0.4 0.5 0.6 0.71 2.5 4 10 30'
'd chl1_mean'
'cbarn'
'printim D:\wmx\3.gif gif white'
;
|