Change the order of the array to suit legend

From: Melissa Lazenby <M.Lazenby_at_nyahnyahspammersnyahnyah>
Date: Thu Apr 03 2014 - 09:04:50 MDT

Hi All

I have created a zonal plot of precip against latitude and my legend came out top to bottom, but I cant just switch the labels around I need to switch the data array accordingly.
Please can someone help me on how to reverse or invert the array so that I can have my model list in alphabetical order next to my graph.

Many thanks!

Kind Regards
Melissa

Code:
;************************************************
; zonal_1.ncl
;
; Concepts illustrated:
; - Drawing a zonal means plot
;************************************************
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"
load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"
;************************************************
begin
;************************************************
; variable and file handling
;************************************************

  in = addfile("/mnt/geog/ml382/melphd/zonal/cmap_pr_safrica_1979-1999_climDJF.nc","r")
  pr = in->precip(:,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_ACCESS1-0_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr1 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_ACCESS1-3_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr2 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_bcc-csm1-1_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr3 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_bcc-csm1-1-m_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr4 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_BNU-ESM_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr5 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_CanESM2_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr6 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_CCSM4_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr7 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_CESM1-BGC_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr8 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_CESM1-CAM5_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr9 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_CESM1-FASTCHEM_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr10 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_CESM1-WACCM_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr11 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_CMCC-CESM_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr12 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_CMCC-CM_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr13 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_CMCC-CMS_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr14 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_CNRM-CM5_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr15 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_CSIRO-Mk3-6-0_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr16 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_EC-EARTH_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr17 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_FGOALS-g2_historical_safrica_1979-1999_climDJF_seasmean2.nc","r")
  pr18 = in->pr(:,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_FGOALS-s2_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr19 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_FIO-ESM_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr20 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_GFDL-CM3_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr21 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_GFDL-ESM2G_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr22 = in->pr(:,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_GFDL-ESM2M_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr23 = in->pr(:,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_GISS-E2-H_p1_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr24 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_GISS-E2-H-CC_p1_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr25 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_GISS-E2-R_p1_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr26 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_GISS-E2-R-CC_p1_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr27 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_HadGEM2-AO_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr28 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_HadGEM2-CC_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr29 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_HadGEM2-ES_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr30 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_inmcm4_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr31 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_IPSL-CM5A-LR_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr32 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_IPSL-CM5A-MR_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr33 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_IPSL-CM5B-LR_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr34 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_MIROC4h_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr35 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_MIROC5_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr36 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_MIROC-ESM_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr37 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_MIROC-ESM-CHEM_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr38 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_MPI-ESM-LR_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr39 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_MPI-ESM-MR_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr40 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_MPI-ESM-P_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr41 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_MRI-CGCM3_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr42 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_NorESM1-M_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr43 = in->pr(:,0,:,:)

  in = addfile("/mnt/geog/ml382/melphd/zonal/pr_Amon_NorESM1-ME_historical_safrica_1979-1999_climDJF_seasmean.nc","r")
  pr44 = in->pr(:,0,:,:)

  lat =in->lat
  time =in->time
;************************************************
; data processing
;************************************************
  zave = dim_avg(pr)
 zave1 = dim_avg(pr1) ; calculate zonal ave
 zave2 = dim_avg(pr2)
 zave3 = dim_avg(pr3)
 zave4 = dim_avg(pr4)
 zave5 = dim_avg(pr5)
 zave6 = dim_avg(pr6)
 zave7 = dim_avg(pr7)
 zave8 = dim_avg(pr8)
 zave9 = dim_avg(pr9)
 zave10 = dim_avg(pr10)
 zave11 = dim_avg(pr11)
 zave12 = dim_avg(pr12)
 zave13 = dim_avg(pr13)
 zave14 = dim_avg(pr14)
 zave15 = dim_avg(pr15)
 zave16 = dim_avg(pr16)
 zave17 = dim_avg(pr17)
 zave18 = dim_avg(pr18)
 zave19 = dim_avg(pr19)
 zave20 = dim_avg(pr20)
 zave21 = dim_avg(pr21)
 zave22 = dim_avg(pr22)
 zave23 = dim_avg(pr23)
 zave24 = dim_avg(pr24)
 zave25 = dim_avg(pr25)
 zave26 = dim_avg(pr26)
 zave27 = dim_avg(pr27)
 zave28 = dim_avg(pr28)
 zave29 = dim_avg(pr29)
 zave30 = dim_avg(pr30)
 zave31 = dim_avg(pr31)
 zave32 = dim_avg(pr32)
 zave33 = dim_avg(pr33)
 zave34 = dim_avg(pr34)
 zave35 = dim_avg(pr35)
 zave36 = dim_avg(pr36)
 zave37 = dim_avg(pr37)
 zave38 = dim_avg(pr38)
 zave39 = dim_avg(pr39)
 zave40 = dim_avg(pr40)
 zave41 = dim_avg(pr41)
 zave42 = dim_avg(pr42)
 zave43 = dim_avg(pr43)
 zave44 = dim_avg(pr44)

print(zave)

 data = new((/45,dimsizes(time),dimsizes(lat)/), "float")
 data(0,:,:) = zave(:,:)
 data(1,:,:) = zave1(:,:)
 data(2,:,:) = zave2(:,:)
 data(3,:,:) = zave3(:,:)
 data(4,:,:) = zave4(:,:)
 data(5,:,:) = zave5(:,:)
 data(6,:,:) = zave6(:,:)
 data(7,:,:) = zave7(:,:)
 data(8,:,:) = zave8(:,:)
 data(9,:,:) = zave9(:,:)
 data(10,:,:) = zave10(:,:)
 data(11,:,:) = zave11(:,:)
 data(12,:,:) = zave12(:,:)
 data(13,:,:) = zave13(:,:)
 data(14,:,:) = zave14(:,:)
 data(15,:,:) = zave15(:,:)
 data(16,:,:) = zave16(:,:)
 data(17,:,:) = zave17(:,:)
 data(18,:,:) = zave18(:,:)
 data(19,:,:) = zave19(:,:)
 data(20,:,:) = zave20(:,:)
 data(21,:,:) = zave21(:,:)
 data(22,:,:) = zave22(:,:)
 data(23,:,:) = zave23(:,:)
 data(24,:,:) = zave24(:,:)
 data(25,:,:) = zave25(:,:)
 data(26,:,:) = zave26(:,:)
 data(27,:,:) = zave27(:,:)
 data(28,:,:) = zave28(:,:)
 data(29,:,:) = zave29(:,:)
 data(30,:,:) = zave30(:,:)
 data(31,:,:) = zave31(:,:)
 data(32,:,:) = zave32(:,:)
 data(33,:,:) = zave33(:,:)
 data(34,:,:) = zave34(:,:)
 data(35,:,:) = zave35(:,:)
 data(36,:,:) = zave36(:,:)
 data(37,:,:) = zave37(:,:)
 data(38,:,:) = zave38(:,:)
 data(39,:,:) = zave39(:,:)
 data(40,:,:) = zave40(:,:)
 data(41,:,:) = zave41(:,:)
 data(42,:,:) = zave42(:,:)
 data(43,:,:) = zave43(:,:)
 data(44,:,:) = zave44(:,:)

 printVarSummary(data)
 ;data_reverse = data(-1::)
 ;printVarSummary(data_reverse)

 ;printVarSummary(zave)

 zave!0 = "lat"
 zave!1 = "time"
 ;zave&lat = lat
 ;zave&time= time

 data!0 = "member"
 data!1 = "time"
 data!2 = "lat"
 data&time = in->time
 data&lat = in->lat
;************************************************
; plotting
;************************************************
  wks = gsn_open_wks("X11","zonalnew1") ; Opens a ps file

   res = True
  res@tiXAxisString = "Precipitation (mm/month)" ; x-axis label
  res@tiYAxisString = "Latitude" ; y-axis label
  ;res@xyFillOn = True ; color on
  ;res@xyLineLabelsOn = True ; no contour line labels
  res@trXMinF = 0 ; min level
  res@trXMaxF = 500 ; max level
  ;res@trXSpacingF = 50 ; contour spacing
  res@xyLineThicknessF = 1.3

  res@gsnDraw = False ; do not draw the plot
  res@gsnFrame = False
  res@pmLegendDisplayMode = "Always" ; Display a legend.

  res@pmLegendParallelPosF = 1.19 ; move units right
  res@pmLegendOrthogonalPosF = -1.3 ; move units down
  res@lgBoxMinorExtentF = 0.05
  res@pmLegendWidthF = 0.14
  res@lgLabelFontHeightF = 0.010
  res@pmLegendHeightF = 0.8
  res@lgLabelFontHeightF = 0.012 ; Change the font size

 res@xyLineColors = (/"black","blue","red","green","yellow","blueviolet", "aquamarine","cadetblue1","brown","azure4","chartreuse","coral","darkgreen","cornflowerblue","darkorange","magenta","maroon4","navy","moccasin","lightcoral","lightpink","limegreen","lightslateblue","lightseagreen","lightgoldenrod2","firebrick","darkviolet","dodgerblue4","deeppink","darkturquoise","darkorchid4","firebrick1","wheat1","thistle","tomato","yellowgreen","violet","slateblue","hotpink","snow4","sienna","slategray3","lawngreen","lightblue1","indianred4"/)
; an array of color index

  res@xyExplicitLegendLabels = (/"CMAP(OBS)","ACCESS1-0","ACCESS1-3","bcc-csm1-1","bcc-csm1-1-m","BNU-ESM","CanESM2","CCSM4","CESM1-BGC","CESM1-CAM5","CESM1-FASTCHEM","CESM1-WACCM","CMCC-CESM","CMCC-CM","CMCC-CMS","CNRM-CM5","CSIRO-Mk3-6-0","EC-EARTH","FGOALS-g2","FGOALS-s2","FIO-ESM","GFDL-CM3","GFDL-ESM2G","GFDL-ESM2M","GISS-E2-H_p1","GISS-E2-H-CC_p1","GISS-E2-R_p1","GISS-E2-R-CC_p1","HadGEM2-AO","HadGEM2-CC","HadGEM2-ES","inmcm4","IPSL-CM5A-LR","IPSL-CM5A-MR","IPSL-CM5B-LR","MIROC4h","MIROC5","MIROC-ESM","MIROC-ESM-CHEM","MPI-ESM-LR","MPI-ESM-MR","MPI-ESM-P","MRI-CGCM3","NorESM1-M","NorESM1-ME"/)

  plot=gsn_csm_xy(wks,data(:,0,:),data&lat,res) ; plot zonal ave

  draw(plot)

 frame(wks)
;***********************************************

end

_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Thu Apr 3 09:06:18 2014

This archive was generated by hypermail 2.1.8 : Thu Apr 03 2014 - 13:36:27 MDT