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

From: Tom Roche <Tom_Roche_at_nyahnyahspammersnyahnyah>
Date: Thu Nov 22 2012 - 16:50:36 MST

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
Received on Thu Nov 22 16:42:13 2012

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