- 积分
- 2125
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-10-19
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 marclevoy 于 2014-6-30 20:27 编辑
我看到论坛有人问到过用grads要怎么画大于或者小于某一值的风场图,家园里面的回答有两种,一种是用maskout实现(我也是用的这种方法),另一种是论坛river大侠提供的用set cmin/set cmax来实现,帖子:http://bbs.06climate.com/forum.p ... 19862&extra=&page=1。
我在比较两个方法的时候发现了一个问题,按照我们的理解,这两个方法是应该会出来一样的图的,但实际有差别,希望大家注意。下面图给出了差别。
我不知道差别出在哪里,但我选着了maskout的这个方法,主要是感觉更准确,而且颜色可调,用river的方法优点是比较简单方便,但有一些符合条件的点没有画出来,而且只能是彩色的。@river
图中是用我的数据画出的大于4m/s的风场,右上角是用maskout画出来的,左上角是river的方法画出来的,下面是两个的差异,下图中白色箭头的就是两者有差异的各点,我取了一个有差异的点(28N,112E)的数值进行计算,结果是大于4m/s的说明了maskout算出的更加准确。
maskout方法:d maskout(u,mag(u,v)-4);maskout(v,mag(u,v)-4)
river的方法:set cmin 4; d u;v;mag(u,v)
感谢兰溪的提醒,我找到了两者不一样的原因,这个是由于river的方法是利用set cmin来去掉我们不想要的值,实际上是根据每个点的全风速的等值线来判定的,这时grads会有一个默认的间隔,默认的间隔比较大所以省略了一些点,如果我们要用river的方法,我们只用在river的方法中加上一句,set cint 0.1,这个间隔最好是尽量小一点可以是0.0001,因为当所有的点都画出来的时候,间隔再小不会有什么变化。再display就会和maskout方法画出来的图一样。而我们用maskout的方法是先判断的每个点的情况在用vector的方式画出的,所以只要我们没有skip,每个点都会画出来。(说的比较混乱,大家谅解,反正如果用river的方法就多加一句set cint就会得到准确的风场)@mofangbao @river @兰溪之水 @lqouc
|
-
评分
-
查看全部评分
|