/source/NCDFProtocols.h

http://github.com/paleoterra/PaleoNetCDF · C Header · 51 lines · 33 code · 9 blank · 9 comment · 0 complexity · ba85c2f27a840f6758bff4c3711a2a59 MD5 · raw file

  1. //
  2. // NCDFProtocols.h
  3. // netcdf
  4. //
  5. // Created by tmoore on Wed Jun 23 2007.
  6. // Copyright (c) 2002 Argonne National Laboratory. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @class NCDFAttribute,NCDFSlab;
  10. @protocol NCDFImmutableVariableProtocol
  11. //variable metadata
  12. -(NSString *)variableName;
  13. -(NSString *)variableType;
  14. -(nc_type)variableNC_TYPE;
  15. -(NSString *)variableDimDescription;
  16. -(NSString *)dataTypeWithDimDescription;
  17. -(NSArray *)getVariableAttributes;
  18. -(BOOL)isDimensionVariable;
  19. -(int)sizeUnitVariable;
  20. -(int)sizeUnitVariableForType;
  21. -(int)currentVariableSize;
  22. -(int)currentVariableByteSize;
  23. -(NSArray *)lengthArray;
  24. -(BOOL)isUnlimited;
  25. -(int)unlimitedVariableLength;
  26. -(NSArray *)dimensionNames;
  27. -(NSArray *)allVariableDimInformation;
  28. -(NCDFAttribute *)variableAttributeByName:(NSString *)name;
  29. -(int)variableID;
  30. -(int)attributeCount;
  31. //variable data
  32. -(NSData *)readAllVariableData;
  33. -(id)getSingleValue:(NSArray *)coordinates;
  34. -(NSData *)getValueArrayAtLocation:(NSArray *)startCoordinates edgeLengths:(NSArray *)edgeLengths;
  35. -(NCDFSlab *)getSlabForStartCoordinates:(NSArray *)startCoordinates edgeLengths:(NSArray *)edgeLengths;
  36. -(NCDFSlab *)getAllDataInSlab;
  37. @end
  38. @protocol NCDFImmutableDimensionProtocol
  39. -(NSString *)dimensionName;
  40. -(size_t)dimLength;
  41. -(BOOL)isUnlimited;
  42. @end