- 积分
- 23021
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-6-10
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 chinagod 于 2015-5-18 22:56 编辑
本人编写的一个小脚本,用来读取CMA/STI台风数据,绘制台风路径,根据键盘的反馈手动分类的脚本。【原创求支持!】心得:在if语句块最好不要一行写完,最好写一句,另起一行,否则可能会出现类型错情况(字符串变量无法转化成整型变量参与逻辑运算)(参考帖子 http://bbs.06climate.com/forum.php?mod=viewthread&tid=18347)。
注意:第2行是为了画地图需要,随便打开一个ctl文件,并没有其他作用
CMA数据下载网址 http://tcdata.typhoon.gov.cn/CMABSTdata/CMABSTdata.zip
'reinit'
'open e:/nc/slpoc.ctl'
'set lon 90 180'
'set lat 0 40'
'set mpdset hires'
n1=0;n2=0;n3=0;n4=0
i=1
**年循环**
while(i<=1)
a0='CH'%1974+i%'BST.txt'
aa='E:\Desktop\CMABSTdata\'a0''
**打开当年台风记录文件**
a1=0;in=0
while(a1=0)
in=in+1
a0=read(aa)
a1=sublin(a0,1)
if(a1=2);continue;endif
b1=sublin(a0,2)
**b1为每个台风的头记录**
c1=subwrd(b1,3)
*say c1
**c1为该个台风记录的行数**
'set cmax 0'
'd slp'
it=1
while(it<=c1)
**读取台风路径**
a2=read(aa)
b2=sublin(a2,2)
lo=subwrd(b2,4)/10
la=subwrd(b2,3)/10
*say lo;say la
**读取经纬度信息**
'q w2xy 'lo' 'la''
*say result
x1=subwrd(result,3)
y1=subwrd(result,6)
*say x1;say y1
'draw wxsym 40 'x1' 'y1' 0.3 2 6'
it=it+1
endwhile
* say a1
*获取台风路径分类
prompt 'Enter TC track type(1 xiyi, 2 xibeiyi 3 xibeizhuandongbei 4 teshu): '
*pull a
pull tp
say tp
if(tp=1)
n1=n1+1
say n1
endif
if(tp=2)
n2=n2+1
say n2
endif
if(tp=3)
n3=n3+1
say n3
endif
if(tp=4)
n4=n4+1
say n4
endif
'c'
endwhile
i=i+1
say 'year: '1973+i%', number of TC: '%in-1
**显示当年台风数
say 'n1='%n1', n2='%n2', n3='%n3', n4='%n4
say n1
endwhile
***Powered by chinagod***
;
|
|