[Scilab-users] Using Scinetcdf module

Simon Marchetto simon.marchetto at scilab-enterprises.com
Fri Feb 5 14:03:39 CET 2016


The error message means that the variable is already created, you cannot create it twice.

Delete the file, and try again.


An example of grid writing, taken from the ncwrite() help page:

nccreate(filename, 'mat', 'Dimensions', list('r', 3, 'c', 4));
ncwrite(filename, 'mat',  [1 2 3 4; 5 6 7 8; 9 10 11 12]);

And to read it:

ncread(filename, 'mat');

Simon

Le 05/02/2016 12:26, Lester Anderson a écrit :
> Hi Simon,
>
> Hy is a matrix and the input grid used has dimensions of 601 x 601
> (x,y). Reading the data in is fine and the matrix is as expected in
> the variable browser.
>
> grav = ncread(source,'z') is all fine with a 601 x 601 matrix
>
> Create variable Hilb_Hy:
>
> nccreate(filename,'Hilb_Hy','Dimensions',list('r',601,'c',601))
>                                                                  !--error 999
> nccreate: nc_def_var() returned the error -42: NetCDF: String match to
> name in use.
>
> Do you have an example grid to test the read and write function.
>
> Would it help to send you a copy of the grid file?
>
> Thanks
>
> On 5 February 2016 at 10:46, Harpreet Singh Rathore
> <harpreet.mertia at gmail.com> wrote:
>> Hey
>>
>> You have not created the variable in the file. First you have to create a
>> variable in the following file using the command nccreate(filename,
>> 'Hilb_Hy', 'Dimensions', list('r', no_row, 'c', no_column); after that you
>> can pass the ncwrite command and you have to pass like this
>> ncwrite(filename, 'Hilb_Hy',Hy) as Hy is a matrix.
>>
>> Regards
>> Harpreet Singh
>>
>> On Fri, Feb 5, 2016 at 4:01 PM, Lester Anderson <arctica1963 at gmail.com>
>> wrote:
>>> Hello Harpreet,
>>>
>>> I altered the code a bit but still get a problem
>>>
>>> Hy = hilbert(grav);
>>> filename = fullfile('Q:\geophys\Gz_Hy.grd') // set output filename
>>> // ncwrite(filename, varname, vardata, [start, [stride]])
>>> ncwrite(filename, 'Hilb_Hy','Hy') // write variable Hilb_Hy with data from
>>> Hy
>>>
>>> Error message:
>>>
>>> ncwrite(filename, 'Hilb_Hy','Hy') // write variable Hilb_Hy with data from
>>> Hy
>>>                                    !--error 999
>>> ncwrite: nc_inq_varid() returned the error -49: NetCDF: Variable not
>>> found.
>>> at line       6 of exec file called by :
>>> exec('Q:\geophys\Lester\SCILAB_work\netcdf1.sce', -1)
>>>
>>> In this case I want to define a variable name Hilb_Hy (although can
>>> use any name really) in the netCDF file and write the output of the
>>> Hilbert (Hy) transform.
>>>
>>> Cannot see the solution
>>>
>>>
>>>
>>> On 5 February 2016 at 10:15, Harpreet Singh Rathore
>>> <harpreet.mertia at gmail.com> wrote:
>>>> Dear Lester,
>>>>
>>>> As I can see the error is saying minimum 3 inputs are required. And
>>>> after
>>>> going through the help of the following function, you also have to pass
>>>> the
>>>> value which you have to store in the 'Hy'. You can go through the help
>>>> files
>>>> of ncwrite by typing help ncwrite in the console.
>>>>
>>>> Regards
>>>> Harpreet
>>>>
>>>> On Fri, Feb 5, 2016 at 3:18 PM, Lester Anderson <arctica1963 at gmail.com>
>>>> wrote:
>>>>> Hello all
>>>>>
>>>>> I am looking to use the sciNetCDF module to work with GMT grid files
>>>>> but have some issues.
>>>>>
>>>>> Reading a GMT grid is not a problem as far as I can tell, so the
>>>>> following does read the file (and z variable), storing the values in
>>>>> the grav array:
>>>>>
>>>>> source = fullfile('Q:\geophys\Gz.grd')
>>>>> grav = ncread(source,'z')
>>>>> Hy = hilbert(grav); // write Hy variable to new file
>>>>>
>>>>> I am having problems with writing out the processed data e.g write a
>>>>> new grid (Gz_Hy.grd) with the Hilbert transform solution
>>>>>
>>>>> filename = fullfile('Q:\geophys\Gz_Hy.grd')
>>>>> ncwrite(filename, 'Hy') // does not work
>>>>>
>>>>> Error return:
>>>>>
>>>>> ncwrite(filename, 'Hy')
>>>>>                         !--error 77
>>>>> ncwrite: Wrong number of input argument(s): 3 to 5 expected.
>>>>> at line       5 of exec file called by :
>>>>> exec('Q:\geophys\Lester\SCILAB_work\netcdf1.sce', -1)
>>>>>
>>>>> Any advice would be appreciated.
>>>>>
>>>>> Thanks
>>>>> Lester
>>>>> _______________________________________________
>>>>> users mailing list
>>>>> users at lists.scilab.org
>>>>> http://lists.scilab.org/mailman/listinfo/users
>>>>
>>>>
>>>>
>>>> --
>>>> Thanks and Regards
>>>> Harpreet Singh
>>>>
>>>> _______________________________________________
>>>> users mailing list
>>>> users at lists.scilab.org
>>>> http://lists.scilab.org/mailman/listinfo/users
>>>>
>>> _______________________________________________
>>> users mailing list
>>> users at lists.scilab.org
>>> http://lists.scilab.org/mailman/listinfo/users
>>
>>
>>
>> --
>> Thanks and Regards
>> Harpreet Singh
>>
>> _______________________________________________
>> users mailing list
>> users at lists.scilab.org
>> http://lists.scilab.org/mailman/listinfo/users
>>
> _______________________________________________
> users mailing list
> users at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users




More information about the users mailing list