[ncl-talk] How to avoid Interpolation outside shapefile
Ajay Bankar
ajaybankar123 at gmail.com
Wed Jan 8 07:26:40 MST 2020
Dear NCL Users,
I'm trying to make spatial plot of rainfall
from station data available in csv file. I tried different options in
resources but data is not masking with shapefile.
I have attached plot and data file for reference.
Thanks for any help!
Here is my script
load "/shp.ncl"
begin
;-- shapefile name
shp_filename =
"/scratch/Administrative_Boundary_Headquarters/District_Boundary.shp"
infile = "station_data.csv"
lines = asciiread(infile, -1, "string")
rain = tofloat( str_get_field(lines(1:), 7, ","))
rain at lat1d = tofloat( str_get_field(lines(1:), 5, ","))
rain at lon1d = tofloat( str_get_field(lines(1:), 6, ","))
;print(rain)
;-- define sub-region, here for Karnataka
minlat = 11
maxlat = 19
minlon = 73.5
maxlon = 79.1
;-- open workstation
wks_type = "pdf"
wks = gsn_open_wks(wks_type, "station_plot")
;-- resource settings
res = True
res at gsnDraw = False ;-- don't
draw plot yet
res at gsnFrame = False ;-- don't
advance frame yet
res at gsnMaximize = True ;-- maximize
plot in frame
; res at tfDoNDCOverlay = True
cmap := read_colormap_file("BlAqGrYeOrReVi200")
cmap(0,:) = (/0,0,0,0/) ; make first color fully transparent
res at cnFillOn = True
res at cnLinesOn = False
res at cnLineLabelsOn = False
res at cnFillPalette = cmap
;"BlueYellowRed"
res at cnLevelSelectionMode = "ExplicitLevels" ;--
manually set contour levels
res at cnLevels = (/5,20,35,50,65,80,95,110,125,140,155/)
res at gsnAddCyclic = False
res at mpGridLineColor = 0 ;"grey40"
res at mpFillOn = False
res at mpOutlineOn = False
res at mpGeophysicalLineColor = "black"
res at mpLimitMode = "LatLon"
res at mpMinLatF = minlat
res at mpMaxLatF = maxlat
res at mpMinLonF = minlon
res at mpMaxLonF = maxlon
;res at mpAreaMaskingOn = True
res at lbBoxMinorExtentF = 0.1 ;-- decrease
height of labelbar boxes
res at pmLabelBarOrthogonalPosF = 0.08 ;-- move
labelbar to the left side of plot
res at lbBoxMinorExtentF = 0.2 ;-- decrease
height of labelbar boxes
res at pmTickMarkDisplayMode = "Always"
res at tmXTOn = False
res at tiMainString = "STATION DATA PLOT"
;-- create plot
plot = gsn_csm_contour_map(wks,rain,res)
var_mask = shapefile_mask_data(rain,shp_filename,True)
;-- create contours of masked data
plot_mask = gsn_csm_contour_map(wks,var_mask,res)
;-- add plot_mask to plot
lnres = True
lnres at gsLineColor = "black"
lnres at gsLineThicknessF = 1.0
plot at lines = gsn_add_shapefile_polylines(wks, plot_mask, shp_filename,
lnres)
;-- draw the plot and advance the frame
draw(plot_mask)
frame(wks)
end
--
*Thanks & Regards,*
*Ajay*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200108/05041988/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ksndmc_plot.png
Type: image/png
Size: 119264 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200108/05041988/attachment-0001.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sample.csv
Type: text/csv
Size: 174753 bytes
Desc: not available
URL: <http://mailman.ucar.edu/pipermail/ncl-talk/attachments/20200108/05041988/attachment-0001.csv>
More information about the ncl-talk
mailing list