Hi All
I have created a xy plot of precipitation versus latitude for 44 CMIP5 models and the obs CMAP.
I have attached the image but I was wondering if there was any quick and efficient way to make a legend with different line patterns for each different model and the obs?
If someone could point me in the right direction that would be most useful.
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/nfs2/geog/ml382/melphd/zonal/era-int_cmap_pr_safrica_1979-1999_climDJF.nc","r")
pr = in->precip(:,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_ACCESS1-0_historical_safrica_1979-1999_climDJF.nc","r")
pr1 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_ACCESS1-3_historical_safrica_1979-1999_climDJF.nc","r")
pr2 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_bcc-csm1-1_historical_safrica_1979-1999_climDJF.nc","r")
pr3 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_bcc-csm1-1-m_historical_safrica_1979-1999_climDJF.nc","r")
pr4 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_BNU-ESM_historical_safrica_1979-1999_climDJF.nc","r")
pr5 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_CanESM2_historical_safrica_1979-1999_climDJF.nc","r")
pr6 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_CCSM4_historical_safrica_1979-1999_climDJF.nc","r")
pr7 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_CESM1-BGC_historical_safrica_1979-1999_climDJF.nc","r")
pr8 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_CESM1-CAM5_historical_safrica_1979-1999_climDJF.nc","r")
pr9 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_CESM1-FASTCHEM_historical_safrica_1979-1999_climDJF.nc","r")
pr10 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_CESM1-WACCM_historical_safrica_1979-1999_climDJF.nc","r")
pr11 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_CMCC-CESM_historical_safrica_1979-1999_climDJF.nc","r")
pr12 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_CMCC-CM_historical_safrica_1979-1999_climDJF.nc","r")
pr13 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_CMCC-CMS_historical_safrica_1979-1999_climDJF.nc","r")
pr14 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_CNRM-CM5_historical_safrica_1979-1999_climDJF.nc","r")
pr15 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_CSIRO-Mk3-6-0_historical_safrica_1979-1999_climDJF.nc","r")
pr16 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_EC-EARTH_historical_safrica_1979-1999_climDJF.nc","r")
pr17 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_FGOALS-g2_historical_safrica_1979-1999_climDJF.nc","r")
pr18 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_FGOALS-s2_historical_safrica_1979-1999_climDJF.nc","r")
pr19 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_FIO-ESM_historical_safrica_1979-1999_climDJF.nc","r")
pr20 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_GFDL-CM3_historical_safrica_1979-1999_climDJF.nc","r")
pr21 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_GFDL-ESM2G_historical_safrica_1979-1999_climDJF.nc","r")
pr22 = in->pr(:,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_GFDL-ESM2M_historical_safrica_1979-1999_climDJF.nc","r")
pr23 = in->pr(:,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_GISS-E2-H_p1_historical_safrica_1979-1999_climDJF.nc","r")
pr24 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_GISS-E2-H-CC_p1_historical_safrica_1979-1999_climDJF.nc","r")
pr25 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_GISS-E2-R_p1_historical_safrica_1979-1999_climDJF.nc","r")
pr26 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_GISS-E2-R-CC_p1_historical_safrica_1979-1999_climDJF.nc","r")
pr27 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_HadGEM2-AO_historical_safrica_1979-1999_climDJF.nc","r")
pr28 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_HadGEM2-CC_historical_safrica_1979-1999_climDJF.nc","r")
pr29 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_HadGEM2-ES_historical_safrica_1979-1999_climDJF.nc","r")
pr30 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_inmcm4_historical_safrica_1979-1999_climDJF.nc","r")
pr31 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_IPSL-CM5A-LR_historical_safrica_1979-1999_climDJF.nc","r")
pr32 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_IPSL-CM5A-MR_historical_safrica_1979-1999_climDJF.nc","r")
pr33 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_IPSL-CM5B-LR_historical_safrica_1979-1999_climDJF.nc","r")
pr34 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_MIROC4h_historical_safrica_1979-1999_climDJF.nc","r")
pr35 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_MIROC5_historical_safrica_1979-1999_climDJF.nc","r")
pr36 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_MIROC-ESM_historical_safrica_1979-1999_climDJF.nc","r")
pr37 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_MIROC-ESM-CHEM_historical_safrica_1979-1999_climDJF.nc","r")
pr38 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_MPI-ESM-LR_historical_safrica_1979-1999_climDJF.nc","r")
pr39 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_MPI-ESM-MR_historical_safrica_1979-1999_climDJF.nc","r")
pr40 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_MPI-ESM-P_historical_safrica_1979-1999_climDJF.nc","r")
pr41 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_MRI-CGCM3_historical_safrica_1979-1999_climDJF.nc","r")
pr42 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_NorESM1-M_historical_safrica_1979-1999_climDJF.nc","r")
pr43 = in->pr(:,0,:,:)
in = addfile("/mnt/nfs2/geog/ml382/melphd/zonal/pr_Amon_NorESM1-ME_historical_safrica_1979-1999_climDJF.nc","r")
pr44 = in->pr(:,0,:,:)
lat =in->lat
;************************************************
; 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)
printVarSummary(zave)
;zave!0 = "lat"
;zave!1 = "time"
;zave&lat = lat
;zave&time= time
;************************************************
; plotting
;************************************************
wks = gsn_open_wks("X11","zonal") ; 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@lbLabelStride = 2 ; every other label
res@gsnSpreadColors = True ; use full range of color map
res@lbLabelBarOn = True
res@gsnDraw = False ; do not draw the plot
res@gsnFrame = False
plot=gsn_csm_xy(wks,zave(0,:),pr&lat,res) ; plot zonal ave
plot1 = gsn_csm_xy(wks,zave1(0,:),pr1&lat,res) ; create the U-wind plot
plot2 = gsn_csm_xy(wks,zave2(0,:),pr2&lat,res)
plot3 = gsn_csm_xy(wks,zave3(0,:),pr3&lat,res)
plot4 = gsn_csm_xy(wks,zave4(0,:),pr4&lat,res)
plot5 = gsn_csm_xy(wks,zave5(0,:),pr5&lat,res)
plot6 = gsn_csm_xy(wks,zave6(0,:),pr6&lat,res)
plot7 = gsn_csm_xy(wks,zave7(0,:),pr7&lat,res)
plot8 = gsn_csm_xy(wks,zave8(0,:),pr8&lat,res)
plot9 = gsn_csm_xy(wks,zave9(0,:),pr9&lat,res)
plot10 = gsn_csm_xy(wks,zave10(0,:),pr10&lat,res)
plot11 = gsn_csm_xy(wks,zave11(0,:),pr11&lat,res)
plot12 = gsn_csm_xy(wks,zave12(0,:),pr12&lat,res)
plot13 = gsn_csm_xy(wks,zave13(0,:),pr13&lat,res)
plot14 = gsn_csm_xy(wks,zave14(0,:),pr14&lat,res)
plot15 = gsn_csm_xy(wks,zave15(0,:),pr15&lat,res)
plot16 = gsn_csm_xy(wks,zave16(0,:),pr16&lat,res)
plot17 = gsn_csm_xy(wks,zave17(0,:),pr17&lat,res)
plot18 = gsn_csm_xy(wks,zave18(0,:),pr18&lat,res)
plot19 = gsn_csm_xy(wks,zave19(0,:),pr19&lat,res)
plot20 = gsn_csm_xy(wks,zave20(0,:),pr20&lat,res)
plot21 = gsn_csm_xy(wks,zave21(0,:),pr21&lat,res)
plot22 = gsn_csm_xy(wks,zave22(0,:),pr22&lat,res)
plot23 = gsn_csm_xy(wks,zave23(0,:),pr23&lat,res)
plot24 = gsn_csm_xy(wks,zave24(0,:),pr24&lat,res)
plot25 = gsn_csm_xy(wks,zave25(0,:),pr25&lat,res)
plot26 = gsn_csm_xy(wks,zave26(0,:),pr26&lat,res)
plot27 = gsn_csm_xy(wks,zave27(0,:),pr27&lat,res)
plot28 = gsn_csm_xy(wks,zave28(0,:),pr28&lat,res)
plot29 = gsn_csm_xy(wks,zave29(0,:),pr29&lat,res)
plot30 = gsn_csm_xy(wks,zave30(0,:),pr30&lat,res)
plot31 = gsn_csm_xy(wks,zave31(0,:),pr31&lat,res)
plot32 = gsn_csm_xy(wks,zave32(0,:),pr32&lat,res)
plot33 = gsn_csm_xy(wks,zave33(0,:),pr33&lat,res)
plot34 = gsn_csm_xy(wks,zave34(0,:),pr34&lat,res)
plot35 = gsn_csm_xy(wks,zave35(0,:),pr35&lat,res)
plot36 = gsn_csm_xy(wks,zave36(0,:),pr36&lat,res)
plot37 = gsn_csm_xy(wks,zave37(0,:),pr37&lat,res)
plot38 = gsn_csm_xy(wks,zave38(0,:),pr38&lat,res)
plot39 = gsn_csm_xy(wks,zave39(0,:),pr39&lat,res)
plot40 = gsn_csm_xy(wks,zave40(0,:),pr40&lat,res)
plot41 = gsn_csm_xy(wks,zave41(0,:),pr41&lat,res)
plot42 = gsn_csm_xy(wks,zave42(0,:),pr42&lat,res)
plot43 = gsn_csm_xy(wks,zave43(0,:),pr43&lat,res)
plot44 = gsn_csm_xy(wks,zave44(0,:),pr44&lat,res)
overlay(plot,plot1)
overlay(plot1,plot2)
overlay(plot2,plot3)
overlay(plot3,plot4)
overlay(plot4,plot5)
overlay(plot5,plot6)
overlay(plot6,plot7)
overlay(plot7,plot8)
overlay(plot8,plot9)
overlay(plot9,plot10)
overlay(plot10,plot11)
overlay(plot11,plot12)
overlay(plot12,plot13)
overlay(plot13,plot14)
overlay(plot14,plot15)
overlay(plot15,plot16)
overlay(plot16,plot17)
overlay(plot17,plot18)
overlay(plot18,plot19)
overlay(plot19,plot20)
overlay(plot20,plot21)
overlay(plot21,plot22)
overlay(plot22,plot23)
overlay(plot23,plot24)
overlay(plot24,plot25)
overlay(plot25,plot26)
overlay(plot26,plot27)
overlay(plot27,plot28)
overlay(plot28,plot29)
overlay(plot29,plot30)
overlay(plot30,plot31)
overlay(plot31,plot32)
overlay(plot32,plot33)
overlay(plot33,plot34)
overlay(plot34,plot35)
overlay(plot35,plot36)
overlay(plot36,plot37)
overlay(plot37,plot38)
overlay(plot38,plot39)
overlay(plot39,plot40)
overlay(plot40,plot41)
overlay(plot41,plot42)
overlay(plot42,plot43)
overlay(plot43,plot44)
draw(plot)
legend = create "Legend" legendClass wks
"vpXF" : 0.72 ; orientation on page
"vpYF" : 0.55
"vpWidthF" : 0.5 ; width
"vpHeightF" : 0.1 ; height
"lgPerimOn" : False ; no perimeter
"lgItemCount" : 4 ; how many
"lgLineLabelStrings" : (/"CMAP","ACCESS1-0,","ACCESS1-3","bcc-csm1-1","bcc-csm1-1-m"/) ; labels
"lgLabelsOn" : False ; no default lables
"lgLineLabelFontHeightF" : 0.015 ; font height
"lgDashIndexes" : (/0,1,0,1/) ; line paters
"lgLineColors" : (/"foreground","green","blue","red","yellow"/)
"lgMonoLineLabelFontColor" : True ; one label color
end create
draw(legend)
frame(wks)
frame(wks)
;***********************************************
end
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
This archive was generated by hypermail 2.1.8 : Sun Jan 19 2014 - 21:56:35 MST