<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">Hey NCL devs,<div class=""><br class=""></div><div class="">I’ve come across a sometimes avoidable but easily reproducible bug, that seems to still exist in 6.4.0&nbsp;</div><div class=""><br class=""></div><div class="">Basically when a polyline is added to a plot with an axis on the order of time units (e.g. "hours since 1800” &nbsp;or &nbsp;&gt; 1e6 ) and extends beyond the x limits of the plot, &nbsp;it looks like the polyline function truncates the end of the lines erroneously. &nbsp;</div><div class="">And then I just kind of broke it completely with the last plot. &nbsp;</div><div class=""><br class=""></div><div class="">Couldn’t work out if the error is occurring in NhlAddPrimitive or in the create polytype section.&nbsp;</div><div class=""><br class=""></div><div class="">Simple example script inline below with the output plots attached.&nbsp;</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Alan</div><div class=""><br class=""></div><div class="">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</div><div class=""><div class=""><br class=""></div><div class=""><div class="">wks = gsn_open_wks("png","polyline_error")</div><div class=""><br class=""></div><div class="">times := fspan(1881552, 1881984, 73)</div><div class="">times@units = "hours since 1800-01-01"</div><div class=""><br class=""></div><div class="">stime = times(8)</div><div class="">ltime = times(50)</div><div class=""><br class=""></div><div class="">res := True</div><div class="">res@gsnDraw = False</div><div class="">res@gsnFrame = False</div><div class="">res@trXMinF = stime</div><div class="">res@trXMaxF = ltime</div><div class=""><br class=""></div><div class="">x := times</div><div class="">y := sin(x) +4.</div><div class="">res@trYMaxF = max(y)</div><div class="">res@trYMinF = min(y)</div><div class=""><br class=""></div><div class="">;;;; .000001.png</div><div class="">plot = gsn_csm_blank_plot(wks, res)</div><div class="">line = gsn_add_polyline(wks, plot, x, y, False)</div><div class="">draw(plot)</div><div class="">frame(wks)</div><div class=""><br class=""></div><div class="">;;;; .000002.png</div><div class="">res@trXMinF = stime</div><div class="">res@trXMaxF = times(15)</div><div class="">plot = gsn_csm_blank_plot(wks, res)</div><div class="">line = gsn_add_polyline(wks, plot, x, y, False)</div><div class="">draw(plot)</div><div class="">frame(wks)</div></div></div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">; oh jeez, &nbsp; it gets worse.&nbsp;</div><div class="">;;;; .000003.png</div><div class=""><div class="">res@trYMinF = min(y)+0.00001 &nbsp; &nbsp;;; trim just the very very bottom off the plot and watch all hell break lose.&nbsp;</div><div class="">plot = gsn_csm_blank_plot(wks, res)</div><div class="">line = gsn_add_polyline(wks, plot, x, y, False)</div><div class="">draw(plot)</div><div class="">frame(wks)</div></div><div class="">;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;</div><div class=""><br class=""></div><div class=""><img apple-inline="yes" id="C1F47FDF-659F-4819-A5E7-C58C3ADAAA12" src="cid:BF245268-C77B-4F62-837D-F0FA9F6CD324@eas.albany.edu" class=""></div><div class=""><img apple-inline="yes" id="A5FF48E2-CCFD-4BBA-8C58-39A37DB16A61" src="cid:B9815ABD-0CCF-4E74-8F0D-99B5F831BE0C@eas.albany.edu" class=""></div><div class=""><img apple-inline="yes" id="8DF69526-2D0C-4128-9D02-F63BC9696D25" src="cid:3FC9420C-BB28-4B8B-921B-BCC7F3A4AA15@eas.albany.edu" class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div><div class=""><br class=""></div></body></html>