爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: 抹茶里

[求助] Fortran求三维数组里面的最小值

[复制链接]

新浪微博达人勋

 楼主| 发表于 2013-7-29 15:17:26 | 显示全部楼层

ctl是参照原数据写的,所以层次就没改。。
对应的提取pressfc的gs文件如下,写得比较简单(读数据的ctl是另外一个,是有循环的)。
'open f:\2013722\fnl\batch11.ctl'
'set fwrite  F:\2013722\fnl\2004080131typhoon.grd'
'set gxout fwrite'
'd pressfc'
'disable fwrite'

对应pressfc画出来是这样的:


222.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-29 15:21:52 | 显示全部楼层
你这样是一个时刻吧?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-29 15:22:33 | 显示全部楼层
你自己算一下grd文件的大小,360*181*124*4,看看有没有这么大
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-7-29 15:34:29 | 显示全部楼层
lqouc 发表于 2013-7-29 15:22
你自己算一下grd文件的大小,360*181*124*4,看看有没有这么大

啊?我以为画的是平均值。。看了下,我提取后的grd文件有256kb,是什么概念{:3_53:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-29 15:38:12 | 显示全部楼层
抹茶里 发表于 2013-7-29 15:34
啊?我以为画的是平均值。。看了下,我提取后的grd文件有256kb,是什么概念

grads还没有那么只能,256k的话你只提取了了第一个时刻的,之前那个帖子不是告诉你要用循环提取么。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-7-29 15:44:26 | 显示全部楼层
lqouc 发表于 2013-7-29 15:22
你自己算一下grd文件的大小,360*181*124*4,看看有没有这么大

读取数据gs文件对应用的ctl部分如下:
dset F:\2013722\fnl\fnl_0408%d2_%h2_00
index F:\2013722\fnl\112.idx
options template
undef 9.999E+20
*title fnl_20090715_00_00_c.c
*  produced by grib2ctl v0.9.12.5p33e
dtype grib 3
options yrev
ydef 181 linear -90.000000 1
xdef 360 linear 0.000000 1.000000
tdef 124 linear 00Z01aug2004 6hr
zdef 26 levels
1000 975 950 925 900 850 800 750 700 650 600 550 500 450 400 350 300 250 200 150 100 70 50 30 20 10
vars 93
no4LFTXsfc  0 132,1,0  ** surface Best (4-layer) lifted index [K]
no5WAVA500mb  0 230,100,500 ** 500 mb 5-wave geopot. height anomaly [gpm]
no5WAVH500mb  0 222,100,500 ** 500 mb 5-wave geopotential height [gpm]
ABSVprs 26 41,100,0 ** (profile) Absolute vorticity
CAPEsfc  0 157,1,0  ** surface Convective Avail. Pot. Energy [J/kg]

是配合指针的,应该读取的不是一个时刻的数据才是。。{:3_60:}
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-29 15:49:14 | 显示全部楼层
抹茶里 发表于 2013-7-29 15:44
读取数据gs文件对应用的ctl部分如下:
dset F:\2013722\fnl\fnl_0408%d2_%h2_00
index F:\2013722\fnl\ ...

还指针?哪有那么多高级玩意啊,你加上个循环试试不就知道了?现在你的数据大小明显就是只有一个时刻,而且grads的缺省输出就是第一个时刻第一个层次的空间分布。不信的话把你提取的数据多画几个时刻看看。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-7-29 15:57:03 | 显示全部楼层
lqouc 发表于 2013-7-29 15:49
还指针?哪有那么多高级玩意啊,你加上个循环试试不就知道了?现在你的数据大小明显就是只有一个时刻,而 ...

好像真的是我的数据提取得有问题,因为编程跑下来都只显示一个值。。原数据文件名中有两个变量,做循环比较纠结就懒了一下。。我再看看
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2013-7-29 16:01:07 | 显示全部楼层
'open f:\2013722\fnl\batch11.ctl'
'set fwrite  F:\2013722\fnl\2004080131typhoon.grd'
'set gxout fwrite'
t=1
while(t<=124)
'set t 't
'd pressfc'
t=t+1
endwhile
'disable fwrite'
这就可以了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2013-7-29 16:14:25 | 显示全部楼层
lqouc 发表于 2013-7-29 16:01
'open f:\2013722\fnl\batch11.ctl'
'set fwrite  F:\2013722\fnl\2004080131typhoon.grd'
'set gxout  ...

做了一下,生成的grd文件大小变为31650kb,画图如下,貌似跟前面没什么区别:

333.png
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表