Библиотека NetCDF обнаружила ошибку во время выполнения функции 'create' - 'Invalid argument (22)' - PullRequest
0 голосов
/ 07 августа 2020

Я пытаюсь создать файл netcdf, но получаю сообщение об ошибке. Я использовал этот сценарий раньше, и он работал, поэтому я не понимаю, почему он говорит, что один из аргументов неверен. Код:

numcolO=numel(ObservationLong);
numrow=1;
numrow12=12;
numrow19=19;

%Read and display the variable from the file.
NameNetcdf='FinOctNovDec2012.nc';
ncid = netcdf.create(NameNetcdf,'CLOBBER');%NC_WRITE
dimidrow = netcdf.defDim(ncid,'rows',numrow);
dimidrowDates=netcdf.defDim(ncid,'timecol',numrow19);
dimidcol = netcdf.defDim(ncid,'length',numcolO);
dimidrowNames=netcdf.defDim(ncid,'namecol',numrow12);

varid = netcdf.defVar(ncid,'MagObs','NC_DOUBLE',[dimidcol dimidrow]);

varid2 = netcdf.defVar(ncid,'MagMod1','NC_DOUBLE',[dimidcol dimidrow]);
varid3 = netcdf.defVar(ncid,'MagMod2','NC_DOUBLE',[dimidcol dimidrow]);
varid4 = netcdf.defVar(ncid,'MagMod3','NC_DOUBLE',[dimidcol dimidrow]);
varid5 = netcdf.defVar(ncid,'MagMod4','NC_DOUBLE',[dimidcol dimidrow]);

varid6 = netcdf.defVar(ncid,'Dates','NC_CHAR',[dimidcol dimidrowDates]);
varid7 = netcdf.defVar(ncid,'Depthz','NC_DOUBLE',[dimidcol dimidrow]);

varid8 = netcdf.defVar(ncid,'EMag1','NC_DOUBLE',[dimidcol dimidrow]);
varid9 = netcdf.defVar(ncid,'EMag2','NC_DOUBLE',[dimidcol dimidrow]);
varid10 = netcdf.defVar(ncid,'EMag3','NC_DOUBLE',[dimidcol dimidrow]);
varid11 = netcdf.defVar(ncid,'EMag4','NC_DOUBLE',[dimidcol dimidrow]);

netcdf.endDef(ncid);
netcdf.putVar(ncid,varid,ObservationLong);

netcdf.putVar(ncid,varid2,ModelLong1);
netcdf.putVar(ncid,varid3,ModelLong2);
netcdf.putVar(ncid,varid4,ModelLong3);
netcdf.putVar(ncid,varid5,ModelLong4);

netcdf.putVar(ncid,varid6,char(date));

netcdf.putVar(ncid,varid7,DLong);

netcdf.putVar(ncid,varid8,EMag1);
netcdf.putVar(ncid,varid9,EMag2);
netcdf.putVar(ncid,varid10,EMag3);
netcdf.putVar(ncid,varid11,EMag4);

netcdf.close(ncid);

Ошибка:

>> NetcdfSimple
Error using netcdflib
The NetCDF library encountered an error during execution of 'create' function - 'Invalid
argument (22)'.

Error in netcdf.create (line 61)
        ncid = netcdflib('create', filename, mode);

Error in NetcdfSimple (line 8)
ncid = netcdf.create(NameNetcdf,'CLOBBER');%NC_WRITE

Но единственными аргументами являются NameNetcdf, то есть FinOctNovDec2012.n c, и CLOBBER, допустимый аргумент согласно справке netcdf.create.

Как исправить эту ошибку?

1 Ответ

0 голосов
/ 07 августа 2020

Проблема заключалась в том, что папка, в которую я хотел записать, была заполнена на USB-накопителе. На устройстве недостаточно места. Это не имело никакого отношения к аргументам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...