#! /usr/bin/env perl # # simple program writing a 2dim array # # Heiko Klein 2007-02-06 # use strict; use warnings; use PDL::Lite; use PDL::NetCDF; use Fcntl; # creating a 'long' (= NetCDF-int) pdl # note that ncdump uses C order, while perl/PDL uses Fortran order indices # data(x,y) in ncdump switches to data(y,x) in perl my $data = (PDL::Basic::sequence(12,6))->long; my $ncfile = new PDL::NetCDF("simple_xy.nc", {REVERSE_DIMS => 1, MODE => O_CREAT}); $ncfile->putslice('data', ['y','x'], [$data->dims], [0,0], [$data->dims], $data); # in general, putslice is more flexible, for writing complete arrays, ->put # can be used, i.e. # $ncfile->put('data', ['y', 'x'], $data) $ncfile->close;