netcdfperl(1)

NAME

netCDFPerl - perl extension for netCDF dataset access

SYNOPSIS

use netCDF;
NetCDF::create("foo.nc", NetCDF::CLOBBER);
...

DESCRIPTION

netCDFPerl is a Perl 5 extension-module interface to the
services provided by the netCDF version 2 API, netcdf2(3).
The functions in the netCDF version 2 library can be ac
cessed by a Perl 5 script by replacing the `nc' prefix of the
regular netCDF version 2 C function names with NetCDF::. For ex
ample, the C function nccreate() is available to a perl script as

NetCDF::create

Each perl function matches, as closely as possible and
necessary, its C counterpart:

* The number, order, and semantics of the arguments
are identical. Note, however, that it is not necessary to speci
fy the number of elements in an array because perl arrays carry
that information.
* The behavior is the same in terms of the netCDF
dataset.
* A value of -1 is returned to indicate an error.
Scalar argument types are mapped in an obvious way:
The individual elements of an array argument are similarly
mapped.
Array arguments themselves are passed by reference for
both input and output. For example, the following Perl 5 code
will write and then read a hyperslab of values:

@start = (0, 0, 0);
@count = (1, 2, 3);
@out = (1, 2, 3, 4, 5, 6);
NetCDF::varput($ncid, $varid, @start, @count, @out);
NetCDF::varget($ncid, $varid, @start, @count, @in);
(The above assumes that $ncid and $varid have been appro
priately set.) After this code is executed, the array @in will
have the same values as the array @out. The previous contents,
if any, of an array used for input are destroyed (e.g. @in in the
above example).
To define a scalar variable with NetCDF::vardef(), use an
empty dimension-ID array, e.g.

NetCDF::vardef($ncid, "scalar_variable",
NetCDF::FLOAT, ;
The interface doesn't support null arguments. One cannot
use a void pointer to indicate that no value is requested for a
particular argument: all arguments must be present.
For technical reasons, output variables must be initial
ized, i.e. any variable argument that is to have its value set
by a function must already have a value. For example, if the
first occurrence of the variable $attval is in the following:

NetCDF::attget($ncid, NetCDF::GLOBAL, "history",
ttval);
then a core dump will probably result. The solution is to
initialize the variable before using it:

$attval="";
NetCDF::attget($ncid, NetCDF::GLOBAL, "history",
ttval);
Two additional functions are provided for error handling.

NetCDF::opts(i)

ncopts variable to i. It returns the previous value.

NetCDF::err()

ncerr.
In addition to the above functions, most C macro constants
that are defined in the netCDF header file netcdf.h are also
available to a perl script by dropping any `NC_' substring and
using the NetCDF:: prefix, e.g. NetCDF::LONG.

SEE ALSO

perl(1), netcdf2(3)
Printed: 107-12-8 $Date: 1999/07/21 16:38:27 $
Copyright © 2010-2025 Platon Technologies, s.r.o.           Index | Man stránky | tLDP | Dokumenty | Utilitky | O projekte
Design by styleshout