NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
On Tue, Sep 16, 2003 at 11:20:13AM -0400, Jason Thaxter wrote: > I've found two odd problems with NetCDF tools recently. I suspect they are > related to compiler and perl versions, but I don't really know. > > 1) ---------------------------------------------------- > > The Perl interface issue involves values retrieved by NetCDF::recget. The > variable is a scalar of type BYTE. Perl always thinks it has a zero (0), even I figured out this particular problem; the perl-netcdf library does not appear to be misbehaving at all, though it does things that might trap an unwary - and at least in this case, fairly wary - perl programmer. Variables of the NetCDF::BYTE type cannot be immediately used as perl variables. They will end up looking like "^A" or "^@" or something else when you try to use them as strings; worse, if you look at them as numbers, they will always appear to be zero. Suppose that $value is an actual single value retrieved from attget/varget/recget. To use a NetCDF::BYTE properly, do this $value = unpack('C',$value); I put this trick into a wrapper module I've written around NetCDF, called GoMOOS::NetCDF. There are a number of other tricks there, too - initializing arrays before passing them to NetCDF functions, retrieving variables by names instead of index number, etc. I wouldn't say it's complete or flawless; it's a little inconsistent about return values, and it's probably more useful for taking a record-oriented view than a variable-oriented view, and it's totally useless for writing NetCDF files. Nevertheless, anyone using perl-netcdf may find it useful and so I've attached it to this message. If the attachment doesn't make it through majordomo onto the list, feel free to e-mail me for a copy. Thanks, Jason -- ---------------------------------------------- Jason Thaxter GoMOOS, P.O. Box 4919, Portland, ME 04112-4919 Office Location: 1 Canal Plaza, 7th Floor Office: 207.773.0423 Fax: 207.773.8672 Email: thaxter@xxxxxxxxxx ------------www.gomoos.org--------------------
Attachment:
NetCDF.pm
Description: Perl program
netcdfgroup
archives: