Re: Interpolate WRF data on Mercator projection to Cartesian grid

From: Dennis Shea <shea_at_nyahnyahspammersnyahnyah>
Date: Tue, 31 Jan 2006 20:58:28 -0700 (MST)

[1] What do you mean by "data conversion?
     Do you mean interpolation onto the cartesian grid
     the cartesian model uses?

[2] The great circle approach gives you
     ----WRF----- -cartesian--
     lon,lat,value ===> x,y,value

     You can scale the x and y derived from the great circle distance
     to that used by the cartesian grid.

[3] The result of [2] are (x,y,values) that are not equally spaced.
     You can use some interpolation scheme to put these sacttered
     data onto the model cartesian grid.

say: http://www.ncl.ucar.edu/Document/Functions/Built-in/triple2grid.shtml

good luck

On Tue, 31 Jan 2006, Yongxin Zhang wrote:

> Dear Dennis,
>
> Thank you very much for your information. What I want to do is to
> interpolate WRF variables (u, v, T, hgt, psfc, SST et al.) on native Mercator
> projection to the Cartesian system, then the transformed data will be used as
> the input data for another model which uses Cartesian Coordinates. The
> built-in function, gc_latlon gives me distance in meters between two points
> but does not perform the data conversion so I was wondering if there are any
> functions or programs in NCL that can do the data conversion conveniently.
>
> Thank you,
> Yongxin
>
> On Jan 30, 2006, at 9:50 PM, Dennis Shea wrote:
>
>>> I need to interpolate WRF data on native Mercator projection to the x,
>>> y, z Cartesian coordinates. Please let me know whether or not NCL can do
>>> this and how. Thank you.
>>>
>>
>> The question is a bit open-ended.
>>
>> (1) If you want "cartesian" relative to the plot frame, you
>> could use the function "datatondc"
>>
>> http://www.ncl.ucar.edu/Document/Functions/Built-in/datatondc.shtml
>>
>> However, I do not think this is what you want.
>>
>> (2) I think the "gc_latlon" function could be used
>>
>> http://www.ncl.ucar.edu/Document/Functions/Built-in/gc_latlon.shtml
>>
>> The following uses the equator as the "origin"
>>
>> You could then write the x and y coordinates to a file.
>>
>> I will request that the gc_latlon function be
>> made to operate on arrays. That will speed things up.
>>
>>
>>
>> begin
>> f = addfile("wrfout_d01_2003-07-13_12:00:00.nc", "r")
>>
>> lat1d = ndtooned( f->XLAT(0,:,:) )
>> lon1d = ndtooned( f->XLONG(0,:,:))
>> npts = dimsizes( lat1d )
>>
>> lato = 0.0 ; origin
>> lono = 0.0
>>
>> x = new ( npts, "float")
>> y = new ( npts, "float")
>>
>> do n=0,npts-1
>> x(n) = gc_latlon(lato,lono, lato ,lon1d(n), 2,3) ; x-axis
>> y(n) = gc_latlon(lato,lono, lat1d(n),lono , 2,3) ; y-axis
>> if (lon1d(n).lt.0) then
>> x(n) = -1*x(n)
>> end if
>> if (lat1d(n).lt.0) then
>> y(n) = -1*y(n)
>> end if
>> print(lat1d(n)+" "+lon1d(n)+" "+x(n)+" "+y(n))
>> end do
>> end
>>
>>
>> HTH
>> D
>
_______________________________________________
ncl-talk mailing list
ncl-talk_at_ucar.edu
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Tue Jan 31 2006 - 20:58:28 MST

This archive was generated by hypermail 2.2.0 : Wed Feb 01 2006 - 11:25:35 MST