- 积分
- 27
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2014-7-5
- 最后登录
- 1970-1-1
|
GrADS
系统平台: |
|
问题截图: |
|
问题概况: |
最近,我想通过提取fnl资料中的UGRDprs和VGRDprs的资料提取1000-300hpa的垂直风切变在200公里范围内的平均值。其中,垂直风切变利用公式:mag(u1000-u300,v1000-v300).
u1000表示1000hpa中的UGRDprs的值,v1000表示1000hpa中的VGRDprs的值。 |
我看过提问的智慧: |
看过 |
自己思考时长(天): |
2 |
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
 - *本程序用于提取1000hpa-300hpa的垂直分切边
- 'reinit'
- 'open /mnt/usb1/Typoon_Project/fnl00_14.ctl'
- 'set mproj off'
- latstr=readfile('latstr.txt')
- lonstr=readfile('lonstr.txt')
- tstr=readfile('dateNO.txt')
- m=1
- while(m<9075);*num of latstr
- nowlat=subwrd(latstr,m)
- nowlon=subwrd(lonstr,m)
- nowt=subwrd(tstr,m)
- 'set lat ' nowlat
- 'set lon ' nowlon
- 'set t ' nowt
- *-----------------1000hpa-300hpa 200km内的垂直风切变---------------------
- 'set z 1'
- 'display UGRDprs'
- line=sublin(result,1)
- u1000=subwrd(line,4)
- 'display VGRDprs'
- line=sublin(result,1)
- v1000=subwrd(line,4)
- 'set z 16'
- 'display UGRDprs'
- line=sublin(result,1)
- u300=subwrd(line,4)
- 'display VGRDprs'
- line=sublin(result,1)
- v300=subwrd(line,4)
- 'define du='u1000-u300''
- 'define dv='v1000-v300''
- 'display aave(mag(du,dv),lon='nowlon-2',lon='nowlon+2',lat='nowlat-2',lat='nowlat+2')'
- line=sublin(result,1)
- shr1=subwrd(line,4)
- write("/mnt/usb1/Typoon_Project/OriginData/shr1_200.txt",line,append)
- if (rc=0); break; endif
- m=m+1
- endwhile
- function readfile(FileName)
- Lines=''
- while(1);
- r=read(FileName)
- temp=subwrd(r,1);*第一行仅有一个单词,为状态码,读取无错误应状态码为0
- if (temp != 0);break;endif;*如果读取有误或读到EOF就退出
- line=sublin(r,2);*提取该行字符串
- Lines=Lines' ' line ' '
- endwhile
- *返回文本字符串
- return(Lines)
- ;
- 'quit'
代码中三个文本文件"dateNO.txt"、"latstr.txt","lonstr.txt"都是9074行的数值文件。分别代表日期,纬度,经度。代码都能正常运行,但问题是输出的文件中的数值均是9.8*10^8.这表示根本没有按照display aave(mag(du,dv),lon='nowlon-2',lon='nowlon+2',lat='nowlat-2',lat='nowlat+2')'去求,后面调试程序发现的错误出现在mag(du,dv)上面,但是我却不知道如何修改?望各位大侠帮忙!!
|
|