爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 海蓝蓝

[分享资料] 传说版主,利用u,v计算风向的代码似乎有bug

[复制链接]

新浪微博达人勋

发表于 2013-3-3 17:50:33 | 显示全部楼层

直接在gs里写插值函数,但插值函数的结果是站点数据,不能用变量来存。

比如这样定义就会出现

define u=gr2stn(u10,121,27.01)   

define v=gr2stn(v10,121,27.01)  

DEFINE Error:  Define does not yet support station data

Expression results in station data object       的错误

所以不知道如果做格点插值到站点的u,v的风向,要怎么写gs?

向LZ请教下。

密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-3-4 11:12:13 | 显示全部楼层
这种插值,俺没用过。
还不如用fortran自己插值好了,再用grads画图呢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-7 15:22:13 | 显示全部楼层
海蓝蓝 发表于 2013-3-4 11:12
这种插值,俺没用过。
还不如用fortran自己插值好了,再用grads画图呢

因为要做批处理,所以要想下办法。

谢谢哈。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-12 16:10:11 | 显示全部楼层
想问一下,如果把模式运行结果的u,v变量计算后算出风向以及风速,如何和站点数据对比呢?站点数据有风速和相应的风向,难道是模式结果的和站点的风速做差值作图,然后风向做差值作图么?这两个图如何能得出对比的结论呢?是不是反过来作对比呢?也就是站点数据根据风向计算出和模式结果对应的u,v值,然后画矢量图呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-3-12 16:11:10 | 显示全部楼层
还望楼主能帮帮我。。。谢谢了!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-7 11:07:58 | 显示全部楼层
海蓝蓝 发表于 2012-1-24 12:48
已经验证了啊。
比如,u=10m/s, v= - 1m/s,  这时候,风向应该是276度,西北风。可是那个代码算出来是366度 ...

你这个276°不对吧,应该是354.3°,如果是以x轴正方向逆时针算的话。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-8 10:13:06 | 显示全部楼层
13楼的是风向角度数是从正Y轴开始顺时针算,按照平常的习惯和三角函数里度数从正X轴开始逆时针算,改进为:
if(u(i,j,t,yr)==0.0.and.v(i,j,t,yr)>0.0) dir(i,j,t,yr)=180.0
if(u(i,j,t,yr)==0.0.and.v(i,j,t,yr)<0.0) dir(i,j,t,yr)=0.0
if(u(i,j,t,yr)>0.0.and.v(i,j,t,yr)==0.0) dir(i,j,t,yr)=270.0
if(u(i,j,t,yr)<0.0.and.v(i,j,t,yr)==0.0) dir(i,j,t,yr)=90.0
if(u(i,j,t,yr)==0.0.and.v(i,j,t,yr)==0.0) dir(i,j,t,yr)=999.0
if(u(i,j,t,yr)>0.0.and.v(i,j,t,yr)>0.0) dir(i,j,t,yr)=atan(v(i,j,t,yr)/u(i,j,t,yr))*180/pi
if(u(i,j,t,yr)<0.0.and.v(i,j,t,yr)>0.0) dir(i,j,t,yr)=180.0+atan(v(i,j,t,yr)/u(i,j,t,yr))*180/pi
if(u(i,j,t,yr)<0.0.and.v(i,j,t,yr)<0.0) dir(i,j,t,yr)=180.0+atan(v(i,j,t,yr)/u(i,j,t,yr))*180/pi
if(u(i,j,t,yr)>0.0.and.v(i,j,t,yr)<0.0) dir(i,j,t,yr)=360.0+atan(v(i,j,t,yr)/u(i,j,t,yr))*180/pi
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-5-9 08:25:44 | 显示全部楼层
虎跃平阳 发表于 2013-5-7 11:07
你这个276°不对吧,应该是354.3°,如果是以x轴正方向逆时针算的话。

你是学气象的吗? 偏西风接近270度,啥时候变成接近360度了?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-5-9 09:35:25 | 显示全部楼层
海蓝蓝 发表于 2013-5-9 08:25
你是学气象的吗? 偏西风接近270度,啥时候变成接近360度了?

我是从三角函数的角度算的,以x轴正方向逆时针开始算,你是观测的方法算的,y轴正方向顺时针算。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-5-9 09:39:26 | 显示全部楼层
虎跃平阳 发表于 2013-5-9 09:35
我是从三角函数的角度算的,以x轴正方向逆时针开始算,你是观测的方法算的,y轴正方向顺时针算。

当然是找最简单的办法咯
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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