Dear openDX experts,
Since I got no answer from the opendx-users list so far, I post this message
again to the -general and the -dev list, hoping to reach more people.
Can you help me with the following (beginner's) question?
I have a netCDF file with output of a climate model. The data is on a hybrid
grid (time dependent, curvilinear, regular connections):
The 3-D grid is described as follows:
{x, y, p(i,t)} with x=latitude, y=longitude (both constant, irregular,
time-independent) and the pressure p(i,t)=ha(i)*p0 + hb(i)*ps(x,y,t).
p0 is a constant reference pressure, ha and hb are the constant hybrid levels,
i is an index for the layers along the vertical (z) direction, and t is time.
The netCDF file contains the x- and y- lists, the hybrid coordinate lists ha
and hb, the surface pressure ps(x,y,t) and datafields as e.g.,
data(x,y,i,t).
And here comes my question:
How can I import the datafield 'data' with the above described grid
information? Is there a way to construct such kind of grid from the variables
in the netCDF file and "put" the data onto it?
I would like to use the cartography tools of the bonuspak for these data.
The netCDF file looks as follows:
netcdf example {
dimensions:
x = 64 ;
i = 28 ;
y = 32 ;
time = UNLIMITED ; // (12 currently)
variables:
float P0 ;
P0:long_name = "reference pressure" ;
P0:units = "Pa" ;
float ha(i) ;
ha:long_name = "hybrid A coefficient at layer midpoints" ;
ha:units = "1" ;
float hb(i) ;
hb:long_name = "hybrid B coefficient at layer midpoints" ;
hb:units = "1" ;
float i(i) ;
i:long_name = "layer midpoint index" ;
i:units = "level" ;
i:positive = "down" ;
float y(y) ;
y:long_name = "latitude" ;
y:units = "degrees_north" ;
float x(x) ;
x:long_name = "longitude" ;
x:units = "degrees_east" ;
double time(time) ;
time:long_name = "time" ;
time:units = "days since 1997-01-01 00:00:00" ;
float ps(time, y, x) ;
ps:long_name = "surface pressure" ;
ps:units = "Pa" ;
float data(time, i, y, x) ;
data:long_name = "data field" ;
data:units = "1" ;
// global attributes:
...
data:
P0 = 100000 ;
y = -85.76059, -80.26878, -74.74454, -69.21297, -63.67863, -58.14296,
-52.60653, -47.06964, -41.53246, -35.99508, -30.45755, -24.91993,
-19.38223, -13.84448, -8.306703, -2.768903, 2.768903, 8.306703, 13.84448,
19.38223, 24.91993, 30.45755, 35.99508, 41.53246, 47.06964, 52.60653,
58.14296, 63.67863, 69.21297, 74.74454, 80.26878, 85.76059 ;
x = 0, 5.625, 11.25, 16.875, 22.5, 28.125, 33.75, 39.375, 45, 50.625,
56.25, 61.875, 67.5, 73.125, 78.75, 84.375, 90, 95.625, 101.25, 106.875,
112.5, 118.125, 123.75, 129.375, 135, 140.625, 146.25, 151.875, 157.5,
163.125, 168.75, 174.375, 180, 185.625, 191.25, 196.875, 202.5, 208.125,
213.75, 219.375, 225, 230.625, 236.25, 241.875, 247.5, 253.125, 258.75,
264.375, 270, 275.625, 281.25, 286.875, 292.5, 298.125, 303.75, 309.375,
315, 320.625, 326.25, 331.875, 337.5, 343.125, 348.75, 354.375 ;
i = 2.7, 10.1, 18.3, 28.8, 41.8, 58, 78.2, 102.8, 132.6, 168.2, 210.1,
258.2, 312.5, 372, 435.7, 501.7, 568.1, 632.9, 694.3, 750.8, 801.4,
845.8, 883.8, 915.9, 942.5, 964.4, 982.1, 995 ;
time = 31, 59, 90, 120, 151, 181, 212, 243, 273, 304, 334, 365 ;
hb = 0.0027, 0.0101, 0.0183, 0.0288, 0.0418, 0.058, 0.0782, 0.1028,
0.1326, 0.1682, 0.2101, 0.2582, 0.3125, 0.372, 0.4357, 0.5017, 0.5681,
0.6329, 0.6943, 0.7508, 0.8014, 0.8458, 0.8838, 0.9159, 0.9425, 0.9644,
0.9821, 0.995 ;
ha = ...;
ps = ...;
data = ...;
}
Any help is very much appreciated!
Sincerely,
Patrick Joeckel
--
---------------------------------------------------------------
Dr. Patrick Joeckel
Max Planck Institute for Chemistry
Joh.-J. Becher Weg 27
55128 Mainz phone:++49-6131-305452
Germany fax :++49-6131-305436
e-mail:[EMAIL PROTECTED]
http://www.mpch-mainz.mpg.de/~joeckel
---------------------------------------------------------------
Never trust an operating system you don't have sources for.