Re: options for 3D regridding global lon-lat to regional LCC

From: Dennis Shea <shea_at_nyahnyahspammersnyahnyah>
Date: Fri Nov 23 2012 - 08:47:30 MST

Hello,

Not sure where you live but in the USA this is a 4-day
holiday. Most people are not logging in.

---
[1] The LCC is curvilinear in NCL parlance.
[2] The global is (likely) rectilinear.
[3] If you want 'any old numbers' ... kriging will do.
     If you want high quality conservative regridding, use ESMF.
[4] Your description of the LCC is vague.
     What  specific region are you talking about?
     (a) Do you have the latitudes and longitudes of each grid point?
         These would be a 2D arrays. This would be ideal.
         Looking at your (very nice) regrid.global.to.AQMEII.r script
         I think you may be able to generate a netCDF with the 2d
         lat/lon arrays [eg: LAT2D(ny,nx), LON2D(ny,nx)]
     or
     (b) The 4 corner points, central meridian & parallel(s).
         In NCL, these would be
            mpLambertParallel1F, mpLambertParallel2F, mpLambertMeridianF
         I *think* NCL has some capability under the hood to generate
         the correct LAT2D/LON2D arrays but it is not accessible
         from the user level.
[5] The vertical dimension means nothing for the mapping.
Cheers
On 11/22/12 4:50 PM, Tom Roche wrote:
>
> summary: student and NCL newbie seeks advice regarding 3D regridding
> from a global spherical/curvilinear grid to a regional LCC grid over
> North America. Particularly I seek advice regarding the suitability of
> the NCL functions 'dsgrid3' and 'ESMF_regrid' for this task.
>
> details:
>
> I'm very new to NCL (having used mostly R for geospatial work) and
> insufficiently geospatially-conscious (but learning). I'm trying to
> select appropriate method(s) for regridding atmospheric gas
> concentrations from a global spherical/curvilinear 3D grid (with
> coordinates=longitude, latitude, sigma) to a regional 3D grid (with
> coordinates=col, row, sigma) on a Lambert Conformal Conic (LCC)
> projection over North America with 12-km horizontal resolution.
>
> I'm surprised by my difficulty in finding a way to do this, given the
> abundance of 2D regridding options. (For one way of 2D regridding with
> R, see
>
> https://github.com/TomRoche/GEIA_to_NetCDF
>
> particularly
>
> https://github.com/TomRoche/GEIA_to_netCDF/blob/master/regrid.global.to.AQMEII.r
>
> ) Perhaps when I'm more geospatially knowledgeable I'll understand why
> 3D is much more difficult. Meanwhile I have identified 3 options for 3D
> regridding; I'd appreciate your judgments regarding their suitability
> for my usecase.
>
> 1. The R package 'gstat' provides several methods for 3D interpolation.
>     All appear to be kriging-type estimations, which seems suboptimal for
>     this application. This may just be prejudice on my part, but I'd
>     prefer a conservative regridding--am I being irrational?
>
> 2. ESMF-based methods. Unfortunately I must (if I understand the terms
>     correctly) regrid from a spherical grid (lon-lat) to a Cartesian
>     (LCC) grid, and
>
> Subject: [3587543] 3D regridding from spherical coordinates to Cartesian coordinates?
> From: Robert Oehmke <robert.oehmke@noaa.gov>
> Date: Fri, 16 Nov 2012 10:57:49 -0700
> Cc: esmf_support <esmf_support@list.woc.noaa.gov>
>
>> [ESMF] currently only [supports] regridding between a source and
>> destination grids with the same coordinate space (e.g. from Cartesian
>> to Cartesian). If you convert [your input grid] to Cartesian then you
>> could use [it]
>
>     I'm assuming the same restriction applies to the NCL function
>     'ESMF_regrid': is that correct? If so, I'd like to know, is there NCL
>     (or other) functionality that could do a 3D regridding just from a
>     lon-lat grid to some intermediate, regional, unprojected Cartesian
>     equivalent, from which I could then regrid to LCC? I see that the NCL
>     function 'css2c'
>
> http://www.ncl.ucar.edu/Document/Functions/Built-in/css2c.shtml
>> Converts spherical coordinates (lat/lon) to Cartesian coordinates on a
>> unit sphere.
>
>     so I could presumably use 'css2c' to create an unprojected Cartesian
>     array of gridpoints corresponding to the vertices of the lon-lat grid
>     over my region of interest ("AQMEII-North America," with longitude
>     boundaries=-130°,-59.5° and latitude boundaries=23.5°,58.5°: details @
>
> https://github.com/TomRoche/cornbeltN2O/wiki/AQMEII-North-American-domain#wiki-EPA
>
>     ) But after that I'd need to recreate a grid from the array of points
>     (i.e., attribute the data value from the lon-lat grid to the matching
>     point in the created Cartesian grid). Aside from not knowing offhand
>     how to do that (though it feels straightforward--perhaps there is NCL
>     functionality for that task?), I'm wondering, could I then use
>     'ESMF_regrid' to project from those points, on a unit sphere, to LCC?
>     Fortunately the AQMEII-NA space to which I seek to regrid assumes a
>     sphere with radius=6370000 m, so I'm assuming there is a workaround
>     there as well.
>
> 3. NCL function 'dsgrid3'
>
> http://www.ncl.ucar.edu/Document/Functions/Built-in/dsgrid3.shtml
>> Interpolates float data from an unstructured (randomly-spaced) grid to
>> a 3D grid using inverse distance weighted interpolation.
>
>     So from that link's use of the term "interpolation" rather than
>     "regridding," I'm assuming 'dsgrid3' is more like the R::gstat
>     methods than like the ESMF-based methods: correct?
>
> TIA, Tom Roche <Tom_Roche@pobox.com>
> _______________________________________________
> ncl-talk mailing list
> List instructions, subscriber options, unsubscribe:
> http://mailman.ucar.edu/mailman/listinfo/ncl-talk
>
_______________________________________________
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
http://mailman.ucar.edu/mailman/listinfo/ncl-talk
Received on Fri Nov 23 08:47:43 2012

This archive was generated by hypermail 2.1.8 : Fri Dec 07 2012 - 13:30:06 MST