nc_test

Jianwei Li jianwei at pop.ece.nwu.edu
Fri Mar 7 16:22:10 CST 2003


>>On Fri, Feb 28, 2003 at 04:00:15PM -0600, Robert Latham wrote:
>>> hi guys.
>>> 
>>> the test/nc_test is a test from the serial netcdf distribution.  I've
>>> gotten it to build under parallel-netcdf, but it doesn't get very far.
>>
>>Thanks to jianwei's help i've gotten a little further:  i get a
>>segfault when trying to write data.  
>>
>>At some point, 'nc_test -c' calls ncmpi_put_vara_text_all, which
>>eventually calls NC_set_vara_file_view.  The problem is the NC_var
>>passed into NC_set_vara_file_view has some null arrays:
>>
>>(gdb) p *varp
>>$8 = {xsz = 1, shape = 0x0, dsizes = 0x0, name = 0x81096c0, ndims = 0,
>>  dimids = 0x0, attrs = {nalloc = 0, nelems = 0, value = 0x0}, type = NC_CHAR,
>>  len = 4, begin = 6076}
>>
>>
>>Is it an error for the client to have null 'shape' and 'dsizes'
>>members, or should ncmpi_put_vara_all treat that condition as 'no work
>>to do' and return NC_NOERR ?
>
>	If a variable defined in netCDF has null 'shape' and 'dsizes',
>	it should be a scalar variable, i.e. ndims == 0.
>	For 0-dimensional variables, how do you specify 'start[], count[],
>	and/or stride[]' in order to call ncmpi_put_vara_all() or 
>	ncmpi_put_vars_all() ? They should be passed as 'null', right?
>
>	I think there's a bug in 'put_vara' and maybe in other 'put/get_var'
>	functions when they are dealing with 0-dimensional variables. 
>	Let me look into the code and see what I can do to fix it.

rob,

OK. I'm done.

I would remind you that when you get/put 0-dimensional variables, all
'start[], count[], stride[]' parameters will be just ignored or treated
as 'null' and the code just maps the first element in the user-buffer at 
the very offset where the scalar variable value should be located.

Thanks.

--
Jianwei




More information about the parallel-netcdf mailing list