 
  
   
    2012 Unidata NetCDF Workshop  > Developing generic netCDF software
 
2012 Unidata NetCDF Workshop  > Developing generic netCDF software  
 
25.5 Benefits of Iterators
Use of an iterator simplifies the code and makes it general.
Benefits of using this iterator API include:
  - treats variables of all types, sizes, and shapes uniformly, whether
  they fit in memory or not, even if a single row won't fit in memory
  
-  makes recursion unnecessary in handling arrays of arbitrary
  dimensionality
  
- 
  accesses data efficiently, using largest blocks that will
  fit in memory buffer of designated size
  
- takes care of pesky leftovers, when smaller
  pieces are needed at 
  the end of a loop to finish what's left
- works for either netCDF-3 or netCDF-4 enabled
  libraries
- takes advantage of chunking when present, reading
  a chunk-at-a-time rather than along dimension axes
-  supports iterating over multiple variables concurrently, because
  each variable's iteration state is maintained in its own iterator
  structure
Other iterator functions used in nccopy iterate through all
groups in an arbitrary group hierachy for netCDF-4 files, eliminating
need for recursion to traverse groups.
These iterator APIs are available now in C source, but will be exposed
and documented in a future version of the APIs, including Fortran support.
 
 
 
  
   
    2012 Unidata NetCDF Workshop  > Developing generic netCDF software
  
2012 Unidata NetCDF Workshop  > Developing generic netCDF software