;************************************************* ; panel_5.ncl ; ; Concepts illustrated: ; - Paneling three plots vertically on a page ; - Adding a common title to paneled plots ; - Adding a common labelbar to paneled plots ; - Adding figure strings to paneled plots ; - Customizing figure strings in paneled plots ; - Subsetting a color map ;************************************************ ; ; These files are loaded by default in NCL V6.2.0 and newer ; load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl" ; load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl" ;************************************************ begin ;************************************************ ; read in netCDF file ;************************************************ a = addfile("$NCARG_ROOT/lib/ncarg/data/cdf/uv300.nc","r") u = a->U(1,:,:) ; read July zonal winds v = a->V(1,:,:) ;************************************************ ; create plots ;************************************************ wks = gsn_open_wks("png","panel") ; send graphics to PNG file cmap = read_colormap_file("gui_default") ncmap = dimsizes(cmap(:,0)) plot = new(3,graphic) ; create a plot array res = True res@gsnDraw = False ; don't draw res@gsnFrame = False ; don't advance frame res@cnInfoLabelOn = False ; turn off cn info label res@cnFillOn = True ; turn on color res@cnFillPalette = cmap(:ncmap-3,:) ; skip last two colors res@lbLabelBarOn = False ; turn off individual cb's ; ; Force both plots to have the same contour levels. This is necessary ; because the gsn_panel routine will based the labelbar on the first ; plot in the list. ; res@cnLevelSelectionMode = "ManualLevels" res@cnMinLevelValF = -10. res@cnMaxLevelValF = 45. res@cnLevelSpacingF = 5. plot(0) = gsn_csm_contour_map(wks,u,res) plot(1) = gsn_csm_contour_map(wks,v,res) plot(2) = gsn_csm_contour_map(wks,u,res) ;************************************************ ; create panel ;************************************************ resP = True ; modify the panel plot resP@gsnFrame = False ; don't advance panel plot resP@gsnPanelLabelBar = True ; add common colorbar resP@gsnPanelMainString = "A common title" ; set main title resP@gsnPanelBottom = 0.05 ; add space at bottom resP@gsnPanelFigureStrings= (/"a)","b)","c)"/) ; add strings to panel resP@amJust = "TopLeft" gsn_panel(wks,plot,(/3,1/),resP) ; now draw as one plot txres = True txres@txFontHeightF = 0.015 gsn_text_ndc(wks,"Figure 1: A nifty panel plot",0.5,0.02,txres) frame(wks) end