- 积分
- 4170
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2017-6-6
- 最后登录
- 1970-1-1

|

楼主 |
发表于 2017-11-19 16:16:55
|
显示全部楼层
本帖最后由 爱喝柠檬汁 于 2017-11-19 16:29 编辑
'reinit'
'sdfopen E:\grads\era.nc'
'set grads off'
'set mpdset hires'
'set map 15 1 1'
'set lev 500'
'set lat 0 30'
'set lon 10 40'
k=5
while(k<18)
n=k
'set t 'n
'set cmax 0'
'd z'
*******计算第一个低压中心的经纬度
'define loa=minloc(min(z,lat=10,lat=20),lon=20,lon=30)'
'define lab=minloc(min(z,lon=20,lon=30),lat=10,lat=20)-90'
*******提取第一个时次低压中心的经纬度
'd loa'
a=sublin(result,1)
lo=subwrd(a,4)
'd lab'
c=sublin(result,1)
la=subwrd(c,4)
******
'q w2xy 'lo' 'la''
xx1=subwrd(result,3)
yy1=subwrd(result,6)
***转换到图中的xy坐标
**下一个时次
'set t 'n+1
'set cmax 0'
'd z'
'define loa2=minloc(min(z,lat=10,lat=20),lon=20,lon=30)'
'define lab2=minloc(min(z,lon=20,lon=30),lat=10,lat=20)-90'***提取最低气压的经纬度
'd loa2'
a2=sublin(result,1)
lo2=subwrd(a2,4)
'd lab2'
***下一个时次的提取经度
c2=sublin(result,1)
la2=subwrd(c2,4)
***下一个时次的提取纬度
'q w2xy 'lo2' 'la2''
xx2=subwrd(result,3)
yy2=subwrd(result,6)
***转换到图中的xy坐标
**下一个时次
'set t 'n+2
'set cmax 0'
'd z'
'define loa3=minloc(min(z,lat=10,lat=20),lon=20,lon=30)'
'define lab3=minloc(min(z,lon=20,lon=30),lat=10,lat=20)-90'
***提取最低气压的经纬度
'd loa3'
a3=sublin(result,1)
lo3=subwrd(a3,4)
'd lab3'
***下一个时次的提取经度
c3=sublin(result,1)
la3=subwrd(c3,4)
***下一个时次的提取纬度
'q w2xy 'lo3' 'la3''
xx3=subwrd(result,3)
yy3=subwrd(result,6)
***转换到图中的xy坐标
**下一个时次
'set t 'n+3
'set cmax 0'
'd z'
'define loa4=minloc(min(z,lat=10,lat=20),lon=20,lon=30)'
'define lab4=minloc(min(z,lon=20,lon=30),lat=10,lat=20)-90'
***提取最低气压的经纬度
'd loa4'
a4=sublin(result,1)
lo4=subwrd(a4,4)
'd lab4'
***下一个时次的提取经度
c4=sublin(result,1)
la4=subwrd(c4,4)
***下一个时次的提取纬度
'q w2xy 'lo4' 'la4''
xx4=subwrd(result,3)
yy4=subwrd(result,6)
***转换到图中的xy坐标
***************
xx11=(xx1+xx2+xx3+xx4)/4
yy11=(yy1+yy2+yy3+yy4)/4
********第一天四个时次的平均坐标
***********************************第二天
'set t 'n+4
'set cmax 0'
'd z'
*******计算第一个低压中心的经纬度
'define loa5=minloc(min(z,lat=10,lat=20),lon=20,lon=30)'
'define lab5=minloc(min(z,lon=20,lon=30),lat=10,lat=20)-90'
*******提取第一个时次低压中心的经纬度
'd loa5'
a5=sublin(result,1)
lo5=subwrd(a5,4)
'd lab5'
c5=sublin(result,1)
la5=subwrd(c5,4)
******
'q w2xy 'lo5' 'la5''
xx5=subwrd(result,3)
yy5=subwrd(result,6)
***转换到图中的xy坐标
**下一个时次
'set t 'n+5
'set cmax 0'
'd z'
'define loa6=minloc(min(z,lat=10,lat=20),lon=20,lon=30)'
'define lab6=minloc(min(z,lon=20,lon=30),lat=10,lat=20)-90'
***提取最低气压的经纬度
'd loa6'
a6=sublin(result,1)
lo6=subwrd(a6,4)
'd lab6'
***下一个时次的提取经度
c6=sublin(result,1)
la6=subwrd(c6,4)
***下一个时次的提取纬度
'q w2xy 'lo6' 'la6''
xx6=subwrd(result,3)
yy6=subwrd(result,6)
***转换到图中的xy坐标
**下一个时次
'set t 'n+6
'set cmax 0'
'd z'
'define loa7=minloc(min(z,lat=10,lat=20),lon=20,lon=30)'
'define lab7=minloc(min(z,lon=20,lon=30),lat=10,lat=20)-90'
***提取最低气压的经纬度
'd loa7'
a7=sublin(result,1)
lo7=subwrd(a7,4)
'd lab7'
***下一个时次的提取经度
c7=sublin(result,1)
la7=subwrd(c7,4)
***下一个时次的提取纬度
'q w2xy 'lo7' 'la7''
xx7=subwrd(result,3)
yy7=subwrd(result,6)
***转换到图中的xy坐标
**下一个时次
'set t 'n+7
'set cmax 0'
'd z'
'define loa8=minloc(min(z,lat=10,lat=20),lon=20,lon=30)'
'define lab8=minloc(min(z,lon=20,lon=30),lat=10,lat=20)-90'
***提取最低气压的经纬度
'd loa8'
a8=sublin(result,1)
lo8=subwrd(a8,4)
'd lab8'
***下一个时次的提取经度
c8=sublin(result,1)
la8=subwrd(c8,4)
***下一个时次的提取纬度
'q w2xy 'lo8' 'la8''
xx8=subwrd(result,3)
yy8=subwrd(result,6)
***转换到图中的xy坐标
***************
xx22=(xx5+xx6+xx7+xx8)/4
yy22=(yy5+yy6+yy7+yy8)/4
********第二天四个时次的平均坐标
'draw line 'xx11' 'yy11' 'xx22' 'yy22''
***两个低压中心的连线
'draw mark 3 'xx11' 'yy11' 0.1'
***在每个低压中心标点
'q dim'
ti=sublin(result,5)
time=subwrd(ti,6)
'draw string 'xx11' 'yy11' D'
'draw string 'xx11' 'yy11' 'time''
****标注低压中心时间
k=k+4
endwhile
****最后一个点标注
'draw mark 3 'xx22' 'yy22' 0.1'
'draw string 'xx22' 'yy22' D'
'q dim'
ti=sublin(result,5)
time=subwrd(ti,6)
'draw string 'xx22' 'yy22' 'time''
say over
'printim E:\grads\lujing.png white'
; |
|