爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3794|回复: 5

[分享资料] 基于高斯投影的nc格式数据处理及作图

[复制链接]

新浪微博达人勋

发表于 2015-10-19 16:59:11 | 显示全部楼层 |阅读模式

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

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

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.Matlabnc数据读取及处理


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.Ncctl查询输出


'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'


;




密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-19 19:52:25 | 显示全部楼层
matlab不是可以直接出图吗,感觉使用grads的步骤可以省略
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-20 09:06:54 | 显示全部楼层
挺好的,值得收藏
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2015-10-20 16:07:06 | 显示全部楼层
river 发表于 2015-10-19 19:52
matlab不是可以直接出图吗,感觉使用grads的步骤可以省略

我也用MATLAB做过,觉得grdas更美观,并且色标比较完美。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2015-10-20 21:47:52 | 显示全部楼层
冰原1 发表于 2015-10-20 16:07
我也用MATLAB做过,觉得grdas更美观,并且色标比较完美。

好吧,用grads的人还不觉得matlab的色标好看,所以搞了一个仿matlab色标脚本
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-5-18 20:32:34 | 显示全部楼层
谢谢!但是没成功!
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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