- 积分
- 2005
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2016-4-7
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
将三个时间连续的月平均pdsi数据nc文件处理成年平均数据并写入grb文件中。
gs 如下:
- 'reinit'
- 'set gxout fwrite'
- 'set fwrite d:/matlabht/pdsi/pdsi1901-2014.grd'
- 'sdfopen d:/matlabht/remap05x05.pdsi.mon.mean.selfcalibrated_190001-194912.nc'
- 'sdfopen d:/matlabht/remap05x05.pdsi.mon.mean.selfcalibrated_195001-199912.nc'
- 'sdfopen d:/matlabht/remap05x05.pdsi.mon.mean.selfcalibrated_200001-201412.nc'
- 'set dfile 1'
- tt=13
- while(tt<600)
- 'set lon 70 140'
- 'set lat 10 60'
- 'set lev 0'
- 'set t 'tt''
- 'd ave(pdsi,t='tt',t='tt'+11)'
- tt=tt+12
- endwhile
- 'set dfile 2'
- tt=1
- while(tt<600)
- 'set lon 70 140'
- 'set lat 10 60'
- 'set lev 0'
- if(tt=1)
- 'set t 'tt''
- 'd ave(pdsi,t='tt',t='tt'+11)'
- tt=tt+12
- else if(tt>12)
- 'set t 'tt''
- 'd ave(pdsi,t='tt',t='tt'+11)'
- tt=tt+12
- endif
- endwhile
- 'set dfile 3'
- tt=1
- while(tt<180)
- 'set lon 70 140'
- 'set lat 10 60'
- 'set lev 0'
- if(tt=1)
- 'set t 'tt''
- 'd ave(pdsi,t='tt',t='tt'+11)'
- tt=tt+12
- else if(tt>12)
- 'set t 'tt''
- 'd ave(pdsi,t='tt',t='tt'+11)'
- tt=tt+12
- endif
- endwhile
- 'disable fwrite'
- ;
复制代码 运行之后成功写生成grb文件,ctl文件如下:
dset d:\matlabht\pdsi\pdsi1901-2014.grd
undef -99999
title 1991-2014 annual average sc_PDSI
xdef 141 linear 70 0.5
ydef 101 linear 10 0.5
zdef 1 linear 0 1
tdef 114 linear 00Z01JAN1901 1yr
vars 1
pdsi 0 99 Annual Self-calibrated Palmer Drought Severity Index
endvars
打开grads,open .ctl文件顺利,说明描述文件是正确的。
编写如下脚本用ctl文件画图,counterline数值明显有误,分析应该是grb生成的数据有误,正常的数据范围应该是-4—4左右。
- 'reinit'
- 'open D:\matlabht\pdsi\pdsi1901-2014.ctl'
- 'set mpdset cnbasemap'
- 'set lon 70 140'
- 'set lat 10 60'
- 'set lev 0'
- 'set grads off'
- 'set gxout shaded'
- 'set grid off'
- 'cnbasemap ave(pdsi,t=1,t=114)'
- 'cbarn'
- 'run southsea.gs'
- 'printim D:\matlabht\tp\pdsi000.png white'
- pull dummy
- 'c'
复制代码
|
-
counterline数值错误图片
|