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" load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl" begin var=getenv("var") infile=var+".bin" outfile=var+".nc" infofile=var+".info" ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ; Parse infofile to get information on dimensions and ; co-ordinates of variable 'var' loninfo=systemfunc("cat "+infofile+" | grep LON") latinfo=systemfunc("cat "+infofile+" | grep LAT") timinfo=systemfunc("cat "+infofile+" | grep TIM") lon1=stringtofloat(systemfunc("echo "+loninfo+" | awk '{print $2}'")) lon2=stringtofloat(systemfunc("echo "+loninfo+" | awk '{print $3}'")) nlon=stringtointeger(systemfunc("echo "+loninfo+" | awk '{print $4}'")) lat1=stringtofloat(systemfunc("echo "+latinfo+" | awk '{print $2}'")) lat2=stringtofloat(systemfunc("echo "+latinfo+" | awk '{print $3}'")) nlat=stringtointeger(systemfunc("echo "+latinfo+" | awk '{print $4}'")) tim1=(systemfunc("echo "+timinfo+" | awk '{print $2}'")) tim2=(systemfunc("echo "+timinfo+" | awk '{print $3}'")) ntim=stringtointeger(systemfunc("echo "+timinfo+" | awk '{print $4}'")) ; parse time ; * * * * * * * * * * * * * * * * * * * * * * * * tlen=stringtointeger(systemfunc("echo "+tim1+" | wc -m")) tx1=tlen-7 tx2=tlen-5 mon1=systemfunc("echo "+tim1+" | cut -c "+tx1+"-"+tx2) yr1=stringtointeger(systemfunc("echo "+tim1+" | awk -F"+mon1+" '{print $2}'")) tx3=tlen-9 tx4=tlen-8 day1=stringtointeger(systemfunc("echo "+tim1+" | cut -c "+tx3+"-"+tx4)) month_abbr = (/"","JAN","FEB","MAR","APR","MAY","JUN","JUL","AUG","SEP", \ "OCT","NOV","DEC"/) mn1=ind(month_abbr.eq.mon1) ; (CALCULATE TIME AS DAYS SINCE 1900-01-01) time=new(ntim,"double") time@units="days since 1900-01-01" time(0)=ut_inv_calendar(yr1,mn1,day1,0,0,0,time@units,0) time(ntim-1)=time(0)+ntim-1 time=fspan(time(0),time(ntim-1),ntim) printVarSummary(time) ; * * * * * * * * * * * * * * * * * * * * * * * * ;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% varx=new((/ntim,nlat,nlon/),"float") do itimes=0,ntim-1 varx(itimes,:,:)=fbindirread(infile,itimes,(/nlat,nlon/),"float") end do varx@_FillValue= -9999.00 if (var.eq."sst") then vunits="degC" varx@long_name="Sea Surface Temperature" end if if (var.eq."slp") then vunits="hPa" varx@long_name="Sea Level Pressure" end if if (var.eq."wsp") then vunits="m/s" varx@long_name="Surface Wind Speed" end if if (var.eq."olr") then vunits="W m-2" varx@long_name="Outgoing Longwave Radiation" end if if (var.eq."uwnd") then vunits="m/s" varx@long_name="Zonal Wind speed" end if if (var.eq."vwnd") then vunits="m/s" varx@long_name="Meridional Wind speed" end if print(vunits) varx@units=vunits varx!0="time" varx!1="lat" varx!2="lon" lat=fspan(lat1,lat2,nlat) lon=fspan(lon1,lon2,nlon) varx&time=time varx&time@calendar="standard" varx&lat=lat varx&lon=lon varx&lat@units="degrees_north" varx&lon@units="degrees_east" print("Output") fo=addfile(outfile,"c") fo->$var$=varx end