Re: 3D regridding from spherical coordinates to Cartesian coordinates?

From: Tom Roche <Tom_Roche_at_nyahnyahspammersnyahnyah>
Date: Tue Jan 01 2013 - 21:47:43 MST

summary: a general question (about procedure) and a specific question
(about converting hybrid sigma-pressure (HσP) to elevation).


A brief refresher from 2012 regarding what I'm trying to do:

> [3D-regrid] atmospheric gas concentrations from a global spherical/
> curvilinear 3D grid (with coordinates=longitude, latitude, [HσP]) to
> a regional 3D grid (with coordinates=col, row, [HσP]) on [an LCC]
> projection over North America with 12-km horizontal resolution.

Thanks to much help from Dennis Shea (see thread beginning @

) and Bob Oehmke, and some help from R-folk (notably, HW Borchers and
folks in the geospatial SIG), I believe I have made some progress, and
better understand what remains to be done ... but I'd appreciate your
review of what I believe I know, and your assistance with a question.

I'm currently entering step 3.0 of (renumbered)
> 1.0. Plot global, spherical/lon-lat MOZART-outputted N2O
> concentrations (aka raw input) for eyeballing against future
> assimilations.

> 2.0. Crop the [global] raw input data to the horizontal extents of the
> AQMEII-NA [region] (and plot for verification).

> 3.0. (planned) "Rebox" from the cropped input data to the projection,
> coordinates, and units required for input to CMAQ (aka output),
> and plot for verification.

> 3.1. Convert the cropped input grid's vertical coordinates from hybrid
> sigma-pressure (HσP) to elevation.

> 3.2. Convert the elevation-vertical input grid's geographical
> coordinates to simple Cartesian coordinates (x,y,z).

> 3.3. Conservatively 3D-regrid the Cartesianized input to the output
> format (probably LCC horizontal with HσP vertical).

My general question is, is the following chain of reasoning sound? or am
I missing something? Please correct me where either the premises or the
inferences are wrong!

0. I have R code to convert (lon, lat, elev) to (x, y, z)--see end of

   This is greatly facilitated by the fact that my models assume a
   spherical earth.

1. My output projection (LCC) is considered Cartesian by ESMF and NCL.
   Therefore I must convert my input (global, with dimensions=(lon, lat,
   HσP)) to an intermediate Cartesian format (e.g., (x, y, z) relative
   to earth center) before 3D-regridding with ESMF_regrid(...).

2. Prior to creating the intermediate Cartesian format, I should crop
   the raw global/spherical input data to the bounds of the output

3. Before I can convert the cropped (lon, lat, elev) -> (x, y, z),
   I must first convert the cropped (lon, lat, HσP) -> (lon, lat, elev).

4. Once I have my converted (without regridding) my input to the
   intermediate Cartesian format (x, y, z) I can then use
   ESMF_regrid(...) to 3D-regrid the (x, y, z) concentrations into the
   desired LCC (row, col, HσP).

If that's sound, I then have a specific question regarding step 3: how
best (or most tractably) to convert HσP -> elevation?

E.g.: should I convert HσP -> pressure using pres_hybrid_ccm(...)

and then convert pressure -> elevation? I know just enough meteorology
to believe the latter task is doable but not straightforward, so
pointers to API would be greatly appreciated.

TIA, Tom Roche <> <>
ncl-talk mailing list
List instructions, subscriber options, unsubscribe:
Received on Tue Jan 1 21:48:03 2013

This archive was generated by hypermail 2.1.8 : Mon Jan 14 2013 - 14:31:38 MST