<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;background-color:#FFFFFF;font-family:Calibri,Arial,Helvetica,sans-serif;">
<p>Hi,</p>
<p><br>
</p>
<p>I am trying to add a line that has missing values onto an XY plot using gsn_add_polyline.&nbsp; If the missing values are arranged such that 2 segments are created(ie MM###MMM## where M=missval and #=a number) the following error occurs:</p>
<p><br>
</p>
<p></p>
<div>fatal:Dimension sizes on right hand side of assignment do not match dimension sizes of left hand side<br>
fatal:[&quot;Execute.c&quot;:8575]:Execute: Error occurred at or near line 85 in file polylin_order.ncl<br>
<br>
If only 1 segment is created(#####MMMM) then everything works fine.&nbsp; A simplified version of the script is below with a sample dataset attached.&nbsp; Any help is appreciated.<br>
<br>
Dave<br>
</div>
<p></p>
<p><br>
</p>
<p>---------------------------------------------------------------------------------------------------------------------</p>
<p></p>
<div>load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl&quot;<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl&quot;<br>
load &quot;$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl&quot;<br>
;-----------------------------------------------------------------; <br>
;polylin_test.ncl<br>
; djv 3/16<br>
; This program is tests polyline issue w/missvals.&nbsp; If have more than 1 segment <br>
; and use gsn_add_polyline will get error:<br>
;fatal:Dimension sizes on right hand side of assignment do not match dimension sizes of left hand side<br>
;fatal:[&quot;Execute.c&quot;:8575]:Execute: Error occurred at or near line 95 in file ploylin_order.ncl<br>
<br>
; Can avoid using gsn_polyline but cannot control order of plotting<br>
;-----------------------------------------------------------------;<br>
&nbsp;&nbsp; &nbsp;<br>
begin<br>
&nbsp;res = True<br>
&nbsp;resplan = True<br>
;------------------ User PARAMETERS -----------------------------<br>
<br>
;------------------ End User PARAMETERS -------------------------&nbsp; &nbsp;<br>
<br>
&nbsp;&nbsp; datafile = &quot;test.dat&quot;<br>
&nbsp;&nbsp; data&nbsp;&nbsp; = asciiread(datafile,-1,&quot;string&quot;)<br>
&nbsp;&nbsp; vert_accel = stringtofloat(str_get_cols(data, 0,6))<br>
&nbsp;&nbsp; altkm = stringtofloat(str_get_cols(data, 7,12))<br>
&nbsp;&nbsp; vert_accel@_FillValue = -32767<br>
&nbsp;&nbsp; altkm@_FillValue = -32767<br>
<br>
&nbsp;&nbsp; mintime = 0<br>
&nbsp;&nbsp; maxtime = numAsciiRow(datafile) - 1<br>
&nbsp;&nbsp; flight_time = fspan(mintime,maxtime,maxtime&#43;1)<br>
<br>
;Set some resources for xy plots <br>
&nbsp;&nbsp;&nbsp; ytres = True&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;Resources for timeseries plots<br>
&nbsp;&nbsp;&nbsp; ytres@tiXAxisString = &quot;minutes&quot;<br>
&nbsp;&nbsp;&nbsp; ytres@trXMinF&nbsp;&nbsp;&nbsp; = 0<br>
&nbsp;&nbsp;&nbsp; ytres@trXMaxF&nbsp;&nbsp;&nbsp; = maxtime<br>
&nbsp;&nbsp;&nbsp; ytres@xyLineThicknessF = 2.<br>
&nbsp;&nbsp;&nbsp; ytres@gsnDraw&nbsp;&nbsp;&nbsp;&nbsp; = False&nbsp;&nbsp;&nbsp;&nbsp; ;Set to False so can plot multi-colored lines<br>
&nbsp;&nbsp;&nbsp; ytres@gsnFrame&nbsp;&nbsp;&nbsp; = False<br>
&nbsp;&nbsp;&nbsp; ytres@tiYAxisOn&nbsp;&nbsp; = True&nbsp; &nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;
<div>; Set plt resources for vert accel<br>
&nbsp;&nbsp;&nbsp; ytresa = ytres<br>
&nbsp;&nbsp;&nbsp; ytresa@trYMinF = -2<br>
&nbsp;&nbsp;&nbsp; ytresa@trYMaxF = 2<br>
&nbsp;&nbsp;&nbsp; ytresa@tiYAxisString = &quot;Vacc(Yellow)&quot;<br>
;&nbsp;&nbsp;&nbsp;&nbsp; ytresa@xyCurveDrawOrder = &quot;PreDraw&quot;<br>
;&nbsp;&nbsp;&nbsp;&nbsp; ytresa@xyLineColor = -1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;Set=Transparent so polyline colors work<br>
<br>
; Set plt resources for altitude<br>
&nbsp;&nbsp;&nbsp; altres = ytres<br>
&nbsp;&nbsp;&nbsp; altres@trYMinF = 10<br>
&nbsp;&nbsp;&nbsp; altres@trYMaxF = 15<br>
&nbsp;&nbsp;&nbsp; altres@tiYAxisString = &quot;Alt&quot;<br>
&nbsp;&nbsp;&nbsp; altres@xyLineColor = 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;Set=Transparent so polyline colors work<br>
&nbsp;&nbsp;&nbsp; wks = gsn_open_wks(&quot;X11&quot;,&quot;outfile&quot;)<br>
<br>
&nbsp;&nbsp;&nbsp; plot = gsn_csm_xy2(wks,flight_time(mintime:maxtime),vert_accel(mintime:maxtime),altkm(mintime:maxtime),ytresa,altres)<br>
<br>
;----------------------------------------------<br>
;&nbsp;&nbsp; Overlay colored lines<br>
;&nbsp;&nbsp; gsn_add_polyline does not work if segment is brken up into 2 due to missval<br>
;&nbsp;&nbsp; Will work w/gsn_ployline but will plot 1st and then overlay gsn_csm_xy plt<br>
;----------------------------------------------<br>
&nbsp;&nbsp;&nbsp;&nbsp; dum1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = new(20,&quot;graphic&quot;)<br>
&nbsp;&nbsp;&nbsp;&nbsp; polyres = True<br>
&nbsp;&nbsp;&nbsp;&nbsp; polyres@gsLineThicknessF = 8.<br>
&nbsp;&nbsp;&nbsp;&nbsp; polyres@gsLineColor = &quot;yellow&quot;<br>
;&nbsp;&nbsp;&nbsp;&nbsp; ytresa@tfPolyDrawOrder = &quot;PostDraw&quot;<br>
<br>
&nbsp;&nbsp;&nbsp; if(any(.not.ismissing(vert_accel(mintime:maxtime))))then<br>
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dum1(0) = gsn_add_polyline(wks,plot,flight_time(mintime:maxtime),vert_accel(mintime:maxtime),polyres)<br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp; gsn_polyline(wks,plot,flight_time(mintime:maxtime),vert_accel(mintime:maxtime),polyres)<br>
&nbsp;&nbsp;&nbsp; end if<br>
&nbsp;&nbsp;&nbsp; draw(plot)<br>
&nbsp;&nbsp;&nbsp; frame(wks)<br>
end</div>
</div>
<br>
<p></p>
</div>
</body>
</html>