Re: ps format file does not display all plots

From: Fred Clare <fred_at_nyahnyahspammersnyahnyah>
Date: Sun, 22 Jun 2008 22:51:30 -0600

Hi Basit,

Take the line:

   wks = gsn_open_wks("ps","vp_new")

out of the loop and put it before the loop. Having
this in the loop creates a new workstation each time
through the loop, which works for X11, since the
output from each new workstation is displayed
sequentially. For Postscript only the output from
the final workstation creation will be in the output
file, that file having been specified when the last
Postscript workstation was created.

Fred Clare

On Jun 22, 2008, at 4:41 PM, Basit Khan wrote:

> Hi there,
>
> I am trying to plot vertical profiles of some quantities. For
> example vertical profile of potential temperature for the first 15
> levels (from ground); i want these vertical profiles to be plotted
> for 3 hours, each hour separately (for example vertical profile of
> potential temperature for 49, 50 and 51 hour). I am using a 'do'
> loop in my script for this purpose. The script is working fine for
> x11 windows; that is, it is plotting vertical profiles of various
> quantities separately for every hour. However when i generate post
> script 'ps' file, the .ps file only creates the vertical profile
> for the last hour. It seems postscript format does not like the
> loop. On the other hand if i use 'ncgm' option for output, it
> creates several 'ncgm' files, one file for every hour. I want to
> generate only one file that contains all the plots. I appreciate,
> if anybody could help me how to handle this problem. My script is
> attached and I am using ncl version 5.0.
>
> Regards,
>
> --
> ---
> Basit A. Khan
> PhD Candidate
> Centre for Atmospheric Research
> Department of Geography
> University of Canterbury Te Whare Wananga o Waitaha Private Bag
> 4800 Christchurch 8020, New Zealand
> Tel: (643) 364 2987 Ext. 7912
> Fax: (643) 364 2907
> bak41_at_student.canterbury.ac.nz
> load "$NCARG_ROOT/lib/ncarg/nclex/gsun/gsn_code.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRFUserARW.ncl"
> load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRF_contributed.ncl"
>
> begin
>
> cdf_file = addfile
> ("wrfout_d04_2006-11-01_12:00:00.nc","r") ; %%%%%%%%%%%%
> %%%%%% USER INPUT REQUIRED %%%%%%%%%%%%%%
>
>
>
> times = wrf_user_list_times(cdf_file)
> ntimes = dimsizes(times)
> v_levels=(/
> 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26
> ,27,28,29,30,31,32,33,34,35,36,37,38,39,40/)
>
>
> hour=new(ntimes,integer) ;creating an array with number of
> subscripts equal to number of times in the wrf file
>
> do counter=0,ntimes-1,1 ; running loop to fill 'hour' with
> the times in the wrf file
> hour(counter)=counter
> end do
>
> SL = 0 ;starting vertical level %%%%%%%%%%%%%%%%%% USER
> INPPUT REQUIRED %%%%%%%%%%%%%%%%
> EL = 3 ;Endig vertical level %%%%%%%%%%%%%%%%% USER
> INPPUT REQUIRED %%%%%%%%%%%%%%%%%
> ST = 48 ;Start time %%%%%%%%%%%%%%% USER
> INPPUT REQUIRED %%%%%%%%%%%%%%%%%%%
> ET = 50 ;End Time %%%%%%%%%%%%%%%%%% USER
> INPPUT REQUIRED %%%%%%%%%%%%%%%%
> xcord = 49 ;X-coordinate %%%%%%%%%%%%%%%%%%%
> USER INPPUT REQUIRED %%%%%%%%%%%%%%%
> ycord = 49 ;Y-coordinate %%%%%%%%%%%%%%%%%%%%
> USER INPPUT REQUIRED %%%%%%%%%%%%%%
> Time = hour(ST:ET)
>
> sub_ntimes=dimsizes(Time)
> VProfile= v_levels(SL:EL)
>
> ; XLAT = cdf_file->XLAT ; latitude
> ; XLONG = cdf_file->XLONG ; longitude
>
> do it =0, sub_ntimes -1, 1
>
> ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> !!!!!!!!!!!!!!
> ; 3 D QUANTITIES - GET THE VARIABLES FROM NETCDF FILE
>
> U = cdf_file->U(ST,SL:EL,xcord,ycord) ; x-wind
> component from 48th hour to 71 hour x=2 and y=49
> V = cdf_file->V(ST,SL:EL,xcord,ycord) ; y-wind
> component
> W = cdf_file->W(ST,SL:EL,xcord,ycord) ; z-wind
> component
> T = cdf_file->T(ST,SL:EL,xcord,ycord) ;
> perturbation potential temperature (theta-t0)
> P = cdf_file->P(ST,SL:EL,xcord,ycord) ;
> perturbation pressure
> PH = cdf_file->PH(ST,SL:EL,xcord,ycord) ;
> perturbation geopotential
> PB = cdf_file->PB(ST,SL:EL,xcord,ycord) ; BASE
> STATE PRESSURE
> PHB = cdf_file->PHB(ST,SL:EL,xcord,ycord) ; base-
> state geopotential
> QVAPOR = cdf_file->QVAPOR(ST,SL:EL,xcord,ycord) ; Water
> vapor mixing ratio (Kg/kg)
>
> if (EL .le.3) then
> TSLB = cdf_file->TSLB(ST,SL:EL,xcord,ycord) ; SOIL
> TEMPERATURE
> SMOIS = cdf_file->SMOIS(ST,SL:EL,xcord,ycord) ; SOIL
> MOISTURE
> end if
>
>
> ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> !!!!!!!!!!!!!!!
> ; 3D DIAGNOSTIC QUANTITIES - GET THE VARIABLES
>
> THk = T + 300
> PRES = (P + PB)/100
> Tk = (T+300)*((P+PB)/100000)^0.286
> UV = ((U^2)+(V^2))^(1/2) ; horizontal
> wind speed
> UVW = ((U^2)+(V^2)+(W^2))^(1/2) ; Three
> dimensional wind speed
> RH = wrf_rh(QVAPOR, PRES, Tk)
> Td = wrf_td(PRES, QVAPOR)
> Z = (PH+PHB)/9.81
> dim = dimsizes(Z)
> GHT = 0.5*(Z(0:dim(0)-2)+Z(1:dim(0)-1))
>
> ST = ST+1
>
> Time_at_long_name = "Time (NZST)"
> U_at_long_name = "U m/s"
> V_at_long_name ="V m/s"
> W_at_long_name ="W m/s"
> QVAPOR_at_long_name = "QVAPOR (kg/kg)"
> Tk_at_long_name = "Temp degK"
> Td_at_long_name = "Dew Point degC"
> RH_at_long_name = "RH %"
> THk_at_long_name = "TH degK"
> UV_at_long_name = "UV m/s"
> UVW_at_long_name = "UVW m/s"
> PRES_at_long_name = "PRES (hPa)"
> GHT_at_long_name = "GHT (m)"
> Z_at_long_name = "Z (m)"
>
> if (EL .le. 3) then
> TSLB_at_long_name = "TSLB (K)"
> SMOIS_at_long_name = "SMOIS (m3/m3)"
> end if
>
> wks = gsn_open_wks("ps","vp_new") ; %%%%%%%%%%%%%%%%%%%%%%%%%%%
> % Open an X11 workstation.
>
> res = True
> res_at_tmXBLabelStride= 1
> res_at_tiMainString = "Vertical Profile; Hour: " + ST
> res_at_tiYAxisString = "Sigma Lvls"
>
> if (EL .le.3) then
> plot = gsn_xy(wks,TSLB,VProfile,res)
> plot = gsn_xy(wks,SMOIS,VProfile,res)
> end if
>
> plot = gsn_xy(wks,W,VProfile,res)
> plot = gsn_xy(wks,Tk,VProfile,res)
> plot = gsn_xy(wks,Td,VProfile,res)
> plot = gsn_xy(wks,THk,VProfile,res)
> plot = gsn_xy(wks,PRES,VProfile,res)
> plot = gsn_xy(wks,Z,VProfile,res)
> plot = gsn_xy(wks,GHT,VProfile,res)
> plot = gsn_xy(wks,RH,VProfile,res)
> plot = gsn_xy(wks,QVAPOR,VProfile,res)
>
>
> ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> !!!!!!!!!!!!!
> ; Plotting U and V verses time series
>
> data_UV = new((/2,dimsizes(U)/),float)
> data_UV(0,:) = U
> data_UV(1,:) = V
>
> ;;;;;;;;;;;; Resources for U and V plot
> res = True
> res_at_tiMainString = "Vertical Profile; Hour: " + ST
> res_at_tiYAxisString = "Sigma Lvls"
> res_at_xyLineColors = (/"black","red"/)
> res_at_xyLabelMode = "Custom"
> res_at_xyExplicitLabels= (/"U","V"/)
> res_at_xyLineLabelFontHeightF = 0.01
> res_at_xyLineLabelFontColor =2
> plot = gsn_xy(wks,data_UV,VProfile,res)
> delete(plot)
> delete(res)
>
> ; !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
> !!!!!!!!
> ; Plotting UV(horizontal windspeed) and UVW(3D wind speed) verses
> time series
>
> data_UVUVW = new((/2,dimsizes(UV)/),float)
> data_UVUVW(0,:) = UV
> data_UVUVW(1,:) = UVW
>
> ;;;;;;;;;;;; Resources for UV and UVW plot
> res = True
> res_at_tiMainString = "Vertical Profile; Hour: " + ST
> res_at_tiYAxisString = "Sigma Lvls"
> res_at_xyLineColors = (/"blue","red"/)
> res_at_xyLabelMode = "Custom"
> res_at_xyExplicitLabels= (/"UV","UVW"/)
> res_at_xyLineLabelFontHeightF = 0.01
> res_at_xyLineLabelFontColor =2
> plot = gsn_xy(wks,data_UVUVW,VProfile,res)
> delete(plot)
> delete(res)
>
> end do
>
> end
> _______________________________________________
> ncl-talk mailing list
> ncl-talk_at_ucar.edu
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk

_______________________________________________
ncl-talk mailing list
ncl-talk_at_ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Sun Jun 22 2008 - 22:51:30 MDT

This archive was generated by hypermail 2.2.0 : Wed Jun 25 2008 - 12:04:57 MDT