<div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">Hi <br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">I was able to create the desired panel plots with the markers and text - thanks!</div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">Here's the script:</div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><i>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"<br>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"<br><br>begin<br><br>ncol = 11 ; COLUMNS CORRESPOND TO THE 11 DAYS HERE<br>data = readAsciiTable("/home/tabish/Emulation/EmulPreds_responsesurface_Run8.csv", ncol, "float", 1); THIS WILL IGNORE THE 1ST ROW WHICH IS HEADER<br>data@_FillValue = -999<br>print("table read-in successfully")<br>printVarSummary(data)<br><br>;TRANSFORMING 14400X1 STRUCTURE TO 120X120 STRUCTURE FOR CONTOUR PLOT<br>c=0<br>a = new((/120,120/),float);MATRIX TO HOLD VALUES FOR 24TH OCT<br>b = new((/120,120/),float);MATRIX TO HOLD VALUES FOR 30TH OCT<br>do i=0,119<br> do j=0,119<br>  a(i,j) = data(c,3);THIS MATRIX STORES VALUES FOR 24TH OCT<br>  b(i,j) = data(c,9);THIS MATRIX STORES VALUES FOR 30TH OCT<br>  c = c+1<br> end do<br>end do<br><br>;ATTACHING 0-120% COORDINATE ARRAYS<br>  x    = ispan(0,119,1)<br>  y    = ispan(0,119,1)<br><br>  a!0 = "x"<br>  a!1 = "y"<br>  a&x = x<br>  a&y = y<br><br>  b!0 = "x"<br>  b!1 = "y"<br>  b&x = x<br>  b&y = y<br><br>  wks = gsn_open_wks("x11","30OctRS_Beijing-IR_vs_Beijing-TP") ; Send graphics to PNG file<br><br>; Set up resources.<br>  res                     = True<br>  res@gsnDraw  = False                          ; don't draw<br>  res@gsnFrame = False                          ; don't advance frame  <br>  res@gsnMaximize         = False<br>  res@cnFillOn            = True        ; Turn on contour fill<br>  res@cnFillPalette       = "BlGrYeOrReVi200"      ; Set color map<br> ; res@cnFillPalette       = "WhiteBlue"      ; Set color map<br>  res@tiYAxisFontHeightF  = 0.018 <br>  res@tiXAxisFontHeightF  = 0.018 <br>  res@tiYAxisString       = "Beijing(Pow+Tran)"<br>  res@pmTitleZone      = 3<br>  res@tiXAxisString       = "Beijing(Ind+Res)"<br>  ;res@cnFillMode          = "RasterFill"<br>  res@cnLinesOn           = False<br> res@lbOrientation        = "vertical"<br>  res@tmXBMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmXBMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br>  tmXTMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmXTMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br>  res@tmYLMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmYLMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br>  res@tmYRMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmYRMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br>  plot1 = gsn_csm_contour(wks,a,res)  ; Create filled contours<br>  plot2 = gsn_csm_contour(wks,b,res)  ; Create filled contours<br><br>;---Draw text and markers at data locations<br>  txres               = True<br>  mkres               = True<br>  txres@txFontHeightF = 0.01<br>  txres@txJust        = "TopCenter"  ; text will be drawn under the marker<br>  mkres@gsMarkerIndex = 16 ; filled circle<br><br>;ROUNDING OFF THE PM2.5 VALUES FOR CLEAN PRINTING<br>a  = round(a,0)<br>b  = round(b,0)<br><br>dumpoly1  = new(25,graphic)<br>dumpoly2  = new(25,graphic)<br>dumtext1 = new(25,graphic)<br>dumtext2 = new(25,graphic)<br>c=0; counter variable for dummy variables<br>  do j=0,100,20<br>    do i=0,100,20<br>      if((i.gt.0).and.(j.gt.0)) then  <br>       print(i+","+j)<br>;       gsn_polymarker(wks,plot1,x(i-1),y(j-1),mkres)<br>;       gsn_text(wks,plot1,"  ~C~"+a(j-1,i-1),x(i-1),y(j-1),txres)<br>        dumpoly1(c) = gsn_add_polymarker(wks,plot1,x(i-1),y(j-1),mkres)<br>        dumtext1(c) = gsn_add_text(wks,plot1,"  ~C~"+a(j-1,i-1),x(i-1),y(j-1),txres)<br><br>        dumpoly2(c) = gsn_add_polymarker(wks,plot2,x(i-1),y(j-1),mkres)<br>        dumtext2(c) = gsn_add_text(wks,plot2,"  ~C~"+b(j-1,i-1),x(i-1),y(j-1),txres)<br>        c = c+1<br>      end if<br>    end do<br>  end do<br><br><br>;draw(plot2)<br><br>; frame(wks)<br><br>;************************************************<br>; create panel<br>;************************************************<br>resP = True<br>resP@gsnPanelYWhiteSpacePercent = 0.0<br>gsn_panel(wks,(/plot1,plot2/),(/1,2/),resP)             ; now draw as one plot<br><br>end</i><br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">Cheers</div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">Tabish<br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><br clear="all"></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div><font size="1"><span style="font-family:tahoma,sans-serif">Tabish U Ansari<br></span></font></div><font size="1"><span style="font-family:tahoma,sans-serif">PhD student, Lancaster Environment Center<br></span></font></div><font size="1"><span style="font-family:tahoma,sans-serif">Lancaster Univeristy<br> <span>Bailrigg</span>, <span>Lancaster</span>, <br><span>LA1 4YW</span>, <span>United Kingdom</span></span></font><br></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 26 Apr 2019 at 14:16, Tabish Ansari <<a href="mailto:tabishumaransari@gmail.com">tabishumaransari@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">Hi Adam,</div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">Thanks for pointing me to the right functions.</div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">The gsn_add* functions throw a return value which needs to be stored in a uniquely named variable each time.<br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">As you can see in my script that I want to draw the polymarkers and attach the text at every 10th grid point in the 2D-array (It's 120x120 grids).</div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">I'm able to draw them using gsn_text and gsn_polymarker but not using the corresponding gsn_add* functions. NCL doesn't give any error, but the polymarkers and text aren't printed.</div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">Here's my updated script:</div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><i>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"<br>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"<br><br>begin<br><br>ncol = 11 ; COLUMNS CORRESPOND TO THE 11 DAYS HERE<br>data = readAsciiTable("/home/tabish/Emulation/EmulPreds_responsesurface_Run8.csv", ncol, "float", 1); THIS WILL IGNORE THE 1ST ROW WHICH IS HEADER<br>data@_FillValue = -999<br>print("table read-in successfully")<br>printVarSummary(data)<br><br>;TRANSFORMING 14400X1 STRUCTURE TO 120X120 STRUCTURE FOR CONTOUR PLOT<br>c=0<br>a = new((/120,120/),float);MATRIX TO HOLD VALUES FOR 24TH OCT<br>b = new((/120,120/),float);MATRIX TO HOLD VALUES FOR 30TH OCT<br>do i=0,119<br> do j=0,119<br>  a(i,j) = data(c,3);THIS MATRIX STORES VALUES FOR 24TH OCT<br>  b(i,j) = data(c,9);THIS MATRIX STORES VALUES FOR 30TH OCT<br>  c = c+1<br> end do<br>end do<br><br>;ATTACHING 0-120% COORDINATE ARRAYS<br>  x    = ispan(0,119,1)<br>  y    = ispan(0,119,1)<br><br>  a!0 = "x"<br>  a!1 = "y"<br>  a&x = x<br>  a&y = y<br><br>  b!0 = "x"<br>  b!1 = "y"<br>  b&x = x<br>  b&y = y<br><br>  wks = gsn_open_wks("x11","30OctRS_Beijing-IR_vs_Beijing-TP") ; Send graphics to PNG file<br><br>; Set up resources.<br>  res                     = True<br>  res@gsnFrame             = False         ; Turn off so we can add markers and text<br>  res@gsnMaximize         = False<br>  res@cnFillOn            = True        ; Turn on contour fill<br>  res@cnFillPalette       = "BlGrYeOrReVi200"      ; Set color map<br> ; res@cnFillPalette       = "WhiteBlue"      ; Set color map<br>  res@tiYAxisFontHeightF  = 0.018 <br>  res@tiXAxisFontHeightF  = 0.018 <br>  res@tiYAxisString       = "Beijing(Pow+Tran)"<br>  res@pmTitleZone      = 3<br>  res@tiXAxisString       = "Beijing(Ind+Res)"<br>  ;res@cnFillMode          = "RasterFill"<br>  res@cnLinesOn           = False<br> res@lbOrientation        = "vertical"<br>  res@tmXBMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmXBMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br>  tmXTMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmXTMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br>  res@tmYLMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmYLMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br>  res@tmYRMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmYRMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br>;  plot1 = gsn_csm_contour(wks,a,res)  ; Create filled contours<br>  plot2 = gsn_csm_contour(wks,b,res)  ; Create filled contours<br><br>;---Draw text and markers at data locations<br>  txres               = True<br>  mkres               = True<br>  txres@txFontHeightF = 0.01<br>  txres@txJust        = "TopCenter"  ; text will be drawn under the marker<br>  mkres@gsMarkerIndex = 16 ; filled circle<br><br>;ROUNDING OFF THE PM2.5 VALUES FOR CLEAN PRINTING<br>a  = round(a,0)<br>b  = round(b,0)<br><br>dumpoly1  = new(25,graphic)<br>dumpoly2  = new(25,graphic)<br>dumtext1 = new(25,graphic)<br>dumtext2 = new(25,graphic)<br>c=0; counter variable for dummy variables<br>  do j=0,100,20<br>    do i=0,100,20<br>      if((i.gt.0).and.(j.gt.0)) then  <br>       print(i+","+j)<br>;       gsn_polymarker(wks,plot1,x(i-1),y(j-1),mkres)<br>;       gsn_text(wks,plot1,"  ~C~"+a(j-1,i-1),x(i-1),y(j-1),txres)<br>        dumpoly2(c) = gsn_add_polymarker(wks,plot2,x(i-1),y(j-1),mkres)<br>        dumtext2(c) = gsn_add_text(wks,plot2,"  ~C~"+b(j-1,i-1),x(i-1),y(j-1),txres)<br>        c = c+1<br>      end if<br>    end do<br>  end do<br><br> frame(wks)<br><br>;************************************************<br>; create panel<br>;************************************************<br>;resP = True<br>;resP@gsnPanelYWhiteSpacePercent = 0.0<br>;gsn_panel(wks,(/plot1,plot2/),(/1,2/),resP)             ; now draw as one plot<br><br>end</i><br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">Cheers,</div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif">Tabish<br></div><div class="gmail_default" style="font-family:trebuchet ms,sans-serif"><br clear="all"></div><div><div dir="ltr" class="gmail-m_1387331322947568362gmail_signature"><div dir="ltr"><div><div><font size="1"><span style="font-family:tahoma,sans-serif">Tabish U Ansari<br></span></font></div><font size="1"><span style="font-family:tahoma,sans-serif">PhD student, Lancaster Environment Center<br></span></font></div><font size="1"><span style="font-family:tahoma,sans-serif">Lancaster Univeristy<br> <span>Bailrigg</span>, <span>Lancaster</span>, <br><span>LA1 4YW</span>, <span>United Kingdom</span></span></font><br></div></div></div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, 25 Apr 2019 at 19:00, Adam Phillips <<a href="mailto:asphilli@ucar.edu" target="_blank">asphilli@ucar.edu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Tabish,<div>If you are adding polymarkers/text to plots that are being paneled, you have to use the gsn_add_polymarker/gsn_add_text functions due to limitations with gsn_text/gsn_polymarker. See the documentation for the two add functions here:</div><div><a href="http://www.ncl.ucar.edu/Document/Graphics/Interfaces/gsn_add_text.shtml" target="_blank">http://www.ncl.ucar.edu/Document/Graphics/Interfaces/gsn_add_text.shtml</a><br></div><div><a href="http://www.ncl.ucar.edu/Document/Graphics/Interfaces/gsn_add_polymarker.shtml" target="_blank">http://www.ncl.ucar.edu/Document/Graphics/Interfaces/gsn_add_polymarker.shtml</a><br></div><div>Adam</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Apr 25, 2019 at 11:21 AM Tabish Ansari <<a href="mailto:tabishumaransari@gmail.com" target="_blank">tabishumaransari@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif">Hi <br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif">I'm able to add text and polymarkers of separate plots but not able to panel them properly. The text and polymarkers are being added on the original plots and then a panel is being displayed on top of that without the text and polymarkers.</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif">Here's my code:</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif"><i>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"<br>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"<br><br>begin<br><br>ncol = 2 ; THE TWO COLUMNS REPRESENT 2 DAYS: 24TH AND 30TH OCTOBER<br>data = readAsciiTable("/home/tabish/Emulation/EmulPreds_responsesurface_Run2.csv", ncol, "float", 1); THIS WILL IGNORE THE 1ST ROW WHICH IS HEADER<br>data@_FillValue = -999<br>print("table read-in successfully")<br>printVarSummary(data)<br><br>;TRANSFORMING 144X1 STRUCTURE TO 12X12 STRUCTURE FOR CONTOUR PLOT<br>c=0<br>a = new((/12,12/),float);MATRIX TO HOLD VALUES FOR 24TH OCT<br>b = new((/12,12/),float);MATRIX TO HOLD VALUES FOR 30TH OCT<br>do i=0,11<br> do j=0,11<br>  a(i,j) = data(c,0)<br>  b(i,j) = data(c,1)<br>  c = c+1<br> end do<br>end do<br><br>;ROUNDING OFF THE PM2.5 VALUES FOR CLEAN PRINTING<br>a  = round(a,0)<br>b  = round(b,0)<br>;ATTACHING 0-120% COORDINATE ARRAYS<br>  x    = ispan(0,110,10)<br>  y    = ispan(0,110,10)<br><br>  a!0 = "x"<br>  a!1 = "y"<br>  a&x = x<br>  a&y = y<br><br>  b!0 = "x"<br>  b!1 = "y"<br>  b&x = x<br>  b&y = y<br><br>  wks = gsn_open_wks("x11","RS") ; Send graphics to PNG file<br><br>; Set up resources.<br>  res                     = True<br>  res@gsnFrame             = False         ; Turn off so we can add markers and text<br>  res@gsnMaximize         = False<br>  res@cnFillOn            = True        ; Turn on contour fill<br>  res@cnFillPalette       = "amwg"      ; Set color map<br>  res@tiYAxisFontHeightF  = 0.018 <br>  res@tiXAxisFontHeightF  = 0.018 <br>  res@tiYAxisString       = "Near neighbourhood (Ind+pow+res+tran)"<br>  res@pmTitleZone      = 3<br>  res@tiXAxisString       = "Beijing (Ind+pow+res+tran)"<br>  res@cnFillMode          = "RasterFill"<br>  res@cnLinesOn           = False<br> res@lbOrientation        = "vertical"<br>  res@tmXBMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmXBMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br>  tmXTMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmXTMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br>  res@tmYLMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmYLMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br>  res@tmYRMajorOutwardLengthF = 0.0               ; draw tickmarks inward<br>  res@tmYRMinorOutwardLengthF = 0.0               ; draw minor ticks inward<br><br><br><br>  ;res@tmXBMode            = "Explicit"<br>  ;res@tmXBValues = ispan(0,120,10)<br>  plot1 = gsn_csm_contour(wks,a,res)  ; Create filled contours<br>  plot2 = gsn_csm_contour(wks,b,res)  ; Create filled contours<br><br>;---Draw text and markers at data locations<br>  txres               = True<br>  mkres               = True<br>  txres@txFontHeightF = 0.01<br>  txres@txJust        = "TopCenter"  ; text will be drawn under the marker<br>  mkres@gsMarkerIndex = 16 ; filled circle<br><br>  do j=0,11<br>    do i=0,11<br>      gsn_polymarker(wks,plot1,x(i),y(j),mkres)<br>      gsn_text(wks,plot1,"  ~C~"+a(j,i),x(i),y(j),txres)<br>      gsn_polymarker(wks,plot2,x(i),y(j),mkres)<br>      gsn_text(wks,plot2,"  ~C~"+b(j,i),x(i),y(j),txres)<br>    end do<br>  end do<br>;  frame(wks)<br><br>;************************************************<br>; create panel<br>;************************************************<br>resP = True<br>;resP@gsnPanelYWhiteSpacePercent = 0.0<br>gsn_panel(wks,(/plot1,plot2/),(/1,2/),resP)             ; now draw as one plot<br><br>end<br></i></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif">Cheers,</div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif"><br></div><div class="gmail_default" style="font-family:"trebuchet ms",sans-serif">Tabish<br clear="all"></div><div><div dir="ltr" class="gmail-m_1387331322947568362gmail-m_616086272226433927gmail-m_-835746078311605564gmail_signature"><div dir="ltr"><div><div><font size="1"><span style="font-family:tahoma,sans-serif">Tabish U Ansari<br></span></font></div><font size="1"><span style="font-family:tahoma,sans-serif">PhD student, Lancaster Environment Center<br></span></font></div><font size="1"><span style="font-family:tahoma,sans-serif">Lancaster Univeristy<br> <span>Bailrigg</span>, <span>Lancaster</span>, <br><span>LA1 4YW</span>, <span>United Kingdom</span></span></font><br></div></div></div></div></div>
_______________________________________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu" target="_blank">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail-m_1387331322947568362gmail-m_616086272226433927gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div><div><span><font color="#888888">Adam Phillips <br></font></span></div><span><font color="#888888">Associate Scientist,  </font></span><span><font color="#888888">Climate and Global Dynamics Laboratory, NCAR<br></font></span></div></div><div><span><font color="#888888"><a href="http://www.cgd.ucar.edu/staff/asphilli/" target="_blank">www.cgd.ucar.edu/staff/asphilli/</a>   </font></span><span><font color="#888888">303-497-1726 </font></span></div><span><font color="#888888"></font></span><div><div><span><font color="#888888"><br></font></span><div><span><font color="#888888"><a href="http://www.cgd.ucar.edu/staff/asphilli" target="_blank"></a></font></span></div></div></div></div></div></div></div></div></div></div></div>
</blockquote></div>
</blockquote></div>