[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[netCDF #MOB-465267]: Increasing maximum record size
- Subject: [netCDF #MOB-465267]: Increasing maximum record size
- Date: Fri, 02 Feb 2007 08:55:36 -0700
Hi Sergey,
Sorry for the delay responding, I was in meetings all day yesterday.
One reason I requested a CDL is because with that, I could probably duplicate
the problem you are seeing, diagnose the cause, and fix it if it is a bug.
The small program you have attached could serve the same purpose, but it
includes other files (PARMS3.EXT, FDESC3.EXT, IODECL3.EXT) and calls functions
that I don't have (open3, WRITE3), so I can't use it to reproduce or debug the
problem. I understand your description of the problem and may be able to
reproduce it eventually from the description, but progress would be faster if I
had a source program that was complete that I could compile and run
independently. I understand if it's not convenient to create such a package,
and if so, I'll try to figure out what's causing the error, but it may not be
possible without running code that we can use to demonstrate the problem.
It's puzzling that the problem requires increasing the value of NC_MAX_VARS,
since that has nothing to do with the constraints on variable sizes. A CDL of
the file would make it easier to see what's going on when the variable size
constraint message is generated. But to create a CDL, you would have to be
able to run ncdump on a netCDF file, and I understand the problem is that you
can't actually create a netCDF file. Nevertheless, if you could possibly
create a netCDF file that has all the dimensions, attributes, and variables
just before the error occurs, then describe the variable that is being added
that causes the problem, I could work with that.
But that may also be difficult, because the order in which variables are
defined matters, since the last variable in a record may be larger than all the
rest. As it says in the Large File FAQ:
If you get the netCDF library error "One or more variable sizes violate format
constraints", you are trying to define a variable larger than permitted for
the file format variant. This error typically occurs when leaving "define mode"
rather than when defining a variable. The error status cannot be returned when
a variable is first defined, because the last fixed-size variable defined is
permitted to be larger than other fixed-size variables (when there are no
record variables).
Similarly, the last record variable may be larger than other record variables.
This means that subsequently adding a small variable to an existing file may be
invalid, because it makes what was previously the last variable now in
violation of the format size constraints. For details on the format size
constraints, see the Users Guide sections NetCDF Classic Format Limitations and
NetCDF 64-bit Offset Format Limitations.
--Russ
--Russ
Russ Rew UCAR Unidata Program
address@hidden http://www.unidata.ucar.edu
Ticket Details
===================
Ticket ID: MOB-465267
Department: Support netCDF
Priority: High
Status: Closed