爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 5160|回复: 0

[求助] IDL 按行列输出到TXT的问题

[复制链接]

新浪微博达人勋

发表于 2012-9-14 13:21:11 | 显示全部楼层 |阅读模式

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

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

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


密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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