- 积分
- 7939
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-11-13
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2013-8-22 23:08:39
|
显示全部楼层
river 发表于 2013-8-22 21:22
这个是因为楼主还没有完全弄明白grads数据排列规则,完全明白的话很容易就能读出来了。因为完全明白就需要楼 ...
谢谢回复,现在的问题是数组太大,没法读入了。。
您的第二个意见行不通,原因是grads在读此类lambert投影的时候将其自动差值到latlon投影上了
如pdef 142 100 lccr 34.00 105.00 71.00 50.00 30.00 60.00 105.00 50000. 50000.
xdef 456 linear 54.09 0.2252
ydef 223 linear 7.67 0.2252
142 100是数组的真实大小
用grads fwrite以后数组就变成456 223的了
接下来我要进行计算需要使用原始数据=,=所以还在想办法读这个数组
另 我的读取方式是:
do it=1,252
do k=1,14
if(k<=8)then
read(1)(((data1(i,j,l,k,it),i=1,nx),j=1,ny),l=1,nl)
read(2)(((data2(i,j,l,k,it),i=1,nx),j=1,ny),l=1,nl)
else
read(1)((data11(i,j,k-8,it),i=1,nx),j=1,ny)
read(2)((data21(i,j,k-8,it),i=1,nx),j=1,ny)
endif
enddo
enddo
将data1 和data2放有11层的数据 data11、data21放只有一层的数据。不知这种写法对不对 |
|