Here is a program I use to dump the binary CMORPH data to individual
netCDF files (for each half hour), which I then process later using NCL.
Cheers,
-Steve
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"
begin
setfileoption("bin","ReadByteOrder","BigEndian")
all_files=systemfunc("ls data/advt*")
nfils=dimsizes(all_files)
do nf=0,nfils-1
print(all_files(nf))
data=(chartofloat(fbindirread(all_files(nf),0,(/
1649,4948/),"character")))
data2=(chartofloat(fbindirread(all_files(nf),3,(/
1649,4948/),"character")))
lat=fspan(59.963614,-59.963614,1649)
lon=fspan(0.036378335,359.963614,4948)
data!1="lon"
data!0="lat"
data&lon=lon
data&lat=lat
data&lon_at_units="degrees_east"
data&lat_at_units="degrees_north"
data@_FillValue=255.
data = where(ismissing(data),-1,data)
data@_FillValue=-1.
data1=data*0.2
copyatt(data1,data)
data3=data2*0.2
copyatt(data3,data)
ncdf = addfile(all_files(nf)+"_00.nc" ,"c") ; open output
netCDF file
filedimdef(ncdf,"time",-1,True)
; output variables directly
ncdf->RRATE = data1
ncdf = addfile(all_files(nf)+"_30.nc" ,"c") ; open output
netCDF file
; output variables directly
ncdf->RRATE = data3
temp1=systemfunc("mv "+all_files(nf)+"_00.nc ./nc")
temp2=systemfunc("mv "+all_files(nf)+"_30.nc ./nc")
end do
end
-- Steve Nesbitt, Ph.D. Assistant Professor Department of Atmospheric Sciences University of Illinois 105 S. Gregory St., MC223 Urbana, IL 61801-3070 USA voice : +1.217.244.3740 fax : +1.217.244.4393 e-mail : snesbitt_at_illinois.edu web : http://www.atmos.uiuc.edu/~snesbitt _______________________________________________ ncl-talk mailing list List instructions, subscriber options, unsubscribe: http://mailman.ucar.edu/mailman/listinfo/ncl-talkReceived on Thu Mar 19 2009 - 08:08:48 MDT
This archive was generated by hypermail 2.2.0 : Fri Mar 20 2009 - 10:31:52 MDT