[ncl-talk] problem about Plotting r,theta data

wen wenguanhuan at 163.com
Wed Apr 26 19:44:34 MDT 2017


Hi Mary,
  Thank you for help. I had assumed that the given azimuth was the middle of 5 degree. I mean that  azimuth 0 represent 357.5-2.5, and 355 represent  352.5-357.5. I had thought that the data cover the whole circle. But the  shade only cover 0-355. Maybe I should use the way you suggest.  Thank you!





--

Best regards,
Guanhuan Wen

At 2017-04-26 22:22:37, "Mary Haley" <haley at ucar.edu> wrote:

Hello,


I'm not sure I understand. You said you didn't have any data from 355 to 0, so I believe that's exactly what the plot is showing you.


When you plot data over a global map, we sometimes see this kind of thing because the longitude point doesn't go all the way from -180 to 180, or from 0 to 360. In that case, we set a special resource:


   res at gsnAddCyclic = True


which simply creates a new data array that has more more element in the longitude direction (nlat x (nlon+1)) and we copy the first data point at the first longitude point to the end of this array, so you are effectively closing the gap.


gsnAddCyclic is only for map plots, but you could do something similar for your contour plot.  Here's what the "add cyclic point" code looks like:


    dims = dimsizes(pr)
    ny   = dims(0)
    mx   = dims(1)
    mx1  = mx+1


    pr_cyclic           = new((/ny, mx1/),typeof(pr))
    pr_cyclic(:,0:mx-1) = pr             ; pass everything                                                          
    pr_cyclic(:,mx)     = (/ pr(:,0) /)  ; value only


You will need to do the same thing for x and y, so I suggest making a function, like "make _cyclic" and calling it for pr, x, and y.


By the way, if you have NCL V6.1.0 or later, You don't need to use NhlNewColor. You can now use named colors directly. So, instead of this:


  cnres at cnMissingValFillColor = NhlNewColor(wks,.7,.7,.7)


you can use this:


  cnres at cnMissingValFillColor = "gray"


You can see all the named colors at:


http://www.ncl.ucar.edu/Document/Graphics/named_colors.shtml



--Mary




On Mon, Apr 24, 2017 at 2:46 AM, wen <wenguanhuan at 163.com> wrote:





hi all,
   I am ploting r-theta data. Theta is from 0 to 355 at an interval of 5. However, the there is blank at the angular of 355-0. Do anybody know why. My script is attached bellow. 
;***********************************************
; radar_1.ncl
;
; Concepts illustrated:
;   - Plotting radar (r,theta) data
;   - Adding shading or color fill to areas on a contour plot with missing data
;   - Drawing raster contours
;   - Drawing cell-filled contours
;   - Using triangular meshes to create contours
;***********************************************
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
pi       =  4.0*atan(1.)
  deg2rad  =  pi/180.
  rad2deg  =  45./atan(1.)


   
  a = 6371.
 
  r = ispan(0,500,10) 
  theta  = ispan(0,355,5)


  y = conform_dims((/dimsizes(r),dimsizes(theta)/),r,0)*cos(conform_dims((/dimsizes(r),dimsizes(theta)/),theta,1)*deg2rad)
  x = conform_dims((/dimsizes(r),dimsizes(theta)/),r,0)*sin(conform_dims((/dimsizes(r),dimsizes(theta)/),theta,1)*deg2rad)


;  x = r*sin(theta*deg2rad)
  
 
 
;print(lat+" "+lon )
 
 tcnum = systemfunc("cut -d ' ' -f 1 land_tcnum_time.dat")
ltime = systemfunc("cut -d ' ' -f 2 land_tcnum_time.dat")


 i = 3


 tcdir = "land_gd_tc/"
 tcfile = tcnum(i)+".dat"
 tmp = asciiread(tcdir+tcfile,-1,"integer")
 ntime = dimsizes(tmp)/6
 data = onedtond(tmp,(/ntime,6/))
 
 index = ind(ltime(i).eq.data(:,0))
 lat0 = data(index,2)*0.01
 lon0 = data(index,3)*0.01
 
 a0 = a*cos(lat0*deg2rad)
  
 
  lat = y/(a*deg2rad)+lat0
  lon = x/(a0*deg2rad)+lon0
 
 
 fd = "/gza/g3/wengh/TC/TRMM/"+tcnum(i)+"/"
 fn = systemfunc("ls "+fd+"3B42."+str_get_cols(ltime(i),0,7)+"."+str_get_cols(ltime(i),8,9)+"*.HDF")
 f = addfile(fn,"r") 
 pre = f->precipitation
 
 latgrid = fspan(-49.875,49.875,400)
 longrid = fspan(-179.875,179.875,1440)
 
 pre!0 = "lon"
 pre!1 = "lat"
 
 pre&lon = longrid
 pre&lat = latgrid
 


pr = new((/dimsizes(r),dimsizes(theta)/),typeof(pre))


do i=0,dimsizes(r)-1
 do j=0,dimsizes(theta)-1
  nlat = ind_nearest_coord(lat(i,j),latgrid,0)
  nlon = ind_nearest_coord(lon(i,j),longrid,0)
  pr(i,j) = (/pre(nlon,nlat)/)
 end do
end do
 
 
;print(pr(0,0)+" "+x(0,0)+" "+y(0,0))


;exit
 


graphicname = get_script_prefix_name()  
wks = gsn_open_wks("eps" ,graphicname)  
;gsn_define_colormap(wks,"gui_default")
gsn_define_colormap(wks,"precip2_15lev")
;gsn_define_colormap(wks,"radar")
;gsn_define_colormap(wks,"precip2_17lev")
colors = ispan(4,17,1)
;colors(0) = 2




  cnres                   = True
;  cnres at gsnMaximize       = True


  cnres at sfXArray          = x 
  cnres at sfYArray          = y
  cnres at cnFillOn          = True
  cnres at cnLinesOn         = False
;  cnres at cnFillMode        = "RasterFill"      ; this mode is fastest
  cnres at trGridType        = "TriangularMesh"
  cnres at lbLabelAutoStride = True
;  contour = gsn_csm_contour(wks,pr,cnres)


; The CellFill mode is slower but draws more outlying data
; and lets you fill in the missing value arrays, giving a good
; sense of the circular extent of the plot.


  cnres at cnFillMode            =  "CellFill"
  cnres at cnMissingValFillColor = NhlNewColor(wks,.7,.7,.7)
  cnres at cnLevelSelectionMode = "ExplicitLevels"     ; set manual contour levels
  cnres at cnLevels       = ispan(1,13,1)               ; set min contour level
  cnres at cnFillColors   = colors




  contour = gsn_csm_contour(wks,pr,cnres)
end




--

Best regards,
Guanhuan Wen




 


_______________________________________________
ncl-talk mailing list
ncl-talk at ucar.edu
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk


-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170427/ee8c3f7e/attachment.html 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ??1.png
Type: image/png
Size: 255529 bytes
Desc: not available
Url : http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20170427/ee8c3f7e/attachment.png 


More information about the ncl-talk mailing list