Module netCDF4 :: Class MFDataset

Class MFDataset

source code

object --+    
         |    
   Dataset --+
             |
            MFDataset

MFDataset(self, files, check=False, aggdim=None, exclude=[])

Class for reading multi-file netCDF Datasets, making variables spanning multiple files appear as if they were in one file.

Datasets must be in NETCDF4_CLASSIC, NETCDF3_CLASSIC or NETCDF3_64BIT format (NETCDF4 Datasets won't work).

Adapted from pycdf by Andre Gosselin.

Example usage:

>>> import numpy
>>> # create a series of netCDF files with a variable sharing
>>> # the same unlimited dimension.
>>> for nfile in range(10):
>>>     f = Dataset('mftest'+repr(nfile)+'.nc','w')
>>>     f.createDimension('x',None)
>>>     x = f.createVariable('x','i',('x',))
>>>     x[0:10] = numpy.arange(nfile*10,10*(nfile+1))
>>>     f.close()
>>> # now read all those files in at once, in one Dataset.
>>> f = MFDataset('mftest*nc')
>>> print f.variables['x'][:]
[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99]
Instance Methods
 
__getattribute__(...)
x.__getattribute__('name') <==> x.name
source code
 
__init__()
Open a Dataset spanning multiple files, making it look as if it was a single file.
source code
 
__repr__(...)
repr(x)
source code
 
__setattr__(...)
override base class attribute creation
source code
 
close(...)
Close the Dataset.
source code
 
ncattrs(...)
return netCDF global attribute names for this Dataset or Group in a list.
source code

Inherited from Dataset: __delattr__, __enter__, __exit__, __getattr__, __new__, __unicode__, createCompoundType, createDimension, createGroup, createVLType, createVariable, delncattr, filepath, getncattr, renameAttribute, renameDimension, renameGroup, renameVariable, set_auto_mask, set_auto_maskandscale, set_auto_scale, set_fill_off, set_fill_on, setncattr, setncatts, sync

Inherited from object: __format__, __hash__, __reduce__, __reduce_ex__, __sizeof__, __str__, __subclasshook__

Class Variables
  __qualname__ = 'MFDataset'
Instance Variables

Inherited from Dataset: cmptypes, data_model, dimensions, disk_format, file_format, groups, parent, path, variables, vltypes

Properties

Inherited from Dataset: __orthogonal_indexing__, keepweakref

Inherited from object: __class__

Method Details

__getattribute__(...)

source code 

x.__getattribute__('name') <==> x.name

Overrides: object.__getattribute__
(inherited documentation)

__init__()
(Constructor)

source code 

Open a Dataset spanning multiple files, making it look as if it was a single file. Variables in the list of files that share the same dimension (specified with the keyword aggdim) are aggregated. If aggdim is not specified, the unlimited is aggregated. Currently, aggdim must be the leftmost (slowest varying) dimension of each of the variables to be aggregated.

Adapted from pycdf by Andre Gosselin.

Usage:

nc = MFDataset(files, check=False, aggdim=None, exclude=[])

Parameters:
  • files - either a sequence of netCDF files or a string with a wildcard (converted to a sorted list of files using glob) The first file in the list will become the "master" file, defining all the variables with an aggregation dimension which may span subsequent files. Attribute access returns attributes only from "master" file. The files are always opened in read-only mode.
  • check - True if you want to do consistency checking to ensure the correct variables structure for all of the netcdf files. Checking makes the initialization of the MFDataset instance much slower. Default is False.
  • aggdim - The name of the dimension to aggregate over (must be the leftmost dimension of each of the variables to be aggregated). If None (default), aggregate over the unlimited dimension.
  • exclude - A list of variable names to exclude from aggregation. Default is an empty list.
Overrides: object.__init__

__repr__(...)
(Representation operator)

source code 

repr(x)

Overrides: object.__repr__
(inherited documentation)

__setattr__(...)

source code 

override base class attribute creation

Overrides: object.__setattr__

close(...)

source code 

Close the Dataset.

Overrides: Dataset.close
(inherited documentation)

ncattrs(...)

source code 

return netCDF global attribute names for this Dataset or Group in a list.

Overrides: Dataset.ncattrs
(inherited documentation)