爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 95001|回复: 91

关于nc文件的读取 (对菜鸟有用)

  [复制链接]

新浪微博达人勋

发表于 2012-11-2 22:31:36 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 jeydragon 于 2013-5-17 21:12 编辑

        最近在学习冰后回弹模型(http://www.atmosp.physics.utoronto.ca/~peltier/data.php),里面给出的数据为nc(netcdf)格式的,读取是个问题,在言深深的帮助下,成功读取,在这里将其总结出来,以备后用也希望可以方便有用之人。

        有两种方式可以进行读取:

        1、Excel的一个插件,NetCDF4Excel可以完成相关的查看工作,需要的可以进行下载(http://dl.vmall.com/c0lngehgha),http://pan.baidu.com/share/link? ... 416233&third=15 (华为网盘太不靠谱,不知道百度靠谱到合适)

安装之后,我们可以得到,一个快捷方式,如图:
1.png

           打开之后,我们可以看到下面的情形:
2.png         

         然后打开nc文件,我们就可以进行查看操作:  

3.png



        2、通过Grads进行相关的读取,主要是在言深深同学的帮助下完成,深深的感谢!
         第一步,安装相关的grads软件,这个这里不做介绍,相关可以论坛网站;

         第二步,打开grads软件,如图,回车之后的那个窗口千万不能关,那个窗口是图像显示的,关闭之后输入命令之后直接就退出了,刚开始我老犯这个低级错误(对菜鸟而言)。

4.png

        第三步,可以通过两个命令简单的看到数据的头文件包含信息:
       ①sdfopen d:\1.nc
       ②q ctlinfo
5.png


然后编写gs文件,如下:

'reinit'

'sdfopen D:\1.nc'

'set gxout fwrite'

'set fwrite D:\1.dat'

'set x 1 360'

'set y 1 179'

'set z 1'

'set t 1 1'

'd dsea_250'

'disable fwrite'

ps1:路径自己可以按需更改,不要有空格。

ps2:这里的dsea_250可不是随便取的,看上面的ctlinfo心里里最后一行,必须要一致!

然后就可以生成一个1.dat的文件。

第四步,通过fortran程序将1.dat读为txt文档

parameter(m=179,n=360,o=1)

dimension  x(m,n,o)

open(1,file='kaka.dat',access='direct',form='binary',recl=n*m*o*4)

read(1,rec=1) (((x(i,j,k),j=1,n),i=1,m),k=1,o)

close(1)  

open(2,file='data.txt')

do i=1,m

print*,i

do j=1,n

write(2,"(2f10.2,2x,f6.2)")(i)*1.-90,(j-1)*1.,x(i,j,1)

enddo

enddo

close(2)

end

ps:这里的参数要与自己的数据一致,比如mno,以及最后的输出,有的是1°,有的是2.5°。

然后我们就可以得到相关的数据文件如下:





       6.png

至此,数据读取操作完成,需要对有需要的人有帮助,再次对言深深表示感谢。具体可以参考博客http://blog.163.com/jey_df/blog/static/18255016120121029471299/

点评

官方地址:http://code.google.com/p/netcdf4excel/  发表于 2013-5-16 14:47

评分

参与人数 4金钱 +41 贡献 +6 体力 +50 收起 理由
黑今之马户 + 5 赞一个!
mofangbao + 10 + 2
Aires + 8 + 2 赞一个!
言深深 + 18 + 2 + 50 赞一个!

查看全部评分

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

新浪微博达人勋

发表于 2018-3-6 20:13:06 | 显示全部楼层
NetCDF4Excel_2_2_setup.exe (308.98 KB, 下载次数: 116)
密码修改失败请联系微信:mofangbao
回复 支持 2 反对 0

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2012-11-9 15:00:56 | 显示全部楼层
本帖最后由 jeydragon 于 2012-11-9 15:02 编辑

最近一个国外友人给了我一些回复,希望能对大家有帮助,将其贴出来。
In the meantime, may I suggest that you investigate the following free software:
ncview and ncdump (for Linux)
panoply (for Windows) http://www.giss.nasa.gov/tools/panoply/

Personally,I use NCAR Graphics NCL programs to create plots from netcdf files. That is also free software available from NCAR (National ?Center for Atmospheric Research in Boulder, Colorado, USA) for a variety of platforms (Linux and Windows)。http://www.ncl.ucar.edu/Download/install.shtml
ncview and panoply are both viewers that display information from a netcdf file directly. This would enable you to check any of your own programs that read the files.
ncdump will actually display the values for any/all variables in the ?netcdf file which is also a way to check but not easy as there are a lot of numbers in the file Rosemarie Drummond
话说他提供的软件,非常非常强悍,很直观
密码修改失败请联系微信:mofangbao
回复 支持 1 反对 0

使用道具 举报

新浪微博达人勋

0
早起挑战累计收入
发表于 2012-11-2 23:23:49 | 显示全部楼层
提取的例子论坛其实很多啦,下次做之前可以先搜索一下的,谢谢楼主分享出来~还是不错的,那个excel的东西比较给力。
不过我还是没有看明白楼主是想做什么呢,只是提取数据用来做下一步的计算?如果是这样其实没必要变为txt的,二进制的就可以。
如果是必须变为txt的,可以再提取的时候用兰溪的grads2ascii直接输出txt,用fortran进行下一步计算就行了。
从上面 的过程看出来楼主还要多学习GrADS的基础知识啊,要不是深深帮助你,恐怕比较困难,所以论坛已有的东西还是先搜一下为好,要不然深深会很累的,找他的人太多了...不过你发了总结的帖子,深深也没白教你~

点评

额·····晕······  发表于 2012-11-5 17:06
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-3 02:12:43 | 显示全部楼层

楼主貌似不是大气专业的,除了excel的插件外,还有给出的网址也很不错。是多伦多大学物理系一个教授的个人主页,研究的方向还挺广,包括Atmospheric and oceanic waves and turbulence ,Geophysical fluid dynamics ,Physics of the planetary interior ,Planetary climate 等
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-3 12:17:31 | 显示全部楼层
artmunich 发表于 2012-11-3 02:12
楼主貌似不是大气专业的,除了excel的插件外,还有给出的网址也很不错。是多伦多大学物理系一个教授的个人 ...

对,我地球物理的,对大气了解的很少,不过我在群里学到了很多东西。
那个peltier做冰后回弹做的比较好,在国际上都有很高的知名度
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-3 20:21:41 | 显示全部楼层
jeydragon 发表于 2012-11-3 12:17
对,我地球物理的,对大气了解的很少,不过我在群里学到了很多东西。
那个peltier做冰后回弹做的比较好, ...

原来如此,中科院测地所做这方面的工作,一般搞气象的对冰后回弹也比较陌生,就跟你不太了解大气类似,呵呵
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-11-7 16:35:28 | 显示全部楼层
一不小心就内存溢出了~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-11-7 19:06:08 | 显示全部楼层
wuyejincao 发表于 2012-11-7 16:35
一不小心就内存溢出了~

What your mean?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-1 16:46:46 | 显示全部楼层
wuyejincao 发表于 2012-11-7 16:35
一不小心就内存溢出了~

同溢出……
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-12-6 10:45:45 | 显示全部楼层
mofangbao 发表于 2012-11-2 23:23
提取的例子论坛其实很多啦,下次做之前可以先搜索一下的,谢谢楼主分享出来~还是不错的,那个excel的东西比 ...

本科新手,请教清风,grads中fwrite都能输出哪些文件格式啊?是不是只能是dat? 因为我本想从一个大nc中截取一部分数据,生成一个小nc,为什么用fwrite不行的? 那从大nc截取小nc应该用什么?PS:下面我的总结,对不?
*.nc 二进制   grads处理
*.grib 二进制   grads处理
*.dat 二进制或十进制  grads或fortran处理
*.txt 十进制    grads或fortran处理
通过grads将*.nc读成*.dat,再通过fortran或grads2ascii将*.dat读为*.txt文档
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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