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/gsn_code.ncl" load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl" begin ; for use of high resolution map database, execute ; 'setenv NCARG_RANGS /network/rit/lab/atm419lab/zhou/rangs' (on snow) ; 'setenv NCARG_RANGS /atm419lab/zhou/rangs' (on ash, reed) ; before running the script c="./cmap_uv200.txt" cmap=asciiread(c,(/83,3/),"float") cmap=cmap/255 center=asciiread("../../../DATA_FAILURE_END/latlon_failure_end_sub.txt",(/53,2/),"float") ;print(center(:,1)) tinfo=asciiread("../../../DATA_FAILURE_END/time_failure_end_sub.txt",(/53,2/),"integer") yyyymmddhh=tinfo(:,1) ;print(yyyymmddhh) name=asciiread("../../../DATA_FAILURE_END/name_failure_sub.txt",(/53/),"string") ;print(name) dcase=dimsizes(yyyymmddhh) U_comp=new((/dcase,161,161/),"float") V_comp=new((/dcase,161,161/),"float") Z_comp=new((/dcase,161,161/),"float") do case=0,dcase-1,1 print("working on "+yyyymmddhh(case)+" -- "+name(case)) data=addfile("../../../DATA_FAILURE_END/"+yyyymmddhh(case)+"_UV.grib","r") ;names=getfilevarnames(data) ;print(names) U:=data->U_GDS0_ISBL U!0="lev" U!1="lat" U!2="lon" V:=data->V_GDS0_ISBL V!0="lev" V!1="lat" V!2="lon" Z:=data->Z_GDS0_ISBL ;printVarSummary(Z) Z!0="lev" Z!1="lat" Z!2="lon" ;print(U&lev) ; levs are 200, 500, 850 ;print(U&lat) lat=U&lat lon=U&lon centlat_ind=ind_nearest_coord(center(case,0),lat,0) centlon_ind=ind_nearest_coord(center(case,1),lon,0) centlat=lat(centlat_ind) centlon=lon(centlon_ind) U200=U(0,:,:) V200=V(0,:,:) MAG=sqrt(U200^2+V200^2) Z200=Z(0,:,:)/9.8/10.0 copy_VarMeta(U(0,:,:),U200) copy_VarMeta(U(0,:,:),V200) copy_VarMeta(U(0,:,:),MAG) copy_VarMeta(Z(0,:,:),Z200) ;print(" "+centlat+" "+lat(centlat_ind+28)+" "+lat(centlat_ind-28)) ;print(" "+centlon+" "+lon(centlon_ind+28)+" "+lon(centlon_ind-28)) U_comp(case,:,:)=U200(centlat_ind+80:centlat_ind-80,centlon_ind-80:centlon_ind+80) V_comp(case,:,:)=V200(centlat_ind+80:centlat_ind-80,centlon_ind-80:centlon_ind+80) Z_comp(case,:,:)=Z200(centlat_ind+80:centlat_ind-80,centlon_ind-80:centlon_ind+80) end do rm=systemfunc("rm -rf UVZ_composite_sub.nc") fout=addfile("./UVZ_composite_sub.nc","c") fout->U=U_comp fout->V=V_comp fout->Z=Z_comp end