<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><style>body { line-height: 1.5; }body { font-size: 10.5pt; font-family: 微软雅黑; color: rgb(0, 0, 0); line-height: 1.5; }</style></head><body>
<div><span></span>hi.</div><div>&nbsp; &nbsp;when i want to plot station wind barb with gsn_panel style, i found it &nbsp;difficult to overlay wmvectmap on individual figure with panel,</div><div>i have tried some methods , such as put the wmvectmap front or behind the gsn_panel or every independent subplot, but they didn't work.</div><div><br></div><div>the following is my script,</div><div>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</div><div><span style="color: rgb(0, 0, 0); background-color: rgba(0, 0, 0, 0);">load&nbsp;"$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_code.ncl"<br>load&nbsp;"$NCARG_ROOT/lib/ncarg/nclscripts/csm/gsn_csm.ncl"<br>load&nbsp;"$NCARG_ROOT/lib/ncarg/nclscripts/csm/contributed.ncl"<br>load&nbsp;"$NCARG_ROOT/lib/ncarg/nclscripts/csm/shea_util.ncl"<br>load&nbsp;"./shapefile_mask_data.ncl"<br>;load&nbsp;"$GEODIAG_ROOT/geodiag.ncl"<br><br>begin<br>shp_fname="jjj.shp"<br>create_mask=True<br><br>minlon&nbsp;=&nbsp;113.40<br>maxlon&nbsp;=&nbsp;119.90<br>minlat&nbsp;=&nbsp;36.00<br>maxlat&nbsp;=&nbsp;42.70<br><br>add_latlon_points&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;False<br>add_shapefile_outlines&nbsp;&nbsp;=&nbsp;True<br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>;;&nbsp;uv&nbsp;data<br>bj_csvs1=systemfunc("ls&nbsp;uvdata/112920_inside_jingjinji_obs.csv")<br><br>lines1=asciiread(bj_csvs1,-1,"string")<br>nlines1=dimsizes(lines1)&nbsp;-&nbsp;1<br><br>delim1=","<br>field_names1=str_split(lines1(0),delim1)<br>nfields1=dimsizes(field_names1)<br><br>;<br>fields1=new((/nfields1,nlines1/),string)<br>do&nbsp;nf=0,nfields1-1<br>&nbsp;&nbsp;fields1(nf,:)=str_get_field(lines1(1:),nf+1,delim1)<br>end&nbsp;do<br><br>;print(fields(1,:)&nbsp;+&nbsp;"&nbsp;&nbsp;&nbsp;"+fields(2,:)&nbsp;+&nbsp;"&nbsp;&nbsp;&nbsp;"+tofloat(fields(3,:))*2.5+"&nbsp;&nbsp;&nbsp;"+tofloat(fields(4,:))*2.5)<br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>bj_csvs2=systemfunc("ls&nbsp;uvdata/113008_inside_jingjinji_obs.csv")<br><br>lines2=asciiread(bj_csvs2,-1,"string")<br>nlines2=dimsizes(lines2)&nbsp;-&nbsp;1<br><br>delim2=","<br>field_names2=str_split(lines2(0),delim2)<br>nfields2=dimsizes(field_names2)<br><br>;<br>fields2=new((/nfields2,nlines2/),string)<br>do&nbsp;nf=0,nfields2-1<br>&nbsp;&nbsp;fields2(nf,:)=str_get_field(lines2(1:),nf+1,delim2)<br>end&nbsp;do<br><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>bj_csvs3=systemfunc("ls&nbsp;uvdata/113014_inside_jingjinji_obs.csv")<br><br>lines3=asciiread(bj_csvs3,-1,"string")<br>nlines3=dimsizes(lines3)&nbsp;-&nbsp;1<br><br>delim3=","<br>field_names3=str_split(lines3(0),delim3)<br>nfields3=dimsizes(field_names3)<br><br>;<br>fields3=new((/nfields3,nlines3/),string)<br>do&nbsp;nf=0,nfields3-1<br>&nbsp;&nbsp;fields3(nf,:)=str_get_field(lines3(1:),nf+1,delim3)<br>end&nbsp;do<br><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>bj_csvs4=systemfunc("ls&nbsp;uvdata/113020_inside_jingjinji_obs.csv")<br><br>lines4=asciiread(bj_csvs4,-1,"string")<br>nlines4=dimsizes(lines4)&nbsp;-&nbsp;1<br><br>delim4=","<br>field_names4=str_split(lines4(0),delim4)<br>nfields4=dimsizes(field_names4)<br><br>;<br>fields4=new((/nfields4,nlines4/),string)<br>do&nbsp;nf=0,nfields4-1<br>&nbsp;&nbsp;fields4(nf,:)=str_get_field(lines4(1:),nf+1,delim4)<br>end&nbsp;do<br><br><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>;;&nbsp;pm2.5&nbsp;data<br><br>&nbsp;&nbsp;ncol&nbsp;=&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;number&nbsp;of&nbsp;columns&nbsp;is&nbsp;3£»ÄãµÄÁÐÊý<br>&nbsp;&nbsp;stationdata1=&nbsp;readAsciiTable("pm2.5_txt/15112920.txt",&nbsp;ncol,&nbsp;"float",&nbsp;1)<br>&nbsp;&nbsp;stationdata2=&nbsp;readAsciiTable("pm2.5_txt/15113008.txt",&nbsp;ncol,&nbsp;"float",&nbsp;1)<br>&nbsp;&nbsp;stationdata3=&nbsp;readAsciiTable("pm2.5_txt/15113014.txt",&nbsp;ncol,&nbsp;"float",&nbsp;1)<br>&nbsp;&nbsp;stationdata4=&nbsp;readAsciiTable("pm2.5_txt/15113020.txt",&nbsp;ncol,&nbsp;"float",&nbsp;1)<br><br>&nbsp;&nbsp;;&nbsp;print(dimsizes(stationdata1))<br>&nbsp;&nbsp;nps1&nbsp;&nbsp;=dimsizes(stationdata1)<br>&nbsp;&nbsp;npts1&nbsp;=&nbsp;nps1(0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Number&nbsp;of&nbsp;points.<br><br>&nbsp;&nbsp;nps2&nbsp;&nbsp;=dimsizes(stationdata2)<br>&nbsp;&nbsp;npts2&nbsp;=&nbsp;nps2(0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Number&nbsp;of&nbsp;points.<br><br>&nbsp;&nbsp;nps3&nbsp;&nbsp;=dimsizes(stationdata3)<br>&nbsp;&nbsp;npts3&nbsp;=&nbsp;nps3(0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Number&nbsp;of&nbsp;points.<br><br>&nbsp;&nbsp;nps4&nbsp;&nbsp;=dimsizes(stationdata4)<br>&nbsp;&nbsp;npts4&nbsp;=&nbsp;nps4(0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Number&nbsp;of&nbsp;points.<br><br>&nbsp;&nbsp;lat1&nbsp;=&nbsp;stationdata1(:,1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;latitude&nbsp;values<br>&nbsp;&nbsp;lon1&nbsp;=&nbsp;stationdata1(:,0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;longitude&nbsp;values<br>&nbsp;&nbsp;pm251=&nbsp;stationdata1(:,2)&nbsp;&nbsp;&nbsp;;&nbsp;station&nbsp;numbers&nbsp;to&nbsp;appear&nbsp;on&nbsp;the&nbsp;map£»Õâ¸öµØ·½Äã¿ÉÒÔдÎÛȾÊý¾Ý<br><br>&nbsp;&nbsp;lat2&nbsp;=&nbsp;stationdata2(:,1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;latitude&nbsp;values<br>&nbsp;&nbsp;lon2&nbsp;=&nbsp;stationdata2(:,0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;longitude&nbsp;values<br>&nbsp;&nbsp;pm252=&nbsp;stationdata2(:,2)&nbsp;&nbsp;&nbsp;;&nbsp;station&nbsp;numbers&nbsp;to&nbsp;appear&nbsp;on&nbsp;the&nbsp;map£»Õâ¸öµØ·½Äã¿ÉÒÔдÎÛȾÊý¾Ý<br><br>&nbsp;&nbsp;lat3&nbsp;=&nbsp;stationdata3(:,1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;latitude&nbsp;values<br>&nbsp;&nbsp;lon3&nbsp;=&nbsp;stationdata3(:,0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;longitude&nbsp;values<br>&nbsp;&nbsp;pm253=&nbsp;stationdata3(:,2)&nbsp;&nbsp;&nbsp;;&nbsp;station&nbsp;numbers&nbsp;to&nbsp;appear&nbsp;on&nbsp;the&nbsp;map£»Õâ¸öµØ·½Äã¿ÉÒÔдÎÛȾÊý¾Ý<br><br>&nbsp;&nbsp;lat4&nbsp;=&nbsp;stationdata4(:,1)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;latitude&nbsp;values<br>&nbsp;&nbsp;lon4&nbsp;=&nbsp;stationdata4(:,0)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;longitude&nbsp;values<br>&nbsp;&nbsp;pm254=&nbsp;stationdata4(:,2)&nbsp;&nbsp;&nbsp;;&nbsp;station&nbsp;numbers&nbsp;to&nbsp;appear&nbsp;on&nbsp;the&nbsp;map£»Õâ¸öµØ·½Äã¿ÉÒÔдÎÛȾÊý¾Ý<br><br>&nbsp;&nbsp;;&nbsp;printMinMax(pm251,0)<br>;-------interpolate-----------------------------------------------------<br>&nbsp;&nbsp;olon1&nbsp;=new(80,"float")<br>&nbsp;&nbsp;olat1&nbsp;=new(80,"float")<br>&nbsp;&nbsp;data1=new((/80,80/),"float")<br>&nbsp;&nbsp;do&nbsp;j=0,79<br>&nbsp;&nbsp;&nbsp;&nbsp;olon1(j)=113+j*0.1<br>&nbsp;&nbsp;end&nbsp;do<br>&nbsp;&nbsp;do&nbsp;k=0,79<br>&nbsp;&nbsp;&nbsp;&nbsp;olat1(k)=36+k*0.1<br>&nbsp;&nbsp;end&nbsp;do<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;olon2&nbsp;=new(80,"float")<br>&nbsp;&nbsp;olat2&nbsp;=new(80,"float")<br>&nbsp;&nbsp;data2=new((/80,80/),"float")<br>&nbsp;&nbsp;do&nbsp;j=0,79<br>&nbsp;&nbsp;&nbsp;&nbsp;olon2(j)=113+j*0.1<br>&nbsp;&nbsp;end&nbsp;do<br>&nbsp;&nbsp;do&nbsp;k=0,79<br>&nbsp;&nbsp;&nbsp;&nbsp;olat2(k)=36+k*0.1<br>&nbsp;&nbsp;end&nbsp;do<br><br>&nbsp;&nbsp;olon3&nbsp;=new(80,"float")<br>&nbsp;&nbsp;olat3&nbsp;=new(80,"float")<br>&nbsp;&nbsp;data3=new((/80,80/),"float")<br>&nbsp;&nbsp;do&nbsp;j=0,79<br>&nbsp;&nbsp;&nbsp;&nbsp;olon3(j)=113+j*0.1<br>&nbsp;&nbsp;end&nbsp;do<br>&nbsp;&nbsp;do&nbsp;k=0,79<br>&nbsp;&nbsp;&nbsp;&nbsp;olat3(k)=36+k*0.1<br>&nbsp;&nbsp;end&nbsp;do<br><br>&nbsp;&nbsp;olon4&nbsp;=new(80,"float")<br>&nbsp;&nbsp;olat4&nbsp;=new(80,"float")<br>&nbsp;&nbsp;data4=new((/80,80/),"float")<br>&nbsp;&nbsp;do&nbsp;j=0,79<br>&nbsp;&nbsp;&nbsp;&nbsp;olon4(j)=113+j*0.1<br>&nbsp;&nbsp;end&nbsp;do<br>&nbsp;&nbsp;do&nbsp;k=0,79<br>&nbsp;&nbsp;&nbsp;&nbsp;olat4(k)=36+k*0.1<br>&nbsp;&nbsp;end&nbsp;do<br><br>;---------set&nbsp;interpolate&nbsp;res--------------------------------------------<br>&nbsp;&nbsp;olon1!0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;="lon"<br>&nbsp;&nbsp;olon1@long_name="lontitude"<br>&nbsp;&nbsp;olon1@units&nbsp;&nbsp;&nbsp;&nbsp;="degrees-east"<br>&nbsp;&nbsp;olon1&amp;lon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=olon1<br><br>&nbsp;&nbsp;olat1!0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;="lat"<br>&nbsp;&nbsp;olat1@long_name="latitude"<br>&nbsp;&nbsp;olat1@units&nbsp;&nbsp;&nbsp;&nbsp;="degrees-north"<br>&nbsp;&nbsp;olat1&amp;lat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=olat1<br><br>&nbsp;&nbsp;olon2!0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;="lon"<br>&nbsp;&nbsp;olon2@long_name="lontitude"<br>&nbsp;&nbsp;olon2@units&nbsp;&nbsp;&nbsp;&nbsp;="degrees-east"<br>&nbsp;&nbsp;olon2&amp;lon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=olon2<br><br>&nbsp;&nbsp;olat2!0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;="lat"<br>&nbsp;&nbsp;olat2@long_name="latitude"<br>&nbsp;&nbsp;olat2@units&nbsp;&nbsp;&nbsp;&nbsp;="degrees-north"<br>&nbsp;&nbsp;olat2&amp;lat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=olat2<br><br><br>&nbsp;&nbsp;olon3!0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;="lon"<br>&nbsp;&nbsp;olon3@long_name="lontitude"<br>&nbsp;&nbsp;olon3@units&nbsp;&nbsp;&nbsp;&nbsp;="degrees-east"<br>&nbsp;&nbsp;olon3&amp;lon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=olon3<br><br>&nbsp;&nbsp;olat3!0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;="lat"<br>&nbsp;&nbsp;olat3@long_name="latitude"<br>&nbsp;&nbsp;olat3@units&nbsp;&nbsp;&nbsp;&nbsp;="degrees-north"<br>&nbsp;&nbsp;olat3&amp;lat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=olat3<br><br>&nbsp;&nbsp;olon4!0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;="lon"<br>&nbsp;&nbsp;olon4@long_name="lontitude"<br>&nbsp;&nbsp;olon4@units&nbsp;&nbsp;&nbsp;&nbsp;="degrees-east"<br>&nbsp;&nbsp;olon4&amp;lon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=olon4<br><br>&nbsp;&nbsp;olat4!0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;="lat"<br>&nbsp;&nbsp;olat4@long_name="latitude"<br>&nbsp;&nbsp;olat4@units&nbsp;&nbsp;&nbsp;&nbsp;="degrees-north"<br>&nbsp;&nbsp;olat4&amp;lat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=olat4<br><br>;--------Call&nbsp;interpolation&nbsp;function--------------------------------------<br>&nbsp;&nbsp;;pm25@_FillValue=999999.000000<br>&nbsp;&nbsp;rscan=(/10,5,3,2,1,0.5,0.2,0.1/)<br>&nbsp;&nbsp;data1=obj_anal_ic_deprecated(lon1,&nbsp;lat1,&nbsp;pm251,&nbsp;olon1,&nbsp;olat1,&nbsp;rscan,&nbsp;False);creanm<br>&nbsp;&nbsp;data2=obj_anal_ic_deprecated(lon2,&nbsp;lat2,&nbsp;pm252,&nbsp;olon2,&nbsp;olat2,&nbsp;rscan,&nbsp;False);creanm<br>&nbsp;&nbsp;data3=obj_anal_ic_deprecated(lon3,&nbsp;lat3,&nbsp;pm253,&nbsp;olon3,&nbsp;olat3,&nbsp;rscan,&nbsp;False);creanm<br>&nbsp;&nbsp;data4=obj_anal_ic_deprecated(lon4,&nbsp;lat4,&nbsp;pm254,&nbsp;olon4,&nbsp;olat4,&nbsp;rscan,&nbsp;False);creanm<br>&nbsp;&nbsp;printMinMax(data1&nbsp;,0)<br>&nbsp;&nbsp;data1!0="lat"<br>&nbsp;&nbsp;data1!1="lon"<br>&nbsp;&nbsp;data1&amp;lat=olat1<br>&nbsp;&nbsp;data1&amp;lon=olon1<br>&nbsp;&nbsp;data1@units=""<br>&nbsp;&nbsp;data1@long_name="pm2.5"<br>&nbsp;&nbsp;;data1@_FillValue&nbsp;=&nbsp;pm25@_FillValue<br>&nbsp;&nbsp;printMinMax(olat1,0)<br>&nbsp;&nbsp;printMinMax(olon1,&nbsp;0)<br><br>&nbsp;&nbsp;data2!0="lat"<br>&nbsp;&nbsp;data2!1="lon"<br>&nbsp;&nbsp;data2&amp;lat=olat2<br>&nbsp;&nbsp;data2&amp;lon=olon2<br>&nbsp;&nbsp;data2@units=""<br>&nbsp;&nbsp;data2@long_name="pm2.5"<br>&nbsp;&nbsp;;data1@_FillValue&nbsp;=&nbsp;pm25@_FillValue<br>&nbsp;&nbsp;printMinMax(olat2,0)<br>&nbsp;&nbsp;printMinMax(olon2,&nbsp;0)<br><br>&nbsp;&nbsp;data3!0="lat"<br>&nbsp;&nbsp;data3!1="lon"<br>&nbsp;&nbsp;data3&amp;lat=olat3<br>&nbsp;&nbsp;data3&amp;lon=olon3<br>&nbsp;&nbsp;data3@units=""<br>&nbsp;&nbsp;data3@long_name="pm2.5"<br>&nbsp;&nbsp;;data1@_FillValue&nbsp;=&nbsp;pm25@_FillValue<br>&nbsp;&nbsp;printMinMax(olat3,0)<br>&nbsp;&nbsp;printMinMax(olon3,&nbsp;0)<br><br>&nbsp;&nbsp;data4!0="lat"<br>&nbsp;&nbsp;data4!1="lon"<br>&nbsp;&nbsp;data4&amp;lat=olat4<br>&nbsp;&nbsp;data4&amp;lon=olon4<br>&nbsp;&nbsp;data4@units=""<br>&nbsp;&nbsp;data4@long_name="pm2.5"<br>&nbsp;&nbsp;;data1@_FillValue&nbsp;=&nbsp;pm25@_FillValue<br>&nbsp;&nbsp;printMinMax(olat4,0)<br>&nbsp;&nbsp;printMinMax(olon4,&nbsp;0)<br><br><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>mask_fname1="15112920_mask.nc"<br>if(create_mask)&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;print("create&nbsp;the&nbsp;mask&nbsp;file:&nbsp;&nbsp;")<br><br>;---Create&nbsp;a&nbsp;new&nbsp;mask&nbsp;using&nbsp;a&nbsp;shapefile&nbsp;of&nbsp;Henan<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;udims1&nbsp;=&nbsp;dimsizes(data1)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt1@return_mask&nbsp;=&nbsp;True<br>;&nbsp;&nbsp;&nbsp;&nbsp;opt1@debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt1@minlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;minlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Makes&nbsp;the&nbsp;shapefile&nbsp;masking<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt1@maxlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;maxlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;go&nbsp;faster.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt1@minlat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;minlat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt1@maxlat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;maxlat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jjj_mask1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;shapefile_mask_data(data1({minlat:maxlat},{minlon:maxlon}),shp_fname,opt1)<br><br>;---Write&nbsp;new&nbsp;mask&nbsp;to&nbsp;file<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system("rm&nbsp;-f&nbsp;"&nbsp;+&nbsp;mask_fname1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;addfile(mask_fname1,"c")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout1-&gt;jjj_mask1&nbsp;&nbsp;=&nbsp;jjj_mask1&nbsp;<br>&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("Reading&nbsp;mask&nbsp;off&nbsp;file.")<br><br>;---Read&nbsp;the&nbsp;new&nbsp;mask&nbsp;from&nbsp;the&nbsp;NetCDF&nbsp;file&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fmask1&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;addfile(mask_fname1,"r")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jjj_mask1&nbsp;&nbsp;=&nbsp;fmask-&gt;jjj_mask1&nbsp;&nbsp;<br>&nbsp;&nbsp;end&nbsp;if&nbsp;<br><br>&nbsp;&nbsp;&nbsp;umask_data1&nbsp;=&nbsp;where(jjj_mask1.eq.1,data1({minlat:maxlat},{minlon:maxlon}),data1@_FillValue)<br>&nbsp;&nbsp;&nbsp;copy_VarMeta(data1({minlat:maxlat},{minlon:maxlon}),umask_data1)<br>&nbsp;&nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br><br>;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>mask_fname2="15113008_mask.nc"<br>if(create_mask)&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;print("create&nbsp;the&nbsp;mask&nbsp;file:&nbsp;&nbsp;")<br><br>;---Create&nbsp;a&nbsp;new&nbsp;mask&nbsp;using&nbsp;a&nbsp;shapefile&nbsp;of&nbsp;Henan<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;udims2&nbsp;=&nbsp;dimsizes(data2)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt2@return_mask&nbsp;=&nbsp;True<br>;&nbsp;&nbsp;&nbsp;&nbsp;opt2@debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt2@minlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;minlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Makes&nbsp;the&nbsp;shapefile&nbsp;masking<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt2@maxlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;maxlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;go&nbsp;faster.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt2@minlat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;minlat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt2@maxlat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;maxlat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jjj_mask2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;shapefile_mask_data(data2({minlat:maxlat},{minlon:maxlon}),shp_fname,opt2)<br><br>;---Write&nbsp;new&nbsp;mask&nbsp;to&nbsp;file<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system("rm&nbsp;-f&nbsp;"&nbsp;+&nbsp;mask_fname2)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;addfile(mask_fname2,"c")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout2-&gt;jjj_mask2&nbsp;&nbsp;=&nbsp;jjj_mask2<br>&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("Reading&nbsp;mask&nbsp;off&nbsp;file.")<br><br>;---Read&nbsp;the&nbsp;new&nbsp;mask&nbsp;from&nbsp;the&nbsp;NetCDF&nbsp;file&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fmask2&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;addfile(mask_fname2,"r")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jjj_mask2&nbsp;&nbsp;=&nbsp;fmask2-&gt;jjj_mask2&nbsp;&nbsp;<br>&nbsp;&nbsp;end&nbsp;if&nbsp;<br><br>&nbsp;&nbsp;&nbsp;umask_data2&nbsp;=&nbsp;where(jjj_mask2.eq.1,data2({minlat:maxlat},{minlon:maxlon}),data2@_FillValue)<br>&nbsp;&nbsp;&nbsp;copy_VarMeta(data2({minlat:maxlat},{minlon:maxlon}),umask_data2)<br>&nbsp;&nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br><br>&nbsp;&nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>mask_fname3="15113014_mask.nc"<br>if(create_mask)&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;print("create&nbsp;the&nbsp;mask&nbsp;file:&nbsp;&nbsp;")<br><br>;---Create&nbsp;a&nbsp;new&nbsp;mask&nbsp;using&nbsp;a&nbsp;shapefile&nbsp;of&nbsp;Henan<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;udims3&nbsp;=&nbsp;dimsizes(data3)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt3@return_mask&nbsp;=&nbsp;True<br>;&nbsp;&nbsp;&nbsp;&nbsp;opt3@debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt3@minlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;minlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Makes&nbsp;the&nbsp;shapefile&nbsp;masking<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt3@maxlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;maxlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;go&nbsp;faster.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt3@minlat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;minlat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt3@maxlat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;maxlat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jjj_mask3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;shapefile_mask_data(data3({minlat:maxlat},{minlon:maxlon}),shp_fname,opt3)<br><br>;---Write&nbsp;new&nbsp;mask&nbsp;to&nbsp;file<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system("rm&nbsp;-f&nbsp;"&nbsp;+&nbsp;mask_fname3)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;addfile(mask_fname3,"c")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout3-&gt;jjj_mask3&nbsp;&nbsp;=&nbsp;jjj_mask3&nbsp;<br>&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("Reading&nbsp;mask&nbsp;off&nbsp;file.")<br><br>;---Read&nbsp;the&nbsp;new&nbsp;mask&nbsp;from&nbsp;the&nbsp;NetCDF&nbsp;file&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fmask3&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;addfile(mask_fname3,"r")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jjj_mask3&nbsp;&nbsp;=&nbsp;fmask3-&gt;jjj_mask3&nbsp;&nbsp;<br>&nbsp;&nbsp;end&nbsp;if&nbsp;<br><br>&nbsp;&nbsp;&nbsp;umask_data3&nbsp;=&nbsp;where(jjj_mask3.eq.1,data3({minlat:maxlat},{minlon:maxlon}),data3@_FillValue)<br>&nbsp;&nbsp;&nbsp;copy_VarMeta(data3({minlat:maxlat},{minlon:maxlon}),umask_data3)<br>&nbsp;&nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br><br>&nbsp;&nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br>mask_fname4="15113020_mask.nc"<br>if(create_mask)&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;print("create&nbsp;the&nbsp;mask&nbsp;file:&nbsp;&nbsp;")<br><br>;---Create&nbsp;a&nbsp;new&nbsp;mask&nbsp;using&nbsp;a&nbsp;shapefile&nbsp;of&nbsp;Henan<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;udims4&nbsp;=&nbsp;dimsizes(data4)&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt4@return_mask&nbsp;=&nbsp;True<br>;&nbsp;&nbsp;&nbsp;&nbsp;opt4@debug&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt4@minlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;minlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Makes&nbsp;the&nbsp;shapefile&nbsp;masking<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt4@maxlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;maxlon&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;go&nbsp;faster.<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt4@minlat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;minlat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;opt4@maxlat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;maxlat<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jjj_mask4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;shapefile_mask_data(data4({minlat:maxlat},{minlon:maxlon}),shp_fname,opt4)<br><br>;---Write&nbsp;new&nbsp;mask&nbsp;to&nbsp;file<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system("rm&nbsp;-f&nbsp;"&nbsp;+&nbsp;mask_fname4)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;addfile(mask_fname4,"c")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fout4-&gt;jjj_mask4&nbsp;&nbsp;=&nbsp;jjj_mask4&nbsp;<br>&nbsp;&nbsp;&nbsp;else<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;print("Reading&nbsp;mask&nbsp;off&nbsp;file.")<br><br>;---Read&nbsp;the&nbsp;new&nbsp;mask&nbsp;from&nbsp;the&nbsp;NetCDF&nbsp;file&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fmask4&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;addfile(mask_fname4,"r")<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;jjj_mask4&nbsp;&nbsp;=&nbsp;fmask4-&gt;jjj_mask4&nbsp;&nbsp;<br>&nbsp;&nbsp;end&nbsp;if&nbsp;<br><br>&nbsp;&nbsp;&nbsp;umask_data4&nbsp;=&nbsp;where(jjj_mask4.eq.1,data4({minlat:maxlat},{minlon:maxlon}),data4@_FillValue)<br>&nbsp;&nbsp;&nbsp;copy_VarMeta(data4({minlat:maxlat},{minlon:maxlon}),umask_data4)<br>&nbsp;&nbsp;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;<br><br>;;&nbsp;plot<br>&nbsp;&nbsp;type="png"<br>&nbsp;&nbsp;wks&nbsp;=&nbsp;gsn_open_wks(type,"2015112920-113020_jjj")&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Open&nbsp;a&nbsp;workstation&nbsp;and<br>&nbsp;&nbsp;colors=(/"White","Black","(/.027,.729,.145/)","(/.431,.824,.035/)",\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"(/.800,.937,.012/)","(/1.00,.969,0.00/)","(/1.00,.871,0.00/)",\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"(/1.00,.710,0.00/)","(/1.00,.549,0.00/)","(/0.00,.757,1.00/)",\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"(/0.00,0.455,1.00/)","(/0.00,.122,1.00/)","(/1.00,.275,0.00/)",\<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"(/1.00,0.059,0.00/)"/)&nbsp;&nbsp;<br>&nbsp;&nbsp;gsn_define_colormap(wks,colors)<br><br>&nbsp;&nbsp;&nbsp;res&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;plot&nbsp;mods&nbsp;desired<br>&nbsp;&nbsp;&nbsp;res@gsnMaximize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True&nbsp;&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;res@gsnDraw&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;False<br>&nbsp;&nbsp;&nbsp;res@gsnFrame&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;False<br><br>&nbsp;&nbsp;&nbsp;res@mpOutlineOn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;False<br>&nbsp;&nbsp;&nbsp;res@cnFillOn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;turn&nbsp;on&nbsp;color&nbsp;fill<br>&nbsp;&nbsp;&nbsp;res@cnLinesOn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;False&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;turn&nbsp;off&nbsp;contour&nbsp;lines<br>&nbsp;&nbsp;&nbsp;res@cnLineLabelsOn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;False&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;turn&nbsp;off&nbsp;contour&nbsp;line&nbsp;labels<br>&nbsp;&nbsp;&nbsp;;res@lbLabelBarOn&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;False&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;will&nbsp;turn&nbsp;on&nbsp;in&nbsp;panel<br>&nbsp;&nbsp;&nbsp;res@gsnAddCyclic&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;False&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;data&nbsp;already&nbsp;has&nbsp;cyclic&nbsp;point<br>&nbsp;&nbsp;&nbsp;res@mpFillColors&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;(/-1,0,-1,-1/)&nbsp;&nbsp;;&nbsp;background&nbsp;color&nbsp;is&nbsp;white<br><br>&nbsp;&nbsp;&nbsp;res@mpDataBaseVersion&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;"MediumRes"<br>&nbsp;&nbsp;&nbsp;res@mpMinLonF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;minlon<br>&nbsp;&nbsp;&nbsp;res@mpMaxLonF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;maxlon<br>&nbsp;&nbsp;&nbsp;res@mpMinLatF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;minlat<br>&nbsp;&nbsp;&nbsp;res@mpMaxLatF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;maxlat<br>&nbsp;&nbsp;&nbsp;res@mpCenterLonF&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;(minlon+maxlon)/2.<br><br>&nbsp;&nbsp;&nbsp;res1&nbsp;=&nbsp;&nbsp;True<br>&nbsp;&nbsp;&nbsp;res1&nbsp;=&nbsp;&nbsp;res<br>&nbsp;&nbsp;&nbsp;res1@tmXBMode&nbsp;=&nbsp;"Explicit"<br>&nbsp;&nbsp;&nbsp;res1@tmXBValues&nbsp;=(/113.40,114.7,116.0,117.3,118.6,119.9/)<br>&nbsp;&nbsp;&nbsp;res1@tmXBLabels&nbsp;=(/"113.40","114.7","116.0","117.3","118.6","119.9"/)<br><br>&nbsp;&nbsp;&nbsp;res1@tmYLMode&nbsp;=&nbsp;"Explicit"<br>&nbsp;&nbsp;&nbsp;res1@tmYLValues&nbsp;=(/36.00,37.1,38.2,39.3,40.3,41.4,42.70/)<br>&nbsp;&nbsp;&nbsp;res1@tmYLLabels&nbsp;=(/"36.00","37.1","38.2","39.3","40.3","41.4","42.70"/)<br><br>&nbsp;&nbsp;&nbsp;res1@gsnCenterString&nbsp;&nbsp;=&nbsp;"2015-11-29-20"<br><br>&nbsp;&nbsp;&nbsp;plot1&nbsp;=&nbsp;gsn_csm_contour_map(wks,umask_data1,res1)<br>&nbsp;&nbsp;&nbsp;wmsetp("vrs&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;in&nbsp;user&nbsp;space",15.0)<br>&nbsp;&nbsp;&nbsp;wmsetp("vrn&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;on&nbsp;plot&nbsp;in&nbsp;NDC&nbsp;space",&nbsp;0.1)<br>&nbsp;&nbsp;&nbsp;wmsetp("vcw&nbsp;-&nbsp;linewidth&nbsp;scale",3.)<br>&nbsp;&nbsp;&nbsp;wmsetp("vcc&nbsp;-&nbsp;vector&nbsp;color",1)<br>&nbsp;&nbsp;&nbsp;wmsetp("vch&nbsp;-&nbsp;controls&nbsp;the&nbsp;vector&nbsp;arrow&nbsp;head&nbsp;size",0.01)<br>&nbsp;&nbsp;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields1(2,:)),&nbsp;tofloat(fields1(1,:)),&nbsp;tofloat(fields1(3,:))*2.5,&nbsp;tofloat(fields1(4,:))*2.5)<br>&nbsp;&nbsp;&nbsp;wmvlbl(wks,0.95,0.)<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;res2&nbsp;=&nbsp;&nbsp;True<br>&nbsp;&nbsp;&nbsp;res2&nbsp;=&nbsp;&nbsp;res<br>&nbsp;&nbsp;&nbsp;res2@tmXBMode&nbsp;=&nbsp;"Explicit"<br>&nbsp;&nbsp;&nbsp;res2@tmXBValues&nbsp;=(/113.40,114.7,116.0,117.3,118.6,119.9/)<br>&nbsp;&nbsp;&nbsp;res2@tmXBLabels&nbsp;=(/"113.40","114.7","116.0","117.3","118.6","119.9"/)<br><br>&nbsp;&nbsp;&nbsp;res2@tmYLMode&nbsp;=&nbsp;"Explicit"<br>&nbsp;&nbsp;&nbsp;res2@tmYLValues&nbsp;=(/36.00,37.1,38.2,39.3,40.3,41.4,42.70/)<br>&nbsp;&nbsp;&nbsp;res2@tmYLLabels&nbsp;=(/"36.00","37.1","38.2","39.3","40.3","41.4","42.70"/)<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;res2@gsnCenterString&nbsp;&nbsp;=&nbsp;"2015-11-30-08"<br>&nbsp;&nbsp;&nbsp;plot2&nbsp;=&nbsp;gsn_csm_contour_map(wks,umask_data2,res2)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrs&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;in&nbsp;user&nbsp;space",15.0)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrn&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;on&nbsp;plot&nbsp;in&nbsp;NDC&nbsp;space",&nbsp;0.1)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vcw&nbsp;-&nbsp;linewidth&nbsp;scale",3.)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vcc&nbsp;-&nbsp;vector&nbsp;color",1)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vch&nbsp;-&nbsp;controls&nbsp;the&nbsp;vector&nbsp;arrow&nbsp;head&nbsp;size",0.01)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields2(2,:)),&nbsp;tofloat(fields2(1,:)),&nbsp;tofloat(fields2(3,:))*2.5,&nbsp;tofloat(fields2(4,:))*2.5)<br><br><br>&nbsp;&nbsp;&nbsp;res3&nbsp;=&nbsp;&nbsp;True<br>&nbsp;&nbsp;&nbsp;res3&nbsp;=&nbsp;&nbsp;res<br>&nbsp;&nbsp;&nbsp;res3@tmXBMode&nbsp;=&nbsp;"Explicit"<br>&nbsp;&nbsp;&nbsp;res3@tmXBValues&nbsp;=(/113.40,114.7,116.0,117.3,118.6,119.9/)<br>&nbsp;&nbsp;&nbsp;res3@tmXBLabels&nbsp;=(/"113.40","114.7","116.0","117.3","118.6","119.9"/)<br><br>&nbsp;&nbsp;&nbsp;res3@tmYLMode&nbsp;=&nbsp;"Explicit"<br>&nbsp;&nbsp;&nbsp;res3@tmYLValues&nbsp;=(/36.00,37.1,38.2,39.3,40.3,41.4,42.70/)<br>&nbsp;&nbsp;&nbsp;res3@tmYLLabels&nbsp;=(/"36.00","37.1","38.2","39.3","40.3","41.4","42.70"/)<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;res3@gsnCenterString&nbsp;&nbsp;=&nbsp;"2015-11-30-14"<br>&nbsp;&nbsp;&nbsp;plot3&nbsp;=&nbsp;gsn_csm_contour_map(wks,umask_data3,res3)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrs&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;in&nbsp;user&nbsp;space",15.0)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrn&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;on&nbsp;plot&nbsp;in&nbsp;NDC&nbsp;space",&nbsp;0.1)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vcw&nbsp;-&nbsp;linewidth&nbsp;scale",3.)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vcc&nbsp;-&nbsp;vector&nbsp;color",1)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vch&nbsp;-&nbsp;controls&nbsp;the&nbsp;vector&nbsp;arrow&nbsp;head&nbsp;size",0.01)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields3(2,:)),&nbsp;tofloat(fields3(1,:)),&nbsp;tofloat(fields3(3,:))*2.5,&nbsp;tofloat(fields3(4,:))*2.5)<br><br>&nbsp;&nbsp;&nbsp;res4&nbsp;=&nbsp;&nbsp;True<br>&nbsp;&nbsp;&nbsp;res4&nbsp;=&nbsp;&nbsp;res<br>&nbsp;&nbsp;&nbsp;res4@tmXBMode&nbsp;=&nbsp;"Explicit"<br>&nbsp;&nbsp;&nbsp;res4@tmXBValues&nbsp;=(/113.40,114.7,116.0,117.3,118.6,119.9/)<br>&nbsp;&nbsp;&nbsp;res4@tmXBLabels&nbsp;=(/"113.40","114.7","116.0","117.3","118.6","119.9"/)<br><br>&nbsp;&nbsp;&nbsp;res4@tmYLMode&nbsp;=&nbsp;"Explicit"<br>&nbsp;&nbsp;&nbsp;res4@tmYLValues&nbsp;=(/36.00,37.1,38.2,39.3,40.3,41.4,42.70/)<br>&nbsp;&nbsp;&nbsp;res4@tmYLLabels&nbsp;=(/"36.00","37.1","38.2","39.3","40.3","41.4","42.70"/)<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;res4@gsnCenterString&nbsp;&nbsp;=&nbsp;"2015-11-30-20"<br>&nbsp;&nbsp;&nbsp;plot4&nbsp;=&nbsp;gsn_csm_contour_map(wks,umask_data4,res4)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrs&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;in&nbsp;user&nbsp;space",15.0)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrn&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;on&nbsp;plot&nbsp;in&nbsp;NDC&nbsp;space",&nbsp;0.1)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vcw&nbsp;-&nbsp;linewidth&nbsp;scale",3.)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vcc&nbsp;-&nbsp;vector&nbsp;color",1)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vch&nbsp;-&nbsp;controls&nbsp;the&nbsp;vector&nbsp;arrow&nbsp;head&nbsp;size",0.01)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields4(2,:)),&nbsp;tofloat(fields4(1,:)),&nbsp;tofloat(fields4(3,:))*2.5,&nbsp;tofloat(fields4(4,:))*2.5)<br><br>&nbsp;&nbsp;if(add_shapefile_outlines)&nbsp;then<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lnres&nbsp;&nbsp;=&nbsp;True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;poly1&nbsp;=&nbsp;gsn_add_shapefile_polylines(wks,plot1,shp_fname,lnres)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;poly2&nbsp;=&nbsp;gsn_add_shapefile_polylines(wks,plot2,shp_fname,lnres)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;poly3&nbsp;=&nbsp;gsn_add_shapefile_polylines(wks,plot3,shp_fname,lnres)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;poly4&nbsp;=&nbsp;gsn_add_shapefile_polylines(wks,plot4,shp_fname,lnres)<br>&nbsp;&nbsp;end&nbsp;if<br>&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;pres&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True<br>&nbsp;&nbsp;&nbsp;pres@gsnMaximize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;True<br>&nbsp;&nbsp;&nbsp;pres@gsnPanelLabelBar&nbsp;=&nbsp;False<br>&nbsp;&nbsp;&nbsp;pres@txString&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;=&nbsp;"PM2.5&nbsp;and&nbsp;station&nbsp;vector"<br>&nbsp;&nbsp;&nbsp;;pres@pmLabelBarWidthF&nbsp;=&nbsp;0.6<br>&nbsp;&nbsp;&nbsp;pres@lbLabelFontHeightF&nbsp;&nbsp;=&nbsp;0.01&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;make&nbsp;labels&nbsp;smaller<br><br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrs&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;in&nbsp;user&nbsp;space",15.0)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrn&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;on&nbsp;plot&nbsp;in&nbsp;NDC&nbsp;space",&nbsp;0.1)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vcw&nbsp;-&nbsp;linewidth&nbsp;scale",3.)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vcc&nbsp;-&nbsp;vector&nbsp;color",1)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vch&nbsp;-&nbsp;controls&nbsp;the&nbsp;vector&nbsp;arrow&nbsp;head&nbsp;size",0.01)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields1(2,:)),&nbsp;tofloat(fields1(1,:)),&nbsp;tofloat(fields1(3,:))*2.5,&nbsp;tofloat(fields1(4,:))*2.5)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields2(2,:)),&nbsp;tofloat(fields2(1,:)),&nbsp;tofloat(fields2(3,:))*2.5,&nbsp;tofloat(fields2(4,:))*2.5)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields3(2,:)),&nbsp;tofloat(fields3(1,:)),&nbsp;tofloat(fields3(3,:))*2.5,&nbsp;tofloat(fields3(4,:))*2.5)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields4(2,:)),&nbsp;tofloat(fields4(1,:)),&nbsp;tofloat(fields4(3,:))*2.5,&nbsp;tofloat(fields4(4,:))*2.5)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrs",5.)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrn",0.1)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vlb&nbsp;-&nbsp;for&nbsp;setting&nbsp;the&nbsp;background&nbsp;color",0)<br>&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrs",5.)<br><br>&nbsp;&nbsp;&nbsp;wmvlbl(wks,&nbsp;0.8&nbsp;,0.2)<br>&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;gsn_panel(wks,(/plot1,plot2,plot3,plot4/),(/2,2/),pres)<br><br>&nbsp;&nbsp;&nbsp;;draw(plot)<br><br>&nbsp;&nbsp;;&nbsp;wmsetp("vch",&nbsp;0.05)<br>&nbsp;&nbsp;;&nbsp;wmsetp("vcc",&nbsp;1)<br>&nbsp;&nbsp;;&nbsp;wmsetp("vcw",&nbsp;3.)<br>&nbsp;&nbsp;;&nbsp;wmsetp("wbs",&nbsp;0.05)<br>&nbsp;&nbsp;;&nbsp;wmsetp("col",&nbsp;1)<br>&nbsp;&nbsp;;&nbsp;wmsetp("wbs",&nbsp;0.06)<br>&nbsp;&nbsp;;&nbsp;wmsetp("ezf",2)<br>&nbsp;&nbsp;;&nbsp;wmsetp("wbs",0.12)<br>&nbsp;&nbsp;;&nbsp;wmsetp("col",&nbsp;1)<br>&nbsp;&nbsp;;&nbsp;wmsetp("sht",&nbsp;2.0)<br>&nbsp;&nbsp;;&nbsp;wmsetp("ars",0.05)<br>&nbsp;&nbsp;;&nbsp;wmsetp("arl",1.5)<br>&nbsp;&nbsp;;&nbsp;wmsetp("blw",&nbsp;4.0)<br>&nbsp;&nbsp;;&nbsp;wmsetp("wbs",&nbsp;0.03)<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrs&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;in&nbsp;user&nbsp;space",15.0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrn&nbsp;-&nbsp;size&nbsp;of&nbsp;reference&nbsp;vector&nbsp;on&nbsp;plot&nbsp;in&nbsp;NDC&nbsp;space",&nbsp;0.1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vcw&nbsp;-&nbsp;linewidth&nbsp;scale",3.)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vcc&nbsp;-&nbsp;vector&nbsp;color",1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vch&nbsp;-&nbsp;controls&nbsp;the&nbsp;vector&nbsp;arrow&nbsp;head&nbsp;size",0.01)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields1(2,:)),&nbsp;tofloat(fields1(1,:)),&nbsp;tofloat(fields1(3,:))*2.5,&nbsp;tofloat(fields1(4,:))*2.5)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields2(2,:)),&nbsp;tofloat(fields2(1,:)),&nbsp;tofloat(fields2(3,:))*2.5,&nbsp;tofloat(fields2(4,:))*2.5)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields3(2,:)),&nbsp;tofloat(fields3(1,:)),&nbsp;tofloat(fields3(3,:))*2.5,&nbsp;tofloat(fields3(4,:))*2.5)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields4(2,:)),&nbsp;tofloat(fields4(1,:)),&nbsp;tofloat(fields4(3,:))*2.5,&nbsp;tofloat(fields4(4,:))*2.5)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrs",5.)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrn",0.1)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vlb&nbsp;-&nbsp;for&nbsp;setting&nbsp;the&nbsp;background&nbsp;color",0)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmsetp("vrs",5.)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;wmvlbl(wks,0.85,0.78)<br><br>&nbsp;&nbsp;;&nbsp;wmvectmap(wks,&nbsp;tofloat(fields(2,:)),&nbsp;tofloat(fields(1,:)),&nbsp;tofloat(fields(3,:)),&nbsp;tofloat(fields(4,:)))<br>&nbsp;&nbsp;;&nbsp;wmvlbl(wks,&nbsp;1.0,&nbsp;0.0)<br>&nbsp;&nbsp;<br><br>&nbsp;&nbsp;;&nbsp;frame(wks)<br><br><br>end<br><br></span></div><div>+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++</div><div>the final figure didn't distribute the windbard to every subplot ,but in the center of whole page.</div><div><img src="cid:_Foxmail.1@c83c190c-7559-7857-56f7-2a1470e13538" border="0"></div><div><br></div><div>the effect is the above.</div><div><br></div><div>anybody tell me the method about how to overlay those wmvectmap in individual subplot will be appreciated.</div><div><br></div><div><br></div><div>thanks</div><div><br></div><div><br></div><div><br></div><hr style="width: 210px; height: 1px;" color="#b5c4df" size="1" align="left">
<div><span><div style="MARGIN: 10px; FONT-FAMILY: verdana; FONT-SIZE: 10pt"><div>dyjbean@gmail.com</div></div></span></div>
</body></html>