爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: happyhui

[分享资料] 关于hadley center上的nc数据读取

[复制链接]

新浪微博达人勋

 楼主| 发表于 2012-7-30 13:42:55 | 显示全部楼层

刚才改了试试,还是0000,抓狂了
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-30 14:10:30 | 显示全部楼层
本帖最后由 做个霸气的木头 于 2012-7-30 14:31 编辑
happyhui 发表于 2012-7-30 13:35
就是用fwrite转化成二进制文件之后,直接写了一个ctl,出图——0!  然后我用fortran将数据读出来,也满屏 ...

如果不是细节问题,这个问题就复杂了,要不你传个小的nc文件给我(xiaomu136@163.com)研究下,或者下载地址给我~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-30 21:16:51 | 显示全部楼层
happyhui 发表于 2012-7-30 13:37
能呀,我一拿到nc就先用sdfopen 打开出了图。非常正常。。。  您可以去Hadley center下一个小数据试一下, ...

你把数据的网址发上来
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-30 22:32:15 | 显示全部楼层
我下了一个hadley的数据,发现有不少缺测值
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-31 13:19:26 | 显示全部楼层
我的Hadley的数据中有一段时间的值是一样的。。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-31 15:08:19 | 显示全部楼层
做个霸气的木头 发表于 2012-7-30 14:10
如果不是细节问题,这个问题就复杂了,要不你传个小的nc文件给我(xiaomu136@163.com)研究下,或者下载地 ...

http://www.metoffice.gov.uk/hadobs/hadisst/ 谢谢帮忙!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-31 15:08:37 | 显示全部楼层
易小凯 发表于 2012-7-30 21:16
你把数据的网址发上来

http://www.metoffice.gov.uk/hadobs/hadisst/   谢谢帮忙!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-31 15:09:50 | 显示全部楼层
易小凯 发表于 2012-7-30 22:32
我下了一个hadley的数据,发现有不少缺测值

我们老师说hadley的海温数据不错的。。 你的数据能用fwrite转化么?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2012-7-31 15:10:21 | 显示全部楼层
chaseechoes 发表于 2012-7-31 13:19
我的Hadley的数据中有一段时间的值是一样的。。

恩,请问你的能转化成二进制数据吗?
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2012-7-31 15:50:13 | 显示全部楼层
happyhui 发表于 2012-7-31 15:08
http://www.metoffice.gov.uk/hadobs/hadisst/ 谢谢帮忙!

我下了HadISST1_SST_update.nc.gz数据,先fwrite成二进制,再fortran读取并转换,很成功啊!因为是海温资料,陆地上都是缺测值,所以前面很多都是缺测值(-1E+30),后面会有温度20多度,一切很正常;
数据只有1个时次,一个层次,所以数据量是360*180
对应的ctl:
dset c:\s01.dat
title sst
undef -1e+30
xdef 360 linear -179.5 1
ydef 180 linear -89.5 1
zdef 1 linear 0 1
tdef 1 linear 000Z01may2012 1mn
vars 1
sst 0 99 monthly sst
endvars
对应的fortran程序:
program ex01
real ss(360,180)
integer i,j
open(100,file='s01.dat',form='binary')
open(200,file='data0.txt')
do j=1,180
        read(100) (ss(i,j),i=1,360)
        write(200,*) (ss(i,j),i=1,360)
        write(*,*) j,"   ",ss(1,j)
enddo
end
你对比看看,是哪里的问题~
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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