- 积分
- 4600
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-8-21
- 最后登录
- 1970-1-1
|
发表于 2015-4-7 10:19:30
|
显示全部楼层
首先我跟你一样,属于刚刚从小白开始进化中,多看看Grads书,把基础搞懂了就不难了
其次,你的问题问的很不清楚,你要求什么平均呢? 还是不会用Grads处理nc数据?
我下面写的过程很基础,包括怎样读取nc格式的数据,怎样求平均及距平,你可以参考一下,希望对你有帮助
1、先将nc数据转化为grd格式(包括截取数据)
'reinit'
'sdfopen D:\by\evalution_MSU_AMSU_BT\evalution\MSU_AMSU\NCEP\correlation\air.mon.mean.nc'
'set fwrite D:\by\evalution_MSU_AMSU_BT\evalution\MSU_AMSU\NCEP\correlation\Indian_ocean\AIR_1981_2012_lev100.grd'
'set gxout fwrite'
to=397
while(to<=780)
'set x 13 41'
'set y 25 43'
'set t ' to
'set z 12'
'd air'
to=to+1
endwhile
'disable fwrite'
;
2、为生成的grd配一个ctl文件
dset
D:\by\evalution_MSU_AMSU_BT\evalution\MSU_AMSU\NCEP\correlation\Indian_ocean\AIR_1981_2012_lev100.grd
undef -9.96921e+36
title 200hPa_Hgt_[60-240,0-75]
xdef 29 linear 30 2.5
ydef 19 linear -30 2.5
zdef 1 levels 100
tdef 384 linear 01jan1981 1mon
vars 1
air 0 -999 Geopotential Heighr
endvars
3、开始求平均
'reinit'
'open D:\by\evalution_MSU_AMSU_BT\evalution\MSU_AMSU\NCEP\correlation\Indian_ocean\AIR_1981_2012_lev100.ctl'
'set fwrite D:\by\evalution_MSU_AMSU_BT\evalution\MSU_AMSU\NCEP\correlation\Indian_ocean\aver.grd'
'set gxout fwrite'
'set t 1 12'
'airave=ave(air,t+0,t=384,12)'
'modify have seasonal'
'set t 1 384'
'airano=air-airave'
'd airano'
'disable fwrite'
; |
|