登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 whmooncool 于 2013-1-21 10:09 编辑
Grads站点资料的多层次绘图 看了很多关于如何使用grads和fortran转换站点资料的帖子,大多数都集中在地面或者单层的,对于高空的多个层次很少有提到,而且大多数有些模糊,不好理解,我把自己做的一些整理传上来,供大家参考参考。欢迎大家指出理解和程序的错误。 一,首先是数据的说明 选用micaps高空观测资料850hpa,700hpa,600 hpa,500hpa,200hpa,100 hpa六个层次作为例子。为了方便,时间层次就选择1个时间。 micaps高空观测资料的说明如下: diamond 2 10年07月28日20时200百帕高空观测 10 07 28 20 200 419 因此定义mt=419,nz=6 数据每行的排列分别是:站号,经度,纬度,高度……..具体详见micaps的使用手册,这里不再赘述。根据这些定义变量。 二,fortran读取站点资料 注: 1.根据micaps的高空资料定义相应的变量,由于850-100这6个层次的站点是相同的,站号,经纬度等只需定义成一维的,如lat(mt),而lev(nz)表示有6个层次,也为一维;高度场等又有mt个站的资料又有nz个层次,因此定义为2维的。 2.由于micaps资料分别在不同的文件内,文件名重复,我修改为100_2820,200_2820,500_2820…….然后使用trim函数顺序读取资料。 3.为了更好的说明地面和高空资料的读取,将地形高度high(mt)设置为地面的量,nlev定义为7,即高空六层,地面一层 4.以输出地面一个变量,高空三个变量为例。先进行站点的循环,再进行高空层次的循环。 5.前面我们定义了lev(nz),现在给lev(nz)赋值,使用select case.,分别赋值为850,700,600,500,200,100。在使用是发现如果不进行赋值,后续工作也无法进行,会出现错误。 |