[ncl-talk] Issue with ploting of irregular txt/nc file

Amit Kumar amitkumar.777 at hotmail.com
Tue Sep 6 06:25:02 MDT 2016


Hi All,

I tried the below script but got following error:

fatal:Cannot create triangular mesh: supply additional resources or build with Triangle package
fatal:ContourPlotDraw: draw error
fatal:ContourPlotDraw: draw error
fatal:ContourPlotDraw: draw error
fatal:PlotManagerDraw: error in plot draw
fatal:_NhlPlotManagerDraw: Draw error

###################################################################################################
script i used is:

load "/usr/share/ncarg/nclscripts/csm/gsn_code.ncl"
load "/usr/share/ncarg/nclscripts/csm/gsn_csm.ncl"
load "/usr/share/ncarg/nclscripts/csm/contributed.ncl"

begin

File = asciiread("tir1.txt",(/53248,3/),"double")

 pv =File(:,2) ; last column
 lon=File(:,0) ; first column
 lat=File(:,1) ; second column

wks = gsn_open_wks("png","tir1")
 res=True

 res at gsnDraw              = True
  res at gsnFrame             = True
  res at gsnAddCyclic         = False
  res at gsnStringFontHeightF = 0.015
  res at cnFillOn             = True                  ; turn on color fill
  res at cnFillMode = "RasterFill"
  res at trGridType = "TriangularMesh"
  res at cnRasterSmoothingOn = False
  res at gsnMaximize          = True     ; maximize plot in frame
  res at mpOutlineOn   = True   ; Use outlines from shapefile
  res at mpFillOn      = False
  res at cnLinesOn         = False    ; turn off contour lines
  res at cnLineLabelsOn    = False    ; turn off line labels
res at cnLevelSelectionMode = "ExplicitLevels"
  res at cnLevels             = (/180,190,200,210,220,230,240,250,260,270,280,290,300,310/) ;   14 contour values
  res at cnFillPalette        = (/"Grey100","BlueViolet","Blue4","Blue2","Cornflowerblue","darkslategray1","Cyan"\
                ,"chartreuse","darkgreen","Yellow"\                     ; 15 contour colors
                              ,"Orange","darkorange4", "palevioletred1","orangered"    \
                              ,"Red3" /)

  res at lbLabelBarOn     = True
  res at lbOrientation   = "Vertical"
 res at sfXArray = lon
 res at sfYArray = lat
 res at mpLimitMode  = "LatLon"
 res at mpMaxLonF    = max(lon)
 res at mpMinLonF    = min(lon)
 res at mpMinLatF    = min(lat)
 res at mpMaxLatF    = max(lat)
 res at pmTickMarkDisplayMode     = "Always"


 plot = gsn_csm_contour_map(wks,pv,res)

end


regards
Amit

________________________________
From: Guido Cioni <guidocioni at gmail.com>
Sent: Tuesday, September 6, 2016 5:13 PM
To: Amit Kumar
Cc: ncl-talk at ucar.edu
Subject: Re: [ncl-talk] Issue with ploting of irregular txt/nc file

Dear Amit,
You can plot a text file without converting it to a nc file, which could cause errors. Just use the function asciiread and then assign the values correctly before plotting. Below is an example (only relevant commands are reported):

; read the data (you have to specify number of rows and columns, here are assumed
; to be lon | lat | value (pv)

 File = asciiread ("data_pv.txt",(/245220,3/),"double")

 pv =File(:,2) ; last column
 lon=File(:,0) ; first column
 lat=File(:,1) ; second column

 Res=True
 Res at sfXArray = lon
 Res at sfYArray = lat

 Res at mpLimitMode  = "LatLon"
 Res at mpMaxLonF    = max(lon)
 Res at mpMinLonF    = min(lon)
 Res at mpMinLatF    = min(lat)
 Res at mpMaxLatF    = max(lat)

 plot = gsn_csm_contour_map(wks,pv,Res)

Guido Cioni
http://guidocioni.altervista.org

On 06 Sep 2016, at 10:03, Amit Kumar <amitkumar.777 at hotmail.com<mailto:amitkumar.777 at hotmail.com>> wrote:


Hi all,

I'm trying to plot a text file containing three columns lon , lat, value using ncl.

First I converted my text file to nc using CDO. The nc file is like:

##################################################################################

Variable: f
Type: file
filename:    tir1
path:    tir1.nc
   file global attributes:
      CDI : Climate Data Interface version ?? (http://mpimet.mpg.de/cdi)
      Conventions : CF-1.4
      history : Tue Sep 06 11:56:42 2016: cdo -f nc input,my_gridfile tir1.nc
      CDO : Climate Data Operators version 1.7.0 (http://mpimet.mpg.de/cdo)
   dimensions:
      ncells = 53248
      time = 1  // unlimited
   variables:
      double lon ( ncells )
         standard_name :    longitude
         units :    degrees_east

      double lat ( ncells )
         standard_name :    latitude
         units :    degrees_north

      double time ( time )
         standard_name :    time
         units :    hours since 0-0-0 00:00:00
         calendar :    proleptic_gregorian
         axis :    T

      float var1 ( time, ncells )
         grid_type :    unstructured
         coordinates :    lat lon
###################################################################################

but I'm getting following errors:

fatal:ScalarFieldInitialize: Insufficient number of elements in sfDataArray
fatal:Unable to initialize layer-Can't Create
fatal:Unable to access object with id:-4
fatal:PID #-4 can't be found in NhlSetValues
fatal:Unable to access object with id:-4
warning:Unable to add DataItem "(null)" to DataList "cnScalarFieldData"
fatal:CompileDataList:DataList has no valid members


######################################################################################

my script is :


load "/usr/share/ncarg/nclscripts/csm/gsn_code.ncl"
load "/usr/share/ncarg/nclscripts/csm/gsn_csm.ncl"
load "/usr/share/ncarg/nclscripts/csm/contributed.ncl"



begin
;---read in zonal winds
  a                 = addfile("/home/amit/Desktop/tir1.nc","r")

  filename = "/media/amit/E/India_shapefile/State_bound(Satmet).shp"

  ;filename = "/media/amit/E/India_shapefile/Districtbound(Satmet).shp"


  var                 = doubletofloat(a->var1)

lat                 =  a->lat
lon                 =  a->lon


  wks = gsn_open_wks("png","TIR1")                ; send graphics to PNG file

  res                      = True                  ; plot mods desired
  res at cnFillOn             = True                  ; turn on color fill
  res at cnLinesOn            = False
  res at gsnMaximize          = True     ; maximize plot in frame
  res at gsnDraw              = False
  res at gsnFrame             = False

  res at mpOutlineOn   = False   ; Use outlines from shapefile
  res at mpFillOn      = False
  res at cnFillMode = "RasterFill"
  res at trGridType = "TriangularMesh"
  res at cnRasterSmoothingOn = False

res at cnLevelSelectionMode = "ExplicitLevels"
  res at cnLevels             = (/190,220,240,250,260,265,270,275,280,285,290,300,320,360/) ;   ; 14 contour values
  res at cnFillPalette        = (/"Grey","BlueViolet","Blue4","Blue2","Cornflowerblue","darkslategray1","Cyan"\
                ,"chartreuse","khaki1","Yellow"\                     ; 15 contour colors
                              ,"Orange","darkorange4", "hotpink"    \
                              ,"Red","Black" /)

res at tiMainString      = "TIR1 Plot"
  res at tiMainFontHeightF = 0.016
  res at gsnAddCyclic      = False
  res at lbOrientation   = "Vertical"

  res at sfXArray             = lon
  res at sfYArray        =  lat


res at mpMinLonF             = 68.0
res at mpMaxLonF             = 98.0
res at mpMinLatF             = 0.0
res at mpMaxLatF             = 38.0

res at pmTickMarkDisplayMode     = "Always"

res at tiXAxisString            = "Longitude"
res at tiYAxisString            = "Lattitude"

res at tiXAxisFontHeightF         = 0.02
res at tiYAxisFontHeightF         = 0.02

res at gsnStringFontHeightF     = 0.005

  plot = gsn_csm_contour_map(wks,var, res)        ; create plot

;---Resource list for shapefile outlines
 plres                     = True
 plres at gsLineColor       = "black"
 plres at gsLineThicknessF  = "1.5"
 dumstr                = unique_string("poly")

 id = gsn_add_shapefile_polylines(wks,plot,filename,plres)

 draw(plot)
  frame(wks)

end
####################################################################################################################

_______________________________________________
ncl-talk mailing list
ncl-talk at ucar.edu<mailto:ncl-talk at ucar.edu>
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20160906/ca2ead39/attachment.html 


More information about the ncl-talk mailing list