[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: 980316: netcdf-perl-1.2
- Subject: Re: 980316: netcdf-perl-1.2
- Date: Mon, 16 Mar 1998 14:31:01 -0700
Dan,
> To: address@hidden
> From: address@hidden (Dan Schmitt)
> Subject: netcdf-perl-1.2
> Organization: Texas A&M University/Department of Rangeland Ecology and
> Management
> Keywords: 199803132329.QAA15292
In the above message, you wrote:
> I just gave you the report on the sucsessful install
> on the RedHat 4.2 alpha (gcc 2.7.2.1 and netcdf 3.3.1). Well,
> I have some questions now.
>
> $ncid = NetCDF::open("foo.nc",WRITE);
>
> opens the file for read only, but
>
> $ncid = NetCDF::open("foo.nc",1);
>
> does what I want. It looks like the constants don't get
> pushed to the ncopen statement correctly (at least WRITE)
> and it's not tested in test.pl.
Does the following work?
$ncid = NetCDF::open("foo.nc",NetCDF::WRITE);
>
> With a netcdf file that looks like:
>
> dimensions:
> record = UNLIMITED ; // (0 currently)
> wdescription = 512 ;
> variables:
> char name(record, wdescription) ;
> name:long_name = "Simulation Name" ;
> char soil(record, wdescription) ;
> soil:long_name = "Soil Coverage" ;
> char plant(record, wdescription) ;
> plant:long_name = "Plant Coverage" ;
> char grazer(record, wdescription) ;
> grazer:long_name = "Grazer Coverage" ;
> char weather(record, wdescription) ;
> weather:long_name = "Weather Coverage" ;
>
> from the ncdump world, I can't get values into the individual
> variables.
>
> $fname = NetCDF::varid($ncid,"name");
> NetCDF::varput($ncid,$fname,(0,0),(1,1),"a");
>
> Won't "do the right thing" because the varput does a dim_inquire
> to check sizes and doesn't like the fact that the record dim has
> a current length of zero and my total data content is greater than
> that (there used to be a simlar bug in the C++ interface), and
> recput wants me to set all 5 of the variables (which I guess
> I could do, but is pretty unweildy for me.)
Does the following work?
NetCDF::varput($ncid,$fname,\(0,0),\(1,1),\"a");
As I recall, "(0,0)" will cause two *arguments* to be passed to
"NetCDF::varput" rather than a single reference to an array of two
scalar values.
>
> My XSUB programming is pretty weak, but I'm open for suggestions
> from you guys on what I should try. Monday I'll hit the XSUB stuff
> and see if I can relax the varput requirements, or look into the
> varput1 stuff.
>
> Thanks,
>
> Dan S.
>
> Dan Schmitt http://ranch.tamu.edu/~dmschmit
> Systems Analyst
>
> Ranching Systems Group Phone # (409) 845-7333
> Department of Rangeland Ecology and Management Fax # (409) 846-6430
> Texas A&M University Home # (409) 846-3914
> College Station Texas 77843-2126 ICBM: 30.67 N, 96.37 W
>
> When life presents you with two impossible tasks, always pick the really BIG
> one. I mean, if you're determined to do the impossible anyway, why aim low?
> -Jaffo
--------
Steve Emmerson <http://www.unidata.ucar.edu>