Overlaying XY plots

From: Justin Traiteur <jtraite2_at_nyahnyahspammersnyahnyah>
Date: Tue Jul 20 2010 - 09:31:04 MDT

I wrote a code that takes temperature (theta) and plots it against height(meters). I have several different plots (plot1-plot11) that I need to plot on the same xy plot. Right now I can only get them to plot individually.

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/WRFUserARW.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/wrf/WRF_contributed.ncl" ; WRF_Times2Udunits_c

begin
  i = 1
        do while (i .le. 11)
  diri = "./"
  ens = i
  fili = "wrfout_ens"
  nc = ".nc"
  f = addfile (diri+fili+ens+nc, "r") ; Load file
  
  pltType = "x11" ; Use x11 for plotting
  wks = gsn_open_wks(pltType,"plt_Surface1") ; Open workstation
  res = False
  res@MainTitle = "SCM WRF"
  pltres = True
  mpres = True

  times = wrf_user_list_times(f)
  it = 1
  res@TimeLabel = times(it)

  eta_i = ispan(1,40,1)
  plot = new (1,"graphic") ; Plot 2 maps
  theta = wrf_user_getvar(f,"theta",it)
  thetan1 = theta(eta_i,0,0)
  thetan2 = theta(eta_i,0,1)
  thetan3 = theta(eta_i,1,0)
  thetan4 = theta(eta_i,1,1)
  
  thetan5 = (thetan1 + thetan2)/2 ; Calculate average Theta between U points
  thetan6 = (thetan3 + thetan4)/2 ; Calculate average Theta between V poitns
  thetan7 = (thetan5 + thetan6)/2

  z = wrf_user_getvar(f,"z",it) ; Model height
  zn = z(eta_i,0,0) ; Only first 40 levs
  u1 = f->U(it,eta_i,0,1)
  u2 = f->U(it,eta_i,1,1)

  v1 = f->V(it,eta_i,1,0)
  v2 = f->V(it,eta_i,1,1)
  u3 = (u1 + u2)/2 ; Calculate average between U grid points
  v3 = (v1 + v2)/2 ; Calculate average between V grid points
  spd = sqrt(u3*u3+v3*v3) ; Calculate wind speed
  res = True ; plot mods desired
  res@tiMainString = "WRF SCM THETA" ; title
  res@tiYAxisString = "Height (m)" ; y axis title
  res@tiXAxisString = "Potential Temperature (K)" ; x axis title
  gsnDraw = False
  gsnFrame = False
  colors = (/"red","red","blue","green","green","green"/)
  res@xyLineThicknesses = 3.0 ; line thicknesses
  res@TimeLabel = times(it)

  opts = res
  opts@cnLineColor = "Red"
  gsnDraw = False
  gsnFrame = False
  FramePlot = False
   if(i .eq. 1) then
      theta1 = thetan7
      z1 = zn
   end if
   if(i .eq. 2) then
      theta2 = thetan7
      z2 = zn
   end if
   if(i .eq. 3) then
      theta3 = thetan7
      z3 = zn
   end if
   if(i .eq. 4) then
      theta4 = thetan7
      z4 = zn
   end if
   if(i .eq. 5) then
      theta5 = thetan7
      z5 = zn
   end if
   if(i .eq. 6) then
      theta6 = thetan7
      z6 = zn
   end if
   if(i .eq. 7) then
      theta7 = thetan7
      z7 = zn
   end if
   if(i .eq. 8) then
      theta8 = thetan7
      z8 = zn
   end if
   if(i .eq. 9) then
      theta9 = thetan7
      z9 = zn
   end if
   if(i .eq. 10) then
      theta10 = thetan7
      z10 = zn
   end if
   if(i .eq. 11) then
      theta11 = thetan7
      z11 = zn
   end if
  i = i+1
end do
   plot1 = gsn_csm_xy(wks,theta1,z1,res)
   plot2 = gsn_csm_xy(wks,theta2,z2,res)
   plot3 = gsn_csm_xy(wks,theta3,z3,res)
   plot4 = gsn_csm_xy(wks,theta4,z4,res)
   plot5 = gsn_csm_xy(wks,theta5,z5,res)
   plot6 = gsn_csm_xy(wks,theta6,z6,res)
   plot7 = gsn_csm_xy(wks,theta7,z7,res)
   plot8 = gsn_csm_xy(wks,theta8,z8,res)
   plot9 = gsn_csm_xy(wks,theta9,z9,res)
   plot10 = gsn_csm_xy(wks,theta10,z10,res)
   plot11 = gsn_csm_xy(wks,theta11,z11,res)
end
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Tue Jul 20 09:31:11 2010

This archive was generated by hypermail 2.1.8 : Wed Jul 28 2010 - 10:42:06 MDT