- 积分
- 56993
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-6-21
- 最后登录
- 1970-1-1
|
发表于 2012-3-26 10:44:22
|
显示全部楼层
不知道这个流程要解决什么问题?楼主给出的wrf输出数据wrfout-d3_040630.dat本身就是GrADS二进制格式,可以很方便地用Fortran读取。
可能是觉得原数据是big-endian(byteswapped),gfortran和PGI FORTRAN都通过可以在fortran代码的“open“中加入“convert“来实现大小端转换。比如下面这个程序,读入了一个big_endian的无格式文件(big.dat),然后存储时就成了little_endian的文件(little.dat)。
PROGRAM convert
IMPLICIT NONE
INTEGER :: i
OPEN(20, FILE = 'big.dat', form = 'unformatted', access='direct', recl=4, convert='big_endian')
READ(20, REC=1)i
OPEN(21, file= 'little.dat', form ='unformatted', access='direct',recl=4)
WRITE(21,rec=1)i
END PROGRAM convert
也可能是觉得原数据是Lambert投影,需要插值成等经纬度格点数据做一些特殊分析,这种情况下做这样的处理是有意义的。如果不是要进行必须是经纬度数据的分析,就没必要插值了,毕竟插值过程会降低数据本身的精度。
|
|