NCLers-
See script below which attempts to add a box using gsn_add_polyline. The
method below only yields a box in the 4th panel.
I tried adding the code for that loop after each plot but it seg faulted.
Is there a better way of doing this?
;*************************************************
; WRF: panel three different variables at the same time step
;************************************************
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/wrf/WRF_contributed.ncl"
begin
;************************************************
; open file and read in data
;************************************************
f = addfile("myj_noah.nc", "r")
g = addfile("ysu_noah.nc", "r")
h = addfile("mrf_noah.nc", "r")
i = addfile("prec.nc", "r")
;************************************************
; Read character variable Times; Convert to string for plots
; Read vertical coordinate for plot labels
;************************************************
times = chartostring(f->Times) ; built-in function
; znu = f->ZNU(0,:) ; (Time, bottom_top)
;************************************************
; Read perturbation geopotential, pressure, water vapor
; at all times and levels
;************************************************
rainc1 = f->RAINC
rainnc1 = f->RAINNC
rain1 = rainc1(96,:,:)+rainnc1(96,:,:)
rainc2 = g->RAINC
rainnc2 = g->RAINNC
rain2 = rainc2(96,:,:)+rainnc2(96,:,:)
rainc3 = h->RAINC
rainnc3 = h->RAINNC
rain3 = rainc3(96,:,:)+rainnc3(96,:,:)
precip = i->APCP
pr = precip(0,:,:)+precip(1,:,:)+precip(2,:,:)+precip(3,:,:)+precip(4,:,:)+precip(5,:,:)+precip(6,:,:)+precip(7,:,:)+precip(8,:,:)+precip(10,:,:)+precip(11,:,:)+precip(12,:,:)+precip(13,:,:)+precip(14,:,:)+precip(15,:,:)+precip(16,:,:)+precip(17,:,:)+precip(18,:,:)+precip(19,:,:)+precip(20,:,:)+precip(21,:,:)+precip(22,:,:)+precip(23,:,:)+precip(9,:,:)
;************************************************
; create plots
;************************************************
wks = gsn_open_wks("ps" ,"precip") ; ps,pdf,x11,ncgm,eps
gsn_define_colormap(wks ,"BlAqGrYeOrReVi200"); choose colormap
res = True ; plot mods desired
res_at_gsnMaximize = True ; uncomment to maximize size
res_at_gsnSpreadColors = True ; use full range of colormap
res_at_cnFillOn = True ; color plot desired
res_at_cnLinesOn = False ; turn off contour lines
res_at_cnLineLabelsOn = False ; turn off contour labels
res_at_lbLabelAutoStride = True ; let NCL figure lb stride
res_at_cnLevelSelectionMode = "ExplicitLevels" ; explicit [unequal] cn levels
res_at_cnLevels = (/0,.254,1,4,8,16,24,32,40,48,56,64,72,80,88,96,128,256/)
;************************************************
; Use WRF_contributed procedure to set map resources
;************************************************
WRF_map_c(f,res,0) ; set map resources
;************************************************
; set True for native mapping (faster plotting)
; set to False othewise
;************************************************
res_at_tfDoNDCOverlay = True
;************************************************
; associate the 2-dimensional coordinates to variables for plotting
; only if res_at_tfDoNDCOverlay=False
;************************************************
if (.not.res_at_tfDoNDCOverlay) then
lat2d = f->XLAT(0,:,:) ; need for map limits
lon2d = f->XLONG(0,:,:)
p_at_lat2d = lat2d
p_at_lon2d = lon2d
ph_at_lat2d = lat2d
ph_at_lon2d = lon2d
q2_at_lat2d = lat2d
q2_at_lon2d = lon2d
end if
;************************************************
; allocate array for 3 plots
;************************************************
plts = new (4,"graphic")
;************************************************
; Specify (arbitrarily chosen) subscripts
; This could also be done in a do loop or explicitly specified
;************************************************
nt = 96 ; last time step
kl = 3
;************************************************
; Tell NCL not to draw or advance frame for individual plots
;************************************************
res_at_gsnDraw = False ; (a) do not draw
res_at_gsnFrame = False ; (b) do not advance 'frame'
res_at_gsnLeftString ="Stage IV precipitation"
plts(0) = gsn_csm_contour_map(wks,pr,res)
; res_at_gsnLeftString = ph_at_description+": znu="+znu(kl)
res_at_gsnLeftString ="MYJ"
plts(1) = gsn_csm_contour_map(wks,rain1(:,:),res)
; res_at_gsnLeftString = p_at_description+": znu="+znu(kl)
res_at_gsnLeftString ="YSU"
plts(2) = gsn_csm_contour_map(wks,rain2(:,:),res)
; delete(res_at_gsnLeftString)
res_at_gsnLeftString ="MRF"
plts(3) = gsn_csm_contour_map(wks,rain3(:,:),res)
do q=0,3
tres = True
tres_at_txFontHeightF = 0.02
;need lat lon
txt = gsn_add_text(wks,plts(q),"OAX",-96.33,41.25,tres)
txta = gsn_add_text(wks,plts(q),"ABR",-98.43,45.45,tres)
;add polymarker for OAX and ABR
polyres = True
polyres_at_gsMarkerIndex = (/6,8/); 16
polyres_at_gsMarkerSizeF = 5.
gl = (/-96.33,-98.43/)
gn = (/41.25,45.45/)
dm = gsn_add_polymarker(wks,plts(q),gn(:),gl(:),polyres)
resp = True
resp_at_gsLineColor = "black"
resp_at_gsLineThicknessF = 2.0
resp_at_gsLineLabelString = "CI"
dum = new(4,graphic)
;x and y points
xp = (/-100.4,-100.5,-97.,-97.,-100.4/)
yp = (/42.14,44.30,44.35,42.19,42.14/)
do r=0,3
dum(r) = gsn_add_polyline(wks,plts(3),xp(r:r+1),yp(r:r+1),resp)
end do
end do
; draw(plot)
; frame(wks)
;************************************************
; create panel: panel plots have their own set of resources
;************************************************
resP = True ; modify the panel plot
resP_at_txString = f_at_TITLE+": "+times(nt)
resP_at_gsnMaximize = True ; maximize panel area
resP_at_vpHeightF = 0.345614
resP_at_vpWidthF = 0.413117
; resa_at_vpKeepAspect = True
resP_at_gsnPanelRowSpec = True ; specify 1 top, 2 lower level
; resP_at_gsnPanelDebug = True
gsn_panel(wks,plts,(/2,2/),resP) ; now draw as one plot
end
-- James Correia, Jr. PhD. Email: jimmyc @ iastate.edu Email: jimmyc42 @ gmail.com Web: http://bruce.agron.iastate.edu/jimmyc/ ********************************************* "Wisdom. Strength. Courage. Generosity. Each of us are born with one of these. We must find the other three inside of us." from "Into the West" _______________________________________________ ncl-talk mailing list ncl-talk_at_ucar.edu http://mailman.ucar.edu/mailman/listinfo/ncl-talkReceived on Wed Jan 30 2008 - 16:45:28 MST
This archive was generated by hypermail 2.2.0 : Thu Jan 31 2008 - 22:46:00 MST