Binary 正在尝试读取由wgrid使用fortran创建的ieee文件。我收到奇怪的条目

Binary 正在尝试读取由wgrid使用fortran创建的ieee文件。我收到奇怪的条目,binary,fortran,ieee,Binary,Fortran,Ieee,我正在尝试读取由wgrib创建的二进制ieee文件。我有一堆来自ECMWF中心的GRIB文件,我把它们转换成二进制ieee。我试图用fortran阅读它,但我无法获得正确的值(网格的行数(Nlon)和列数(Nlat)的巨大值)。以下是我用于从dos行创建ieee文件的命令: 'wgrib C:\gribs\IGD01211200012112001 -d 6 -ieee -big_endian IGD01211200012112001.bin 这些是fortran命令 open(12,

我正在尝试读取由wgrib创建的二进制ieee文件。我有一堆来自ECMWF中心的GRIB文件,我把它们转换成二进制ieee。我试图用fortran阅读它,但我无法获得正确的值(网格的行数(Nlon)和列数(Nlat)的巨大值)。以下是我用于从dos行创建ieee文件的命令:

 'wgrib C:\gribs\IGD01211200012112001 -d 6 -ieee -big_endian IGD01211200012112001.bin   
这些是fortran命令

 open(12,file='IGD01211200012112001.bin',form='binary',status='old')
 read(12) Nlon
 read(12) Nlat
我也试过了

 open(12,file='IGD01211200012112001.bin',access='stream')
但一切都没有改变。没有改进使用 打开(12,文件='IGD01211200012112001.bin',格式='未格式化',状态='old') 但如果你记得清楚的话,后者会在值的左右两侧使用一些填充

我也尝试过选择小恩迪安或大恩迪安,但都没有改变。有什么建议吗?我还尝试将其另存为bin,使用标志-bin而不是-ieee,但没有任何更改。在wrib的网站上,并没有说太多。这里对wgrib2说了一些话,但没有多大帮助。 谢谢
A.

根据文档,正在编写的文件不是您所期望的。对于
bin
ieee
输出,您将获得以下任一格式的数据:

您正在尝试在网格之前读取尺寸长度,但这仅在指定
-text
输出选项而不是二进制或ieee格式时有效

Binary and IEEE, no header

(grid 1)  (binary float value)        grid value
          (binary float value)
          ...
          (binary float value)        nx*ny values

(grid 2)  (binary float value)
          (binary float value)
          ...
          (binary float value)        nx*ny values
  
etc
Binary and IEEE, with header

(grid 1)  (binary integer)    nx*ny*sizeof(float)
          (binary float value)
          ...
          (binary float value)    nx*ny values
          (binary integer)    nx*ny*sizeof(float)

(grid 2)  (binary integer)    nx*ny*sizeof(float)
          (binary float value)
          ...
          (binary float value)    nx*ny values
          (binary integer)    nx*ny*sizeof(float)