I am trying to produce a single panel plot in EPS format. I have  
previously been producing the same panel plot in pdf format.
I have put up with the fact that I get a separate plot of every one  
of the plots that I put in the panel before I get the panel plot, In  
other words, if I have a panel made up of 12 plots, I will get 12  
separate plots and then the panel plot at the end, with 13 plots in  
total.
This is okay in pdf, as multiple page plots are allowed. However,  
this does not work in EPS, and I end up with a load of error  
messages, and only get the first single plot.
All I want is the panel plot, and I now need to do this in EPS  
format. I am not sure what to do in my script to prevent all the  
other plots being produced and to only produce the panel plot. Does  
anyone know how to do this ?. My script is included below.
Thanks,
Helen.
;***********************
; pantest3.ncl
;***********************
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
; Keep all files open when have a lot of files :
   setfileoption("nc","SuppressClose",False)
   diri = "./"
   fili  = systemfunc("cd  "+diri+"  ; ls zeusrand09125*.cam2.h0*nc")
   print(fili)
   nfili = dimsizes(fili)
lev_p   = (/ 91500., 90000., 87500., 80000., 67500., 50000., 30000.,  
20000., 10000., 5000., 3000., 1500., 750., 390., 200., 100., 50.,25.,  
14., 7., 3.5, 1.9, 0.95, 0.4, 0.1, 0.03 /)
; ***********************************************
; Read in multiple files, interpolate, and write to temporary output  
files
; **********************************************
   do nf = 0, nfili-1
   fi   = addfile (diri+fili(nf), "r")
   diro = "./"
   filo = "uthelen"+nf+".nc"
   print(filo)
   system ("/bin/rm -f "+diro+filo)     ; remove any pre-exist file
   fo   = addfile (diro+filo, "c")
      hyam = fi->hyam                      ; read hybrid info
      hybm = fi->hybm
      hyai = fi->hyai                      ; read hybrid info
      hybi = fi->hybi
      PS   = fi->PS
      P0mb = 0.01*fi->P0
      U     = fi->U
      lat   = fi->lat
   lev_p!0 = "lev_p"                    ; variable and dimension name  
the same
   lev_p&lev_p     = lev_p              ; create coordinate variable
   lev_p_at_long_name = "pressure"         ; attach some attributes
   lev_p_at_units     = "hPa"
   lev_p_at_positive  = "down"
;     Up   = vinth2p (U, hyam, hybm,  lev_p ,PS, 1, P0mb, 2,  
False)  ; False = dont extrapolate pressures
      Up   = vinth2p (U, hyam, hybm,  lev_p ,PS, 1, P0mb, 2,  
True)    ; True = extrapolate pressures
      copy_VarAtts(U, Up)
      fo->U = Up                 ; write to netCDF file
      end do
; **************************
; calculate zonal average of zonal wind versus time for multiple  
interpolated files
; *************************
  ;wks   = gsn_open_wks ("pdf", "Figure1.proposal" )           ; open  
workstation
  wks   = gsn_open_wks ("eps", "Figure1.proposal" )           ; open  
workstation
   plot = new(12,graphic)
   gsn_define_colormap(wks,"rainbow")               ; choose colormap
   do nf2 = 0, nfili-1
   diri = "./"
;  fili2  = systemfunc("cd  "+diri+"  ; ls uthelen*nc")
   fili2   = addfile (diri+"uthelen"+nf2+".nc","r")
   print(fili2)
;  U2= addfiles_GetVar(f2,fili2,"U")
    U2 = fili2->U
   printVarSummary( U2 )         ; (time, lev_p, lat,lon)
   dimt2  = dimsizes( U2 )
   ntim2  = dimt2(0)
   klvl2  = dimt2(1)
   nlat2  = dimt2(2)
   mlon2  = dimt2(3)
; take zonal average
  uavg = dim_avg_Wrap(U2)                                ;  
(time,lev_p,lat)
   printVarSummary( uavg )
;***********************
; Create  Plot
;***********************
    nyear = 164+nf2
    nt2 = 0
   res   = True
      res_at_gsnLeftString   = ""
      res_at_gsnCenterString = "Year "+ nyear
      res_at_gsnRightString  = ""
   res_at_cnFillOn          = True
   res_at_lbLabelAutoStride = True
   res_at_gsnMaximize       = True      ; if [ps, eps, pdf] make large
   res_at_gsnSpreadColors   = True      ; span color map
   res_at_cnLineLabelsOn = False   ; Turn off contour line labels
   res_at_cnInfoLabelOn  = False   ; Turn off informational label
  if (nf2 .le. 8) then
   res_at_tmXBLabelsOn         = False              ; do not draw bottom  
labels
   res_at_tmXBOn               = False              ; no bottom tickmarks
   res_at_lbLabelBarOn        = False   ; turn off individual colour bars
      res_at_tiYAxisString = "Pressure (mbar)"
  end if
   res_at_trYReverse = True
   res_at_cnLevelSelectionMode = "ManualLevels"     ; manually set the  
contour levels with the following 3 resources
   res_at_cnMinLevelValF  = -30.                    ; set the minimum  
contour level
   res_at_cnMaxLevelValF  = 65.                     ; set the maximum  
contour level
   res_at_cnLevelSpacingF = 5.                     ; set the interval  
between contours
  if (nf2 .ge. 9) then
   res_at_tmXBOn         = True         ; draw bottom tickmarks
   res_at_tmXBLabelsOn   = True         ; draw bottom labels
   res_at_tiXAxisString = "Latitude (degrees)"
      res_at_tiYAxisString = "Pressure (mbar)"
  end if
      plot(nf2)  = gsn_csm_pres_hgt(wks, uavg(lev_p | 0:20, lat | :,  
time | nt2), res )    ; (lev,lat)
    end do
   resP                     = True                ; modify the panel  
plot
   resP_at_gsnPanelTop         = 0.95                ; add some space at  
top
   resP_at_gsnPanelBottom      = 0.05                ; add some space at  
bottom
   resP_at_txString            = "Zonally Averaged Zonal wind"
   resP_at_gsnPanelLabelBar    = True                ; add common colorbar
   resP_at_lbLabelFontHeightF  = 0.007               ; make labels smaller
    gsn_panel(wks,plot,(/4,3/),resP)
end
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Fri Jun 12 2009 - 06:04:58 MDT
This archive was generated by hypermail 2.2.0 : Mon Jun 15 2009 - 08:53:05 MDT