ncl读写文件

2019-05-27  本文已影响0人  Aerosols
path_out = "uv_1120.nc"
system("rm -f "+path_out )   ;;;-f后面有空格
ncdf = addfile(path_out, "c")

ncdf->u=u2
ncdf->v=v2
ncdf->z=z2
ncdf->ph=PH

exit

二进制文件是一个时次,一个时次地读。顺序是时间、变量、高度、纬度、经度。
写一个时次,3变量((1)第一个变量,第一个高度(一层一层读),第一个纬度,所有经度,第二个纬度,所有经度...,第二个高度...;(2)第二个变量...)

ncl读二进制,

begin
   u=new((/52560,119/), "float")
   u@_FillValue   = -999
   v=u 
   w=u

   filepath = "2017.dat"

   do it = 0, 52560-1
      print("it = "+ it)
      u(it,:)  = fbindirread(filepath   , 3*it   , (/119/), "float")
      v(it,:)  = fbindirread(filepath   , 3*it+1 , (/119/), "float")
      w(it,:)  = fbindirread(filepath   , 3*it+2 , (/119/), "float")
   end do
   printVarSummary(u)

end

ncl提取文件名里的时间,很好用
http://www.ncl.ucar.edu/Document/Functions/Built-in/str_split_by_length.shtml

上一篇下一篇

猜你喜欢

热点阅读