[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 
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, 



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

NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.