爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 提米苏拉

[求助] 怎样处理逐日ncep温度数据来计算冷空气频次

[复制链接]

新浪微博达人勋

 楼主| 发表于 2013-4-19 11:23:57 | 显示全部楼层

按照你的方法,终于整合了一个文件,但看文件的大小感觉只整合了19年的资料,这是为什么呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-19 11:57:54 | 显示全部楼层
提米苏拉 发表于 2013-4-19 11:23
按照你的方法,终于整合了一个文件,但看文件的大小感觉只整合了19年的资料,这是为什么呢?

grd二进制的格式和nc的格式是不同的吧,我也搞不清楚。光看大小也看不出来对错最主要的是你配上ctl画图看看对不对,画图没问题就说明整合的没问题。还有就是你有没有把闰年判断加进去啊,不加进去会少十几天的资料
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-19 12:38:30 | 显示全部楼层
提米苏拉 发表于 2013-4-19 11:23
按照你的方法,终于整合了一个文件,但看文件的大小感觉只整合了19年的资料,这是为什么呢?

哦,忘记了,除了时间循环,还得有层次的循环啊,要不然只写进去一个层次的资料
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-19 18:33:04 | 显示全部楼层
river 发表于 2013-4-19 12:38
哦,忘记了,除了时间循环,还得有层次的循环啊,要不然只写进去一个层次的资料

'reinit'
yy=1948
while(yy<=2012)
'sdfopen e:\coldair\'yy'.nc'
'set gxout fwrite'
'set fwrite e:\coldair\1948-2012.grd'
'set lat 30 160'
'set lon 10 80'
if (yy=1948 |yy=1952 | yy=1956 | yy=1960 | yy=1964 | yy=1968 | yy=1972 | yy=1976 | yy=1980 | yy=1984 | yy=1988 | yy=1992 | yy=1996 | yy=2000 | yy=2004 | yy=2008|yy=2012 )
tt=1
while(tt<=366)
'set t 'tt''
'd air'
tt=tt+1
endwhile
else
tt=1
while(tt<=365)
'set t 'tt''
'd air'
tt=tt+1
endwhile
endif
yy=yy+1
endwhile

'disable fwrite'
'reinit'
;
我这个只有一层,画出来的图不太对诶
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-19 18:33:56 | 显示全部楼层
river 发表于 2013-4-19 12:38
哦,忘记了,除了时间循环,还得有层次的循环啊,要不然只写进去一个层次的资料

e:\coldair\1.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-19 21:16:01 | 显示全部楼层
提米苏拉 发表于 2013-4-19 18:33
'reinit'
yy=1948
while(yy

试试这个吧,把所有的都写进去试试
'reinit'
yy=1948
while(yy<=2012)
'sdfopen e:\coldair\'yy'.nc'
'set gxout fwrite'
'set fwrite e:\coldair\1948-2012.grd'
'set lat 30 160'
'set lon 10 80'
if (math_mod('yy',4)=0&math_mod('yy',400)=0)
tt=1
while(tt<=366)
'set t 'tt''
zz=1
while(zz<=17)
'set z 'zz''
'd air'
zz=zz+1
tt=tt+1
endwhile
endwhile
else
tt=1
while(tt<=365)
'set t 'tt''
zz=1
while(zz<=17)
'set z 'zz''
'd air'
zz=zz+1
tt=tt+1
endwhile
endwhile
endif
yy=yy+1
endwhile

'disable fwrite'
'reinit'
;
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-4-19 22:17:04 | 显示全部楼层
river 发表于 2013-4-19 21:16
试试这个吧,把所有的都写进去试试
'reinit'
yy=1948

谢谢river,我再试试。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-19 22:56:15 | 显示全部楼层
本帖最后由 river 于 2013-4-19 22:57 编辑
提米苏拉 发表于 2013-4-19 22:17
谢谢river,我再试试。

之前那个有些问题,我又改了一下,应该可以了。
'reinit'
yy=1948
while(yy<=20012)
'sdfopen f:\ncep\daily\'yy'.nc'
'set gxout fwrite'
'set fwrite f:\1948-2012.grd'
'set lat 30 160'
'set lon 10 80'
if (math_mod(yy,4)=0&math_mod(yy,400)=0)
tt=1
while(tt<=366)
'set t 'tt''
zz=1
while(zz<=17)
'set z 'zz''
'd air'
zz=zz+1
endwhile

tt=tt+1
endwhile
else
tt=1
while(tt<=365)
'set t 'tt''
zz=1
while(zz<=17)
'set z 'zz''
'd air'
zz=zz+1
endwhile
tt=tt+1

endwhile
endif
'disable fwrite'
yy=yy+1
endwhile
;
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-19 23:06:32 | 显示全部楼层
river 发表于 2013-4-19 22:56
之前那个有些问题,我又改了一下,应该可以了。
'reinit'
yy=1948

while(yy<=20012)中20012应该是2012
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-4-19 23:06:47 | 显示全部楼层
river 发表于 2013-4-19 22:56
之前那个有些问题,我又改了一下,应该可以了。
'reinit'
yy=1948

while(yy<=20012)中20012应该是2012
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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