爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 10153|回复: 4

[求助] python写出来的二进制文件grads读取错误

[复制链接]

新浪微博达人勋

发表于 2019-8-27 23:08:18 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
用Python numpy  tofile写的二进制文件,grads读取画图,数据错误,出现绝大部分缺省值,都是些e+多少次方数据,想问问哪里出问题了。用Python重新读进去,数据没有错误。但是用grads的grads2ascii导出来txt发现读进去的数据错误都是些缺省值。
nan        3.54448        5.1468        5.96067        6.11606
nan        2.94677        4.21001        4.92582        5.14953
nan        4.2326        5.54829        6.2442        6.59038
nan        4.03193        5.42495        6.14721        6.48318
nan        3.0714        5.40543        6.39436        6.90832
nan        2.60634        4.31922        5.31316        5.81235
nan        2.55743        4.5121        5.62691        6.04611
nan        3.76097        5.94635        7.29505        7.95095
实际数据

0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
0 -9.99e+08 0 -9.99e+08 0 -9.99e+08 0 -9.99e+08
1.51458e+06 2.19306 4.15338e-18 2.11835 2.42289e+25 2.26454 1.06954e-16 2.252
-0.00317162 2.13392 6.49335e-39 2.07579 2.56396e+14 2.06968 1.62163e-26 2.22012
2.54295e-08 2.22757 -9.99e+08 2.31741 -6.33003e+19 2.3424 -1.81676e-22 2.22897
-7.59135e+25 2.23782 2.82759e-20 2.26059 -1.07425e+11 2.24878 -4.04936e+37 2.24175
2.24307e+11 2.19188 -2.137e+20 2.35148 1.48171e+15 2.34551 1.72147e-29 2.44438
-3.75805e+14 2.56428 1.61518 2.4036 7.34623e+34 2.41713 1.04763e-06 2.465
1.67182e+31 2.29132 5.69941e-15 2.32133 5.74705e+20 2.4982 1.34697e-16 2.43802
1.79427e+07 2.50154 -2.01141e+07 2.43924 -3.21196e+38 2.38556 -5.04012e+07 2.34336
4.65053e+06 2.14476 5.82265e+14 1.87178 -5.04331e-11 1.9361 10.1505 1.95788
1.78144e+22 1.92665 -1.18427e+28 1.96241 -9.12549e-21 2.01459 3.22846e-26 1.97185
1.99878e-19 1.89294 -6.86589e-23 1.86689 1.71084e+10 1.77768 9.2206e-17 1.87893
-9.32758e-24 1.8952 -6.90826e-30 1.97538 -1.07374e+08 1.98281 -4.69229e-32 1.9572
3.96075e+15 2.0172 61854.3 2.13119 0.849152 2.14105 -7.57124e+20 1.93811
-4.48168e-25 1.87767 5.91088e+29 1.84354 0 -9.99e+08 -8.43542e-30 1.87336
-1.87621e-18 1.93961 -9.70318e-27 1.95951 6.87164e+33 2.08471 9.18128e+21 2.10221
-4.55714e-25 2.32167 2.53777e-19 2.26313 -6.02162e-07 2.34677 -1.0576e+30 2.33906
-5.05389e+30 2.33784 4.19263e-34 2.26995 -4.27304e-28 2.28201 9.81787e-10 2.37165
grads数据是这样的。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-8-28 12:13:08 | 显示全部楼层
array.tofile('output.grd')
改成
numpy.float32(array).tofile('output.grd')
即可。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

发表于 2019-8-28 08:43:27 | 显示全部楼层
字符长度问题,python的float是8位的,grads读取是4位的。
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-8-28 12:36:18 | 显示全部楼层
平流层的萝卜 发表于 2019-8-28 12:13
array.tofile('output.grd')
改成
numpy.float32(array).tofile('output.grd')

非常感谢!
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2019-8-28 12:39:21 | 显示全部楼层
1099221723 发表于 2019-8-28 08:43
字符长度问题,python的float是8位的,grads读取是4位的。

非常感谢      
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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