<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;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p style="margin-top:0;margin-bottom:0">Hi,</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">I am having an issue having my NCL script "see" my custom-generated colortable.  I run the script(below) to generate a custom color table, check my NCARG colortable path and check if the table-file is located in my path. 
 I then plot out the color table and then delete the .rgb file.  The issue is that when I run the script I get the dreaded error
<br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"><span>fatal:CvtStringToCmap:Unable to convert string "tstcolx" to ColorMap</span></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">If I have an older version of tstcolx.rgb in the color_table dir then it uses that version instead of the newly created one.  It almost seems like NCL generates a listing of all color tables when it is initially called
 and uses that list when the script runs, ignoring any updates to the color_table directory.  I am running NCL v6.3.0...Thank you</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0">Dave Vollaro</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"></p>
<div>; coltab-make.ncl<br>
; date: 12/16<br>
; Will generate a cusstom color table, copy it to the colortab dir and plot it...<br>
<br>
<br>
<br>
undef("make_coltbl_custom")<br>
;;###########################################################################;;<br>
function make_coltbl_custom(ofile:string,T0:numeric,T[*],icol:numeric,icolor0[3][*]:numeric,opt:logical)<br>
; make_coltab_custom.ncl<br>
; DJV  10/16<br>
; This function will create a Color Table in NCL format <br>
;<br>
begin<br>
  Tk0 = 273+T0              ;temp above which use grayscale<br>
  output = ofile+".rgb"<br>
  ncolor = 239<br>
<br>
; ********************  User Temp levels and Colors *************** <br>
  Tk = T+273<br>
  Tloc = new((/icol/),"integer")<br>
  icolor = icolor0*255<br>
; *********** establish output color array and initialize **********<br>
  colors = new((/ncolor,3/), "float")<br>
  colors(:,0) = 0<br>
  colors(:,1) = 0<br>
  colors(:,2) = 0<br>
<br>
; white and black occupy locs 0,1<br>
;;#############  Grayscale Definition Section (RGB 0-1) ################<br>
; Find the location of 1st user-override of IR table and set all values<br>
; warmer than Tk0 to grayscale<br>
<br>
  if (Tk0.ge.242.5) then<br>
   Bloc = floattoint((247.-Tk0)*2.) + 166<br>
  end if<br>
  if (Tk0.le.242.) then<br>
   Bloc = floattoint(242.-Tk0) + 176<br>
  end if<br>
  print("11st color="+Bloc)</div>
<div>; fspan will interp vals from 1 to 0 over ncolor-2pts.<br>
  colors(2:(Bloc-1), 0) = fspan(2,Bloc-1,Bloc-2)<br>
  colors(2:(Bloc-1), 1) = fspan(2,Bloc-1,Bloc-2)<br>
  colors(2:(Bloc-1), 2) = fspan(2,Bloc-1,Bloc-2)<br>
;;################### END GRAYSCALE DEFINITION  ####################<br>
<br>
;;#############  COLOR DEFINITION SECTION (RGB 0-1) ################<br>
  do i=0,icol-1<br>
   if (Tk(i).ge.242.5) then<br>
    Tloc(i) = floattoint((247.-Tk(i))*2.) + 166<br>
   end if<br>
   if (Tk(i).le.242.) then<br>
    Tloc(i) = floattoint(242.-Tk(i)) + 176<br>
   end if<br>
   if (i.eq.0.and.T(i).eq.999) then<br>
    Tloc(i) = 0<br>
   end if<br>
   if (i.eq.icol-1.and.T(i).eq.999) then<br>
    Tloc(i) = ncolor<br>
   end if<br>
   print(Bloc+" "+Tloc(i))<br>
   colors( Bloc:(Tloc(i)-1), 0) = icolor(i,0)<br>
   colors( Bloc:(Tloc(i)-1), 1) = icolor(i,1)<br>
   colors( Bloc:(Tloc(i)-1), 2) = icolor(i,2)<br>
   Bloc=Tloc(i)<br>
  end do<br>
;;###################### END COLOR DEFINITION  #####################<br>
<div><br>
  print("ncolors="+ncolor)<br>
  print("# r g b")<br>
  fmtx       = "3(f8.2,1x)"<br>
  opt        = True<br>
  opt@title  = "# r g b"<br>
  opt@tspace = 10<br>
  opt@fout = "fff"<br>
  write_matrix (colors, fmtx, opt)<br>
  sys_cmd = "echo ncolors="+ncolor+" > "+ofile+" ; cat "+opt@fout+" >>"+ofile<br>
  system(sys_cmd)<br>
;;############################ clean up ####################################;;<br>
  sys_cmd = "echo cleaning up "+" ; rm "+opt@fout+"; mv "+ofile+" "+ofile+".rgb"<br>
  system(sys_cmd)<br>
  return(opt)<br>
end</div>
<br>
<div>;##############################  MAIN PROGRAM  ###########################;;<br>
begin<br>
 out_type="X11"<br>
; ******************** User def color table section ****************<br>
 rescolor = True       ;If False then will use default IR coltbl<br>
 T0 = 20              ;Grayscale Temp value(warmer temps use grayscale)<br>
 numtemps = 3          ;Number of color temp values<br>
 temps = (/0.,-40.,999./) ;User deff temp values to color 999=go to end<br>
 colors0 = (/(/1,0,0/),(/0,1,0/),(/0,0,1/)/)      ;r,g,b 0-1<br>
 if (rescolor) then<br>
  colfile = make_coltbl_custom("~/NCL/color_tables/tstcolx",T0,temps,numtemps,colors0,rescolor)<br>
  color_table = "~/NCL/color_tables/tstcolx.rgb"<br>
 end if<br>
; ******************************************************************<br>
 print(color_table)<br>
  system("ls -al ~/NCL/color_tables/tst*")<br>
  system("env |grep NCARG")<br>
  wks = gsn_open_wks(out_type, "ddd")<br>
  gsn_define_colormap(wks,"tstcolx") <br>
  gsn_draw_colormap(wks) <br>
 system("\rm -f ~/NCL/color_tables/tstcolx.rgb ")<br>
end</div>
<br>
</div>
<p></p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
<p style="margin-top:0;margin-bottom:0"><br>
</p>
</div>
</body>
</html>