[ncl-talk] dsgrid interpolation problem station data)
Mary Haley
haley at ucar.edu
Fri Jun 2 09:46:12 MDT 2017
Hi all,
The issue is that natgrid and dsgrid2 return the array as XO x YO, which
corresponds to LON x LAT. This is very confusing!
If you transpose the array, then the coordinate array assignments should
work without reversing the axes:
zo_natgrid = transpose(natgrid(x, y, z, xo, yo)) ; Interpolate
zo_natgrid!0 = "yo"
zo_natgrid!1 = "xo"
zo_natgrid&yo = yo
zo_natgrid&xo = xo
and
zo_dsg2 = transpose(dsgrid2(x, y, z, xo, yo))
zo_dsg2!0 = "yo"
zo_dsg2!1 = "xo"
zo_dsg2&yo = yo
zo_dsg2&xo = xo
--Mary
On Thu, Jun 1, 2017 at 2:24 PM, Dennis Shea <shea at ucar.edu> wrote:
> Ricks approach should work. However, for some unuknown rease (?bug?) the
> coordinates had to be reversed to attain the correct plot. A JIRA-2621
> (bug) ticket has been created.
>
> The attached uses x11 and creates the gridded data via several methods. Of
> course, these could be tuned for better results but I'll let that up to you.
>
> %> ncl noa_test.ncl_stavros
>
> Good luck
>
> On Mon, May 22, 2017 at 11:15 AM, Rick Brownrigg <brownrig at ucar.edu>
> wrote:
>
>> Hi Stavros,
>>
>> I don't see where the array zo returned from dsgrid2() has any coordinate
>> information (?)
>>
>> I'm not expert at this, but if I correctly understand what's going on, I
>> think you need to do something like:
>>
>> ; make coordinate variables; i.e, varname == dimension name
>> xo!0 = "xo"
>> yo!0 = "yo"
>>
>> ; associate coord vars to data variable
>> zo!0 = "xo"
>> zo!1 = "yo"
>> zo&xo = xo
>> zo&yo = yo
>>
>> and then of course, to reorder for plotting you'd write zo(yo|:, xo|:)
>>
>> I hope that helps.
>>
>> On Mon, May 22, 2017 at 6:07 AM, Stavros Dafis <sdafis at cc.uoi.gr> wrote:
>>
>>> Dear NCL users,
>>>
>>> I am facing a problem when interpolating unstructured station data. I
>>> read an
>>> ascii file with lat/lon and rainfall data. The problem is that the
>>> interpolated
>>> values with dsgrid2 do not match with the real data, for example in the
>>> map
>>> attached 69mm of rainfall (North Greece) is printed on the map but the
>>> shaded
>>> rainfall is far away from the actual position of the station. Moreover,
>>> near
>>> Athens, we have some stations with up to 20mm of accumulated rainfall but
>>> interpolation gives 0-5mm.
>>>
>>> I have to mention that with temperature data, from the same ascii, using
>>> the
>>> same method with dsgrid2, the result is almost flawless (attached png
>>> with
>>> Attica).
>>>
>>> I have also tried ESMF method (attached), obj_anal_ic, triple2grid,
>>> natgrid but
>>> the problem is the same. Here is the part of the code doing calculations:
>>>
>>>
>>> x = stations(:,2) ; Column 3 of file contains LONGITUDE values.
>>> y = stations(:,1) ; Column 2 of file contains LATITUDE values.
>>> z = stations(:,15) ; Column 11 of file contains RAINFALL values.
>>>
>>>
>>> numxout = 100 ; Define output grid for call to "dsgrid2".
>>> numyout = 100
>>> xmin = min(x)
>>> ymin = min(y)
>>> xmax = max(x)
>>> ymax = max(y)
>>> zmin = min(z)
>>> zmax = max(z)
>>>
>>> xc = (xmax-xmin)/(numxout-1)
>>> yc = (ymax-ymin)/(numyout-1)
>>> xo = xmin + ispan(0,numxout-1,1)*xc
>>> yo = ymin + ispan(0,numyout-1,1)*yc
>>>
>>> ;zo = natgrid(x, y, z, xo, yo) ; Interpolate.
>>> ;zo = natgrids(x, y, z, xo, yo) ; Interpolate.
>>> rscan = (/0.25, 0.1, 0.01/)
>>> ;zo = obj_anal_ic(x,y,z, xo,yo, rscan, False)
>>> opt = True
>>> opt at distmx = 30 ; kilometers
>>> ;zo = triple2grid(x, y, z, xo, yo, opt)
>>>
>>>
>>> zo = dsgrid2(x, y, z, xo, yo) ; Interpolate.
>>>
>>> zo!0 = "i" ; Name the dimensions of "zo".
>>> zo!1 = "j"
>>>
>>>
>>> contour = gsn_csm_contour_map(wks,zo(j|:,i|:),res)
>>>
>>>
>>> ;--------
>>> ;ESMF
>>> Opt = True
>>> Opt at SrcGridLat = y
>>> Opt at SrcGridLon = x
>>> Opt at DstLLCorner = (/floor(min(y)),floor(min(x))/)
>>> Opt at DstURCorner = (/ ceil(max(y)), ceil(max(x))/)
>>> Opt at DstGridType = "0.1deg"
>>> Opt at ForceOverwrite = True
>>> Opt at Debug = True
>>> Opt at InterpMethod = "patch"
>>> ;zo = ESMF_regrid(z,Opt)
>>>
>>>
>>> Any help would be appreciated.
>>>
>>>
>>>
>>> --
>>> Stavros NTAFIS (DAFIS)
>>> -----------------------------------------------
>>> Physicist - Meteorologist, M.Sc.
>>> Research Associate, National Observatory of Athens
>>> Tel. : (+33)9 81 94 22 12
>>> Mobile: (+33) 066 030 0147
>>> (+30) 697 04 20 242
>>> ---------------
>>> Weather charts:
>>> http://www.meteo.gr
>>> http://www.meteo.gr/meteomaps/
>>>
>>>
>>>
>>>
>>> _______________________________________________
>>> ncl-talk mailing list
>>> ncl-talk at ucar.edu
>>> List instructions, subscriber options, unsubscribe:
>>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>>
>>>
>>
>> _______________________________________________
>> ncl-talk mailing list
>> ncl-talk at ucar.edu
>> List instructions, subscriber options, unsubscribe:
>> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>>
>>
>
> _______________________________________________
> ncl-talk mailing list
> 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/20170602/3df96e1d/attachment.html
More information about the ncl-talk
mailing list