- To: netcdfgroup@xxxxxxxxxxxxxxxx
- Subject: ANN: netcdf4-python version 0.5
- From: Jeff Whitaker <jswhit@xxxxxxxxxxx>
- Date: Fri, 22 Sep 2006 10:03:08 -0600
A new release of the python netCDF4 python module (0.5) is now available
that supports both compound and vlen data types.
Here's a simple example that shows how to create a compound data type, or table:
>>> # open a new file for writing >>> import netCDF4 >>> ncfile = netCDF4.Dataset('test.h5','w') >>> # create an unlimited dimension called 'station' >>> ncfile.createDimension('station',False) >>> # create a compound datatype. >>> # (a list of 3-tuples containing >>> # the name of each member, it's primitive data type, and it's size). >>> # Only fixed-size primitive data types allowed (no variable length >>> # strings, or other compound types) >>> # Members can be multi-dimensional arrays (in which case the third >>> # element is a shape tuple instead of a scalar). >>> datatype = [('latitude', 'f4',1), ('longitude', 'f4',1), >>> ('sfc_press','i4',1), ('temp_sounding','f4',10)] >>> table = ncfile.createUserType(datatype,'compound','station_data') >>> # create a variable with this data type. >>> statdat = ncfile.createVariable('station_obs', table, ('station',)) >>> # write one record of data. >>> statdat[0] = (40.78,-73.99,1002, >>> (290.2,282.5,279.,277.9,276.,266.,264.1,260.,255.5,243.)) >>> # close and reopen the file, take a look at the data. >>> ncfile.close() >>> ncfile = netCDF4.Dataset('test.h5') >>> statdat = ncfile.variables['station_obs'] >>> # retrieve the data. >>> statdatout = statdat[:] >>> # print the data type >>> print statdatout.dtype[('latitude', '>f4'), ('longitude', '>f4'), ('sfc_press', '>i4'), ('temp_sounding', '>f4', (10,))]
>>> # print the data. >>> print statdatout[:][ (40.779998779296875, -73.989997863769531, 1002, array([ 290.20001221, 282.5 , 279. , 277.8999939 ,
276. , 266. , 264.1000061 , 260. , 255.5 , 243. ], dtype=float32))]The primary restriction is that you can't yet have nested compound data types (compound data types whose elements are also compound data types). The netCDF4_classic module provides a high-degree of compatibility with the most popular python netCDF3 module, Scientific.IO.NetCDF. It can read or write NETCDF3 and NETCDF4_CLASSIC files, and can use zlib compression in NETCDF4_CLASSIC mode.
For more information, and to download the source, see http://code.google.com/p/netcdf4-python/ Regards, -JeffP.S. Russ or Ed, could you update the URL on http://www.unidata.ucar.edu/software/netcdf/software.html to point to the google URL?
-- Jeffrey S. Whitaker Phone : (303)497-6313 Meteorologist FAX : (303)497-6449 NOAA/OAR/PSD R/PSD1 Email : Jeffrey.S.Whitaker@xxxxxxxx 325 Broadway Office : Skaggs Research Cntr 1D-124 Boulder, CO, USA 80303-3328 Web : http://tinyurl.com/5telg ============================================================================== To unsubscribe netcdfgroup, visit: http://www.unidata.ucar.edu/mailing-list-delete-form.html ==============================================================================