grads 有专门计算垂直涡度的函数
hcurl(u,v) 。于是我想,能否用fwrite,将计算的垂直涡度
的值直接输出到文件呢?经过一番尝试,答案是,
图样!上图
这是grads计算的涡度场,显示周围一圈边缘没有数据(缺测值),这是进行差分计算后的正常现象。
将结果fwrite后,绘图(剔除缺测值),图形明显不一样(图的上下两个边缘没有数据)
按理说这张图应该和grads出的一样,但是左右两侧的边缘竟然有值!难道算法改进了?
观察图形发现呈现一个倾斜的状态,看起来是数据发生了“漂移”,难道绘图时把数据维数读错了?经过仔细检查发现并非如此。
或者是grads生成的数据本身有错?那就要从数据源进行分析。于是我检查grads输出的grd文件,先查看有效值的区域是否正常。如果正常,有效值区域应该是一个矩形,且最外面一圈为无效(缺测)值。如果不是这样,数据就可能错了。
将区域内的有效点绘制到图中,图案果然不是矩形,出现了明显的向左漂移。所以结论是:
不能用fwrite把hcurl输出到文件。至于其他一些grads内置函数计算的量,是否也是这样不得而知,但不建议。

那么这个数据还能用吗?我想应该可以,需要修改坐标,再比较原图是否正确,个人感觉有些麻烦。