<div>Hi:</div><div>&nbsp; All,I am trying to mask data with shapefile according &nbsp;to the example shapefiles_14_mask.ncl on the NCL website.</div><div>B<span style="line-height: 1.5;">ut most data disappeared after mask.</span></div><div><span style="line-height: 1.5;">The right plot is the plot after mask,the left one is the original plot.</span></div><div><span style="line-height: 1.5;"><br></span></div><div><img src="cid:FCC3B4E7@ABD5F612.C3EBAA57.jpg" filesize="206822" modifysize="47%" diffpixels="6px" scalingmode="zoom" style="width: 487px; height: 195px;"></div><div>This is my script:</div><div><div>; &nbsp; Example script to produce precip plots with satationdata,</div><div><br></div><div>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"</div><div>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"</div><div>load "$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"</div><div><br></div><div>load"/public/home/huanglei/map/shapefile_mask_data.ncl"</div><div>begin</div><div>&nbsp;station_file ="/public/home/huanglei/data/20160724/stationdata_20160724.txt"&nbsp;</div><div>&nbsp;data &nbsp;= asciiread(station_file,-1,"string")</div><div>&nbsp;num_att = numAsciiCol(station_file) &nbsp;;return the number of columns of the stationfile</div><div>&nbsp;print(num_att)</div><div><br></div><div>&nbsp; lon_station1 &nbsp; = stringtofloat(str_get_field(data(0:1889),2," "))</div><div>&nbsp; lat_station1 &nbsp;= stringtofloat(str_get_field(data(0:1889),3," "))</div><div>&nbsp; obs_precip1 = stringtofloat(str_get_field(data(0:1889),4," "))</div><div><br></div><div><br></div><div>&nbsp; olon = fspan(105.5,110.9,100)</div><div>&nbsp; olat = fspan(31.5,35.8,100)</div><div><br></div><div>&nbsp; olon!0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= "lon"</div><div>&nbsp; olon@long_name &nbsp;= "lon"</div><div>&nbsp; olon@units &nbsp; &nbsp; &nbsp;= "degrees-east"</div><div>&nbsp; olon&amp;lon &nbsp; &nbsp; &nbsp; &nbsp;= olon</div><div>&nbsp; olat!0 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= "lat"</div><div>&nbsp; olat@long_name &nbsp;= "lat"</div><div>&nbsp; olat@units &nbsp; &nbsp; &nbsp;= "degrees_north"</div><div>&nbsp; olat&amp;lat &nbsp; &nbsp; &nbsp; &nbsp;= olat</div><div>&nbsp; print("......")</div><div>&nbsp; obs_precip1@_FillValue = -999.000000</div><div>&nbsp;rscan = (/0.5,0.2,0.1/) &nbsp;&nbsp;</div><div>&nbsp; griddata = obj_anal_ic_deprecated(lon_station1,lat_station1,obs_precip1,olon,olat,rscan,False)</div><div>;;;;;;;;;;;;;;;;;;;;;;mask data with shapfile;;;;;;;;;;;;;;;;;;;</div><div>&nbsp; shp_filename = "/public/home/huanglei/map/shaanxi_city_l.shp"</div><div>&nbsp; final= shapefile_mask_data(griddata,shp_filename,True)</div><div>&nbsp;; exit</div><div>&nbsp; wks = gsn_open_wks ("pdf","rain20160724") &nbsp;</div><div>&nbsp; &nbsp;&nbsp;</div><div>&nbsp; res &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div>&nbsp; res@gsnMaximize &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = True</div><div>&nbsp; res@gsnDraw &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = False</div><div>&nbsp; res@gsnFrame &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= False</div><div><br></div><div>;&gt;--------------------------------------------&lt;</div><div>; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;set for the map&nbsp;</div><div>;&gt;--------------------------------------------&lt;</div><div>&nbsp; res@mpMinLatF &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 31.5 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;</div><div>&nbsp; res@mpMaxLatF &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 35.8</div><div>&nbsp; res@mpMinLonF &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 105.5</div><div>&nbsp; res@mpMaxLonF &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = 110.9</div><div>&nbsp; res@tmXBMode &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= "Explicit" &nbsp;&nbsp;</div><div>&nbsp; res@tmXBValues &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= (/106,107,108,109,110/)&nbsp;</div><div>&nbsp; res@tmXBLabels &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= (/"106~S~o~N~E","107~S~o~N~E","108~S~o~N~E","109~S~o~N~E","110~S~o~N~E"/) &nbsp;&nbsp;</div><div>&nbsp;; res@tmXBMinorValues &nbsp; &nbsp; &nbsp; &nbsp; = fspan(97,109,30)&nbsp;</div><div>&nbsp;; res@tmXBMinorOn &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = True &nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; res@tmYLMode &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= "Explicit" &nbsp; &nbsp;</div><div>&nbsp; res@tmYLValues &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= (/32,33,34,35/)&nbsp;</div><div>&nbsp; res@tmYLLabels &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= (/"32~S~o~N~N","33~S~o~N~N","34~S~o~N~N","35~S~o~N~N"/) &nbsp;&nbsp;</div><div>&nbsp; ;res@tmYLMinorValues &nbsp; &nbsp; &nbsp; &nbsp; = fspan(26,36,20)&nbsp;</div><div>&nbsp; ;res@tmYLMinorOn &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = True &nbsp;</div><div><br></div><div>&nbsp; res@mpFillOn &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= True</div><div>&nbsp; res@mpOutlineOn &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = False &nbsp; &nbsp;</div><div>&nbsp; res@cnFillDrawOrder &nbsp; &nbsp; &nbsp; &nbsp; = "PreDraw"</div><div>&nbsp; res@mpDataBaseVersion &nbsp; &nbsp; &nbsp; = "MediumRes"</div><div>&nbsp; res@mpDataSetName &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = "Earth..4"</div><div>&nbsp; res@mpAreaMaskingOn &nbsp; &nbsp; &nbsp; &nbsp; = True</div><div>&nbsp; res@mpLandFillColor &nbsp; &nbsp; &nbsp; &nbsp; = "white"</div><div>&nbsp; res@mpInlandWaterFillColor &nbsp;= "white"</div><div>&nbsp; res@mpOceanFillColor &nbsp; &nbsp; &nbsp; &nbsp;= "white"</div><div>&nbsp; res@mpOutlineBoundarySets &nbsp; = "NoBoundaries"</div><div><br></div><div>;&gt;--------------------------------------------&lt;</div><div>; set for the plot</div><div>;&gt;--------------------------------------------&lt;</div><div><br></div><div>&nbsp; res@cnFillOn &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; res@cnLinesOn &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = False &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp;; res@cnLevelSpacingF &nbsp; &nbsp; &nbsp; &nbsp; = 0.2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; res@gsnSpreadColors &nbsp; &nbsp; &nbsp; &nbsp; = True &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; res@lbLabelAutoStride &nbsp; &nbsp; &nbsp; = True</div><div>&nbsp; res@gsnAddCyclic &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= False &nbsp;&nbsp;</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; res@cnLevelSelectionMode = "ExplicitLevels"</div><div>&nbsp; res@cnLevels &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = (/ .1, .4, .8, 1.6, 3.2, 6.4, \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 12.8, 25.6, 51.2,100/)</div><div>&nbsp; res@cnFillColors &nbsp; &nbsp; &nbsp; &nbsp; = (/"White","DarkOliveGreen1", \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "DarkOliveGreen3","Chartreuse", \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "Chartreuse3","Green","ForestGreen", \</div><div>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; "Yellow","Orange","Red","Violet"/)</div><div>&nbsp; map = gsn_csm_contour_map(wks,final,res)&nbsp;</div><div><br></div><div>;&gt;------------------------------------------------------------&lt;</div><div>; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;add &nbsp;map</div><div>;&gt;------------------------------------------------------------&lt;</div><div><br></div><div>&nbsp;shp_name1 &nbsp; &nbsp;= "/public/home/huanglei/map/xian.shp"</div><div>&nbsp;shp_name2 &nbsp; &nbsp;= "/public/home/huanglei/map/shaanxi_city_l.shp"</div><div>&nbsp; lnres &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= True</div><div>&nbsp; lnres@gsLineColor &nbsp; &nbsp; &nbsp;= "gray25"</div><div>&nbsp; lnres@gsLineThicknessF = 1.5 &nbsp;&nbsp;</div><div><br></div><div>&nbsp;id = gsn_add_shapefile_polylines(wks,map,shp_name1,lnres)</div><div>&nbsp;id2= gsn_add_shapefile_polylines(wks,map,shp_name2,lnres)</div><div>;&gt;------------------------------------------------------------&lt;</div><div>&nbsp;&nbsp;</div><div>&nbsp;; station &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = asciiread("/public/home/huanglei/data/prcdata.txt",(/160,3/),"float") &nbsp;</div><div>&nbsp;&nbsp;</div><div>&nbsp; res2 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = True &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; res2@gsMarkerIndex &nbsp; = 16 &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; res2@gsMarkerSizeF &nbsp; = 6. &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; res2@gsMarkerColor &nbsp; = "Violet" &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;</div><div>&nbsp; res2@tfPolyDrawOrder = "PostDraw" &nbsp;</div><div>&nbsp; res2@cnFillDrawOrder = "PostDraw" &nbsp;</div><div>&nbsp; &nbsp;;</div><div>&nbsp;plots1=gsn_add_polymarker(wks,map,108.9373,34.2158,res2)</div><div>&nbsp;plots2=gsn_add_polymarker(wks,map,108.9133,34.2303,res2)</div><div>&nbsp;plots3=gsn_add_polymarker(wks,map,108.8908,34.1953,res2)</div><div><br></div><div>&nbsp;; plots=gsn_add_polymarker(wks,map,station(:,1),station(:,2),res2)</div><div>&nbsp; &nbsp;delete(res2) &nbsp;</div><div>&nbsp; draw(map)</div><div>&nbsp; frame(wks)</div><div>&nbsp; end&nbsp;</div></div><div><span style="font-family: 'lucida Grande', Verdana, 'Microsoft YaHei'; line-height: 23.8px;">&nbsp;How can I slove the problem?</span></div><div></div>