From: Dennis Shea <shea_at_nyahnyahspammersnyahnyah>

Date: Tue, 31 Jan 2006 20:58:28 -0700 (MST)

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
*