爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 18563|回复: 25

[其他] ncl读取dat文件有问题

[复制链接]

新浪微博达人勋

发表于 2018-12-7 17:02:45 | 显示全部楼层 |阅读模式

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

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

x
我有个dat文件和对应的ctl描述文件,我用ncl读取该dat文件,我用的fbindirread函数读取的,我认为的是ncl可以一个一个变量读取,ctl描述文件:
dset D:\wrf_dat\wrf02d2018120300.dat
options  byteswapped
undef 1.e30
title  OUTPUT FROM WRF V3.8 MODEL
pdef  288 288 lcc  32.318  117.203  144.500  144.500  60.00000  30.00000  117.30000   3000.000   3000.000
xdef  745 linear  112.16026   0.01351351
ydef  606 linear   28.19616   0.01351351
zdef   17 levels  
1000.00000
975.00000
950.00000
925.00000
900.00000
850.00000
800.00000
750.00000
700.00000
650.00000
600.00000
550.00000
500.00000
400.00000
300.00000
200.00000
100.00000
tdef   25 linear 00Z03DEC2018      60MN      
VARS   15
XLAT           1  0  LATITUDE, SOUTH IS NEGATIVE (degree_north)
XLONG          1  0  LONGITUDE, WEST IS NEGATIVE (degree_east)
U             17  0  x-wind component (m s-1)
V             17  0  y-wind component (m s-1)
W             17  0  z-wind component (m s-1)
T2             1  0  TEMP at 2 M (K)
HGT            1  0  Terrain Height (m)
tc            17  0  Temperature (C)
td            17  0  Dewpoint Temperature (C)
td2            1  0  Dewpoint Temperature at 2m (C)
rh            17  0  Relative Humidity (%)
rh2            1  0  Relative Humidity at 2m (%)
slp            1  0  Sea Levelp Pressure (hPa)
dbz           17  0  Reflectivity (-)
cape          17  0  CAPE (J/kg)
ENDVARS


ncl 脚本:
2.png
出错了:
1.png
这是读取cape这个变量时出错的,好像意思是我设置的维数比file里大,但是我读之前的几个变量没有问题。。。。
请大神们帮我看下 ncl应该怎么读取dat文件?谢谢啦




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

新浪微博达人勋

发表于 2018-12-12 12:12:53 | 显示全部楼层
subtropical 发表于 2018-12-11 08:18
哎 我也是这样想的 但是这数据是别人直接给我的,他可能觉得dat数据更好读?。。。我现在只能先试着读了 ...

你能读取其他变量,cape不行,这种问题不好排查
密码修改失败请联系微信:mofangbao
回复 支持 0 反对 1

使用道具 举报

新浪微博达人勋

发表于 2018-12-10 20:18:16 | 显示全部楼层
wrfout干嘛不直接读,转成grads的又用ncl读,不是绕了一大圈
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-12-11 08:18:24 | 显示全部楼层
尽头的尽头 发表于 2018-12-10 20:18
wrfout干嘛不直接读,转成grads的又用ncl读,不是绕了一大圈

哎 我也是这样想的 但是这数据是别人直接给我的,他可能觉得dat数据更好读?。。。我现在只能先试着读了。。。也想知道ncl怎么读dat文件呢?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-12-12 14:33:53 | 显示全部楼层
尽头的尽头 发表于 2018-12-12 12:12
你能读取其他变量,cape不行,这种问题不好排查

是的 就是卡在这了 我想知道ncl是一个变量一个变量的读取dat文件吗?我用grads简单的能读cape的值。。难道是dat文件不是按变量存储的,所以ncl函数不能这样读?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-12-12 23:51:45 | 显示全部楼层
dbz这个变量能读吗?如果也不能,你看看是不是机器的原因,把BigEndian改成LittleEndian试一下。另外你读lat、lon两个变量时维数不对,应该是三维。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-12-13 08:25:23 | 显示全部楼层
曦尘 发表于 2018-12-12 23:51
dbz这个变量能读吗?如果也不能,你看看是不是机器的原因,把BigEndian改成LittleEndian试一下。另外你读la ...

dbz也读不了,改成LittleEndian也不行,lat,lon改成三维的了
fatal:fbindirread: The size implied by the dimension array and record number is greater that the size of the file, can't continue
fatal:["Execute.c":8578]:Execute: Error occurred at or near line 23 in file wrf_dat2.ncl
错误还是这样。。。 111.png
哎 到底是什么原因呢?我用grads d cape看了一下 cape.jpg 好像是没问题的,但是ncl就老是读取不了tc后面的所有变量,从td开始就出现这个错误。。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-12-13 17:57:47 | 显示全部楼层
我也搞不懂,要不你把样本文件离线发一份我看看吧。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2018-12-14 08:09:41 | 显示全部楼层
曦尘 发表于 2018-12-13 17:57
我也搞不懂,要不你把样本文件离线发一份我看看吧。

嗯嗯 好的 谢谢
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2019-5-6 15:19:38 | 显示全部楼层
我也碰到一样的问题,请问楼主现在解决了吗
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

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