- 积分
- 277
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-12-25
- 最后登录
- 1970-1-1
|
发表于 2012-6-13 21:59:33
|
显示全部楼层
本帖最后由 圣诞2011 于 2012-6-13 22:03 编辑
传说楼主想问你一个问题:为什么在求风向的时候,选择那么多的if-endif呢?实际上只是执行了ugrdprs>=0 ,vgrdprs>=0这个if-endif。虽然ugrdprs 和 vgrdprs 是数据文件中的变量,但是在if-endif中的这两个量却是作为描述性变量出现的,而且它们没有初始化,所以它们的值等于变量名本身,而在grads里面字符变量总是大于数字的,所以四个if-endfi语句其实仅仅只是执行了其中一个而已。刚好比较凑巧的是其实不管纬向、经向风是大于0或者是小于0,风向都可以用'define dir=180+atan2(ugrdprs,vgrdprs)*180/pi'求出来,楼主其他3个求风向的表达式其实是不正确的。原因在于在grads里面函数atan2(a,b)与我们之前在高中教材中求反正弦函数的结果是不同的。
atan2 of (1.73205080756888,1) = 60.0000
atan2 of (1.73205080756888,-1) = 120.0000
atan2 of (-1.73205080756888,-1) = -120.0000
atan2 of (-1.73205080756888,1) = -60.0000
以上是我本人的一些见解,可能有不对的地方,还希望大家指正!
|
|