- 积分
- 92
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2011-7-11
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
大家好,想读出.nc文件,因为是NCEP网格数据,三维数据,共应读出776个月的数据,每个月是192*94 的格点,我想把每月的数据循环输出到同一个TXT文件中,可是最后输出的还是一列,不是192*94列,并且读第二个月的数据后,前面的数据也被冲掉,不知道怎么回事. 谢谢了
pro readCDF
finame = 'd:\nswrs.nc'
NCid = NCDF_OPEN(finame)
NCinfo = NCDF_INQUIRE(NCid)
; print, NCinfo.Nvars
; 查询NC文件中的变量,以及变量的 att 信息
FOR iVar = 0, NCinfo.Nvars-1 DO BEGIN
Varinfo = NCDF_VARINQ(NCid, iVar)
print, "Var Name: ", Varinfo.Name
print, "Att Number: ", Varinfo.Natts
FOR iAtt = 0, Varinfo.Natts-1 DO BEGIN
AttName = NCDF_ATTNAME(NCid, iVar, iAtt)
NCDF_ATTGET, NCid, iVar, AttName, Att
print, AttName, ": ", STRING(Att)
ENDFOR
print, ""
ENDFOR
; 读取数据
for p=0,776 do begin
varname='nswrs'
m=192
n=94
a01=fltarr(192,94,1,776)
;a01=a01*0.1+3156.5
a1=fltarr(192,94)
a2=fltarr(192,94)
fileID01=ncdf_open(finame)
varID01=ncdf_varid(fileID01,varname)
ncdf_varget,fileID01,varID01,data01
a01=data01
a1=a01[0:191,0:93,p:p]
a2=congrid(a1,m,n,/interp)
;输出到TXT
openw,lun,'e:\nswrs.txt',/get_lun,/append
point_lun,lun,p*size(a2,/N_ELEMENTS)
;打印到txt(192*94)
for i=0,191 do begin
for j=0,93 do begin
printf,lun,a2[i,j],format='(d14.7)'
endfor
endfor
close,lun
free_lun,lun
ENDFOR
print,'FINISH!'
end
|
|