登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 司空摘月 于 2013-5-15 22:24 编辑
关于多时刻,多变量的站点资料处理 本人也是在看了气象家园上面的资料学习后,总结出来的。有获得就得有回报啊,O(∩_∩)O~家园上关于多时刻多变量的介绍不是很多,而我又是要处理这样的数据,所以写出来供大家参考,有问题可以提出来一起交流啊。废话不多说,开始啦: 一:首先跟大家说下基本的流程: 1. 产生一个含有所有数据名称的文档(我的是obs.txt) 2. 将观测资料编译成二进制文件(cwd.f90→obs.grd) 3. 编写读取obs.grd的ctl文件(obs.ctl) 4. 生成格点的背景场,为插值做准备(grid.f90→grid.grd) 5. 编写读取grid.grd的ctl文件(grid.ctl) 6. 编写gs文件画图 二:具体操作: 1.我的数据格式见图1(我处理的是北京的数据,总共是2天的数据,每一天数据的每个变量有217个数,前面2行是一个说明我们在读取时直接跳过) 图1 1. 产生obs.txt 图1是一个操作说明,图2是我的操作。 图2 图3 2 将观测资料编译成二进制文件(cwd.f90→obs.grd) 图4是我的程序,有人是用动态数组处理的,我会在后面给个网址大家看看。(关于程序里面具体的一些说明,见附录的文件,这些文件讲的很详细,需要大家最好看看,受益匪浅) 图4 3 编写读取obs.grd的ctl文件(obs.ctl) 图5是对应的ctl文件,仔细看的同学会发现有个 stnmap F:\2011072627\obs.map 这是为二进制数据生成站点映射文件,这个必须有。所以会有图6的操作,打开grads在里面输入图6的操作,注意路径中必须是用 / 。 都操作完之后,就可以话站点数据图了(自己可以试试),但是没有插值到格点上,所以接下来是匹配相应的格点。 图5 图6 4 生成格点的背景场,为插值做准备(grid.f90→grid.grd) 图7是生成格点背景场的程序 图7 5 编写读取grid.grd的ctl文件(grid.ctl) 图8为对应的文件 图8 6 编写gs文件画图 图9是写的gs文件,注意需要打开2个ctl 'open F:\2011072627\grid.ctl' 'open F:\2011072627\obs.ctl' 图10为所画的一个图 图9 图10 好啦,到这里已经基本上是把站点资料图画出来啦,但是每个fortra和ctl、gs的意义我没有具体说明,我在后面附上一些前辈们写的文档可以供大家参考,一定要看啊。 三 思考:
- 关于最后一个gs文件里面有个oacres,这是一个插值函数,至于如何很好运用这个函数我还不是很了解,高手指点
- 虽然插值是一个不错的方法,但是误差也存在不少,所以我觉得可以不插值。把站点的数据大小直接显示出来,如图11所示,可以通过不同颜色来表示其大小或者圆圈的大小表示值的大小。(可惜我现在不会这个,所以还需要会的同学给予指导啊)
图11
很有用的网址:http://bbs.06climate.com/forum.php?mod=viewthread&tid=4903&extra=page%3D2
图片我这边复制不上去,所以我把word文档放在附件了
|