<div dir="ltr"><div>Hello<br><br>[1]<br></div><div>Generally, do not interpolate wind speed and direction directly. One issue ... think <br></div><div>combining winds from 355 and 5 ... :-)<br></div><div><br>[2]<br></div><div>Technically, on the sphere you should not interpolate u and v separately. There is a rotation angle (rot) that must be used  <br></div><pre>     uNew =  u*cos(rot) + v*sin(rot)  
     vNew = -u*sin(rot) + v*cos(rot)<br><br>==<br>[3]<br></pre><pre>The most common method on the sphere is to calculate the <br>scalar quantities: divergence and relative vorticity; <br>interpolate the scalar quantities to the new grid; <br>back-out the rotational and divergent wind components<br>on the new grid.<br><br>     uNew = uRot+uDiv<br>     vNew = vRot+vDiv<br><br>==<br></pre><pre>[1-3] said ... I think you can ignore the above. :-)<br><br>Greece is not large so the earth&#39;s curvature can be ignored.<br><br></pre><pre>[a]  derive the wind components<br></pre><pre>[b]  interpolate the u and v independently<br></pre><pre>[c] rederive the wind speeds and directions.<br><br></pre><pre>I have not used dgrid2 or natgrid so I have no recommendation.<br><br>====<br></pre><pre>NOTE: The ESMF regrid may also be used.<br><br><a href="https://www.ncl.ucar.edu/Applications/ESMF.shtml">https://www.ncl.ucar.edu/Applications/ESMF.shtml</a><br></pre><pre><a href="https://www.ncl.ucar.edu/Applications/Scripts/ESMF_regrid_21.ncl">ESMF_regrid_21.ncl</a><br><br></pre><pre>Or, if you have a lot of stations, use ESMF&#39;s nearest neighbor<br></pre><pre>ESMF_regrid_31.ncl<br><br></pre><pre>The latter uses a grid as input but (I think) you can use the<br></pre><pre>location of the stations.<br><br></pre><pre>Good Luck<br></pre><pre><br></pre><pre><br><br></pre></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Apr 27, 2016 at 4:33 AM, Stavros Dafis <span dir="ltr">&lt;<a href="mailto:sdafis@cc.uoi.gr" target="_blank">sdafis@cc.uoi.gr</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Dear users,<br>
<br>
I would like your help concerning the interpolation of u,v components derived by<br>
weather stations in Greece. I have found only one message from Mr Wang back in<br>
2008, who faced the same problem, but as far as I know, it was not solved. I<br>
tried to find Mr Wang though, but with no response to the e-mail provided in<br>
the message:<br>
<a href="https://www.ncl.ucar.edu/Support/talk_archives/2008/0497.html" rel="noreferrer" target="_blank">https://www.ncl.ucar.edu/Support/talk_archives/2008/0497.html</a><br>
<br>
The stations record wind speed and direction in degrees. I first derive the u,v<br>
components and interpolate them using the dsgrid2 method (I have also tried<br>
with natgrid). Do I have to make explicit calculations for u&gt;0, v&lt;0 etc?<br>
Mathematically speaking, I think the code is correct, but please make your<br>
suggestions, because if I change the wind speed somewhere (for example in West<br>
Greece) the vectors are always the same in North Greece (Macedonia) and in SW<br>
parts.<br>
Part of my code is shown below and the plot derived is attached:<br>
<br>
<br>
  x = stations(:,2)  ; Column 3 of file contains LONGITUDE values.<br>
  y = stations(:,1)  ; Column 2 of file contains LATITUDE values.<br>
WDIR1 = stations(:,15)  ; Column 15 of file contains WIND DIRECTION values.<br>
  z = stations(:,12)  ; Column 13 of file contains WIND SPEED values.<br>
<br>
;WDIR = 270 - WDIR1<br>
<br>
y!0 = &quot;lat&quot;<br>
x!0 = &quot;lon&quot;<br>
<br>
  numxout = 200   ; nflds<br>
  numyout = 200   ; nflds<br>
  xmin    = min(x)<br>
  ymin    = min(y)<br>
  xmax    = max(x)<br>
  ymax    = max(y)<br>
  zmin    = min(z)<br>
  zmax    = max(z)<br>
<br>
  xc      = (xmax-xmin)/(numxout-1)<br>
  yc      = (ymax-ymin)/(numyout-1)<br>
  xo      = xmin + ispan(0,numxout-1,1)*xc<br>
  yo      = ymin + ispan(0,numyout-1,1)*yc<br>
<br>
yo!0 = &quot;lat&quot;<br>
xo!0 = &quot;lon&quot;<br>
<br>
  ;zo = natgrid(x, y, z, xo, yo)  ; Interpolate.<br>
  ;zo = natgrids(x, y, z, xo, yo) ; Interpolate.<br>
  ;zo = dspnt2(x, y, z, xo, yo)  ; Interpolate.<br>
<br>
  zo = dsgrid2(x, y, z, xo, yo)  ; Interpolate.<br>
<br>
  diro = dsgrid2(x, y, WDIR, xo, yo)  ; Interpolate.<br>
<br>
diro!0 = &quot;lon&quot;<br>
diro!1 = &quot;lat&quot;<br>
diro&amp;lat = yo<br>
diro&amp;lon = xo<br>
;------- (operational) ---------------<br>
rad    = 4.*atan(1.0)/180.    ; degress to radians<br>
<br>
uo = -(abs(z))*sin(WDIR*rad)<br>
vo = -(abs(z))*cos(WDIR*rad)<br>
<br>
u1 = dsgrid2(x, y, uo, xo, yo)  ; Interpolate.<br>
v1 = dsgrid2(x, y, vo, xo, yo)  ; Interpolate.<br>
<br>
u1!0 = &quot;lon&quot;<br>
u1!1 = &quot;lat&quot;<br>
u1&amp;lat = yo<br>
u1&amp;lon = xo<br>
<br>
v1!0 = &quot;lon&quot;<br>
v1!1 = &quot;lat&quot;<br>
v1&amp;lat = yo<br>
v1&amp;lon = xo<br>
;----------------------------------------------------------------------------<br>
<br>
nlat = dimsizes(yo)<br>
nlon = dimsizes(xo)<br>
<br>
u = generate_2d_array(-50,50,min(u1),max(u1),50,(/nlat,nlon/))<br>
u!0 = &quot;lon&quot;<br>
u&amp;lon = yo<br>
u!1 = &quot;lat&quot;<br>
u&amp;lat = xo<br>
<br>
v = generate_2d_array(-50,50,min(v1),max(v1),50,(/nlat,nlon/))<br>
<br>
v!0 = &quot;lon&quot;<br>
v&amp;lon = yo<br>
v!1 = &quot;lat&quot;<br>
v&amp;lat = xo<br>
<br>
;------------------------------------------------------<br>
  xo@long_name = &quot;Lon&quot;   ; Define some attributes.<br>
  yo@long_name = &quot;Lat&quot;<br>
  zo@long_name = &quot;10-min Wind speed(km/h)&quot;<br>
<span class="HOEnZb"><font color="#888888"><br>
<br>
--<br>
Stavros Dafis<br>
MSc student Atmospheric Sciences and Environment<br>
University of Ioannina<br>
LATMOS Laboratoire Atmospheres, Milieux,Observations Spatiales; Versailles,<br>
France.<br>
Tel: <a href="tel:%2B33%200981942212" value="+33981942212">+33 0981942212</a>,  Mobile: <a href="tel:%2B30%206970420242" value="+306970420242">+30 6970420242</a><br>
e-mails: <a href="mailto:sdafis@noa.gr">sdafis@noa.gr</a> or <a href="mailto:dafis91@yahoo.gr">dafis91@yahoo.gr</a><br>
Weather charts: <a href="http://www.metar.gr" rel="noreferrer" target="_blank">http://www.metar.gr</a><br>
<a href="http://www.meteo.gr" rel="noreferrer" target="_blank">http://www.meteo.gr</a><br>
<a href="http://www.meteovolos.gr" rel="noreferrer" target="_blank">http://www.meteovolos.gr</a><br>
<br>
</font></span><br>_______________________________________________<br>
ncl-talk mailing list<br>
<a href="mailto:ncl-talk@ucar.edu">ncl-talk@ucar.edu</a><br>
List instructions, subscriber options, unsubscribe:<br>
<a href="http://mailman.ucar.edu/mailman/listinfo/ncl-talk" rel="noreferrer" target="_blank">http://mailman.ucar.edu/mailman/listinfo/ncl-talk</a><br>
<br></blockquote></div><br></div>