Unidata - To provide the data services, tools, and cyberinfrastructure leadership that advance Earth system science, enhance educational opportunities, and broaden participation. Unidata
         
  advanced  
 

Re: limits of netCDF library

blincoln (blincoln@ssesco.com)
Mon, 29 Apr 96 17:46:11 -0800

On Mon, 29 Apr 96 16:56:09 PDT, Peter Halvorson wrote:
[multiple unlimited dimensions desires outlined]
>Am I missing something? Is there some way to do what I want with the

Nope. In order to support changing grid sizes, changing number of cells,
changing number of particles. We've had to write a netCDF wrapper library that
creates a new file every time theres a change in the number of points (which can be
every frame, in some instances). It would be nice to have this functionality built into
netCDF even if it is clear that there would be a significant performance penalty.
Our hope has been that eventually, some support for changing dimensions
lengths will be added... but...

Our crude implementation looks like:

-------------------------
StartNextFrame()
{ CreateNewFile = FALSE;
for ( i = 0; i < NumDims ; i++)
if (Dimlengths[FrameNumber][i] != Dimelengths[FrameNumber-1][i])
CreateNewFile = TRUE;
if (CreateNewFile == TRUE)
netCDFFileIDs[FrameNumber] = CreateNewNetCDFFile();
else
netCDFFileIDs[FrameNumber] = netCDFFileIDs[FrameNumber - 1];
}

GetNetCDFFileID(long FrameNumber) { return netCDFFileIDs[FrameNumber];}

-----------

But, obviously, this requires quite a bit of work designing and implementing a
wrapper. Contact me if you'd like more information about our implementation.

Peace,

blincoln@ssesco.com

 
 
  Contact Us     Site Map     Search     Terms and Conditions     Privacy Policy     Participation Policy
 
National Science Foundation (NSF) UCAR Office of Programs University Corporation for Atmospheric Research (UCAR)   Unidata is a member of the UCAR Office of Programs, is managed by the University Corporation for Atmospheric Research, and is sponsored by the National Science Foundation.
P.O. Box 3000     Boulder, CO 80307-3000 USA     Tel: 303-497-8643     Fax: 303-497-8690