[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #YEN-169424]: Received Error: One or more variable sizes violate format constraints



Hi Abir,

> I know about this error and have encountered it before while using the 
> NetCDF-C API. I also know it's solution is to create/write the NetCDF file in 
> the 64_bit_offset format. So, I use the following commands to create a NetCDF 
> dataset, I am using the NetCDF legacy C++ API.
> 
> NcFile file(path, NcFile::Replace, NULL, 0, NcFile::Offset64Bits);
> if(!file.is_valid())
> {
> printf("Could not create file\n");
> exit(1);
> }
> // I have defined all the dimensions and stored the return NcDim* dimensions 
> into an array named as "arr"
> for(i=0; i<*nvars; i++)
> {
> vector<NcVar*> vvars;
> vvars.push_back(file.add_var((*vars)[i].get_name(), (*vars)[i].get_type(), 
> (*vars)[i].get_num_dims(), &arr[0]));
> }
> 
> when i run my code, the following text appears on the terminal and no file is 
> created in the designated path, "NetCDF: One or more variable sizes violate 
> format constraints"
> 
> The variable sizes i am trying to write in the file are as follow,
> 
> int var1(83)
> int var2(83)
> int var3(202136752, 4)
> int var4(95383224, 6)
> int var5(120077, 5)
> int var6(3022650, 3)
> int var7(97241, 4)
> int var8(3119891)
> int var9(3119891)
> double var10(83027655)
> double var11(83027655)
> double var12(83027655)
> int var13(2)
> int var14(1)
> 
> While I was able to create the same file using the NetCDF C API by writing 
> the file in 64_bit_offset format. I can't figure out what's the problem here. 
> I would be glad if you could help.

The variable 

   int var4(95383224, 6)

requires 4 bytes per value, so its size is 4 * 95383224 * 6, which is larger 
than 
2 GBytes.  The classic file format which used 32-bit file offsets, can't store
variables of size larger than 2 GBytes except under special conditions, 
described
here:

  
http://www.unidata.ucar.edu/netcdf/docs/netcdf/NetCDF-Classic-Format-Limitations.html

--Russ

Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: YEN-169424
Department: Support netCDF
Priority: Normal
Status: Closed